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 Th12:
  (SAT M).[n,p 'Uw' q]=1 iff
  ex i st (SAT M).[n+i,q]=1 & for j st j<i holds (SAT M).[n+j,p]=1
 proof
  set sm=SAT M;
  hereby assume A1: sm.[n,p 'Uw' q]=1;
   per cases by A1,Th8;
   suppose A2: sm.[n,q]=1;
    A3: for j st j<0 holds sm.[n+j,p]=1;
    sm.[n+0,q]=1 by A2;
    hence ex i st sm.[n+i,q]=1 & for j st j<i holds sm.[n+j,p]=1 by A3;
   end;
   suppose A4: sm.[n,p '&&'(p 'U' q)]=1;
    then sm.[n,p 'U' q]=1 by Th7;
    then consider i such that
     0<i and
     A5: sm.[n+i,q]=1 and
     A6: for j st 1<=j & j<i holds sm.[n+j,p]=1 by Def11;
    now let j;
     assume A7: j<i;
     per cases;
     suppose j=0;
      hence sm.[n+j,p]=1 by A4,Th7;
     end;
     suppose not j=0;
      then 1<=j by NAT_1:25;
      hence sm.[n+j,p]=1 by A6,A7;
     end;
    end;
    hence ex i st sm.[n+i,q]=1 & for j st j<i holds sm.[n+j,p]=1 by A5;
   end;
  end;
  assume ex i st sm.[n+i,q]=1 & for j st j<i holds sm.[n+j,p]=1;
  then consider i such that
   A8: sm.[n+i,q]=1 and
   A9: for j st j<i holds sm.[n+j,p]=1;
  per cases;
  suppose i=0;
   hence sm.[n,p 'Uw' q]=1 by A8,Th8;
  end;
  suppose A10: not i=0;
   for j st 1 <= j & j<i holds sm.[n+j,p]=1 by A9;
   then A11: sm.[n,p 'U' q]=1 by A8,A10,Def11;
   sm.[n+0,p]=1 by A9,A10;
   then sm.[n,p '&&'(p 'U' q)]=1 by A11,Th7;
   hence sm.[n,p 'Uw' q]=1 by Th8;
  end;
 end;
