
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;
