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 Th10:
  (SAT M).[n,'G' A]=1 iff for i holds(SAT M).[n+i,A]=1
 proof
  set f=TFALSUM,t=TVERUM,sm=SAT M;
  hereby assume sm.[n,'G' A]=1;
   then A1: sm.[n,('not' A)'or'(t 'U'('not' A))]=0 by Th5;
   then A2: not sm.[n,('not' A)]=1 by Th8;
   let i;
   A3: not sm.[n,t]=1 or not sm.[n,t 'U'('not' A)]=1 by A1,Th8;
   per cases;
   suppose i=0;
    hence sm.[n+i,A]=1 by Th5,XBOOLEAN:def 3,A2;
   end;
   suppose 0<i;
    then not sm.[n+i,'not' A]=1 or ex j st 1<=j & j<i & not sm.[n+j,t]=1 by A3
,Def11,Th6;
    hence sm.[n+i,A]=1 by XBOOLEAN:def 3,Th5,Th6;
   end;
  end;
  assume A4: for i holds sm.[n+i,A]=1;
  now assume sm.[n,'G' A]=0;
   then not sm.[n,('not' A)'or'(t 'U'('not' A))]=0 by Th5;
   then per cases by Th8,XBOOLEAN:def 3;
   suppose sm.[n,('not' A)]=1;
    then sm.[n+0,A]=0 by Th5;
    hence contradiction by A4;
   end;
   suppose sm.[n,t 'U'('not' A)]=1;
    then consider i such that
     0<i and
     A5: sm.[n+i,'not' A]=1 and
     for j st 1<=j & j<i holds sm.[n+j,t]=1 by Def11;
    sm.[n+i,A]=0 by A5,Th5;
    hence contradiction by A4;
   end;
  end;
  hence sm.[n,'G' A]=1 by XBOOLEAN:def 3;
 end;
