reserve A,B,C,D,p,q,r for Element of LTLB_WFF,
        F,G,X for Subset of LTLB_WFF,
        M for LTLModel,
        i,j,n for Element of NAT,
        f,f1,f2,g for FinSequence of LTLB_WFF;

theorem Th40:
  (f=f1^<*p*> & 1<=len f1 &
  for i be Nat st 1<=i & i<=len f1 holds prc0 f1,X,i) &
  prc0 f,X,len f implies (for i be Nat st 1<=i & i<=len f holds prc0 f,X,i) &
  X |-0 p
 proof
   assume that
   A1: f=f1^<*p*> and
   1<=len f1 and
   A2: for i be Nat st 1<=i & i<=len f1 holds prc0 f1,X,i;
  A3: len f=(len f1+len<*p*>) by A1,FINSEQ_1:22
   .=len f1+1 by FINSEQ_1:39;
  assume A4: prc0 f,X,len f;
  A5: 0+len f1<=len f by A3,NAT_1:12;
  A6: now let i be Nat;
   assume that
    A7: 1<=i and
    A8: i<=len f;
   A9: i<len f1+1 or i=len f1+1 by A3,A8,XXREAL_0:1;
   A10: for k be Nat st 1<=k & k<=len f1 holds f1.k=f.(k+0) by A1,FINSEQ_1:64;
   per cases by A3,A9,NAT_1:13;
   suppose i<=len f1;
    then prc0 f,X,(i+0) by A2,A5,A7,A10,Th38;
    hence prc0 f,X,i;
   end;
   suppose i=len f;
    hence prc0 f,X,i by A4;
   end;
  end;
  hence for i be Nat st 1<=i & i<=len f holds prc0 f,X,i;
  f.len f=f.(len f1+len<*p*>) by A1,FINSEQ_1:22
   .=f.(len f1+1) by FINSEQ_1:39
   .=p by A1,FINSEQ_1:42;
  hence X |-0 p by A3,XREAL_1:31,A6;
 end;
