 reserve i,j,n,k,l for Nat;
 reserve T,S,X,Y,Z for Subset of MC-wff;
 reserve p,q,r,t,F,H,G for Element of MC-wff;
 reserve s,U,V for MC-formula;
reserve f,g for FinSequence of [:MC-wff,Proof_Step_Kinds_IPC:];

theorem Th11:
  f is_a_proof_wrt_IPC X & 1 <= l & l <= len f implies (f.l)`1 in CnIPC(X)
proof
  assume that
A1: f is_a_proof_wrt_IPC X and
A2: 1 <= l & l <= len f;
 for n holds 1 <= n & n <= len f implies (f.n)`1 in CnIPC(X)
  proof
    defpred P[Nat] means 1 <= $1 & $1 <= len f implies (f.$1)`1 in CnIPC(X);
A3: for n being Nat st for k being Nat st k < n holds P[k] holds P[n]
    proof
      let n be Nat;
      assume
A4:   for k being Nat st k < n holds P[k];
      assume that
A5:   1 <= n and
A6:   n <= len f;
A7:   f,n is_a_correct_step_wrt_IPC X by A1,A5,A6;
  now
    (f.n)`2 = 0 or ... or (f.n)`2 = 10 by A5,A6,Th3;
     then per cases;
        suppose (f.n)`2 = 0; then
A8:      (f.n)`1 in X by A7,Def3;
          X c= CnIPC(X) by INTPRO_1:12;
          hence thesis by A8;
        end;
        suppose (f.n)`2 = 1; then
          ex p,q st (f.n)`1 = p => (q => p) by A7,Def3;
          hence thesis by INTPRO_1:1;
        end;
        suppose (f.n)`2 = 2; then
          ex p,q,r st (f.n)`1 = (p => (q => r)) => ((p => q) => (p => r))
            by A7,Def3;
          hence thesis by INTPRO_1:2;
        end;
        suppose (f.n)`2 = 3; then
          ex p,q st (f.n)`1 = (p '&' q) => p by A7,Def3;
          hence thesis by INTPRO_1:3;
        end;
        suppose (f.n)`2 = 4; then
          ex p,q st (f.n)`1 = (p '&' q) => q  by A7,Def3;
          hence thesis by INTPRO_1:4;
        end;
        suppose (f.n)`2 = 5; then
          ex p,q st (f.n)`1 = p => (q => (p '&' q)) by A7,Def3;
          hence thesis by INTPRO_1:5;
        end;
        suppose (f.n)`2 = 6; then
          ex p,q st (f.n)`1 = p => (p 'or' q) by A7,Def3;
          hence thesis by INTPRO_1:6;
        end;
        suppose (f.n)`2 = 7; then
          ex p,q st (f.n)`1 = q => (p 'or' q) by A7,Def3;
          hence thesis by INTPRO_1:7;
        end;
        suppose (f.n)`2 = 8; then
          ex p,q,r st (f.n)`1 = (p => r) => ((q => r) => ((p 'or' q) => r))
            by A7,Def3;
          hence thesis by INTPRO_1:8;
        end;
     suppose (f.n)`2 = 9; then
          ex p st (f.n)`1 = FALSUM => p by A7,Def3;
          hence thesis by INTPRO_1:9;
        end;
        suppose (f.n)`2 = 10;
          then consider i,j,p,q such that
A9:      1 <= i and
A10:      i < n and
A11:      1 <= j and
A12:      j < i and
A13:      p = (f.j)`1 & q = (f.n)`1 & (f.i)`1 = p => q by A7,Def3;
A14:      j < n by A10,A12,XXREAL_0:2;
A15:      i <= len f by A6,A10,XXREAL_0:2; then
          j <= len f by A12,XXREAL_0:2; then
A16:      (f.j)`1 in CnIPC(X) by A4,A11,A14;
          (f.i)`1 in CnIPC(X) by A4,A9,A10,A15;
          hence thesis by A13,A16,INTPRO_1:10;
        end;
      end;
      hence thesis;
    end;
    for n being Nat holds P[n] from NAT_1:sch 4(A3);
    hence thesis;
  end;
  hence thesis by A2;
end;
