The Mizar article:

Mostowski's Fundamental Operations --- Part II

by
Grzegorz Bancerek, and
Andrzej Kondracki

Received February 15, 1991

Copyright (c) 1991 Association of Mizar Users

MML identifier: ZF_FUND2
[ MML identifier index ]


environ

 vocabulary ZF_LANG, FUNCT_1, ARYTM_3, ZF_MODEL, BOOLE, ORDINAL1, CLASSES2,
      ZF_REFLE, PROB_1, RELAT_1, TARSKI, ORDINAL2, CARD_1, CLASSES1, QC_LANG3,
      ZFMODEL1, QC_LANG1, ZF_FUND1, FUNCT_2, ORDINAL4, ZF_FUND2;
 notation TARSKI, XBOOLE_0, ENUMSET1, ZFMISC_1, SUBSET_1, NUMBERS, XREAL_0,
      NAT_1, RELAT_1, FUNCT_1, FUNCT_2, ORDINAL1, ZF_LANG, ZF_MODEL, ZFMODEL1,
      ORDINAL2, CARD_1, PROB_1, ZF_LANG1, CLASSES1, CLASSES2, ORDINAL4,
      ZF_REFLE, ZF_FUND1, FINSUB_1;
 constructors ENUMSET1, NAT_1, ZFMODEL1, ZF_LANG1, CLASSES1, ZF_REFLE,
      ZF_FUND1, WELLORD2, MEMBERED, XBOOLE_0;
 clusters SUBSET_1, FUNCT_1, ZF_LANG, ORDINAL1, CLASSES2, RELSET_1, CARD_1,
      FINSUB_1, MEMBERED, ZFMISC_1, XBOOLE_0, NUMBERS, ORDINAL2;
 requirements NUMERALS, REAL, SUBSET, BOOLE, ARITHM;
 definitions TARSKI, ORDINAL1, ZF_REFLE, XBOOLE_0;
 theorems TARSKI, REAL_1, NAT_1, ENUMSET1, FUNCT_1, FUNCT_2, ORDINAL1,
      ORDINAL2, ORDINAL4, CARD_1, CARD_2, ZF_MODEL, ZFMODEL1, ZFMODEL2,
      ZF_LANG1, PROB_1, ZF_REFLE, ZFREFLE1, CLASSES2, ZFMISC_1, ZF_FUND1,
      GRFUNC_1, RELAT_1, CLASSES1, RELSET_1, XBOOLE_0, XBOOLE_1;
 schemes ZF_REFLE, RECDEF_1, NAT_1;

begin

 reserve H for ZF-formula,
         M,E for non empty set,
         e for Element of E,
         m,m0,m3,m4 for Element of M,
         v,v1,v2 for Function of VAR,M,
         f,f1 for Function of VAR,E,
         g for Function,
         u,u1,u2 for set,
         x,y for Variable,
         i,n for Nat,
         X for set;

 definition let H,M,v;
  func Section(H,v) -> Subset of M equals:
Def1:    { m : M,v/(x.0,m) |= H } if x.0 in Free H
       otherwise {};
  coherence
   proof
    thus x.0 in Free H implies
       { m where m is Element of M: M,v/(x.0,m) |= H } is Subset of M
     proof
      assume x.0 in Free H;
      set X = {m where m is Element of M: M,v/(x.0,m) |= H };
        X c= M
       proof let u; assume u in X;
         then ex m being Element of M st u = m & M,v/(x.0,m) |= H;
        hence thesis;
       end;
      hence thesis;
     end;
    thus thesis by XBOOLE_1:2;
   end;
  consistency;
 end;

 definition let M;
  attr M is predicatively_closed means:
Def2:   for H, E, f st E in M holds Section(H,f) in M;
 end;

theorem
 Th1: E is epsilon-transitive implies
   Section(All(x.2,x.2 'in' x.0 => x.2 'in' x.1),f/(x.1,e)) = E /\ bool e
  proof
   set H = All(x.2,x.2 'in' x.0 => x.2 'in' x.1), v = f/(x.1,e);
   set S = Section(H,v);
     x.0 in Free H
    proof
     A1:x.1<>x.2 & x.0<>x.2 by ZF_LANG1:86;
       Free H=Free(x.2 'in' x.0 => x.2 'in' x.1)\{x.2} by ZF_LANG1:67
          .=(Free(x.2 'in' x.0) \/ Free(x.2 'in' x.1))\{x.2} by ZF_LANG1:69
          .=(Free(x.2 'in' x.0) \/ {x.2,x.1})\{x.2} by ZF_LANG1:64
          .=({x.2,x.0} \/ {x.2,x.1})\{x.2} by ZF_LANG1:64
          .=({x.2,x.0}\{x.2}) \/ ({x.2,x.1}\{x.2}) by XBOOLE_1:42
          .=({x.2,x.0}\{x.2}) \/ {x.1} by A1,ZFMISC_1:23
          .={x.0} \/ {x.1} by A1,ZFMISC_1:23
          .={x.0,x.1} by ENUMSET1:41;
     hence thesis by TARSKI:def 2;
    end;
   then A2:S={m where m is Element of E: E,v/(x.0,m)|= H} by Def1;
   assume
A3:  X in E implies X c= E;
   thus S c= E /\ bool e
     proof let u; assume u in S;
      then consider m being Element of E such that
A4:     u = m & E,v/(x.0,m) |= H by A2;
A5:     m c= E by A3;
         m c= e
        proof let u1; assume
A6:        u1 in m;
         then reconsider u1 as Element of E by A5;
            x.0 <> x.2 & x.0 <> x.1 & x.1 <> x.2 by ZF_LANG1:86;
then A7:        v/(x.0,m)/(x.2,u1).(x.2) = u1 & m = v/(x.0,m).(x.0) &
          v/(x.0,m)/(x.2,u1).(x.1) = v/(x.0,m).(x.1) &
          v.(x.1) = v/(x.0,m).(x.1) & v.x.1 = e &
          v/(x.0,m)/(x.2,u1).(x.0) = v/(x.0,m).(x.0) by ZF_LANG1:def 1;
          then E,v/(x.0,m)/(x.2,u1) |= x.2 'in' x.0 &
          E,v/(x.0,m)/(x.2,u1) |= x.2 'in' x.0 => x.2 'in' x.1
           by A4,A6,ZF_LANG1:80,ZF_MODEL:13;
          then E,v/(x.0,m)/(x.2,u1) |= x.2 'in' x.1 by ZF_MODEL:18;
         hence thesis by A7,ZF_MODEL:13;
        end;
      hence thesis by A4,XBOOLE_0:def 3;
     end;
   let u; assume A8: u in E /\ bool e;
then A9:  u in E & u in bool e by XBOOLE_0:def 3;
   reconsider u as Element of E by A8,XBOOLE_0:def 3;
      now let m be Element of E;
        x.0 <> x.2 & x.0 <> x.1 & x.1 <> x.2 by ZF_LANG1:86;
