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*(f ++ g) c= f & f c= f ++ (f*g)
proof
  thus f*(f ++ g) c= f
  proof
    let c;
A1: (f ++ g).c <= 1 by Th1;
    0 <= f.c by Th1;
    then ((f ++ g).c)*(f.c) <= 1*(f.c) by A1,XREAL_1:64;
    hence thesis by Def2;
  end;
  let c;
A2: (1_minus f).c >= 0 by Th1;
  (f*g).c >= 0 by Th1;
  then 0*((f*g).c) <= ((1_minus f).c)*((f*g).c) by A2,XREAL_1:64;
  then 0 <= (1 - f.c)*((f*g).c) by FUZZY_1:def 5;
  then 0+f.c <= (f*g).c - (f.c)*((f*g).c) + f.c by XREAL_1:6;
  then f.c <= f.c + (f*g).c - (f.c)*((f*g).c);
  hence thesis by Def3;
end;
