reserve x,y,y1,y2 for set;
reserve C for non empty set;
reserve c for Element of C;
reserve f,h,g,h1 for Membership_Func of C;

theorem
  f*(g ++ h) c= (f*g) ++ (f*h)
proof
  let c;
  set x = f.c, y = g.c, z = h.c;
  f*f c= f by Th28;
  then
A1: (f*f).c <= f.c;
  (g*h).c >= 0 by Th1;
  then ((f*f).c)*((g*h).c) <= (f.c)*((g*h).c) by A1,XREAL_1:64;
  then
  ((f*g).c + (f*h).c ) - ((f*f).c)*((g*h).c) >= ((f*g).c + (f*h).c) - (f.c
  )*((g*h).c) by XREAL_1:10;
  then
  ((f*g).c + (f*h).c ) - ((f*f)*(g*h)).c >= ((f*g).c + (f*h).c) - (f.c)*((
  g*h).c) by Def2;
  then
  ((f*g).c + (f*h).c ) - ((f*f)*(g*h)).c >= (x*y + (f*h).c) - (f.c)*((g*h)
  .c) by Def2;
  then ((f*g).c + (f*h).c ) - ((f*f)*(g*h)).c >= x*y+x*z - (f.c)*((g*h).c) by
Def2;
  then (f*g).c + (f*h).c - ((f* (f*(g*h)))).c >= x*y+x*z - (f.c)*((g*h).c) by
Th29;
  then (f*g).c + (f*h).c - ((f*((g*f)*h))).c >= (y + z - (g*h).c)*x by Th29;
  then (f*g).c + (f*h).c - (((f*g)*(f*h))).c >= (y + z - (g*h).c)*x by Th29;
  then (f*g).c + (f*h).c - (((f*g)*(f*h))).c >= x*(y + z - y*z) by Def2;
  then (f*g).c + (f*h).c - ((f*g).c)*((f*h).c) >= x*(y + z - y*z) by Def2;
  then ((f*g) ++(f*h)).c >= x*(y + z - y*z) by Def3;
  then ((f*g) ++(f*h)).c >= x*((g ++ h).c) by Def3;
  hence thesis by Def2;
end;