then A10:    v/(x.0,u)/(x.2,m).(x.2) = m & u = v/(x.0,u).(x.0) &
      v/(x.0,u)/(x.2,m).(x.1) = v/(x.0,u).(x.1) &
      v.(x.1) = v/(x.0,u).(x.1) & v.x.1 = e &
      v/(x.0,u)/(x.2,m).(x.0) = v/(x.0,u).(x.0) by ZF_LANG1:def 1;
        now assume E,v/(x.0,u)/(x.2,m) |= x.2 'in' x.0;
        then m in u by A10,ZF_MODEL:13;
hence E,v/(x.0,u)/(x.2,m) |= x.2 'in' x.1 by A9,A10,ZF_MODEL:13;
      end;
     hence E,v/(x.0,u)/(x.2,m) |= x.2 'in' x.0 => x.2 'in' x.1 by ZF_MODEL:18;
    end;
    then E,v/(x.0,u) |= H by ZF_LANG1:80;
   hence thesis by A2;
  end;

 reserve W for Universe, w for Element of W,
         Y for Subclass of W,
         a,a1,b,c for Ordinal of W,
         L for DOMAIN-Sequence of W;

 Lm1: u1 in Union g implies ex u2 st u2 in dom g & u1 in g.u2
  proof assume u1 in Union g;
    then u1 in union rng g by PROB_1:def 3;
   then consider X such that
A1:  u1 in X & X in rng g by TARSKI:def 4;
   consider u2 such that
A2:  u2 in dom g & X = g.u2 by A1,FUNCT_1:def 5;
   take u2;
   thus thesis by A1,A2;
  end;

theorem Th2:
 (for a,b st a in b holds L.a c= L.b) &
   (for a holds L.a in Union L & L.a is epsilon-transitive) &
     Union L is predicatively_closed
   implies
    Union L |= the_axiom_of_power_sets
  proof assume that
A1: for a,b st a in b holds L.a c= L.b and
A2: for a holds L.a in Union L & L.a is epsilon-transitive and
A3: Union L is predicatively_closed;
A4:  Union L is epsilon-transitive
     proof let X; assume X in Union L;
      then consider u such that
A5:    u in dom L & X in L.u by Lm1;
      reconsider u as Ordinal by A5,ORDINAL1:23;
         u in On W by A5,ZF_REFLE:def 5;
      then reconsider u as Ordinal of W by ZF_REFLE:8;
         L.u is epsilon-transitive by A2;
then A6:    X c= L.u by A5,ORDINAL1:def 2;
      let u1; assume u1 in X;
       then u1 in L.u & L.u c= Union L by A6,ZF_REFLE:24;
      hence u1 in Union L;
     end;
   set M = Union L;
A7: X in L.a implies L.a /\ bool X in M
     proof assume X in L.a;
      then reconsider e = X as Element of L.a;
      consider f being Function of VAR,L.a;
         L.a in M by A2;
       then Section(All(x.2,x.2 'in' x.0 => x.2 'in' x.1),f/(x.1,e)) in M &
        L.a is epsilon-transitive by A2,A3,Def2;
      hence L.a /\ bool X in M by Th1;
     end;
      now let X such that
A8:    X in M;
A9:      X in bool X by ZFMISC_1:def 1;
then A10:    X in M /\ bool X by A8,XBOOLE_0:def 3;
     reconsider D = M /\ bool X as non empty set by A8,A9,XBOOLE_0:def 3;
     defpred P[set,set] means $1 in L.$2;
A11:    for d being Element of D ex a st P[d,a]
       proof let d be Element of D;
           d in M by XBOOLE_0:def 3;
        then consider u2 such that
A12:      u2 in dom L & d in L.u2 by Lm1;
           u2 in On W by A12,ZF_REFLE:def 5;
        then reconsider u2 as Ordinal of W by ZF_REFLE:8;
        take u2;
        thus thesis by A12;
       end;
     consider f being Function such that
A13:    dom f = D & for d being Element of D ex a st a = f.d & P[d,a] &
       for b st P[d,b] holds a c= b from ALFA'Universe(A11);
A14:   rng f c= W
       proof let u; assume u in rng f;
        then consider u1 such that
A15:      u1 in D & u = f.u1 by A13,FUNCT_1:def 5;
        reconsider u1 as Element of D by A15;
           ex a st
      a = f.u1 & u1 in L.a & for b st u1 in L.b holds a c= b by A13;
        hence thesis by A15,ORDINAL4:def 2;
       end;
        bool X in W & M /\ bool X c= bool X by A8,CLASSES2:65,XBOOLE_1:17;
      then D in W & rng f = f.:(dom f) by CLASSES1:def 1,RELAT_1:146;
      then Card D <` Card W & Card rng f <=` Card dom f by CARD_2:3,CLASSES2:1
