reserve H,S for ZF-formula,
  x for Variable,
  X,Y for set,
  i for Element of NAT,
  e,u for set;
reserve M,M1,M2 for non empty set,
  f for Function,
  v1 for Function of VAR,M1,
  v2 for Function of VAR,M2,
  F,F1,F2 for Subset of WFF,
  W for Universe,
  a,b,c for Ordinal of W,
  A,B,C for Ordinal,
  L for DOMAIN-Sequence of W,
  va for Function of VAR,L.a,
  phi,xi for Ordinal-Sequence of W;
reserve psi for Ordinal-Sequence;

theorem Th30:
  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)) implies ex phi st phi is
  increasing & phi is continuous & for a st phi.a = a & {} <> a holds L.a
  is_elementary_subsystem_of Union L
proof
  assume that
A1: omega in W and
A2: ( 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);
  set M = Union L;
  defpred P[object,object] means
ex H,phi st $1 = H & $2 = phi & phi is increasing &
phi is continuous & for a st phi.a = a & {} <> a for va holds Union L,(Union L)
  !va |= H iff L.a,va |= H;
A3: for e being object st e in WFF
ex u being object st u in Funcs(On W, On W) & P[e, u]
  proof
    let e be object;
    assume e in WFF;
    then reconsider H = e as ZF-formula by ZF_LANG:4;
    consider phi such that
A4: phi is increasing & phi is continuous & for a st phi.a = a & {} <>
a for va holds Union L,(Union L)!va |= H iff L.a,va |= H by A1,A2,ZF_REFLE:20;
    reconsider u = phi as set;
    take u;
    dom phi = On W & rng phi c= On W by FUNCT_2:def 1,RELAT_1:def 19;
    hence u in Funcs(On W, On W) by FUNCT_2:def 2;
    take H,phi;
    thus thesis by A4;
  end;
  consider Phi being Function such that
A5: dom Phi = WFF & rng Phi c= Funcs(On W, On W) and
A6: for e being object st e in WFF holds P[e, Phi.e]
from FUNCT_1:sch 6(A3);
  reconsider Phi as Function of WFF, Funcs(On W, On W) by A5,FUNCT_2:def 1
,RELSET_1:4;
  [:omega,omega:] in W by A1,CLASSES2:61;
  then bool [:omega,omega:] in W by CLASSES2:59;
  then card WFF c= card bool [:omega,omega:] & card bool [:omega,omega:] in
  card W by CARD_1:11,CLASSES2:1,ZF_LANG1:134;
  then consider phi such that
A7: phi is increasing & phi is continuous and
  phi.0-element_of W = 0-element_of W and
A8: for a holds phi.(succ a) = sup ({phi.a} \/ (uncurry Phi).:[:WFF,{
  succ a}:]) and
A9: for a st a <> 0-element_of W & a is limit_ordinal holds phi.a = sup
  (phi|a) by Th13,ORDINAL1:12;
  take phi;
  thus phi is increasing & phi is continuous by A7;
  let a such that
A10: phi.a = a and
A11: {} <> a;
  thus L.a c= Union L by ZF_REFLE:16;
  let H,va;
A12: H in WFF by ZF_LANG:4;
  then consider H1 being ZF-formula, xi such that
A13: H = H1 and
A14: Phi.H = xi and
A15: xi is increasing and
A16: xi is continuous and
A17: for a st xi.a = a & {} <> a for va holds M,M!va |= H1 iff L.a,va |=
  H1 by A6;
  defpred P[Ordinal] means $1 <> {} implies xi.$1 c= phi.$1;
  a in dom xi by ORDINAL4:34;
  then
A18: a c= xi.a by A15,ORDINAL4:10;
A19: for a st a <> 0-element_of W & a is limit_ordinal & for b st b in a
  holds P[b] holds P[a]
  proof
    let a such that
A20: a <> 0-element_of W and
A21: a is limit_ordinal and
A22: for b st b in a holds b <> {} implies xi.b c= phi.b and
    a <> {};
A23: a in dom xi by ORDINAL4:34;
    then xi.a is_limes_of xi|a by A16,A20,A21;
    then
A24: xi.a = lim (xi|a) by ORDINAL2:def 10;
    let A such that
A25: A in xi.a;
    a c= dom xi by A23,ORDINAL1:def 2;
    then
A26: dom (xi|a) = a by RELAT_1:62;
    xi|a is increasing by A15,ORDINAL4:15;
    then xi.a = sup (xi|a) by A20,A21,A26,A24,ORDINAL4:8
      .= sup rng (xi|a);
    then consider B such that
A27: B in rng (xi|a) and
A28: A c= B by A25,ORDINAL2:21;
    consider e being object such that
A29: e in dom (xi|a) and
A30: B = (xi|a).e by A27,FUNCT_1:def 3;
    reconsider e as Ordinal by A29;
    a in On W by ZF_REFLE:7;
    then e in On W by A26,A29,ORDINAL1:10;
    then reconsider e as Ordinal of W by ZF_REFLE:7;
A31: succ e in a by A21,A26,A29,ORDINAL1:28;
    e in succ e & succ e in dom xi by ORDINAL1:6,ORDINAL4:34;
    then
A32: xi.e in xi.succ e by A15;
    B = xi.e by A29,A30,FUNCT_1:47;
    then
A33: A in xi.succ e by A28,A32,ORDINAL1:12;
    succ e in dom phi by ORDINAL4:34;
    then
A34: phi.succ e in rng (phi| a) by A31,FUNCT_1:50;
    phi.a = sup (phi|a) by A9,A20,A21
      .= sup rng (phi|a);
    then
A35: phi.succ e in phi.a by A34,ORDINAL2:19;
    xi.succ e c= phi.succ e by A22,A31;
    hence A in phi.a by A35,A33,ORDINAL1:10;
  end;
A36: for a st P[a] holds P[succ a]
  proof
    let a;
    succ a in {succ a} by TARSKI:def 1;
    then
A37: [H,succ a] in [:WFF,{succ a}:] by A12,ZFMISC_1:87;
    succ a in dom xi by ORDINAL4:34;
    then [H,succ a] in dom uncurry Phi & (uncurry Phi).(H,succ a) = xi.succ a
    by A5,A12,A14,FUNCT_5:38;
    then xi.succ a in (uncurry Phi).:[:WFF,{succ a}:] by A37,FUNCT_1:def 6;
    then xi.succ a in {phi.a} \/ (uncurry Phi).:[:WFF,{succ a}:] by
XBOOLE_0:def 3;
    then
A38: xi.succ a in sup ({phi.a} \/ (uncurry Phi).:[:WFF,{succ a}:]) by
ORDINAL2:19;
    phi.(succ a) = sup ({phi.a} \/ (uncurry Phi).:[:WFF,{succ a}:]) by A8;
    hence thesis by A38,ORDINAL1:def 2;
  end;
A39: P[0-element_of W];
  for a holds P[a] from ZF_REFLE:sch 4(A39,A36,A19);
  then xi.a c= a by A10,A11;
  then xi.a = a by A18;
  hence thesis by A11,A13,A17;
end;
