theorem
  (A \/ B) + C = (A + C) \/ (B + C)
proof
  thus (A \/ B) + C c= (A + C) \/ (B + C)
  proof
    let x be object;
    assume x in (A \/ B) + C;
    then consider g1,g2 such that
A1: x = g1 + g2 and
A2: g1 in A \/ B and
A3: g2 in C;
    g1 in A or g1 in B by A2,XBOOLE_0:def 3;
    then x in A + C or x in B + C by A1,A3;
    hence thesis by XBOOLE_0:def 3;
  end;
  let x be object;
  assume
A4: x in (A + C) \/ (B + C);
  now
    per cases by A4,XBOOLE_0:def 3;
    suppose
      x in A + C;
      then consider g1,g2 such that
A5:   x = g1 + g2 and
A6:   g1 in A and
A7:   g2 in C;
      g1 in A \/ B by A6,XBOOLE_0:def 3;
      hence thesis by A5,A7;
    end;
    suppose
      x in B + C;
      then consider g1,g2 such that
A8:   x = g1 + g2 and
A9:   g1 in B and
A10:  g2 in C;
      g1 in A \/ B by A9,XBOOLE_0:def 3;
      hence thesis by A8,A10;
    end;
  end;
  hence thesis;
end;