;
      then Card rng f <` Card W & W is_Tarski-Class by A13,ORDINAL1:22;
      then rng f in W by A14,CLASSES1:2;
      then sup rng f in W by ZF_REFLE:28;
     then reconsider a = sup rng f as Ordinal of W by ORDINAL4:def 2;
A16:    D c= L.a
       proof let u2; assume u2 in D;
        then reconsider d = u2 as Element of D;
        consider c such that
A17:      c = f.d & d in L.c & for b st d in L.b holds c c= b by A13;
           c in rng f by A13,A17,FUNCT_1:def 5;
         then c in a by ORDINAL2:27;
         then L.c c= L.a by A1;
        hence thesis by A17;
       end;
      then D /\ bool X = M /\ (bool X /\ bool X) & bool X /\ bool X = bool X &
      D /\ bool X c= L.a /\ bool X & L.a c= M
       by XBOOLE_1:16,26,ZF_REFLE:24;
      then D c= L.a /\ bool X & L.a /\ bool X c= D by XBOOLE_1:26;
    then D = L.a /\ bool X by XBOOLE_0:def 10;
      hence M /\ bool X in M by A7,A10,A16;
    end;
   hence thesis by A4,ZFMODEL1:9;
  end;

 Lm2: not x in variables_in H & {x.0,x.1,x.2} misses Free H &
  M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) implies
   {x.0,x.1,x.2} misses Free (H/(x.0,x)) &
    M,v |= All(x.3,Ex(x.0,All(x.4,H/(x.0,x) <=> x.4 '=' x.0))) &
     def_func'(H,v) = def_func'(H/(x.0,x),v)
  proof assume that
A1:  not x in variables_in H and
A2:  {x.0,x.1,x.2} misses Free H and
A3:  M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0)));
      x.0 in {x.0,x.1,x.2} by ENUMSET1:14;
then A4:  not x.0 in Free H by A2,XBOOLE_0:3;
then A5:  Free H = Free (H/(x.0,x)) by A1,ZFMODEL2:2;
   thus
   {x.0,x.1,x.2} misses Free (H/(x.0,x)) by A1,A2,A4,ZFMODEL2:2;
A6: not x.0 in Free (H/(x.0,x)) by A1,A4,ZFMODEL2:2;
      now let m3 be Element of M;
     consider m0 being Element of M such that
A7:   M,v/(x.3,m3)/(x.4,m) |= H iff m = m0 by A3,A4,ZFMODEL2:20;
     take m0; let m4 be Element of M;
     thus M,v/(x.3,m3)/(x.4,m4) |= H/(x.0,x) implies m4 = m0
       proof assume M,v/(x.3,m3)/(x.4,m4) |= H/(x.0,x);
         then M,v/(x.3,m3)/(x.4,m4)/(x.0,v/(x.3,m3)/(x.4,m4).x) |= H
          by A1,ZFMODEL2:13;
         then M,v/(x.3,m3)/(x.4,m4) |= H by A4,ZFMODEL2:10;
        hence m4 = m0 by A7;
       end;
     assume m4 = m0;
      then M,v/(x.3,m3)/(x.4,m4) |= H by A7;
      then M,v/(x.3,m3)/(x.4,m4)/(x.0,v/(x.3,m3)/(x.4,m4).x) |= H
       by A4,ZFMODEL2:10;
     hence M,v/(x.3,m3)/(x.4,m4) |= H/(x.0,x) by A1,ZFMODEL2:13;
    end;
   hence
A8:  M,v |= All(x.3,Ex(x.0,All(x.4,H/(x.0,x) <=> x.4 '=' x.0)))
     by A4,A5,ZFMODEL2:20;
      now let u; assume u in M;
     then reconsider u' = u as Element of M;
     set m = def_func'(H,v).u';
        M,v/(x.3,u')/(x.4,m) |= H by A3,A4,ZFMODEL2:11;
      then M,v/(x.3,u')/(x.4,m)/(x.0,v/(x.3,u')/(x.4,m).x) |= H
       by A4,ZFMODEL2:10;
      then M,v/(x.3,u')/(x.4,m) |= H/(x.0,x) by A1,ZFMODEL2:13;
     hence def_func'(H,v).u = def_func'(H/(x.0,x),v).u by A6,A8,ZFMODEL2:11;
    end;
   hence thesis by FUNCT_2:18;
  end;

 Lm3: v = f & m = e implies v/(x,m) = f/(x,e)
  proof
A1:  dom (f/(x,e)) = VAR & dom (v/(x,m)) = VAR by FUNCT_2:def 1;
   assume
A2:  v = f & m = e;
      now let u; assume u in VAR;
     then reconsider u' = u as Variable;
        u' = x or u' <> x;
      then v/(x,m).u'=m & f/(x,e).u'=e or v/(x,m).u'=v.u' & f/(x,e).u'=f.u'
       by ZF_LANG1:def 1;
     hence f/(x,e).u = v/(x,m).u by A2;
    end;
   hence thesis by A1,FUNCT_1:9;
  end;

Lm4:
 M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) & not x.4 in Free H
  implies for m holds def_func'(H,v).:m={}
   proof
    assume A1: M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0)))
                & not x.4 in Free H;
     A2:x.4<>x.3 & x.4<>x.0 & x.3<>x.0 by ZF_LANG1:86;
    consider m3;
      M,v/(x.3,m3) |= Ex(x.0,All(x.4,H <=> x.4 '=' x.0)) by A1,ZF_LANG1:80;
    then consider m0 such that
         A3: M,v/(x.3,m3)/(x.0,m0) |= All(x.4,H <=> x.4 '=' x.0) by ZF_LANG1:82
;
    set f=v/(x.3,m3)/(x.0,m0);
    A4:now
     let m4;
       M,f/(x.4,m4) |= H <=> x.4 '=' x.0 by A3,ZF_LANG1:80;
     then M,f/(x.4,m4) |= H iff M,f/(x.4,m4) |= x.4 '=' x.0 by ZF_MODEL:19;
     then A5: M,f |= H iff f/(x.4,m4).x.4=f/(x.4,m4).x.0
                                     by A1,ZFMODEL2:10,ZF_MODEL:12;
       f/(x.4,m4).x.4=m4 & f.x.0=m0 by ZF_LANG1:def 1;
     hence M,f |= H iff m4=m0 by A2,A5,ZF_LANG1:def 1;
    end;
then A6:    M,f |= H;
    let m;assume A7:def_func'(H,v).:m<>{};
    consider u being Element of def_func'(H,v).:m;
    consider u1 such that
A8:  u1 in dom def_func'(H,v) & u1 in m & u=def_func'(H,v).u1
     by A7,FUNCT_1:def 12;
    reconsider u1 as Element of M by A8,FUNCT_2:67;
      u1=m0 & m=m0 by A4,A6;
    hence contradiction by A8;
   end;

Lm5:
 not x in variables_in H & not y in variables_in H
 & x<>x.0 & y<>x.0 & y<>x.4 implies
   (x.4 in Free H iff x.0 in Free(Ex(x.3,x.3 'in'
 x '&' (H/(x.0,y)/(x.4,x.0)))))
  proof
   assume A1:not x in variables_in H & not y in variables_in H
    & x<>x.0 & y<>x.0 & y<>x.4;A2: x.0<>x.3 & x.0<>x.4 by ZF_LANG1:86;
   set G=H/(x.0,y)/(x.4,x.0);
   A3:Free(Ex(x.3,x.3 'in' x '&' G))=
             Free(x.3 'in' x '&' G)\{x.3} by ZF_LANG1:71
           .=(Free(x.3 'in' x) \/ Free(G))\{x.3} by ZF_LANG1:66
           .=({x.3,x} \/ Free(G))\{x.3} by ZF_LANG1:64
           .=({x.3,x}\{x.3}) \/ (Free(G)\{x.3}) by XBOOLE_1:42;
   A4:now
     assume A5:x.4 in Free H;
     A6:x.4 in Free(H/(x.0,y))
      proof
         now per cases;
        suppose x.0 in Free H;
         then A7:Free(H/(x.0,y))=(Free H \{x.0}) \/ {y} by A1,ZFMODEL2:2;
           not x.4 in {x.0} by A2,TARSKI:def 1;
         then x.4 in Free H \ {x.0} by A5,XBOOLE_0:def 4;
         hence thesis by A7,XBOOLE_0:def 2;
        suppose not x.0 in Free H;
         hence thesis by A1,A5,ZFMODEL2:2;
       end;
       hence thesis;
      end;
       not x.0 in variables_in(H/(x.0,y)) by A1,ZF_LANG1:198;
     then A8:Free G=(Free(H/(x.0,y))\{x.4}) \/ {x.0} by A6,ZFMODEL2:2;
       x.0 in {x.0} by TARSKI:def 1;
     then x.0 in Free G & not x.0 in {x.3} by A2,A8,TARSKI:def 1,XBOOLE_0:def 2
;
     then x.0 in Free(G)\{x.3} by XBOOLE_0:def 4;
     hence x.0 in Free(Ex(x.3,x.3 'in' x '&' G)) by A3,XBOOLE_0:def 2;
   end;
     now
    assume x.0 in Free(Ex(x.3,x.3 'in' x '&' G));
    then x.0 in {x.3,x}\{x.3} or x.0 in Free(G)\{x.3} by A3,XBOOLE_0:def 2;
    then A9: x.0 in {x.3,x} or x.0 in Free G by XBOOLE_0:def 4;

    A10:not x.0 in variables_in(H/(x.0,y)) by A1,ZF_LANG1:198;
    A11:now
     assume not x.4 in Free(H/(x.0,y));
     then A12:x.0 in Free(H/(x.0,y)) by A1,A2,A9,A10,TARSKI:def 2,ZFMODEL2:2;
       Free(H/(x.0,y)) c= variables_in(H/(x.0,y)) by ZF_LANG1:164;
     hence contradiction by A1,A12,ZF_LANG1:198;
    end;
      Free(H/(x.0,y)) c= (Free H \ {x.0}) \/ {y} by ZFMODEL2:1;
    then x.4 in Free H \ {x.0} or x.4 in {y} by A11,XBOOLE_0:def 2;
    hence x.4 in Free H by A1,TARSKI:def 1,XBOOLE_0:def 4;
   end;
   hence thesis by A4;
  end;

theorem Th3:
 omega in W & (for a,b st a in b holds L.a c= L.b) &
  (for a st a <> {} & a is_limit_ordinal holds L.a = Union (L|a)) &
   (for a holds L.a in Union L & L.a is epsilon-transitive) &
    Union L is predicatively_closed
   implies
    for H st {x.0,x.1,x.2} misses Free H holds
     Union L |= the_axiom_of_substitution_for H
  proof assume that
A1: omega in W and
A2: for a,b st a in b holds L.a c= L.b and
A3: for a st a <> {} & a is_limit_ordinal holds L.a = Union (L|a) and
A4: for a holds L.a in Union L & L.a is epsilon-transitive and
A5: Union L is predicatively_closed;
A6:  Union L is epsilon-transitive
     proof let X; assume X in Union L;
      then consider u such that
A7:    u in dom L & X in L.u by Lm1;
      reconsider u as Ordinal by A7,ORDINAL1:23;
         u in On W by A7,ZF_REFLE:def 5;
      then reconsider u as Ordinal of W by ZF_REFLE:8;
         L.u is epsilon-transitive by A4;
then A8:    X c= L.u by A7,ORDINAL1:def 2;
      let u1; assume u1 in X;
       then u1 in L.u & L.u c= Union L by A8,ZF_REFLE:24;
      hence u1 in Union L;
     end;
   set M = Union L;
      now let H; let f be Function of VAR,M such that
A9:   {x.0,x.1,x.2} misses Free H and
A10:   M,f |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0)));
     consider k being Nat such that
A11:   for i st x.i in variables_in H holds i < k by ZFMODEL2:4;
     set p = H/(x.0,x.(k+5));
        0 <= 5 & k+0 = k;
      then not k+5 < k by REAL_1:55;
then A12:   not x.(k+5) in variables_in H by A11;
then A13:   {x.0,x.1,x.2} misses Free p by A9,A10,Lm2;
A14:   M,f |= All(x.3,Ex(x.0,All(x.4,p <=> x.4 '=' x.0))) &
      def_func'(H,f) = def_func'(p,f) by A9,A10,A12,Lm2;
        x.0 in {x.0,x.1,x.2} by ENUMSET1:14;
then A15:   not x.0 in Free p by A13,XBOOLE_0:3;
     set F = def_func'(H,f);
     defpred P[set,set] means $1 in L.$2;
A16:   for d being Element of M qua non empty set ex a st P[d,a]
       proof let d be Element of M qua non empty set;
        consider u such that
A17:      u in dom L & d in L.u by Lm1;
           u in On W by A17,ZF_REFLE:def 5;
        then reconsider u as Ordinal of W by ZF_REFLE:8;
        take u;
        thus thesis by A17;
       end;
     consider g being Function such that
A18:   dom g = M & for d being Element of M qua non empty set ex a st
       a = g.d & P[d,a] & for b st P[d,b] holds a c= b
        from ALFA'Universe(A16);
     let u be Element of M;
        u in W & Card (g.:(F.:u)) <=` Card (F.:u) & Card (F.:u) <=` Card u
       by CARD_2:3;
      then Card u <` Card W & Card (g.:(F.:u)) <=` Card u & Card (g.:u) <=`
