Article FUZZY_4, MML version 4.99.1005

:: FUZZY_4:funcreg 1
registration
  let a1 be non empty set;
  let a2 be Membership_Func of a1;
  cluster proj2 a2 -> non empty;
end;

:: FUZZY_4:th 1
theorem
for b1 being non empty set
for b2 being Membership_Func of b1 holds
   rng b2 is bounded &
    (for b3 being set
          st b3 in dom b2
       holds b2 . b3 <= sup rng b2) &
    (for b3 being set
          st b3 in dom b2
       holds inf rng b2 <= b2 . b3);

:: FUZZY_4:th 2
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of b1
      st for b4 being set
              st b4 in b1
           holds b2 . b4 <= b3 . b4
   holds sup rng b2 <= sup rng b3;

:: FUZZY_4:th 3
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b1,b2:]
for b4 being set holds
   0 <= b3 . b4 & b3 . b4 <= 1;

:: FUZZY_4:funcnot 1 => FUZZY_4:func 1
definition
  let a1, a2 be non empty set;
  let a3 be Membership_Func of [:a1,a2:];
  let a4, a5 be set;
  redefine func a3 .(a4,a5) -> Element of REAL;
end;

:: FUZZY_4:th 4
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b1,b2:]
for b4, b5 being set holds
0 <= b3 .(b4,b5) & b3 .(b4,b5) <= 1;

:: FUZZY_4:funcnot 2 => FUNCT_4:func 2
notation
  let a1, a2 be non empty set;
  let a3 be Membership_Func of [:a2,a1:];
  synonym converse a3 for ~ a1;
end;

:: FUZZY_4:funcnot 3 => FUZZY_4:func 2
definition
  let a1, a2 be non empty set;
  let a3 be Membership_Func of [:a2,a1:];
  redefine func converse A3 -> Membership_Func of [:a1,a2:] means
    for b1, b2 being set
          st [b1,b2] in [:a1,a2:]
       holds it .(b1,b2) = a3 .(b2,b1);
end;

:: FUZZY_4:def 1
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b2,b1:]
for b4 being Membership_Func of [:b1,b2:] holds
      b4 = converse b3
   iff
      for b5, b6 being set
            st [b5,b6] in [:b1,b2:]
         holds b4 .(b5,b6) = b3 .(b6,b5);

:: FUZZY_4:th 5
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b1,b2:] holds
   converse converse b3 = b3;

:: FUZZY_4:th 6
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b1,b2:] holds
   1_minus converse b3 = converse 1_minus b3;

:: FUZZY_4:th 7
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:] holds
converse max(b3,b4) = max(converse b3,converse b4);

:: FUZZY_4:th 8
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:] holds
converse min(b3,b4) = min(converse b3,converse b4);

:: FUZZY_4:th 9
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:]
for b5, b6 being set
      st b5 in b1 &
         b6 in b2 &
         b3 . [b5,b6] <= b4 . [b5,b6]
   holds (converse b3) . [b6,b5] <= (converse b4) . [b6,b5];

:: FUZZY_4:th 10
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:]
      st b3 is_less_than b4
   holds converse b3 is_less_than converse b4;

:: FUZZY_4:th 11
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:] holds
converse (b3 \ b4) = (converse b3) \ converse b4;

:: FUZZY_4:th 12
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:] holds
converse (b3 \+\ b4) = (converse b3) \+\ converse b4;

:: FUZZY_4:funcnot 4 => FUZZY_4:func 3
definition
  let a1, a2, a3 be non empty set;
  let a4 be Membership_Func of [:a1,a2:];
  let a5 be Membership_Func of [:a2,a3:];
  let a6, a7 be set;
  assume a6 in a1 & a7 in a3;
  func min(A4,A5,A6,A7) -> Membership_Func of a2 means
    for b1 being Element of a2 holds
       it . b1 = min(a4 . [a6,b1],a5 . [b1,a7]);
end;

:: FUZZY_4:def 2
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:]
for b5 being Membership_Func of [:b2,b3:]
for b6, b7 being set
   st b6 in b1 & b7 in b3
for b8 being Membership_Func of b2 holds
      b8 = min(b4,b5,b6,b7)
   iff
      for b9 being Element of b2 holds
         b8 . b9 = min(b4 . [b6,b9],b5 . [b9,b7]);

