defpred S1[ set , set , set , set ] means ( P2[$1,$2,$3] & not $1 in union $4 );
consider f being sequence of (bool (bool F1())) such that
A1:
f . 0 = F2()
and
A2:
for n being Nat holds f . (n + 1) = { (union { F3(c,n) where c is Element of F1() : for fq being Subset-Family of F1()
for q being Nat st q <= n & fq = f . q holds
S1[c,V,n,fq] } ) where V is Subset of F1() : P1[V] }
from PCOMPS_2:sch 2();
take
f
; ( f . 0 = F2() & ( for n being Nat holds f . (n + 1) = { (union { F3(c,n) where c is Element of F1() : ( P2[c,V,n] & not c in union { (union (f . q)) where q is Nat : q <= n } ) } ) where V is Subset of F1() : P1[V] } ) )
thus
f . 0 = F2()
by A1; for n being Nat holds f . (n + 1) = { (union { F3(c,n) where c is Element of F1() : ( P2[c,V,n] & not c in union { (union (f . q)) where q is Nat : q <= n } ) } ) where V is Subset of F1() : P1[V] }
let n be Nat; f . (n + 1) = { (union { F3(c,n) where c is Element of F1() : ( P2[c,V,n] & not c in union { (union (f . q)) where q is Nat : q <= n } ) } ) where V is Subset of F1() : P1[V] }
deffunc H1( set ) -> set = union { F3(c,n) where c is Element of F1() : for fq being Subset-Family of F1()
for q being Nat st q <= n & fq = f . q holds
( P2[c,$1,n] & not c in union fq ) } ;
deffunc H2( set ) -> set = union { F3(c,n) where c is Element of F1() : ( P2[c,$1,n] & not c in union { (union (f . q)) where q is Nat : q <= n } ) } ;
set fxxx1 = { H1(V) where V is Subset of F1() : P1[V] } ;
set fxxx = { H2(V) where V is Subset of F1() : P1[V] } ;
A3:
now for V being Subset of F1() st P1[V] holds
H1(V) = H2(V)deffunc H3(
set )
-> Subset of
F1() =
F3($1,
n);
let V be
Subset of
F1();
( P1[V] implies H1(V) = H2(V) )assume
P1[
V]
;
H1(V) = H2(V)defpred S2[
set ]
means for
fq being
Subset-Family of
F1()
for
q being
Nat st
q <= n &
fq = f . q holds
(
P2[$1,
V,
n] & not $1
in union fq );
defpred S3[
set ]
means (
P2[$1,
V,
n] & not $1
in union { (union (f . q1)) where q1 is Nat : q1 <= n } );
A4:
now for c being Element of F1() holds
( S2[c] iff S3[c] )let c be
Element of
F1();
( S2[c] iff S3[c] )A5:
( ( for
fq being
Subset-Family of
F1()
for
q being
Nat st
q <= n &
fq = f . q holds
not
c in union fq ) iff not
c in union { (union (f . q)) where q is Nat : q <= n } )
thus
(
S2[
c] iff
S3[
c] )
verumproof
hereby ( S3[c] implies S2[c] )
end;
assume
(
P2[
c,
V,
n] & not
c in union { (union (f . q)) where q is Nat : q <= n } )
;
S2[c]
hence
S2[
c]
by A5;
verum
end; end;
{ H3(c) where c is Element of F1() : S2[c] } = { H3(c) where c is Element of F1() : S3[c] }
from FRAENKEL:sch 3(A4);
hence
H1(
V)
= H2(
V)
;
verum end;
{ H1(V) where V is Subset of F1() : P1[V] } = { H2(V) where V is Subset of F1() : P1[V] }
from FRAENKEL:sch 6(A3);
hence
f . (n + 1) = { (union { F3(c,n) where c is Element of F1() : ( P2[c,V,n] & not c in union { (union (f . q)) where q is Nat : q <= n } ) } ) where V is Subset of F1() : P1[V] }
by A2; verum