Card u
       by CARD_2:3,CLASSES2:1,XBOOLE_1:1;
then A19:   Card (g.:(F.:u)) <` Card W & Card (g.:u) <` Card W & W
is_Tarski-Class
       by ORDINAL1:22;
A20:   rng g c= W
       proof let u1; assume u1 in rng g;
        then consider u2 such that
A21:      u2 in dom g & u1 = g.u2 by FUNCT_1:def 5;
        reconsider d = u2 as Element of M by A18,A21;
           ex a st
      a = g.d & d in L.a & for b st d in L.b holds a c= b by A18;
        hence thesis by A21,ORDINAL4:def 2;
       end;
        g.:(F.:u) c= rng g by RELAT_1:144;
      then g.:(F.:u) c= W by A20,XBOOLE_1:1;
      then g.:(F.:u) in W by A19,CLASSES1:2;
      then sup (g.:(F.:u)) in W by ZF_REFLE:28;
     then reconsider b1 = sup (g.:(F.:u)) as Ordinal of W
       by ORDINAL4:def 2;
     consider b0 being Ordinal of W such that
A22:   b0 = g.u & u in L.b0 & for b st u in L.b holds b0 c= b by A18;
        Card VAR = alef 0 & alef 0 <` Card W
       by A1,CARD_1:21,83,84,CLASSES2:1,ZF_REFLE:25;
      then Card (f.:dom f) <=` Card dom f & Card dom f <` Card W & rng f = f.:
dom f
       by CARD_2:3,FUNCT_2:def 1,RELAT_1:146;
      then Card (g.:(rng f)) <=` Card (rng f) & Card (rng f) <` Card W &
      g.:(rng f) c= rng g by CARD_2:3,ORDINAL1:22,RELAT_1:144;
      then Card (g.:(rng f)) <` Card W & g.:(rng f) c= W
       by A20,ORDINAL1:22,XBOOLE_1:1;
      then g.:(rng f) in W by CLASSES1:2;
      then sup (g.:(rng f)) in W by ZF_REFLE:28;
     then reconsider b2 = sup (g.:(rng f)) as Ordinal of W by ORDINAL4:def 2;
A23:   X c= M & sup (g.:X) c= a implies X c= L.a
       proof assume
A24:      X c= M & sup (g.:X) c= a;
        let u1; assume
A25:      u1 in X;
        then reconsider d = u1 as Element of M by A24;
        consider b such that
A26:      b = g.d & d in L.b & for a st d in L.a holds b c= a by A18;
           b in g.:X by A18,A25,A26,FUNCT_1:def 12;
         then b in sup (g.:X) by ORDINAL2:27;
         then L.b c= L.a by A2,A24;
        hence thesis by A26;
       end;
     set b = b0 \/ b1;
     set a = b \/ b2;
     consider phi being Ordinal-Sequence of W such that
A27:   phi is increasing & phi is continuous and
A28:   for a st phi.a = a & {} <> a for v being Function of VAR,L.a holds
       M,M!v |= p/(x.4,x.0) iff L.a,v |= p/(x.4,x.0)
        by A1,A2,A3,ZF_REFLE:29;
     consider a1 such that
A29:   a in a1 & phi.a1 = a1 by A1,A27,ZFREFLE1:30;
A30:   dom f = VAR by FUNCT_2:def 1;
        rng f c= L.a1
       proof let u; assume
