reserve V for Universe,
  a,b,x,y,z,x9,y9 for Element of V,
  X for Subclass of V,
  o,p,q,r,s,t,u,a1,a2,a3,A,B,C,D for set,
  K,L,M for Ordinal,
  n for Element of omega,
  fs for finite Subset of omega,
  e,g,h for Function,
  E for non empty set,
  f for Function of VAR,E,
  k,k1 for Element of NAT,
  v1,v2,v3 for Element of VAR,
  H,H9 for ZF-formula;

theorem Th8:
  X is closed_wrt_A1-A7 implies Funcs(fs,omega) c= X
proof
  defpred P[set] means Funcs($1,omega) c= X;
  assume
A1: X is closed_wrt_A1-A7;
  then Funcs({},omega)={{}} & {} in X by Th3,FUNCT_5:57;
  then
A2: P[{}] by ZFMISC_1:31;
A3: omega c= X by A1,Th7;
A4: for o,B being set st o in fs & B c= fs & P[B] holds P[B \/ {o}]
  proof
    let o,B be set;
    assume that
A5: o in fs and
    B c= fs and
A6: Funcs(B,omega) c= X;
    now
      let p be object;
      assume p in Funcs(B \/ {o},omega);
      then consider g such that
A7:   p=g and
A8:   dom g = B \/ {o} and
A9:   rng g c= omega by FUNCT_2:def 2;
      set A=g|B;
      rng A c= rng g by RELAT_1:70;
      then
A10:  rng A c= omega by A9;
      set C=g|{o};
A11:  dom C=(B \/ {o}) /\ {o} by A8,RELAT_1:61
        .={o} by XBOOLE_1:21;
      then
A12:  C={[o,C.o]} by GRFUNC_1:7;
      o in dom C by A11,TARSKI:def 1;
      then
A13:  C.o in rng C by FUNCT_1:def 3;
      rng C c= rng g by RELAT_1:70;
      then rng C c= omega by A9;
      then
A14:  C.o in omega by A13;
      o in omega by A5;
      then [o,C.o] in X by A1,A3,A14,Th6;
      then
A15:  C in X by A1,A12,Th2;
      dom A=(B \/ {o}) /\ B by A8,RELAT_1:61
        .=B by XBOOLE_1:21;
      then
A16:  A in Funcs(B,omega) by A10,FUNCT_2:def 2;
      g = (g|(B \/ {o})) by A8
        .= A \/ C by RELAT_1:78;
      hence p in X by A1,A6,A7,A16,A15,Th4;
    end;
    hence thesis by TARSKI:def 3;
  end;
A17: fs is finite;
  thus P[fs] from FINSET_1:sch 2(A17,A2,A4);
end;
