Article LFUZZY_1, MML version 4.99.1005

:: LFUZZY_1:condreg 1
registration
  let a1 be non empty set;
  cluster -> real-valued (Membership_Func of a1);
end;

:: LFUZZY_1:prednot 1 => LFUZZY_1:pred 1
definition
  let a1, a2 be non empty set;
  let a3, a4 be Membership_Func of [:a1,a2:];
  redefine pred A3 is_less_than A4 means
    for b1 being Element of a1
    for b2 being Element of a2 holds
       a3 .(b1,b2) <= a4 .(b1,b2);
  reflexivity;
::  for a1, a2 being non empty set
::  for a3 being Membership_Func of [:a1,a2:] holds
::     a3 is_less_than a3;
end;

:: LFUZZY_1:dfs 1
definiens
  let a1, a2 be non empty set;
  let a3, a4 be Membership_Func of [:a1,a2:];
To prove
     a3 is_less_than a4
it is sufficient to prove
  thus for b1 being Element of a1
    for b2 being Element of a2 holds
       a3 .(b1,b2) <= a4 .(b1,b2);

:: LFUZZY_1:def 1
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:] holds
   b3 is_less_than b4
iff
   for b5 being Element of b1
   for b6 being Element of b2 holds
      b3 .(b5,b6) <= b4 .(b5,b6);

:: LFUZZY_1:th 1
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of b1
      st for b4 being Element of b1 holds
           b2 . b4 = b3 . b4
   holds b2 = b3;

:: LFUZZY_1:th 2
theorem
for b1, b2 being non empty set
for b3, b4 being Membership_Func of [:b1,b2:]
      st for b5 being Element of b1
        for b6 being Element of b2 holds
           b3 .(b5,b6) = b4 .(b5,b6)
   holds b3 = b4;

:: LFUZZY_1:th 3
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of b1 holds
   b2 = b3
iff
   b2 is_less_than b3 & b3 is_less_than b2;

:: LFUZZY_1:th 4
theorem
for b1 being non empty set
for b2 being Membership_Func of b1 holds
   b2 is_less_than b2;

:: LFUZZY_1:th 5
theorem
for b1 being non empty set
for b2, b3, b4 being Membership_Func of b1
      st b2 is_less_than b3 & b3 is_less_than b4
   holds b2 is_less_than b4;

:: LFUZZY_1:th 6
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;

:: LFUZZY_1:funcnot 1 => LFUZZY_1:func 1
definition
  let a1 be non empty set;
  let a2, a3 be Membership_Func of a1;
  redefine func min(a2,a3) -> Membership_Func of a1;
  commutativity;
::  for a1 being non empty set
::  for a2, a3 being Membership_Func of a1 holds
::  min(a2,a3) = min(a3,a2);
  idempotence;
::  for a1 being non empty set
::  for a2 being Membership_Func of a1 holds
::     min(a2,a2) = a2;
end;

:: LFUZZY_1:funcnot 2 => LFUZZY_1:func 2
definition
  let a1 be non empty set;
  let a2, a3 be Membership_Func of a1;
  redefine func max(a2,a3) -> Membership_Func of a1;
  commutativity;
::  for a1 being non empty set
::  for a2, a3 being Membership_Func of a1 holds
::  max(a2,a3) = max(a3,a2);
  idempotence;
::  for a1 being non empty set
::  for a2 being Membership_Func of a1 holds
::     max(a2,a2) = a2;
end;

:: LFUZZY_1:th 7
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of b1 holds
min(b2,b3) is_less_than b2;

:: LFUZZY_1:th 8
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of b1 holds
b2 is_less_than max(b2,b3);

:: LFUZZY_1:attrnot 1 => LFUZZY_1:attr 1
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is reflexive means
    Imf(a1,a1) is_less_than a2;
end;

:: LFUZZY_1:dfs 2
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is reflexive
it is sufficient to prove
  thus Imf(a1,a1) is_less_than a2;

:: LFUZZY_1:def 2
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is reflexive(b1)
   iff
      Imf(b1,b1) is_less_than b2;

:: LFUZZY_1:attrnot 2 => LFUZZY_1:attr 1
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is reflexive means
    for b1 being Element of a1 holds
       a2 .(b1,b1) = 1;
