reserve A,B,p,q,r,s for Element of LTLB_WFF,
  i,j,k,n for Element of NAT,
  X for Subset of LTLB_WFF,
  f,f1 for FinSequence of LTLB_WFF,
  g for Function of LTLB_WFF,BOOLEAN;

theorem Th44: (q => (p '&&' r)) => ((p => s) => (q => (s '&&' r))) is ctaut
  proof
    let g;
    set v = VAL g;
A1: v.p = 1 or v.p = 0 by XBOOLEAN:def 3;
A2: v.r = 1 or v.r = 0 by XBOOLEAN:def 3;
A3: v.((p => s) => (q => (s '&&' r)))
    = v.(p => s) => v.(q => (s '&&' r)) by LTLAXIO1:def 15
    .= (v.p => v.s) => v.(q => (s '&&' r)) by LTLAXIO1:def 15
    .= (v.p => v.s) => (v.q => v.(s '&&' r)) by LTLAXIO1:def 15
    .= (v.p => v.s) => (v.q => (v.s '&' v.r)) by LTLAXIO1:31;
A4: v.q = 1 or v.q = 0 by XBOOLEAN:def 3;
A5: v.s = 1 or v.s = 0 by XBOOLEAN:def 3;
    v.(q => (p '&&' r)) = v.q => v.(p '&&' r) by LTLAXIO1:def 15
    .= v.q => (v.p '&' v.r) by LTLAXIO1:31;
   hence v.(q => (p '&&' r) => ((p => s) => (q => (s '&&' r))))
   = (v.q => (v.p '&' v.r)) => ((v.p => v.s) => (v.q => (v.s '&' v.r)))
   by LTLAXIO1:def 15,A3
   .= 1 by A1,A2,A5,A4;
 end;
