reserve A,A1,A2,B,B1,B2,C,O for Ordinal,
      R,S for Relation,
      a,b,c,o,l,r for object;

theorem Th28:
  ex R st R preserves_No_Comparison_on ClosedProd(R,A,B) &
  R c= ClosedProd(R,A,B)
proof
  defpred P[Ordinal] means
    for B be Ordinal holds
      ex R be Relation st R preserves_No_Comparison_on ClosedProd(R,$1,B) &
      R c= ClosedProd(R,$1,B);
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let B be Ordinal;
    defpred Q[object,object] means for B be Ordinal st B =$1
    ex R be Relation st $2=R & R preserves_No_Comparison_on ClosedProd(R,B,B)&
    R c= ClosedProd(R,B,B);
    A3: for e be object st e in D ex u be object st Q[e,u]
    proof
      let e be object such that A4: e in D;
      reconsider E=e as Ordinal by A4;
      consider R be Relation such that
      A5: R preserves_No_Comparison_on ClosedProd(R,E,E) &
      R c= ClosedProd(R,E,E) by A4,A2;
      take R;
      thus thesis by A5;
    end;
    consider Lr be Function such that A6:dom Lr = D &
    for e being object st e in D holds Q[e,Lr.e] from CLASSES1:sch 1(A3);
    reconsider Lr as Sequence by A6,ORDINAL1:def 7;
    defpred R[object,object] means for B be Ordinal, R be Relation st
    B =$1 & R = Lr.B holds
    $2 = ClosedProd(R,B,B);
    A7:for e be object st e in D ex u be object st R[e,u]
    proof
      let e be object such that A8: e in D;
      reconsider E=e as Ordinal by A8;
      consider R be Relation such that
      A9:Lr.E=R & R preserves_No_Comparison_on ClosedProd(R,E,E) &
      R c= ClosedProd(R,E,E) by A8,A6;
      take ClosedProd(R,E,E);
      thus thesis by A9;
    end;
    consider Lp be Function such that A10:dom Lp = D &
    for e being object st e in D holds R[e,Lp.e] from CLASSES1:sch 1(A7);
    reconsider Lp as Sequence by A10,ORDINAL1:def 7;
    A11:for E be Ordinal st E in dom Lp holds
    (ex a,b be Ordinal,R be Relation st R=Lr.E & Lp.E=ClosedProd(R,a,b)) &
    Lr.E is Relation &
    (for R be Relation st R=Lr.E holds
    R preserves_No_Comparison_on Lp.E & R c= Lp.E)
    proof
      let E be Ordinal such that A12: E in dom Lp;
      consider R be Relation such that
      A13:Lr.E=R & R preserves_No_Comparison_on ClosedProd(R,E,E) &
      R c= ClosedProd(R,E,E) by A12,A6,A10;
      thus thesis by A13,A12,A10;
    end;
    then reconsider RR = union rng Lr as Relation by A10,A6,Th24;
    A14: RR preserves_No_Comparison_on union rng Lp & RR c= union rng Lp
    by A11,A10,A6,Th24;
    A15:union rng Lp c= OpenProd(RR,D,{})
    proof
      let x be object;
      assume x in union rng Lp;
      then consider Y be set such that
      A16:x in Y & Y in rng Lp by TARSKI:def 4;
      consider E be object such that
      A17:E in dom Lp & Y = Lp.E by A16,FUNCT_1:def 3;
      reconsider E as Ordinal by A17;
      A18: Day(RR,E) c= Day(RR,D) by A10,A17,Th9,ORDINAL1:def 2;
      reconsider R=Lr.E as Relation by A17,A11;
      A19:Lp.E = ClosedProd(R,E,E) by A17,A10;
      then RR /\ [:BeforeGames E,BeforeGames E:] =
            R /\ [:BeforeGames E,BeforeGames E:]
      by A11,A10,A6,Th24,A17;
      then A20:x in ClosedProd(RR,E,E) by A16,A17,A19,Th15;
      then consider y,z be object such that
      A21:y in Day(RR,E) & z in Day(RR,E) & [y,z] =x by ZFMISC_1:def 2;
      (born(RR,y) in E & born(RR,z) in E) or
      (born(RR,y) = E & born(RR,z) c= E) or
      (born(RR,y) c= E & born(RR,z) = E) by A20,A21,Def10;
      then born(RR,y) in D & born(RR,z) in D by ORDINAL1:10,12, A10,A17;
      hence thesis by A18,A21,Def9;
    end;
    OpenProd(RR,D,{}) c=union rng Lp
    proof
      let x,y be object such that A22:[x,y] in OpenProd(RR,D,{});
      A23: x in Day(RR,D) & y in Day(RR,D) by A22,ZFMISC_1:87;
      then A24: born(RR,x) in D & born(RR,y) in D by A22,Def9;
      per cases;
      suppose A25: born(RR,x) c= born(RR,y);
        set B = born(RR,y);
        A26: Day(RR,born(RR,x)) c= Day(RR,B) by A25,Th9;
        A27: x in Day(RR,born(RR,x)) & y in Day(RR,B) by A23,Def8;
        consider R be Relation such that
        A28:Lr.B=R & R preserves_No_Comparison_on ClosedProd(R,B,B) &
          R c= ClosedProd(R,B,B) by A24,A6;
        A29: Lp.B = ClosedProd(R,B,B) by A24,A28,A10;
        then RR /\ [:BeforeGames B,BeforeGames B:] =
        R /\ [:BeforeGames B,BeforeGames B:] by A24,A28,A11,A10,A6,Th24;
        then A30:ClosedProd(RR,B,B) = ClosedProd(R,B,B) by Th15;
        A31:[x,y] in ClosedProd(RR,B,B) by A25,Def10,A26,A27;
        Lp.B in rng Lp by A24,A10,FUNCT_1:def 3;
        hence thesis by A30,A29,A31,TARSKI:def 4;
      end;
      suppose A32: not born(RR,x) c= born(RR,y);
        set B = born(RR,x);
        A33: Day(RR,born(RR,y)) c= Day(RR,B) by A32,Th9;
        A34: y in Day(RR,born(RR,y)) & x in Day(RR,B) by A23,Def8;
        consider R be Relation such that
        A35:Lr.B=R & R preserves_No_Comparison_on ClosedProd(R,B,B) &
        R c= ClosedProd(R,B,B) by A24,A6;
        A36: Lp.B = ClosedProd(R,B,B) by A24,A35,A10;
        then RR /\ [:BeforeGames B,BeforeGames B:] =
        R /\ [:BeforeGames B,BeforeGames B:]
        by A24,A35,A11,A10,A6,Th24;
        then A37:ClosedProd(RR,B,B) = ClosedProd(R,B,B) by Th15;
        A38:[x,y] in ClosedProd(RR,B,B) by A32,A33,A34,Def10;
        Lp.B in rng Lp by A24,A10,FUNCT_1:def 3;
        hence thesis by A37,A36,A38,TARSKI:def 4;
      end;
    end;
    then OpenProd(RR,D,{}) =union rng Lp by A15,XBOOLE_0:def 10;
    hence thesis by A14,Th27;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;
