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 Th40:
  (f=f1^<*p*> & 1<=len f1 &
  for i be Nat st 1<=i & i<=len f1 holds prc f1,X,i) &
  prc f,X,len f implies (for i be Nat st 1<=i & i<=len f holds prc f,X,i) &
  X|-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 prc f1,X,i;
  A3: len f=(len f1+len<*p*>) by A1,FINSEQ_1:22
   .=len f1+1 by FINSEQ_1:39;
  assume A4: prc 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 prc f,X,(i+0) by A2,A5,A7,A10,Th38;
    hence prc f,X,i;
   end;
   suppose i=len f;
    hence prc f,X,i by A4;
   end;
  end;
  hence for i be Nat st 1<=i & i<=len f holds prc 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|-p by A3,XREAL_1:31,A6;
 end;
