reserve a,b,c for boolean object;
reserve p,q,r,s,A,B,C for Element of LTLB_WFF,
        F,G,X,Y for Subset of LTLB_WFF,
        i,j,k,n for Element of NAT,
        f,f1,f2,g for FinSequence of LTLB_WFF;
reserve M for LTLModel;

theorem
  F|-A implies F|=A
 proof
  assume F|-A;
  then consider f such that
   A1: f.len f=A and
   A2: 1<=len f and
   A3: for i be Nat st 1<=i & i<=len f holds prc f,F,i;
  defpred P[Nat] means
   1<=$1 & $1<=len f implies F|=f/.$1;
  A4: for i being Nat st for j being Nat st j<i holds P[j] holds P[i]
  proof
   let i being Nat;
   assume A5: for j being Nat st j<i holds P[j];
   per cases by NAT_1:14;
   suppose i=0;
    hence P[i];
   end;
   suppose not i<1;
    assume that
     A6: 1<=i and
     A7: i<=len f;
    per cases by A3,A6,A7,Def29;
    suppose f.i in LTL_axioms;
     then A8: f/.i in LTL_axioms by A6,A7,Lm1;
     per cases by A8,Th36;
     suppose f/.i is LTL_TAUT_OF_PL;
      hence F|=f/.i by Th33;
     end;
     suppose f/.i is axltl1 or f/.i is axltl1a or f/.i is axltl2 or f/.i is
axltl3 or f/.i is axltl4 or f/.i is axltl5 or f/.i is axltl6;
      hence F|=f/.i by Th37;
     end;
    end;
    suppose f.i in F;
     then A9: f/.i in F by A6,A7,Lm1;
     thus F|=f/.i
     proof
      let M;
      assume M|=F;
      hence M|=f/.i by A9;
     end;
    end;
    suppose ex j,k be Nat st 1<=j & j<i & 1<=k & k<i & (f/.j,f/.k MP_rule f/.i
or f/.j,f/.k IND_rule f/.i);
     then consider j,k be Nat such that
      A10: 1<=j and
      A11: j<i and
      A12: 1<=k and
      A13: k<i and
      A14: f/.j,f/.k MP_rule f/.i or f/.j,f/.k IND_rule f/.i;
     k<=len f by A7,A13,XXREAL_0:2;
     then A15: F|=f/.k by A5,A12,A13;
     A16: j<=len f by A7,A11,XXREAL_0:2;
     per cases by A14;
     suppose f/.j,f/.k MP_rule f/.i;
      then F|=f/.j=>f/.i by A15;
      hence F|=f/.i by A5,A10,A11,A16,Th24;
     end;
     suppose f/.j,f/.k IND_rule f/.i;
      then consider A,B such that
       A17: f/.j=A=>B and
       A18: f/.k=A=>('X' A) & f/.i=A=>('G' B);
      F|=A=>B by A5,A10,A11,A16,A17;
      hence F|=f/.i by A15,A18,Th27;
     end;
    end;
    suppose ex j be Nat st 1<=j & j<i & f/.j NEX_rule f/.i;
     then consider j be Nat such that
      A19: 1<=j and
      A20: j<i and
      A21: f/.j NEX_rule f/.i;
     P[j] by A5,A20;
     then F|='X'(f/.j) by A7,A19,A20,Th25,XXREAL_0:2;
     hence F|=f/.i by A21;
    end;
   end;
  end;
  A22: for i be Nat holds P[i] from NAT_1:sch 4(A4);
  f/.len f=A by A1,A2,Lm1;
  hence F|=A by A2,A22;
 end;