A31:      u in rng f;
        then consider u1 such that
A32:      u1 in dom f & u = f.u1 by FUNCT_1:def 5;
        reconsider u1 as Variable by A32,FUNCT_2:def 1;
        consider a2 being Ordinal of W such that
A33:      a2 = g.(f.u1) & f.u1 in L.a2 &
          for b st f.u1 in L.b holds a2 c= b by A18;
           a2 in g.:rng f by A18,A31,A32,A33,FUNCT_1:def 12;
         then a2 in b2 & b2 c= a by ORDINAL2:27,XBOOLE_1:7;
then a2 in a1 by A29,ORDINAL1:19;
         then L.a2 c= L.a1 by A2;
        hence thesis by A32,A33;
       end;
     then reconsider v = f as Function of VAR,L.a1 by A30,FUNCT_2:def 1,
RELSET_1:11;
A34:   L.a1 in M by A4;
        b c= a & b1 c= b by XBOOLE_1:7;
      then F.:u c= M & sup (g.:(F.:u)) c= b & b in a1
       by A29,ORDINAL1:22;
      then F.:u c= L.b & L.b c= L.a1 by A2,A23;
then A35:   F.:u c= L.a1 by XBOOLE_1:1;
        0 < 5 & k+0 = k;
then A36:      0 <= k & k < k+5 by NAT_1:18,REAL_1:53;
  then x.0 <> x.(k+5) by ZF_LANG1:86;
then A37:   not x.0 in variables_in p by ZF_LANG1:198;
     set x = x.(k+10);
     set q = Ex(x.3,x.3 'in' x '&' (p/(x.4,x.0)));
        b0 c= b & b c= a by XBOOLE_1:7;
      then b0 c= a by XBOOLE_1:1;
      then b0 in a1 by A29,ORDINAL1:22;
then A38:      L.b0 c= L.a1 by A2;
     then reconsider mu = u as Element of L.a1 by A22;
     set w = v/(x.0,v.x.4)/(x,mu);
A39:      10 > 0 & 10 > 3 & 10 <= 10+k & 10+k = k+10 by NAT_1:29;
then A40:   x.0 <> x.3 & x <> x.0 & x <> x.3 by ZF_LANG1:86;
A41:   variables_in (p/(x.4,x.0)) c= (variables_in p \ {x.4}) \/ {x.0} &
      variables_in p c= (variables_in H \ {x.0}) \/ {x.(k+5)}
       by ZF_LANG1:201;
        0 <= 10 & k+0 = k & 5 < 10;
      then not k+10 < k & k+5 < k+10 by REAL_1:53;
      then not x in variables_in H & k+5 <> k+10 by A11;
      then not x in variables_in H \ {x.0} & x <> x.(k+5) &
       (x <> x.(k+5) implies not x in {x.(k+5)})
        by TARSKI:def 1,XBOOLE_0:def 4,ZF_LANG1:86;
      then not x in variables_in p by A41,XBOOLE_0:def 2;
      then not x in variables_in p \ {x.4} & not x in {x.0}
       by A40,TARSKI:def 1,XBOOLE_0:def 4;
then A42:   not x in variables_in (p/(x.4,x.0)) by A41,XBOOLE_0:def 2;
        F.:u = Section(q,w)
       proof
          now per cases;
         suppose A43: x.4 in Free H;
            not k+5<k & not k+10<k & 4<>k+5 by NAT_1:29;
          then not x.(k+5) in variables_in H & not x.(k+10) in variables_in H
            & x.(k+5)<>x.0 & x.(k+10)<>x.0 & x.(k+5)<>x.4
                                        by A11,A36,A39,ZF_LANG1:86;
          then A44: x.0 in Free q by A43,Lm5;
          A45:F.:u c= Section(q,w)
            proof let u1; assume
A46:           u1 in F.:u;
             then consider u2 such that
A47:           u2 in dom F & u2 in u & u1 = F.u2 by FUNCT_1:def 12;
             reconsider u2 as Element of M by A47,FUNCT_2:def 1;
                M,f/(x.3,u2)/(x.4,F.u2) |= p & f/(x.3,u2)/(x.4,F.u2).(x.4)=F.u2
               & 0 <> 4 by A14,A15,ZFMODEL2:11,ZF_LANG1:def 1;
              then M,f/(x.3,u2)/(x.4,F.u2)/(x.0,F.u2) |= p/(x.4,x.0) & x.0 <>
x.4
               by A37,ZFMODEL2:14,ZF_LANG1:86;
              then M,f/(x.3,u2)/(x.0,F.u2)/(x.4,F.u2) |= p/(x.4,x.0) &
               not x.4 in
 variables_in (p/(x.4,x.0)) by ZF_LANG1:79,198
;
then A48:           M,f/(x.3,u2)/(x.0,F.u2) |= p/(x.4,x.0) by ZFMODEL2:6;
             reconsider m1 = u1 as Element of L.a1 by A35,A46;
                L.a1 is epsilon-transitive by A4;
              then u c= L.a1 by A22,A38,ORDINAL1:def 2;
             then reconsider m2 = u2 as Element of L.a1 by A47;
                f/(x.3,u2) = v/(x.3,m2) by Lm3;
              then f/(x.3,u2)/(x.0,F.u2) = v/(x.3,m2)/(x.0,m1) & L.a1 c= M
               by A47,Lm3,ZF_REFLE:24;
              then f/(x.3,u2)/(x.0,F.u2) = M!(v/(x.3,m2)/(x.0,m1))
               by ZF_LANG1:def 2;
              then L.a1,v/(x.3,m2)/(x.0,m1) |= p/(x.4,x.0) by A28,A29,A48;
              then L.a1,v/(x.3,m2)/(x.0,m1)/(x,mu) |= p/(x.4,x.0) &
              w/(x.0,m1) = v/(x,mu)/(x.0,m1) by A42,ZFMODEL2:6,9;
then A49:           L.a1,w/(x.0,m1)/(x.3,m2) |= p/(x.4,x.0) by A40,ZFMODEL2:7;
                w/(x.0,m1)/(x.3,m2).(x.3) = m2 &
              w/(x.0,m1)/(x.3,m2).x = w/(x.0,m1).x &
              w.x = w/(x.0,m1).x & w.x = mu by A40,ZF_LANG1:def 1;
              then L.a1,w/(x.0,m1)/(x.3,m2) |= x.3 'in' x by A47,ZF_MODEL:13;
              then L.a1,w/(x.0,m1)/(x.3,m2) |= x.3 'in' x '&' (p/(x.4,x.0))
               by A49,ZF_MODEL:15;
              then L.a1,w/(x.0,m1) |= q by ZF_LANG1:82;
              then u1 in { m where m is Element of L.a1: L.a1,w/(x.0,m) |= q }
;
             hence thesis by A44,Def1;
            end;
             Section(q,w) c= F.:u
            proof
             let u1; assume u1 in Section(q,w);
             then u1 in { m where m is Element of L.a1: L.a1,w/(x.0,m) |= q }
              by A44,Def1;
            then consider m1 being Element of L.a1 such that
