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 Th48: p => (q 'or' r) => (r => s => (p => (q 'or' s))) 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.q = 1 or v.q = 0 by XBOOLEAN:def 3;
A4: v.(r => s => (p => (q 'or' s)))
   = v.(r => s) => v.(p => (q 'or' s)) by LTLAXIO1:def 15
   .= v.r => v.s => v.(p => (q 'or' s)) by LTLAXIO1:def 15
   .= v.r => v.s => (v.p => v.(q 'or' s)) by LTLAXIO1:def 15
   .= v.r => v.s => (v.p => (v.q 'or' v.s)) by Th5;
A5: v.s = 1 or v.s = 0 by XBOOLEAN:def 3;
    v.(p => (q 'or' r)) = v.p => v.(q 'or' r) by LTLAXIO1:def 15
    .= v.p => (v.q 'or' v.r) by Th5;
    hence v.(p => (q 'or' r) => (r => s => (p => (q 'or' s))))
    = (v.p => (v.q 'or' v.r)) => (v.r => v.s => (v.p => (v.q 'or' v.s)))
    by LTLAXIO1:def 15,A4
    .= 1 by A1,A2,A5,A3;
  end;
