reserve p,q,r,s,A,B for Element of PL-WFF,
  F,G,H for Subset of PL-WFF,
  k,n for Element of NAT,
  f,f1,f2 for FinSequence of PL-WFF;
reserve M for PLModel;

theorem
  p '&' (q 'or' r) <=> ((p '&' q) 'or' (p '&' r)) is tautology
  proof
    let M;
    thus (SAT M).(p '&' (q 'or' r) <=> ((p '&' q) 'or' (p '&' r)))
    = (SAT M).(p '&' (q 'or' r)) <=>
    (SAT M).((p '&' q) 'or' (p '&' r)) by semequ2
    .= (SAT M).p '&' (SAT M).(q 'or' r) <=>
    (SAT M).((p '&' q) 'or' (p '&' r)) by semcon2
    .= (SAT M).p '&' ((SAT M).q 'or' (SAT M).r) <=>
    (SAT M).((p '&' q) 'or' (p '&' r)) by semdis2
    .= (SAT M).p '&' ((SAT M).q 'or' (SAT M).r) <=>
    ((SAT M).(p '&' q) 'or' (SAT M).(p '&' r)) by semdis2
    .= (SAT M).p '&' ((SAT M).q 'or' (SAT M).r) <=>
    ((SAT M).p '&' (SAT M).q 'or' (SAT M).(p '&' r)) by semcon2
    .= (SAT M).p '&' ((SAT M).q 'or' (SAT M).r) <=>
    ((SAT M).p '&' (SAT M).q 'or' ((SAT M).p '&' (SAT M).r)) by semcon2
    .= 1 by th8;
end;
