let X, Y be Subset of MC-wff; :: thesis: for f being FinSequence of [:MC-wff,Proof_Step_Kinds_IPC:] st f is_a_proof_wrt_IPC X & X c= Y holds
f is_a_proof_wrt_IPC Y

let f be FinSequence of [:MC-wff,Proof_Step_Kinds_IPC:]; :: thesis: ( f is_a_proof_wrt_IPC X & X c= Y implies f is_a_proof_wrt_IPC Y )
assume that
A1: f is_a_proof_wrt_IPC X and
A2: X c= Y ; :: thesis: f is_a_proof_wrt_IPC Y
thus f <> {} by A1; :: according to INTPRO_2:def 4 :: thesis: for n being Nat st 1 <= n & n <= len f holds
f,n is_a_correct_step_wrt_IPC Y

let n be Nat; :: thesis: ( 1 <= n & n <= len f implies f,n is_a_correct_step_wrt_IPC Y )
assume A3: ( 1 <= n & n <= len f ) ; :: thesis: f,n is_a_correct_step_wrt_IPC Y
then A4: f,n is_a_correct_step_wrt_IPC X by A1;
not not (f . n) `2 = 0 & ... & not (f . n) `2 = 10 by A3, Th3;
per cases then ( (f . n) `2 = 0 or (f . n) `2 = 1 or (f . n) `2 = 2 or (f . n) `2 = 3 or (f . n) `2 = 4 or (f . n) `2 = 5 or (f . n) `2 = 6 or (f . n) `2 = 7 or (f . n) `2 = 8 or (f . n) `2 = 9 or (f . n) `2 = 10 ) ;
:: according to INTPRO_2:def 3
case (f . n) `2 = 0 ; :: thesis: (f . n) `1 in Y
then (f . n) `1 in X by A4, Def3;
hence (f . n) `1 in Y by A2; :: thesis: verum
end;
case (f . n) `2 = 1 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = p => (q => p)
hence ex p, q being Element of MC-wff st (f . n) `1 = p => (q => p) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 2 ; :: thesis: ex p, q, r being Element of MC-wff st (f . n) `1 = (p => (q => r)) => ((p => q) => (p => r))
hence ex p, q, r being Element of MC-wff st (f . n) `1 = (p => (q => r)) => ((p => q) => (p => r)) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 3 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = (p '&' q) => p
hence ex p, q being Element of MC-wff st (f . n) `1 = (p '&' q) => p by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 4 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = (p '&' q) => q
hence ex p, q being Element of MC-wff st (f . n) `1 = (p '&' q) => q by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 5 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = p => (q => (p '&' q))
hence ex p, q being Element of MC-wff st (f . n) `1 = p => (q => (p '&' q)) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 6 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = p => (p 'or' q)
hence ex p, q being Element of MC-wff st (f . n) `1 = p => (p 'or' q) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 7 ; :: thesis: ex p, q being Element of MC-wff st (f . n) `1 = q => (p 'or' q)
hence ex p, q being Element of MC-wff st (f . n) `1 = q => (p 'or' q) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 8 ; :: thesis: ex p, q, r being Element of MC-wff st (f . n) `1 = (p => r) => ((q => r) => ((p 'or' q) => r))
hence ex p, q, r being Element of MC-wff st (f . n) `1 = (p => r) => ((q => r) => ((p 'or' q) => r)) by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 9 ; :: thesis: ex p being Element of MC-wff st (f . n) `1 = FALSUM => p
hence ex p being Element of MC-wff st (f . n) `1 = FALSUM => p by A4, Def3; :: thesis: verum
end;
case (f . n) `2 = 10 ; :: thesis: ex i, j being Nat ex p, q being Element of MC-wff st
( 1 <= i & i < n & 1 <= j & j < i & p = (f . j) `1 & q = (f . n) `1 & (f . i) `1 = p => q )

hence ex i, j being Nat ex p, q being Element of MC-wff st
( 1 <= i & i < n & 1 <= j & j < i & p = (f . j) `1 & q = (f . n) `1 & (f . i) `1 = p => q ) by A4, Def3; :: thesis: verum
end;
end;