defpred S1[ set ] means ( $1 is trivial or P1[$1] );
A3: F2() is finite ;
A4: S1[ {} ] ;
A5: for x, B being set st x in F2() & B c= F2() & S1[B] holds
S1[B \/ {x}]
proof
let x, B be set ; :: thesis: ( x in F2() & B c= F2() & S1[B] implies S1[B \/ {x}] )
assume that
A6: x in F2() and
A7: B c= F2() and
A8: S1[B] ; :: thesis: S1[B \/ {x}]
reconsider B = B as Subset of F1() by A7, XBOOLE_1:1;
per cases ( B \/ {x} is trivial or x in B or ( not B is trivial & not x in B ) or ( B is trivial & not B \/ {x} is trivial ) ) ;
suppose ( not B is trivial & not x in B ) ; :: thesis: S1[B \/ {x}]
hence S1[B \/ {x}] by A2, A6, A7, A8; :: thesis: verum
end;
suppose A9: ( B is trivial & not B \/ {x} is trivial ) ; :: thesis: S1[B \/ {x}]
then consider y being object such that
A10: B = {y} by Th4;
A11: x <> y by A9, A10;
A12: B \/ {x} = {x,y} by A10, ENUMSET1:1;
y in B by A10, TARSKI:def 1;
hence S1[B \/ {x}] by A1, A6, A7, A11, A12; :: thesis: verum
end;
end;
end;
S1[F2()] from FINSET_1:sch 2(A3, A4, A5);
hence P1[F2()] ; :: thesis: verum