A50:          u1 = m1 & L.a1,w/(x.0,m1) |= q;
            consider m2 being Element of L.a1 such that
A51:          L.a1,w/(x.0,m1)/(x.3,m2) |= x.3 'in' x '&' (p/(x.4,x.0))
              by A50,ZF_LANG1:82;
A52:          L.a1,w/(x.0,m1)/(x.3,m2) |= x.3 'in' x &
             w/(x.0,m1)/(x.3,m2).(x.3) = m2 &
             w/(x.0,m1)/(x.3,m2).x = w/(x.0,m1).x &
             w.x = w/(x.0,m1).x & w.x = mu &
             L.a1,w/(x.0,m1)/(x.3,m2) |= p/(x.4,x.0)
              by A40,A51,ZF_LANG1:def 1,ZF_MODEL:15;
then A53:          m2 in u by ZF_MODEL:13;
               w/(x.0,m1) = v/(x,mu)/(x.0,m1) by ZFMODEL2:9;
             then L.a1,v/(x.3,m2)/(x.0,m1)/(x,mu) |= p/(x.4,x.0)
              by A40,A52,ZFMODEL2:7;
then A54:          L.a1,v/(x.3,m2)/(x.0,m1) |= p/(x.4,x.0) by A42,ZFMODEL2:6;
               m1 in L.a1 & m2 in L.a1 & L.a1 c= M by ZF_REFLE:24;
            then reconsider u' = m1, u2 = m2 as Element of M;
               f/(x.3,u2) = v/(x.3,m2) by Lm3;
             then f/(x.3,u2)/(x.0,u') = v/(x.3,m2)/(x.0,m1) & L.a1 c= M & 0 <>
4
              by Lm3,ZF_REFLE:24;
             then f/(x.3,u2)/(x.0,u') = M!(v/(x.3,m2)/(x.0,m1)) & x.0 <> x.4
              by ZF_LANG1:86,def 2;
             then M,f/(x.3,u2)/(x.0,u') |= p/(x.4,x.0) &
             f/(x.3,u2)/(x.0,u')/(x.4,u') = f/(x.3,u2)/(x.4,u')/(x.0,u') &
             f/(x.3,u2)/(x.0,u').(x.0) = u'
               by A28,A29,A54,ZF_LANG1:79,def 1;
             then M,f/(x.3,u2)/(x.4,u')/(x.0,u') |= p by A37,ZFMODEL2:13;
             then M,f/(x.3,u2)/(x.4,u') |= p by A37,ZFMODEL2:6;
             then F.u2 = u' & dom F = M by A14,A15,FUNCT_2:def 1,ZFMODEL2:11;
             hence u1 in F.:u by A50,A53,FUNCT_1:def 12;
            end;
           hence F.:u=Section(q,w) by A45,XBOOLE_0:def 10;
         suppose A55:not x.4 in Free H;
            not k+5<k & not k+10<k & 4<>k+5 by NAT_1:29;
          then not x.(k+5) in variables_in H & not x.(k+10) in variables_in H
            & x.(k+5)<>x.0 & x.(k+10)<>x.0 & x.(k+5)<>x.4
                                        by A11,A36,A39,ZF_LANG1:86;
          then not x.0 in Free q by A55,Lm5;
          then Section(q,w)={} by Def1;
          hence F.:u=Section(q,w) by A10,A55,Lm4;
         end;
         hence F.:u=Section(q,w);
        end;
     hence def_func'(H,f).:u in M by A5,A34,Def2;
    end;
   hence thesis by A6,ZFMODEL1:19;
  end;

Lm6: x.i in Free H implies
{[i,m]} \/ (v*decode)|((code Free H)\{i})=(v/(x.i,m)*decode)|code Free H
 proof
  set e=v/(x.i,m)*decode;
  set f=v*decode;
  set b=f|((code Free H)\{i});
  assume x.i in Free H;
  then x".x.i in code Free H by ZF_FUND1:34;
  then i in code Free H by ZF_FUND1:def 3;
  then A1:{i} c= code Free H by ZFMISC_1:37;
  A2:i in {i} by TARSKI:def 1;
  A3:dom(e|{i})=(dom e) /\ {i} by RELAT_1:90
               .=omega /\ {i} by ZF_FUND1:32
               .={i} by ZFMISC_1:52;
  then A4:(e|{i})={[i,(e|{i}).i]} by GRFUNC_1:18
                         .={[i,e.i]} by A2,A3,FUNCT_1:70
                         .={[i,e.x".x.i]} by ZF_FUND1:def 3
                         .={[i,(v/(x.i,m)).x.i]} by ZF_FUND1:33
                         .={[i,m]} by ZF_LANG1:def 1;
  A5:b=e|((code Free H)\{i})
   proof
    A6:dom b=(dom f) /\ ((code Free H)\{i}) by RELAT_1:90
            .=omega /\ ((code Free H)\{i}) by ZF_FUND1:32
            .=dom e /\ ((code Free H)\{i}) by ZF_FUND1:32
            .=dom(e|((code Free H)\{i})) by RELAT_1:90;
      now
     let u; assume A7:u in dom b;
     then u in (dom f) /\ ((code Free H)\{i}) by RELAT_1:90;
     then u in (code Free H) \ {i} by XBOOLE_0:def 3;
     then A8:u in code Free H & not u in {i} by XBOOLE_0:def 4;
     then consider x such that
          A9:x in Free H & u=x".x by ZF_FUND1:34;
       i<>x".x by A8,A9,TARSKI:def 1;
     then A10:x<>x.i by ZF_FUND1:def 3;
     thus b.u = f.u by A7,FUNCT_1:70
             .=v.x by A9,ZF_FUND1:33
             .=(v/(x.i,m)).x by A10,ZF_LANG1:def 1
             .=e.u by A9,ZF_FUND1:33
             .=(e|((code Free H)\{i})).u by A6,A7,FUNCT_1:70;
    end;
    hence thesis by A6,FUNCT_1:9;
   end;
    e|code Free H=(e|({i} \/ ((code Free H)\{i}))) by A1,XBOOLE_1:45
  .={[i,m]} \/ b by A4,A5,RELAT_1:107;
  hence thesis;
 end;

theorem Th4:
 Section(H,v)=
   {m : {[{},m]} \/ (v*decode)|((code Free H)\{{}}) in Diagram(H,M)}
 proof
  set S=Section(H,v);
  set D={m:{[{},m]}\/(v*decode)|((code Free H)\{{}}) in Diagram(H,M)};
    now per cases;
   suppose A1:x.0 in Free H;
    then A2:S={m: M,v/(x.0,m) |= H} by Def1;
    A3:S c= D
     proof
      let u;assume u in S;
      then consider m such that
          A4: m=u & M,v/(x.0,m) |= H by A2;
        v/(x.0,m) in St(H,M) by A4,ZF_MODEL:def 4;
      then (v/(x.0,m)*decode)|code Free H in Diagram(H,M) by ZF_FUND1:def 5;
      then {[{},m]}\/(v*decode)|((code Free H)\{{}}) in Diagram(H,M)
                                                   by A1,Lm6;
      hence u in D by A4;
     end;
      D c= S
     proof
      let u;assume u in D;
      then consider m such that
A5: m=u & {[{},m]}\/(v*decode)|((code Free H)\{{}}) in Diagram(H,M);
        (v/(x.0,m)*decode)|code Free H in Diagram(H,M) by A1,A5,Lm6;
      then ex v1 st (v/(x.0,m)*decode)|code Free H=(v1*decode)|code Free H
            & v1 in St(H,M) by ZF_FUND1:def 5;
      then v/(x.0,m) in St(H,M) by ZF_FUND1:37;
      then M,v/(x.0,m) |= H by ZF_MODEL:def 4;
      hence u in S by A2,A5;
     end;
    hence thesis by A3,XBOOLE_0:def 10;
   suppose A6:not x.0 in Free H;

      now
     assume A7: D<>{};
     consider u being Element of D;
    u in D by A7;
     then consider m such that A8:m=u &
     {[{},m]}\/(v*decode)|((code Free H)\{{}}) in Diagram(H,M);
     consider v2 such that
      A9:({[{},m]}\/(v*decode)|((code Free H)\{{}}))
=(v2*decode)|code Free H & v2 in St(H,M) by A8,ZF_FUND1:def 5;
     reconsider w={[{},m]}\/(v*decode)|((code Free H)\{{}})
 as Function by A9;
       [{},m]in{[{},m]} by TARSKI:def 1;
     then [{},m] in w by XBOOLE_0:def 2;
     then {} in dom w & m=w.{} by FUNCT_1:8;
     then {} in dom(v2*decode)/\(code Free H) by A9,RELAT_1:90;
     then {} in code Free H by XBOOLE_0:def 3;
     then consider y such that
       A10:y in Free H & {}=x".y by ZF_FUND1:34;
     thus contradiction by A6,A10,ZF_FUND1:def 3;
    end;
   hence D=S by A6,Def1;
  end;
  hence thesis;
 end;

theorem Th5:
 Y is closed_wrt_A1-A7 & Y is epsilon-transitive implies
  Y is predicatively_closed
  proof
   assume A1:Y is closed_wrt_A1-A7 & Y is epsilon-transitive;
   let H,E,f such that A2: E in Y;
     now per cases;
    suppose not x.0 in Free H;
     then Section(H,f)={} by Def1;
     hence thesis by A1,ZF_FUND1:3;
    suppose A3:x.0 in Free H;
     reconsider n={} as Element of omega by ORDINAL2:def 5;
     set fs=(code Free H)\{n};
     reconsider a=E as Element of W by A2;
     A4: Diagram(H,E) in Y by A1,A2,ZF_FUND1:22;
     then reconsider b=Diagram(H,E) as Element of W;
     A5: Funcs(fs,a) in Y by A1,A2,ZF_FUND1:9;
     A6: (f*decode)|fs in Funcs(fs,a) by ZF_FUND1:32;
     then reconsider y=(f*decode)|fs as Element of W by A5,ZF_FUND1:1;
     set A={w: w in a & {[n,w]} \/ y in b};
     set B={e: {[n,e]} \/ y in b};
     A7: A=B
      proof
       thus A c= B
        proof
         let u;assume u in A;
         then ex w st u=w & w in a & {[n,w]} \/ y in b;
         hence u in B;
        end;
       let u;assume u in B;
       then consider e such that A8:u=e & {[n,e]} \/ y in b;
       reconsider e as Element of W by A2,ZF_FUND1:1;
         e in A by A8;
       hence u in A by A8;
      end;
       n in {n} by TARSKI:def 1;
     then A9: not n in fs by XBOOLE_0:def 4;
     A10: a c= Y by A1,A2,ORDINAL1:def 2;
        b c= Funcs(fs \/ {n},a)
      proof
       let u;assume u in b;
       then A11: ex f1 st
u=(f1*decode)|code Free H & f1 in St(H,E) by ZF_FUND1:def 5;
         x".x.0 in code Free H by A3,ZF_FUND1:34;
       then n in code Free H by ZF_FUND1:def 3;
       then A12: {n} c= code Free H by ZFMISC_1:37;
         u in Funcs(code Free H,a) by A11,ZF_FUND1:32;
       hence u in Funcs(fs \/ {n},a) by A12,XBOOLE_1:45;
      end;
     then A in Y by A1,A2,A4,A6,A9,A10,ZF_FUND1:16;
     hence Section(H,f) in Y by A7,Th4;
   end;
   hence thesis;
  end;

theorem
  (omega in W) &
 (for a,b st a in b holds L.a c= L.b) &
  (for a st a <> {} & a is_limit_ordinal holds L.a = Union (L|a)) &
   (for a holds L.a in Union L & L.a is epsilon-transitive) &
    (Union L is closed_wrt_A1-A7)
 implies
    Union L is_a_model_of_ZF
  proof
   assume that
    A1: (omega in W) and
    A2: (for a,b st a in b holds L.a c= L.b) and
    A3: (for a st a <> {} & a is_limit_ordinal holds L.a = Union (L|a)) and
    A4: (for a holds L.a in Union L & L.a is epsilon-transitive) and
    A5: (Union L is closed_wrt_A1-A7);
   A6:Union L is epsilon-transitive
     proof let X; assume X in Union L;
      then consider u such that
        A7: u in dom L & X in L.u by Lm1;
      reconsider u as Ordinal by A7,ORDINAL1:23;
         u in On W by A7,ZF_REFLE:def 5;
      then reconsider u as Ordinal of W by ZF_REFLE:8;
         L.u is epsilon-transitive by A4;
      then A8: X c= L.u by A7,ORDINAL1:def 2;
      let u1; assume u1 in X;
       then u1 in L.u & L.u c= Union L by A8,ZF_REFLE:24;
      hence u1 in Union L;
     end;
   then A9: Union L is predicatively_closed by A5,Th5;
     for u1,u2 st u1 in Union L & u2 in Union L holds
                                {u1,u2} in Union L by A5,ZF_FUND1:6;
   then A10: Union L |= the_axiom_of_pairs by A6,ZFMODEL1:3;
     for u st u in Union L holds union u in Union L by A5,ZF_FUND1:2;
   then A11: Union L |= the_axiom_of_unions by A6,ZFMODEL1:5;
     ex u st u in Union L & u<>{} &
     for u1 st u1 in u ex u2 st u1 c< u2 & u2 in u
    proof deffunc G(set,set) = inf {w: L.$2 in L.w};
     consider ksi being Function such that A12:dom ksi=NAT &
     ksi.0=0-element_of(W) & for i holds ksi.(i+1)=G(i,ksi.i) from LambdaRecEx;
     A13:for i holds ksi.i in On W & ksi.i is Ordinal of W
      proof defpred P[Nat] means ksi.$1 in On W & ksi.$1 is Ordinal of W;
       A14:P[0] by A12,ZF_REFLE:8;
       A15:now
        let i; assume P[i];
        then reconsider a=ksi.i as Ordinal of W;
          L.a in Union L by A4;
        then consider u such that A16:u in dom L & L.a in L.u by Lm1;
        A17: dom L=On W by ZF_REFLE:def 5;
        then reconsider b=u as Ordinal of W by A16,ZF_REFLE:8;
        A18: b in W by A16,A17,ORDINAL2:def 2;
        then b in {w: L.a in L.w} by A16;
        then A19: inf {w: L.a in L.w} c= b by ORDINAL2:22;
        thus P[i+1]
        proof
         A20:ksi.(i+1)=inf {w: L.a in L.w} by A12;
         then ksi.(i+1) in W by A18,A19,CLASSES1:def 1;
         hence ksi.(i+1) in On W by A20,ORDINAL2:def 2;
         hence ksi.(i+1) is Ordinal of W by ZF_REFLE:8;
        end;
       end;
       thus P[i] from Ind(A14,A15);
      end;
     A21: for i holds L.(ksi.i) in L.(ksi.(i+1))
      proof
       let i;
       A22: ksi.(i+1)=inf {w: L.(ksi.i) in L.w} by A12;
       reconsider a=ksi.i as Ordinal of W by A13;
         L.a in Union L by A4;
       then consider b being set such that
          A23:b in dom L & L.a in L.b by Lm1;
       A24: b in On W by A23,ZF_REFLE:def 5;
       then reconsider b as Ordinal of W by ZF_REFLE:8;
         b in W by A24,ORDINAL2:def 2;
       then b in {w: L.a in L.w} by A23;
       then ksi.(i+1) in {w: L.(ksi.i) in L.w} by A22,ORDINAL2:25;
       then ex w st w=ksi.(i+1) & L.a in L.w;
       hence thesis;
      end;
     A25: for i holds ksi.i in ksi.(i+1)
      proof
       let i;
       reconsider a=ksi.i as Ordinal of W by A13;
       reconsider b=ksi.(i+1) as Ordinal of W by A13;
       assume not ksi.i in ksi.(i+1);
       then b=a or b in a by ORDINAL1:24;
       then A26: L.b c= L.a by A2;
         L.a in L.b by A21;
       hence contradiction by A26,ORDINAL1:7;
      end;
     set lambda=sup rng ksi;
     take u = L.lambda;
       lambda in On W
      proof
       A27: rng ksi c= W
        proof
         let a be set;assume a in rng ksi;
         then consider i being set such that
           A28:i in dom ksi & a=ksi.i by FUNCT_1:def 5;
         reconsider i as Nat by A12,A28;
           ksi.i in On W by A13;
         hence thesis by A28,ORDINAL2:def 2;
        end;
         Card rng ksi <=` Card NAT & Card NAT=Card omega & Card omega <` Card W
                  by A1,A12,CARD_1:28,CLASSES2:1;
       then Card rng ksi <` Card W by ORDINAL1:22;
       then rng ksi in W by A27,CLASSES1:2;
       then lambda in W by ZF_REFLE:28;
       hence thesis by ORDINAL2:def 2;
      end;
     then reconsider l=lambda as Ordinal of W by ZF_REFLE:8;
       L.l in Union L & L.l<>{} by A4;
     hence u in Union L & u<>{};
     A29: l is_limit_ordinal
      proof
       A30: union l c= l by ORDINAL2:5;
         l c= union l
        proof
         let u1 be Ordinal;assume u1 in l;
         then consider u2 being Ordinal such that
           A31: u2 in rng ksi & u1 c= u2 by ORDINAL2:29;
         consider i being set such that
           A32: i in dom ksi & u2=ksi.i by A31,FUNCT_1:def 5;
         reconsider i as Nat by A12,A32;
         reconsider u3=ksi.(i+1) as Ordinal of W by A13;
           u3 in rng ksi & u2 in u3 by A12,A25,A32,FUNCT_1:def 5;
         then u3 in l & u1 in u3 by A31,ORDINAL1:22,ORDINAL2:27;
         hence u1 in union l by TARSKI:def 4;
        end;
       then l=union l by A30,XBOOLE_0:def 10;
       hence thesis by ORDINAL1:def 6;
      end;
     A33: union {L.(ksi.n): not contradiction}=L.l
      proof
       set A={L.(ksi.n): not contradiction};
       thus union A c= L.l
        proof
         let u1;assume u1 in union A;
         then consider X such that
            A34: u1 in X & X in A by TARSKI:def 4;
         consider n such that A35:X=L.(ksi.n) by A34;
         reconsider a=ksi.n as Ordinal of W by A13;
           a in rng ksi by A12,FUNCT_1:def 5;
         then a in l by ORDINAL2:27;
         then L.a c= L.l by A2;
         hence u1 in L.l by A34,A35;
        end;
       let u1 such that A36: u1 in L.l;
         0-element_of W in rng ksi by A12,FUNCT_1:def 5;
       then l<>{} by ORDINAL2:27;
       then L.l=Union(L|l) by A3,A29;
       then consider u2 such that
         A37: u2 in dom(L|l) & u1 in (L|l).u2 by A36,Lm1;
       A38: u2 in (dom L) /\ l & u1 in L.u2 by A37,FUNCT_1:70,RELAT_1:90;
       then A39: u2 in dom L & u2 in l by XBOOLE_0:def 3;
       then u2 in On W by ZF_REFLE:def 5;
       then reconsider u2 as Ordinal of W by ZF_REFLE:8;
       consider b being Ordinal such that
         A40: b in rng ksi & u2 c= b by A39,ORDINAL2:29;
       consider i being set such that
         A41:i in dom ksi & b=ksi.i by A40,FUNCT_1:def 5;
       reconsider i as Nat by A12,A41;
         b=ksi.i by A41;
       then reconsider b as Ordinal of W by A13;
         u2 c< b iff u2 c= b & u2 <> b by XBOOLE_0:def 8;
       then u2=b or u2 in b by A40,ORDINAL1:21;
       then L.u2 c= L.b by A2;
       then u1 in L.(ksi.i) & L.(ksi.i) in A by A38,A41;
       hence u1 in union A by TARSKI:def 4;
      end;
     let u1; assume u1 in u;
     then consider u2 such that
A42: u1 in u2 & u2 in {L.(ksi.n): not contradiction} by A33,TARSKI:def 4;
     take u2;
     consider i such that A43:u2=L.(ksi.i) by A42;
     reconsider a=ksi.i as Ordinal of W by A13;
       L.a is epsilon-transitive by A4;
     then A44: u1 c= u2 by A42,A43,ORDINAL1:def 2;
       u1<>u2 by A42;
     hence u1 c< u2 by A44,XBOOLE_0:def 8;
     thus u2 in u
      proof
         L.(ksi.i) in L.(ksi.(i+1))
         & L.(ksi.(i+1)) in {L.(ksi.n): not contradiction} by A21;
       hence thesis by A33,A43,TARSKI:def 4;
      end;
    end;
   then A45: Union L |= the_axiom_of_infinity by A6,ZFMODEL1:7;
   A46: Union L |= the_axiom_of_power_sets by A2,A4,A9,Th2;
      for H st {x.0,x.1,x.2} misses Free H holds
        Union L |= the_axiom_of_substitution_for H by A1,A2,A3,A4,A9,Th3;
   hence Union L is_a_model_of_ZF by A6,A10,A11,A45,A46,ZF_MODEL:def 12;
  end;

Back to top