:: FUZZY_4:funcnot 5 => FUZZY_4:func 4
definition
  let a1, a2, a3 be non empty set;
  let a4 be Membership_Func of [:a1,a2:];
  let a5 be Membership_Func of [:a2,a3:];
  func A4 (#) A5 -> Membership_Func of [:a1,a3:] means
    for b1, b2 being set
          st [b1,b2] in [:a1,a3:]
       holds it .(b1,b2) = sup rng min(a4,a5,b1,b2);
end;

:: FUZZY_4:def 3
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:]
for b5 being Membership_Func of [:b2,b3:]
for b6 being Membership_Func of [:b1,b3:] holds
      b6 = b4 (#) b5
   iff
      for b7, b8 being set
            st [b7,b8] in [:b1,b3:]
         holds b6 .(b7,b8) = sup rng min(b4,b5,b7,b8);

:: FUZZY_4:th 13
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:]
for b5, b6 being Membership_Func of [:b2,b3:] holds
b4 (#) max(b5,b6) = max(b4 (#) b5,b4 (#) b6);

:: FUZZY_4:th 14
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Membership_Func of [:b1,b2:]
for b6 being Membership_Func of [:b2,b3:] holds
   (max(b4,b5)) (#) b6 = max(b4 (#) b6,b5 (#) b6);

:: FUZZY_4:th 15
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:]
for b5, b6 being Membership_Func of [:b2,b3:] holds
b4 (#) min(b5,b6) is_less_than min(b4 (#) b5,b4 (#) b6);

:: FUZZY_4:th 16
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Membership_Func of [:b1,b2:]
for b6 being Membership_Func of [:b2,b3:] holds
   (min(b4,b5)) (#) b6 is_less_than min(b4 (#) b6,b5 (#) b6);

:: FUZZY_4:th 17
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:]
for b5 being Membership_Func of [:b2,b3:] holds
   converse (b4 (#) b5) = (converse b5) (#) converse b4;

:: FUZZY_4:th 18
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Membership_Func of [:b1,b2:]
for b6, b7 being Membership_Func of [:b2,b3:]
for b8, b9 being set
      st b8 in b1 &
         b9 in b3 &
         (for b10 being set
               st b10 in b2
            holds b4 . [b8,b10] <= b5 . [b8,b10] &
             b6 . [b10,b9] <= b7 . [b10,b9])
   holds (b4 (#) b6) . [b8,b9] <= (b5 (#) b7) . [b8,b9];

:: FUZZY_4:th 19
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Membership_Func of [:b1,b2:]
for b6, b7 being Membership_Func of [:b2,b3:]
      st b4 is_less_than b5 & b6 is_less_than b7
   holds b4 (#) b6 is_less_than b5 (#) b7;

:: FUZZY_4:funcnot 6 => FUZZY_4:func 5
definition
  let a1, a2 be non empty set;
  func Imf(A1,A2) -> Membership_Func of [:a1,a2:] means
    for b1, b2 being set
          st [b1,b2] in [:a1,a2:]
       holds (b1 = b2 implies it .(b1,b2) = 1) & (b1 = b2 or it .(b1,b2) = 0);
end;

:: FUZZY_4:def 4
theorem
for b1, b2 being non empty set
for b3 being Membership_Func of [:b1,b2:] holds
      b3 = Imf(b1,b2)
   iff
      for b4, b5 being set
            st [b4,b5] in [:b1,b2:]
         holds (b4 = b5 implies b3 .(b4,b5) = 1) & (b4 = b5 or b3 .(b4,b5) = 0);

:: FUZZY_4:th 20
theorem
for b1, b2 being non empty set
for b3 being Element of [:b1,b2:] holds
   (Zmf(b1,b2)) . b3 = 0 & (Umf(b1,b2)) . b3 = 1;

:: FUZZY_4:th 21
theorem
for b1, b2 being non empty set
for b3, b4 being set
      st [b3,b4] in [:b1,b2:]
   holds (Zmf(b1,b2)) . [b3,b4] = 0 &
    (Umf(b1,b2)) . [b3,b4] = 1;

:: FUZZY_4:th 22
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:] holds
   (Zmf(b3,b1)) (#) b4 = Zmf(b3,b2);

:: FUZZY_4:th 23
theorem
for b1, b2, b3 being non empty set
for b4 being Membership_Func of [:b1,b2:] holds
   b4 (#) Zmf(b2,b3) = Zmf(b1,b3);

:: FUZZY_4:th 24
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   b2 (#) Zmf(b1,b1) = (Zmf(b1,b1)) (#) b2;

:: FUZZY_4:th 25
theorem
for b1, b2 being non empty set
for b3 being Element of b1
for b4 being Element of b2 holds
   (b3 = b4 implies (Imf(b1,b2)) .(b3,b4) = 1) &
    (b3 = b4 or (Imf(b1,b2)) .(b3,b4) = 0);

:: FUZZY_4:th 26
theorem
for b1, b2 being non empty set
for b3 being Element of b1
for b4 being Element of b2
for b5 being Membership_Func of [:b1,b2:] holds
   (converse b5) .(b4,b3) = b5 .(b3,b4);