end;

:: LFUZZY_1:dfs 3
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is reflexive
it is sufficient to prove
  thus for b1 being Element of a1 holds
       a2 .(b1,b1) = 1;

:: LFUZZY_1:def 3
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is reflexive(b1)
   iff
      for b3 being Element of b1 holds
         b2 .(b3,b3) = 1;

:: LFUZZY_1:attrnot 3 => LFUZZY_1:attr 2
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is symmetric means
    converse a2 = a2;
end;

:: LFUZZY_1:dfs 4
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is symmetric
it is sufficient to prove
  thus converse a2 = a2;

:: LFUZZY_1:def 4
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is symmetric(b1)
   iff
      converse b2 = b2;

:: LFUZZY_1:attrnot 4 => LFUZZY_1:attr 2
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is symmetric means
    for b1, b2 being Element of a1 holds
    a2 .(b1,b2) = a2 .(b2,b1);
end;

:: LFUZZY_1:dfs 5
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is symmetric
it is sufficient to prove
  thus for b1, b2 being Element of a1 holds
    a2 .(b1,b2) = a2 .(b2,b1);

:: LFUZZY_1:def 5
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is symmetric(b1)
   iff
      for b3, b4 being Element of b1 holds
      b2 .(b3,b4) = b2 .(b4,b3);

