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 Th32:
  for f be Function of LTLB_WFF,BOOLEAN st
  (for B be object st B in LTLB_WFF holds f.B=(SAT M).[n,B]) holds
  (VAL f).A=(SAT M).[n,A]
 proof
  let f be Function of LTLB_WFF,BOOLEAN;
  defpred P1[Element of LTLB_WFF] means (VAL f).$1=(SAT M).[n,$1];
  assume A1: for B be object st B in LTLB_WFF holds f.B=(SAT M).[n,B];
  A2: for k holds P1[prop k]
  proof
   let k;
   (SAT M).[n,prop k]=f.(prop k) by A1
    .=(VAL f).(prop k) by Def15;
   hence thesis;
  end;
  A3: for r,s st P1[r] & P1[s] holds P1[r 'U' s] & P1[r=>s]
  proof
   let r,s;
   assume A4: (P1[r]) & P1[s];
   (VAL f).(r 'U' s)=f.(r 'U' s) by Def15
    .=(SAT M).[n,r 'U' s] by A1;
   hence P1[r 'U' s];
   (SAT M).[n,r=>s]=(SAT M).[n,r]=>(SAT M).[n,s] by Def11
    .=(VAL f).(r=>s) by A4,Def15;
   hence P1[r=>s];
  end;
  (SAT M).[n,TFALSUM]=0 by Def11
   .=(VAL f).TFALSUM by Def15;
  then A5: P1[TFALSUM];
  for r holds P1[r] from HILBERT2:sch 2(A5,A2,A3);
  hence (VAL f).A=(SAT M).[n,A];
 end;
