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 Th20:
  (SAT M).[n,(('X' C)'or'('X'(B '&&'(B 'U' C))))=>(B 'U' C)]=1
 proof
  set sm=SAT M;
  A1: now assume that
    A2: sm.[n,(('X' C)'or'('X'(B '&&'(B 'U' C))))]=1 and
    A3: sm.[n,(B 'U' C)]=0;
   per cases by A2,Th8;
   suppose A4: sm.[n,'X' C]=1;
    A5: for j st 1<=j & j<1 holds sm.[n+j,B]=1;
    sm.[n+1,C]=1 by A4,Th9;
    hence contradiction by A3,A5,Def11;
   end;
   suppose sm.[n,'X'(B '&&'(B 'U' C))]=1;
    then A6: sm.[n+1,B '&&'(B 'U' C)]=1 by Th9;
    then sm.[n+1,B 'U' C]=1 by Th7;
    then consider i such that
     i>0 and
     A7: sm.[n+1+i,C]=1 and
     A8: for j st 1<=j & j<i holds sm.[n+1+j,B]=1 by Def11;
    A9: now let j;
     assume A10: 1<=j & j<1+i;
     per cases by A10,NAT_1:25;
     suppose 1=j;
      hence sm.[n+j,B]=1 by A6,Th7;
     end;
     suppose A11: 1<j & j<i+1;
      then A12: 1+(-1)<j+(-1) by XREAL_1:8;
      then j-1>0;
      then j-' 1>0 by XREAL_0:def 2;
      then A13: 1<=j-' 1 by NAT_1:25;
      A14: n+j+1-1=n+1+(j-1)
       .=n+1+(j-' 1) by A12,XREAL_0:def 2;
      j+(-1)<i+1+(-1) by A11,XREAL_1:8;
      hence sm.[n+j,B]=1 by A8,A14,A13;
     end;
    end;
    sm.[n+(1+i),C]=1 by A7;
    hence contradiction by A3,A9,Def11;
   end;
  end;
  sm.[n,(('X' C)'or'('X'(B '&&'(B 'U' C))))]=0 or sm.[n,(('X' C)'or'('X'(B
'&&'(B 'U' C))))]=1 by XBOOLEAN:def 3;
  then sm.[n,(('X' C)'or'('X'(B '&&'(B 'U' C))))]=>sm.[n,(B 'U' C)]=1 by A1,
XBOOLEAN:def 3;
  hence thesis by Def11;
 end;