:: LFUZZY_1:attrnot 5 => LFUZZY_1:attr 3
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is transitive means
    a2 (#) a2 is_less_than a2;
end;

:: LFUZZY_1:dfs 6
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is transitive
it is sufficient to prove
  thus a2 (#) a2 is_less_than a2;

:: LFUZZY_1:def 6
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is transitive(b1)
   iff
      b2 (#) b2 is_less_than b2;

:: LFUZZY_1:attrnot 6 => LFUZZY_1:attr 3
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is transitive means
    for b1, b2, b3 being Element of a1 holds
    (a2 . [b1,b2]) "/\" (a2 . [b2,b3]) <= a2 . [b1,b3];
end;

:: LFUZZY_1:dfs 7
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is transitive
it is sufficient to prove
  thus for b1, b2, b3 being Element of a1 holds
    (a2 . [b1,b2]) "/\" (a2 . [b2,b3]) <= a2 . [b1,b3];

:: LFUZZY_1:def 7
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is transitive(b1)
   iff
      for b3, b4, b5 being Element of b1 holds
      (b2 . [b3,b4]) "/\" (b2 . [b4,b5]) <= b2 . [b3,b5];

:: LFUZZY_1:attrnot 7 => LFUZZY_1:attr 4
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  attr a2 is antisymmetric means
    for b1, b2 being Element of a1
          st a2 .(b1,b2) <> 0 & a2 .(b2,b1) <> 0
       holds b1 = b2;
end;

:: LFUZZY_1:dfs 8
definiens
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
To prove
     a2 is antisymmetric
it is sufficient to prove
  thus for b1, b2 being Element of a1
          st a2 .(b1,b2) <> 0 & a2 .(b2,b1) <> 0
       holds b1 = b2;

:: LFUZZY_1:def 8
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
      b2 is antisymmetric(b1)
   iff
      for b3, b4 being Element of b1
            st b2 .(b3,b4) <> 0 & b2 .(b4,b3) <> 0
         holds b3 = b4;

:: LFUZZY_1:funcreg 1
registration
  let a1 be non empty set;
  cluster Imf(a1,a1) -> reflexive symmetric transitive antisymmetric;
end;

:: LFUZZY_1:exreg 1
registration
  let a1 be non empty set;
  cluster Relation-like Function-like complex-valued ext-real-valued real-valued reflexive symmetric transitive antisymmetric Membership_Func of [:a1,a1:];
end;

:: LFUZZY_1:th 9
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b2 is symmetric(b1) & b3 is symmetric(b1)
   holds converse min(b2,b3) = min(b2,b3);

:: LFUZZY_1:th 10
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b2 is symmetric(b1) & b3 is symmetric(b1)
   holds converse max(b2,b3) = max(b2,b3);

:: LFUZZY_1:funcreg 2
registration
  let a1 be non empty set;
  let a2, a3 be symmetric Membership_Func of [:a1,a1:];
  cluster min(a2,a3) -> symmetric;
end;

:: LFUZZY_1:funcreg 3
registration
  let a1 be non empty set;
  let a2, a3 be symmetric Membership_Func of [:a1,a1:];
  cluster max(a2,a3) -> symmetric;
end;

:: LFUZZY_1:th 11
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b2 is transitive(b1) & b3 is transitive(b1)
   holds (min(b2,b3)) (#) min(b2,b3) is_less_than min(b2,b3);

:: LFUZZY_1:funcreg 4
registration
  let a1 be non empty set;
  let a2, a3 be transitive Membership_Func of [:a1,a1:];
  cluster min(a2,a3) -> transitive;
end;

:: LFUZZY_1:funcnot 3 => LFUZZY_1:func 3
definition
  let a1 be set;
  let a2 be non empty set;
  redefine func chi(a1,a2) -> Membership_Func of a2;
end;

:: LFUZZY_1:th 12
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
      st b2 is_reflexive_in b1
   holds chi(b2,[:b1,b1:]) is reflexive(b1);

:: LFUZZY_1:th 13
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
      st b2 is antisymmetric
   holds chi(b2,[:b1,b1:]) is antisymmetric(b1);

:: LFUZZY_1:th 14
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
      st b2 is symmetric
   holds chi(b2,[:b1,b1:]) is symmetric(b1);

:: LFUZZY_1:th 15
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
      st b2 is transitive
   holds chi(b2,[:b1,b1:]) is transitive(b1);

:: LFUZZY_1:th 16
theorem
for b1 being non empty set holds
   Zmf(b1,b1) is symmetric(b1) & Zmf(b1,b1) is antisymmetric(b1) & Zmf(b1,b1) is transitive(b1);

:: LFUZZY_1:th 17
theorem
for b1 being non empty set holds
   Umf(b1,b1) is symmetric(b1) & Umf(b1,b1) is transitive(b1) & Umf(b1,b1) is reflexive(b1);

:: LFUZZY_1:th 18
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   max(b2,converse b2) is symmetric(b1);

:: LFUZZY_1:th 19
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   min(b2,converse b2) is symmetric(b1);

:: LFUZZY_1:th 20
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b3 is symmetric(b1) & b2 is_less_than b3
   holds max(b2,converse b2) is_less_than b3;

:: LFUZZY_1:th 21
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b3 is symmetric(b1) & b3 is_less_than b2
   holds b3 is_less_than min(b2,converse b2);

:: LFUZZY_1:funcnot 4 => LFUZZY_1:func 4
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  let a3 be natural set;
  func A3 iter A2 -> Membership_Func of [:a1,a1:] means
    ex b1 being Function-like quasi_total Relation of NAT,Funcs([:a1,a1:],[.0,1.]) st
       it = b1 . a3 &
        b1 . 0 = Imf(a1,a1) &
        (for b2 being natural set holds
           ex b3 being Membership_Func of [:a1,a1:] st
              b1 . b2 = b3 & b1 . (b2 + 1) = b3 (#) a2);
end;

:: LFUZZY_1:def 10
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being natural set
for b4 being Membership_Func of [:b1,b1:] holds
      b4 = b3 iter b2
   iff
      ex b5 being Function-like quasi_total Relation of NAT,Funcs([:b1,b1:],[.0,1.]) st
         b4 = b5 . b3 &
          b5 . 0 = Imf(b1,b1) &
          (for b6 being natural set holds
             ex b7 being Membership_Func of [:b1,b1:] st
                b5 . b6 = b7 & b5 . (b6 + 1) = b7 (#) b2);

:: LFUZZY_1:th 22
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   (Imf(b1,b1)) (#) b2 = b2;

:: LFUZZY_1:th 23
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   b2 (#) Imf(b1,b1) = b2;

:: LFUZZY_1:th 24
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   0 iter b2 = Imf(b1,b1);

:: LFUZZY_1:th 25
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   1 iter b2 = b2;

:: LFUZZY_1:th 26
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being natural set holds
   (b3 + 1) iter b2 = (b3 iter b2) (#) b2;

:: LFUZZY_1:th 27
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3, b4 being natural set holds
(b3 + b4) iter b2 = (b3 iter b2) (#) (b4 iter b2);

:: LFUZZY_1:th 28
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3, b4 being natural set holds
(b3 * b4) iter b2 = b3 iter (b4 iter b2);

:: LFUZZY_1:funcnot 5 => LFUZZY_1:func 5
definition
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  func TrCl A2 -> Membership_Func of [:a1,a1:] equals
    "\/"({b1 iter a2 where b1 is Element of NAT: 0 < b1},FuzzyLattice [:a1,a1:]);
end;

:: LFUZZY_1:def 11
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   TrCl b2 = "\/"({b3 iter b2 where b3 is Element of NAT: 0 < b3},FuzzyLattice [:b1,b1:]);

:: LFUZZY_1:th 29
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3, b4 being Element of b1 holds
(TrCl b2) . [b3,b4] = "\/"(pi({b5 iter b2 where b5 is Element of NAT: 0 < b5},[b3,b4]),RealPoset [.0,1.]);

:: LFUZZY_1:th 30
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   b2 is_less_than TrCl b2;

:: LFUZZY_1:th 31
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being natural set
      st 0 < b3
   holds b3 iter b2 is_less_than TrCl b2;

:: LFUZZY_1:th 32
theorem
for b1 being non empty set
for b2 being Element of bool the carrier of FuzzyLattice b1
for b3 being Element of b1 holds
   ("\/"(b2,FuzzyLattice b1)) . b3 = "\/"(pi(b2,b3),RealPoset [.0,1.]);

:: LFUZZY_1:th 33
theorem
for b1 being reflexive transitive antisymmetric with_suprema with_infima complete Heyting RelStr
for b2 being Element of bool the carrier of b1
for b3 being Element of the carrier of b1 holds
   b3 "/\" "\/"(b2,b1) = "\/"({b3 "/\" b4 where b4 is Element of the carrier of b1: b4 in b2},b1);

:: LFUZZY_1:th 34
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being Element of bool the carrier of FuzzyLattice [:b1,b1:] holds
   b2 (#) @ "\/"(b3,FuzzyLattice [:b1,b1:]) = "\/"({b2 (#) @ b4 where b4 is Element of the carrier of FuzzyLattice [:b1,b1:]: b4 in b3},FuzzyLattice [:b1,b1:]);

:: LFUZZY_1:th 35
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being Element of bool the carrier of FuzzyLattice [:b1,b1:] holds
   (@ "\/"(b3,FuzzyLattice [:b1,b1:])) (#) b2 = "\/"({(@ b4) (#) b2 where b4 is Element of the carrier of FuzzyLattice [:b1,b1:]: b4 in b3},FuzzyLattice [:b1,b1:]);

:: LFUZZY_1:th 36
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:] holds
   (TrCl b2) (#) TrCl b2 = "\/"({(b3 iter b2) (#) (b4 iter b2) where b3 is Element of NAT, b4 is Element of NAT: 0 < b3 & 0 < b4},FuzzyLattice [:b1,b1:]);

:: LFUZZY_1:funcreg 5
registration
  let a1 be non empty set;
  let a2 be Membership_Func of [:a1,a1:];
  cluster TrCl a2 -> transitive;
end;

:: LFUZZY_1:th 37
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
for b3 being natural set
      st b2 is transitive(b1) & 0 < b3
   holds b3 iter b2 is_less_than b2;

:: LFUZZY_1:th 38
theorem
for b1 being non empty set
for b2 being Membership_Func of [:b1,b1:]
      st b2 is transitive(b1)
   holds b2 = TrCl b2;

:: LFUZZY_1:th 39
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
for b4 being natural set
      st b2 is_less_than b3
   holds b4 iter b2 is_less_than b4 iter b3;

:: LFUZZY_1:th 40
theorem
for b1 being non empty set
for b2, b3 being Membership_Func of [:b1,b1:]
      st b3 is transitive(b1) & b2 is_less_than b3
   holds TrCl b2 is_less_than b3;