let p, q be Element of CQC-WFF ; :: thesis: for x being bound_QC-variable
for X being Subset of CQC-WFF st p => q in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = F )
}
& not x in still_not-bound_in p holds
p => (All (x,q)) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = G )
}

let x be bound_QC-variable; :: thesis: for X being Subset of CQC-WFF st p => q in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = F )
}
& not x in still_not-bound_in p holds
p => (All (x,q)) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = G )
}

let X be Subset of CQC-WFF; :: thesis: ( p => q in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = F )
}
& not x in still_not-bound_in p implies p => (All (x,q)) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = G )
}
)

assume that
A1: p => q in { F where F is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = F )
}
and
A2: not x in still_not-bound_in p ; :: thesis: p => (All (x,q)) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = G )
}

ex t being Element of CQC-WFF st
( t = p => q & ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = t ) ) by A1;
then consider f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] such that
A3: f is_a_proof_wrt X and
A4: Effect f = p => q ;
A5: f <> {} by A3, Def5;
reconsider qq = [(p => (All (x,q))),8] as Element of [:CQC-WFF,Proof_Step_Kinds:] by Th43, ZFMISC_1:87;
set h = f ^ <*qq*>;
A6: len (f ^ <*qq*>) = (len f) + (len <*qq*>) by FINSEQ_1:22
.= (len f) + 1 by FINSEQ_1:39 ;
for n being Element of NAT st 1 <= n & n <= len (f ^ <*qq*>) holds
f ^ <*qq*>,n is_a_correct_step_wrt X
proof
let n be Element of NAT ; :: thesis: ( 1 <= n & n <= len (f ^ <*qq*>) implies f ^ <*qq*>,n is_a_correct_step_wrt X )
assume that
A7: 1 <= n and
A8: n <= len (f ^ <*qq*>) ; :: thesis: f ^ <*qq*>,n is_a_correct_step_wrt X
now end;
hence f ^ <*qq*>,n is_a_correct_step_wrt X ; :: thesis: verum
end;
then A14: f ^ <*qq*> is_a_proof_wrt X by Def5;
Effect (f ^ <*qq*>) = ((f ^ <*qq*>) . ((len f) + 1)) `1 by A6, Def6
.= qq `1 by FINSEQ_1:42
.= p => (All (x,q)) by MCART_1:7 ;
hence p => (All (x,q)) in { G where G is Element of CQC-WFF : ex f being FinSequence of [:CQC-WFF,Proof_Step_Kinds:] st
( f is_a_proof_wrt X & Effect f = G )
}
by A14; :: thesis: verum