let a be object ; :: thesis: ( F1(),F2() |- a implies P1[a] )
assume F1(),F2() |- a ; :: thesis: P1[a]
then consider P being Formula-sequence such that
A3: a in rng P and
A4: P is F1(),F2() -correct ;
defpred S1[ Nat] means ( $1 in dom P implies P1[P . $1] );
A10: for i being Nat st ( for j being Nat st j < i holds
S1[j] ) holds
S1[i]
proof
let i be Nat; :: thesis: ( ( for j being Nat st j < i holds
S1[j] ) implies S1[i] )

assume A11: for j being Nat st j < i holds
S1[j] ; :: thesis: S1[i]
reconsider k = i as Element of NAT by ORDINAL1:def 12;
assume i in dom P ; :: thesis: P1[P . i]
then P,k is_a_correct_step_wrt F1(),F2() by A4;
per cases then ( P . i in F1() or ex Q being Formula-finset st
( [Q,(P . i)] in F2() & ( for t being Formula st t in Q holds
ex k being Nat st
( k in dom P & k < i & P . k = t ) ) ) )
;
suppose P . i in F1() ; :: thesis: P1[P . i]
hence P1[P . i] by A1; :: thesis: verum
end;
suppose ex Q being Formula-finset st
( [Q,(P . i)] in F2() & ( for t being Formula st t in Q holds
ex k being Nat st
( k in dom P & k < i & P . k = t ) ) ) ; :: thesis: P1[P . i]
then consider Q being Formula-finset such that
A14: [Q,(P . i)] in F2() and
A15: for t being Formula st t in Q holds
ex k being Nat st
( k in dom P & k < i & P . k = t ) ;
for b being object st b in Q holds
P1[b]
proof
let b be object ; :: thesis: ( b in Q implies P1[b] )
assume b in Q ; :: thesis: P1[b]
then consider k being Nat such that
A17: ( k in dom P & k < i & P . k = b ) by A15;
thus P1[b] by A11, A17; :: thesis: verum
end;
hence P1[P . i] by A2, A14; :: thesis: verum
end;
end;
end;
A30: for i being Nat holds S1[i] from NAT_1:sch 4(A10);
consider b being object such that
A31: b in dom P and
A32: P . b = a by A3, FUNCT_1:def 3;
b in Seg (len P) by A31, FINSEQ_1:def 3;
hence P1[a] by A30, A31, A32; :: thesis: verum