
theorem
  for L being non empty RelStr, A, B, C being Subset of L holds A "\/" (
  B \/ C) = (A "\/" B) \/ (A "\/" C)
proof
  let L be non empty RelStr, A, B, C be Subset of L;
  thus A "\/" (B \/ C) c= (A "\/" B) \/ (A "\/" C)
  proof
    let q be object;
    assume q in A "\/" (B \/ C);
    then consider a, y being Element of L such that
A1: q = a "\/" y & a in A and
A2: y in B \/ C;
    y in B or y in C by A2,XBOOLE_0:def 3;
    then q in A "\/" B or q in A "\/" C by A1;
    hence thesis by XBOOLE_0:def 3;
  end;
  let q be object such that
A3: q in (A "\/" B) \/ (A "\/" C);
  per cases by A3,XBOOLE_0:def 3;
  suppose
    q in A "\/" B;
    then consider a, b being Element of L such that
A4: q = a "\/" b & a in A and
A5: b in B;
    b in B \/ C by A5,XBOOLE_0:def 3;
    hence thesis by A4;
  end;
  suppose
    q in A "\/" C;
    then consider a, b being Element of L such that
A6: q = a "\/" b & a in A and
A7: b in C;
    b in B \/ C by A7,XBOOLE_0:def 3;
    hence thesis by A6;
  end;
end;
