Article ABCMIZ_0, MML version 4.99.1005

:: ABCMIZ_0:condreg 1
registration
  cluster non empty trivial reflexive -> complete (RelStr);
end;

:: ABCMIZ_0:modenot 1
definition
  let a1 be RelStr;
  mode type of a1 is Element of the carrier of a1;
end;

:: ABCMIZ_0:attrnot 1 => ABCMIZ_0:attr 1
definition
  let a1 be RelStr;
  attr a1 is Noetherian means
    the InternalRel of a1 is co-well_founded;
end;

:: ABCMIZ_0:dfs 1
definiens
  let a1 be RelStr;
To prove
     a1 is Noetherian
it is sufficient to prove
  thus the InternalRel of a1 is co-well_founded;

:: ABCMIZ_0:def 1
theorem
for b1 being RelStr holds
      b1 is Noetherian
   iff
      the InternalRel of b1 is co-well_founded;

:: ABCMIZ_0:condreg 2
registration
  cluster non empty trivial -> Noetherian (RelStr);
end;

:: ABCMIZ_0:attrnot 2 => ABCMIZ_0:attr 1
definition
  let a1 be RelStr;
  attr a1 is Noetherian means
    for b1 being non empty Element of bool the carrier of a1 holds
       ex b2 being Element of the carrier of a1 st
          b2 in b1 &
           (for b3 being Element of the carrier of a1
                 st b3 in b1
              holds not b2 < b3);
end;

:: ABCMIZ_0:dfs 2
definiens
  let a1 be non empty RelStr;
To prove
     a1 is Noetherian
it is sufficient to prove
  thus for b1 being non empty Element of bool the carrier of a1 holds
       ex b2 being Element of the carrier of a1 st
          b2 in b1 &
           (for b3 being Element of the carrier of a1
                 st b3 in b1
              holds not b2 < b3);

:: ABCMIZ_0:def 2
theorem
for b1 being non empty RelStr holds
      b1 is Noetherian
   iff
      for b2 being non empty Element of bool the carrier of b1 holds
         ex b3 being Element of the carrier of b1 st
            b3 in b2 &
             (for b4 being Element of the carrier of b1
                   st b4 in b2
                holds not b3 < b4);

:: ABCMIZ_0:attrnot 3 => ABCMIZ_0:attr 2
definition
  let a1 be reflexive transitive antisymmetric RelStr;
  attr a1 is Mizar-widening-like means
    a1 is reflexive transitive antisymmetric with_suprema RelStr & a1 is Noetherian;
end;

:: ABCMIZ_0:dfs 3
definiens
  let a1 be reflexive transitive antisymmetric RelStr;
To prove
     a1 is Mizar-widening-like
it is sufficient to prove
  thus a1 is reflexive transitive antisymmetric with_suprema RelStr & a1 is Noetherian;

:: ABCMIZ_0:def 3
theorem
for b1 being reflexive transitive antisymmetric RelStr holds
      b1 is Mizar-widening-like
   iff
      b1 is reflexive transitive antisymmetric with_suprema RelStr & b1 is Noetherian;

:: ABCMIZ_0:condreg 3
registration
  cluster reflexive transitive antisymmetric Mizar-widening-like -> with_suprema upper-bounded Noetherian (RelStr);
end;

:: ABCMIZ_0:condreg 4
registration
  cluster reflexive transitive antisymmetric with_suprema Noetherian -> Mizar-widening-like (RelStr);
end;

:: ABCMIZ_0:exreg 1
registration
  cluster non empty reflexive transitive antisymmetric with_suprema with_infima complete lower-bounded upper-bounded bounded up-complete /\-complete Mizar-widening-like RelStr;
end;

:: ABCMIZ_0:funcreg 1
registration
  let a1 be Noetherian RelStr;
  cluster the InternalRel of a1 -> co-well_founded;
end;

:: ABCMIZ_0:th 1
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian RelStr
for b2 being non empty directed lower Element of bool the carrier of b1 holds
   ex_sup_of b2,b1 & "\/"(b2,b1) in b2;

:: ABCMIZ_0:structnot 1 => ABCMIZ_0:struct 1
definition
  struct() AdjectiveStr(#
    adjectives -> set,
    non-op -> Function-like quasi_total Relation of the adjectives of it,the adjectives of it
  #);
end;

:: ABCMIZ_0:attrnot 4 => ABCMIZ_0:attr 3
definition
  let a1 be AdjectiveStr;
  attr a1 is strict;
end;

:: ABCMIZ_0:exreg 2
registration
  cluster strict AdjectiveStr;
end;

:: ABCMIZ_0:aggrnot 1 => ABCMIZ_0:aggr 1
definition
  let a1 be set;
  let a2 be Function-like quasi_total Relation of a1,a1;
  aggr AdjectiveStr(#a1,a2#) -> strict AdjectiveStr;
end;

:: ABCMIZ_0:selnot 1 => ABCMIZ_0:sel 1
definition
  let a1 be AdjectiveStr;
  sel the adjectives of a1 -> set;
end;

:: ABCMIZ_0:selnot 2 => ABCMIZ_0:sel 2
definition
  let a1 be AdjectiveStr;
  sel the non-op of a1 -> Function-like quasi_total Relation of the adjectives of a1,the adjectives of a1;
end;

:: ABCMIZ_0:attrnot 5 => ABCMIZ_0:attr 4
definition
  let a1 be AdjectiveStr;
  attr a1 is void means
    the adjectives of a1 is empty;
end;

:: ABCMIZ_0:dfs 4
definiens
  let a1 be AdjectiveStr;
To prove
     a1 is void
it is sufficient to prove
  thus the adjectives of a1 is empty;

:: ABCMIZ_0:def 4
theorem
for b1 being AdjectiveStr holds
      b1 is void
   iff
      the adjectives of b1 is empty;

:: ABCMIZ_0:modenot 2
definition
  let a1 be AdjectiveStr;
  mode adjective of a1 is Element of the adjectives of a1;
end;

:: ABCMIZ_0:th 2
theorem
for b1, b2 being AdjectiveStr
      st the adjectives of b1 = the adjectives of b2 & b1 is void
   holds b2 is void;

:: ABCMIZ_0:funcnot 1 => ABCMIZ_0:func 1
definition
  let a1 be AdjectiveStr;
  let a2 be Element of the adjectives of a1;
  func non- A2 -> Element of the adjectives of a1 equals
    (the non-op of a1) . a2;
end;

:: ABCMIZ_0:def 5
theorem
for b1 being AdjectiveStr
for b2 being Element of the adjectives of b1 holds
   non- b2 = (the non-op of b1) . b2;

:: ABCMIZ_0:th 3
theorem
for b1, b2 being AdjectiveStr
   st AdjectiveStr(#the adjectives of b1,the non-op of b1#) = AdjectiveStr(#the adjectives of b2,the non-op of b2#)
for b3 being Element of the adjectives of b1
for b4 being Element of the adjectives of b2
      st b3 = b4
   holds non- b3 = non- b4;

:: ABCMIZ_0:attrnot 6 => ABCMIZ_0:attr 5
definition
  let a1 be AdjectiveStr;
  attr a1 is involutive means
    for b1 being Element of the adjectives of a1 holds
       non- non- b1 = b1;
end;

:: ABCMIZ_0:dfs 6
definiens
  let a1 be AdjectiveStr;
To prove
     a1 is involutive
it is sufficient to prove
  thus for b1 being Element of the adjectives of a1 holds
       non- non- b1 = b1;

:: ABCMIZ_0:def 6
theorem
for b1 being AdjectiveStr holds
      b1 is involutive
   iff
      for b2 being Element of the adjectives of b1 holds
         non- non- b2 = b2;

:: ABCMIZ_0:attrnot 7 => ABCMIZ_0:attr 6
definition
  let a1 be AdjectiveStr;
  attr a1 is without_fixpoints means
    for b1 being Element of the adjectives of a1 holds
       non- b1 <> b1;
end;

:: ABCMIZ_0:dfs 7
definiens
  let a1 be AdjectiveStr;
To prove
     a1 is without_fixpoints
it is sufficient to prove
  thus for b1 being Element of the adjectives of a1 holds
       non- b1 <> b1;

:: ABCMIZ_0:def 7
theorem
for b1 being AdjectiveStr holds
      b1 is without_fixpoints
   iff
      for b2 being Element of the adjectives of b1 holds
         non- b2 <> b2;

:: ABCMIZ_0:th 4
theorem
for b1, b2 being set
   st b1 <> b2
for b3 being AdjectiveStr
      st the adjectives of b3 = {b1,b2} & (the non-op of b3) . b1 = b2 & (the non-op of b3) . b2 = b1
   holds b3 is not void & b3 is involutive & b3 is without_fixpoints;

:: ABCMIZ_0:th 5
theorem
for b1, b2 being AdjectiveStr
      st AdjectiveStr(#the adjectives of b1,the non-op of b1#) = AdjectiveStr(#the adjectives of b2,the non-op of b2#) &
         b1 is involutive
   holds b2 is involutive;

:: ABCMIZ_0:th 6
theorem
for b1, b2 being AdjectiveStr
      st AdjectiveStr(#the adjectives of b1,the non-op of b1#) = AdjectiveStr(#the adjectives of b2,the non-op of b2#) &
         b1 is without_fixpoints
   holds b2 is without_fixpoints;

:: ABCMIZ_0:exreg 3
registration
  cluster strict non void involutive without_fixpoints AdjectiveStr;
end;

:: ABCMIZ_0:funcreg 2
registration
  let a1 be non void AdjectiveStr;
  cluster the adjectives of a1 -> non empty;
end;

:: ABCMIZ_0:structnot 2 => ABCMIZ_0:struct 2
definition
  struct(RelStrAdjectiveStr) TA-structure(#
    carrier -> set,
    adjectives -> set,
    InternalRel -> Relation of the carrier of it,the carrier of it,
    non-op -> Function-like quasi_total Relation of the adjectives of it,the adjectives of it,
    adj-map -> Function-like quasi_total Relation of the carrier of it,Fin the adjectives of it
  #);
end;

:: ABCMIZ_0:attrnot 8 => ABCMIZ_0:attr 7
definition
  let a1 be TA-structure;
  attr a1 is strict;
end;

:: ABCMIZ_0:exreg 4
registration
  cluster strict TA-structure;
end;

:: ABCMIZ_0:aggrnot 2 => ABCMIZ_0:aggr 2
definition
  let a1, a2 be set;
  let a3 be Relation of a1,a1;
  let a4 be Function-like quasi_total Relation of a2,a2;
  let a5 be Function-like quasi_total Relation of a1,Fin a2;
  aggr TA-structure(#a1,a2,a3,a4,a5#) -> strict TA-structure;
end;

:: ABCMIZ_0:selnot 3 => ABCMIZ_0:sel 3
definition
  let a1 be TA-structure;
  sel the adj-map of a1 -> Function-like quasi_total Relation of the carrier of a1,Fin the adjectives of a1;
end;

:: ABCMIZ_0:funcreg 3
registration
  let a1 be non empty set;
  let a2 be set;
  let a3 be Relation of a1,a1;
  let a4 be Function-like quasi_total Relation of a2,a2;
  let a5 be Function-like quasi_total Relation of a1,Fin a2;
  cluster TA-structure(#a1,a2,a3,a4,a5#) -> non empty strict;
end;

:: ABCMIZ_0:funcreg 4
registration
  let a1 be set;
  let a2 be non empty set;
  let a3 be Relation of a1,a1;
  let a4 be Function-like quasi_total Relation of a2,a2;
  let a5 be Function-like quasi_total Relation of a1,Fin a2;
  cluster TA-structure(#a1,a2,a3,a4,a5#) -> non void strict;
end;

:: ABCMIZ_0:exreg 5
registration
  cluster non empty trivial reflexive non void involutive without_fixpoints strict TA-structure;
end;

:: ABCMIZ_0:funcnot 2 => ABCMIZ_0:func 2
definition
  let a1 be TA-structure;
  let a2 be Element of the carrier of a1;
  func adjs A2 -> Element of bool the adjectives of a1 equals
    (the adj-map of a1) . a2;
end;

:: ABCMIZ_0:def 8
theorem
for b1 being TA-structure
for b2 being Element of the carrier of b1 holds
   adjs b2 = (the adj-map of b1) . b2;

:: ABCMIZ_0:th 7
theorem
for b1, b2 being TA-structure
   st TA-structure(#the carrier of b1,the adjectives of b1,the InternalRel of b1,the non-op of b1,the adj-map of b1#) = TA-structure(#the carrier of b2,the adjectives of b2,the InternalRel of b2,the non-op of b2,the adj-map of b2#)
for b3 being Element of the carrier of b1
for b4 being Element of the carrier of b2
      st b3 = b4
   holds adjs b3 = adjs b4;

:: ABCMIZ_0:attrnot 9 => ABCMIZ_0:attr 8
definition
  let a1 be TA-structure;
  attr a1 is consistent means
    for b1 being Element of the carrier of a1
    for b2 being Element of the adjectives of a1
          st b2 in adjs b1
       holds not non- b2 in adjs b1;
end;

:: ABCMIZ_0:dfs 9
definiens
  let a1 be TA-structure;
To prove
     a1 is consistent
it is sufficient to prove
  thus for b1 being Element of the carrier of a1
    for b2 being Element of the adjectives of a1
          st b2 in adjs b1
       holds not non- b2 in adjs b1;

:: ABCMIZ_0:def 9
theorem
for b1 being TA-structure holds
      b1 is consistent
   iff
      for b2 being Element of the carrier of b1
      for b3 being Element of the adjectives of b1
            st b3 in adjs b2
         holds not non- b3 in adjs b2;

:: ABCMIZ_0:th 8
theorem
for b1, b2 being TA-structure
      st TA-structure(#the carrier of b1,the adjectives of b1,the InternalRel of b1,the non-op of b1,the adj-map of b1#) = TA-structure(#the carrier of b2,the adjectives of b2,the InternalRel of b2,the non-op of b2,the adj-map of b2#) &
         b1 is consistent
   holds b2 is consistent;

:: ABCMIZ_0:attrnot 10 => ABCMIZ_0:attr 9
definition
  let a1 be non empty TA-structure;
  attr a1 is adj-structured means
    the adj-map of a1 is Function-like quasi_total join-preserving Relation of the carrier of a1,the carrier of (BoolePoset the adjectives of a1) ~;
end;

:: ABCMIZ_0:dfs 10
definiens
  let a1 be non empty TA-structure;
To prove
     a1 is adj-structured
it is sufficient to prove
  thus the adj-map of a1 is Function-like quasi_total join-preserving Relation of the carrier of a1,the carrier of (BoolePoset the adjectives of a1) ~;

:: ABCMIZ_0:def 10
theorem
for b1 being non empty TA-structure holds
      b1 is adj-structured
   iff
      the adj-map of b1 is Function-like quasi_total join-preserving Relation of the carrier of b1,the carrier of (BoolePoset the adjectives of b1) ~;

:: ABCMIZ_0:th 9
theorem
for b1, b2 being non empty TA-structure
      st TA-structure(#the carrier of b1,the adjectives of b1,the InternalRel of b1,the non-op of b1,the adj-map of b1#) = TA-structure(#the carrier of b2,the adjectives of b2,the InternalRel of b2,the non-op of b2,the adj-map of b2#) &
         b1 is adj-structured
   holds b2 is adj-structured;

:: ABCMIZ_0:attrnot 11 => ABCMIZ_0:attr 9
definition
  let a1 be non empty TA-structure;
  attr a1 is adj-structured means
    for b1, b2 being Element of the carrier of a1 holds
    adjs (b1 "\/" b2) = (adjs b1) /\ adjs b2;
end;

:: ABCMIZ_0:dfs 11
definiens
  let a1 be reflexive transitive antisymmetric with_suprema TA-structure;
To prove
     a1 is adj-structured
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1 holds
    adjs (b1 "\/" b2) = (adjs b1) /\ adjs b2;

:: ABCMIZ_0:def 11
theorem
for b1 being reflexive transitive antisymmetric with_suprema TA-structure holds
      b1 is adj-structured
   iff
      for b2, b3 being Element of the carrier of b1 holds
      adjs (b2 "\/" b3) = (adjs b2) /\ adjs b3;

:: ABCMIZ_0:th 10
theorem
for b1 being reflexive transitive antisymmetric with_suprema TA-structure
   st b1 is adj-structured
for b2, b3 being Element of the carrier of b1
      st b2 <= b3
   holds adjs b3 c= adjs b2;

:: ABCMIZ_0:funcnot 3 => ABCMIZ_0:func 3
definition
  let a1 be TA-structure;
  let a2 be Element of the adjectives of a1;
  func types A2 -> Element of bool the carrier of a1 means
    for b1 being set holds
          b1 in it
       iff
          ex b2 being Element of the carrier of a1 st
             b1 = b2 & a2 in adjs b2;
end;

:: ABCMIZ_0:def 12
theorem
for b1 being TA-structure
for b2 being Element of the adjectives of b1
for b3 being Element of bool the carrier of b1 holds
      b3 = types b2
   iff
      for b4 being set holds
            b4 in b3
         iff
            ex b5 being Element of the carrier of b1 st
               b4 = b5 & b2 in adjs b5;

:: ABCMIZ_0:funcnot 4 => ABCMIZ_0:func 4
definition
  let a1 be non empty TA-structure;
  let a2 be Element of bool the adjectives of a1;
  func types A2 -> Element of bool the carrier of a1 means
    for b1 being Element of the carrier of a1 holds
          b1 in it
       iff
          for b2 being Element of the adjectives of a1
                st b2 in a2
             holds b1 in types b2;
end;

:: ABCMIZ_0:def 13
theorem
for b1 being non empty TA-structure
for b2 being Element of bool the adjectives of b1
for b3 being Element of bool the carrier of b1 holds
      b3 = types b2
   iff
      for b4 being Element of the carrier of b1 holds
            b4 in b3
         iff
            for b5 being Element of the adjectives of b1
                  st b5 in b2
               holds b4 in types b5;

:: ABCMIZ_0:th 11
theorem
for b1, b2 being TA-structure
   st TA-structure(#the carrier of b1,the adjectives of b1,the InternalRel of b1,the non-op of b1,the adj-map of b1#) = TA-structure(#the carrier of b2,the adjectives of b2,the InternalRel of b2,the non-op of b2,the adj-map of b2#)
for b3 being Element of the adjectives of b1
for b4 being Element of the adjectives of b2
      st b3 = b4
   holds types b3 = types b4;

:: ABCMIZ_0:th 12
theorem
for b1 being non empty TA-structure
for b2 being Element of the adjectives of b1 holds
   types b2 = {b3 where b3 is Element of the carrier of b1: b2 in adjs b3};

:: ABCMIZ_0:th 13
theorem
for b1 being TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
      b3 in adjs b2
   iff
      b2 in types b3;

:: ABCMIZ_0:th 14
theorem
for b1 being non empty TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1 holds
      b3 c= adjs b2
   iff
      b2 in types b3;

:: ABCMIZ_0:th 15
theorem
for b1 being non void TA-structure
for b2 being Element of the carrier of b1 holds
   adjs b2 = {b3 where b3 is Element of the adjectives of b1: b2 in types b3};

:: ABCMIZ_0:th 16
theorem
for b1 being non empty TA-structure holds
   types {} the adjectives of b1 = the carrier of b1;

:: ABCMIZ_0:attrnot 12 => ABCMIZ_0:attr 10
definition
  let a1 be TA-structure;
  attr a1 is adjs-typed means
    for b1 being Element of the adjectives of a1 holds
       (types b1) \/ types non- b1 is not empty;
end;

:: ABCMIZ_0:dfs 14
definiens
  let a1 be TA-structure;
To prove
     a1 is adjs-typed
it is sufficient to prove
  thus for b1 being Element of the adjectives of a1 holds
       (types b1) \/ types non- b1 is not empty;

:: ABCMIZ_0:def 14
theorem
for b1 being TA-structure holds
      b1 is adjs-typed
   iff
      for b2 being Element of the adjectives of b1 holds
         (types b2) \/ types non- b2 is not empty;

:: ABCMIZ_0:th 17
theorem
for b1, b2 being TA-structure
      st TA-structure(#the carrier of b1,the adjectives of b1,the InternalRel of b1,the non-op of b1,the adj-map of b1#) = TA-structure(#the carrier of b2,the adjectives of b2,the InternalRel of b2,the non-op of b2,the adj-map of b2#) &
         b1 is adjs-typed
   holds b2 is adjs-typed;

:: ABCMIZ_0:exreg 6
registration
  cluster non empty trivial finite reflexive transitive antisymmetric with_suprema with_infima complete lower-bounded upper-bounded bounded connected up-complete /\-complete Noetherian Mizar-widening-like non void involutive without_fixpoints strict consistent adj-structured adjs-typed TA-structure;
end;

:: ABCMIZ_0:th 18
theorem
for b1 being consistent TA-structure
for b2 being Element of the adjectives of b1 holds
   types b2 misses types non- b2;

:: ABCMIZ_0:funcreg 5
registration
  let a1 be reflexive transitive antisymmetric with_suprema adj-structured TA-structure;
  let a2 be Element of the adjectives of a1;
  cluster types a2 -> directed lower;
end;

:: ABCMIZ_0:funcreg 6
registration
  let a1 be reflexive transitive antisymmetric with_suprema adj-structured TA-structure;
  let a2 be Element of bool the adjectives of a1;
  cluster types a2 -> directed lower;
end;

:: ABCMIZ_0:prednot 1 => ABCMIZ_0:pred 1
definition
  let a1 be TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of the adjectives of a1;
  pred A3 is_applicable_to A2 means
    ex b1 being Element of the carrier of a1 st
       b1 in types a3 & b1 <= a2;
end;

:: ABCMIZ_0:dfs 15
definiens
  let a1 be TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of the adjectives of a1;
To prove
     a3 is_applicable_to a2
it is sufficient to prove
  thus ex b1 being Element of the carrier of a1 st
       b1 in types a3 & b1 <= a2;

:: ABCMIZ_0:def 15
theorem
for b1 being TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
      b3 is_applicable_to b2
   iff
      ex b4 being Element of the carrier of b1 st
         b4 in types b3 & b4 <= b2;

:: ABCMIZ_0:prednot 2 => ABCMIZ_0:pred 2
definition
  let a1 be TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the adjectives of a1;
  pred A3 is_applicable_to A2 means
    ex b1 being Element of the carrier of a1 st
       a3 c= adjs b1 & b1 <= a2;
end;

:: ABCMIZ_0:dfs 16
definiens
  let a1 be TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the adjectives of a1;
To prove
     a3 is_applicable_to a2
it is sufficient to prove
  thus ex b1 being Element of the carrier of a1 st
       a3 c= adjs b1 & b1 <= a2;

:: ABCMIZ_0:def 16
theorem
for b1 being TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1 holds
      b3 is_applicable_to b2
   iff
      ex b4 being Element of the carrier of b1 st
         b3 c= adjs b4 & b4 <= b2;

:: ABCMIZ_0:th 20
theorem
for b1 being reflexive transitive antisymmetric with_suprema adj-structured TA-structure
for b2 being Element of the adjectives of b1
for b3 being Element of the carrier of b1
      st b2 is_applicable_to b3
   holds (types b2) /\ downarrow b3 is non empty directed lower Element of bool the carrier of b1;

:: ABCMIZ_0:funcnot 5 => ABCMIZ_0:func 5
definition
  let a1 be non empty reflexive transitive TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of the adjectives of a1;
  func A3 ast A2 -> Element of the carrier of a1 equals
    "\/"((types a3) /\ downarrow a2,a1);
end;

:: ABCMIZ_0:def 17
theorem
for b1 being non empty reflexive transitive TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
   b3 ast b2 = "\/"((types b3) /\ downarrow b2,b1);

:: ABCMIZ_0:th 21
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 ast b2 <= b2;

:: ABCMIZ_0:th 22
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 in adjs (b3 ast b2);

:: ABCMIZ_0:th 23
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 ast b2 in types b3;

:: ABCMIZ_0:th 24
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
for b4 being Element of the carrier of b1
      st b4 <= b2 & b3 in adjs b4
   holds b3 is_applicable_to b2 & b4 <= b3 ast b2;

:: ABCMIZ_0:th 25
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
      st b3 in adjs b2
   holds b3 is_applicable_to b2 & b3 ast b2 = b2;

:: ABCMIZ_0:th 26
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being Element of the adjectives of b1
      st b3 is_applicable_to b2 & b4 is_applicable_to b3 ast b2
   holds b4 is_applicable_to b2 &
    b3 is_applicable_to b4 ast b2 &
    b3 ast (b4 ast b2) = b4 ast (b3 ast b2);

:: ABCMIZ_0:th 27
theorem
for b1 being reflexive transitive antisymmetric with_suprema adj-structured TA-structure
for b2 being Element of bool the adjectives of b1
for b3 being Element of the carrier of b1
      st b2 is_applicable_to b3
   holds (types b2) /\ downarrow b3 is non empty directed lower Element of bool the carrier of b1;

:: ABCMIZ_0:funcnot 6 => ABCMIZ_0:func 6
definition
  let a1 be non empty reflexive transitive TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the adjectives of a1;
  func A3 ast A2 -> Element of the carrier of a1 equals
    "\/"((types a3) /\ downarrow a2,a1);
end;

:: ABCMIZ_0:def 18
theorem
for b1 being non empty reflexive transitive TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1 holds
   b3 ast b2 = "\/"((types b3) /\ downarrow b2,b1);

:: ABCMIZ_0:th 28
theorem
for b1 being non empty reflexive transitive antisymmetric TA-structure
for b2 being Element of the carrier of b1 holds
   ({} the adjectives of b1) ast b2 = b2;

:: ABCMIZ_0:funcnot 7 => ABCMIZ_0:func 7
definition
  let a1 be non empty reflexive transitive non void TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
  func apply(A3,A2) -> FinSequence of the carrier of a1 means
    len it = (len a3) + 1 &
     it . 1 = a2 &
     (for b1 being Element of NAT
     for b2 being Element of the adjectives of a1
     for b3 being Element of the carrier of a1
           st b1 in dom a3 & b2 = a3 . b1 & b3 = it . b1
        holds it . (b1 + 1) = b2 ast b3);
end;

:: ABCMIZ_0:def 19
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
for b4 being FinSequence of the carrier of b1 holds
      b4 = apply(b3,b2)
   iff
      len b4 = (len b3) + 1 &
       b4 . 1 = b2 &
       (for b5 being Element of NAT
       for b6 being Element of the adjectives of b1
       for b7 being Element of the carrier of b1
             st b5 in dom b3 & b6 = b3 . b5 & b7 = b4 . b5
          holds b4 . (b5 + 1) = b6 ast b7);

:: ABCMIZ_0:funcreg 7
registration
  let a1 be non empty reflexive transitive non void TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
  cluster apply(a3,a2) -> non empty;
end;

:: ABCMIZ_0:th 29
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1 holds
   apply(<*> the adjectives of b1,b2) = <*b2*>;

:: ABCMIZ_0:th 30
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
   apply(<*b3*>,b2) = <*b2,b3 ast b2*>;

:: ABCMIZ_0:funcnot 8 => ABCMIZ_0:func 8
definition
  let a1 be non empty reflexive transitive non void TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
  func A3 ast A2 -> Element of the carrier of a1 equals
    (apply(a3,a2)) . ((len a3) + 1);
end;

:: ABCMIZ_0:def 20
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1 holds
   b3 ast b2 = (apply(b3,b2)) . ((len b3) + 1);

:: ABCMIZ_0:th 31
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1 holds
   (<*> the adjectives of b1) ast b2 = b2;

:: ABCMIZ_0:th 32
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
   <*b3*> ast b2 = b3 ast b2;

:: ABCMIZ_0:th 33
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
for b3 being natural set
      st 1 <= b3 & b3 < len b1
   holds (b1 $^ b2) . b3 = b1 . b3;

:: ABCMIZ_0:th 34
theorem
for b1 being non empty Relation-like Function-like FinSequence-like set
for b2 being Relation-like Function-like FinSequence-like set
for b3 being natural set
      st b3 < len b2
   holds (b1 $^ b2) . ((len b1) + b3) = b2 . (b3 + 1);

:: ABCMIZ_0:th 35
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1 holds
apply(b3 ^ b4,b2) = (apply(b3,b2)) $^ apply(b4,b3 ast b2);

:: ABCMIZ_0:th 36
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
for b5 being natural set
      st b5 in dom b3
   holds (apply(b3 ^ b4,b2)) . b5 = (apply(b3,b2)) . b5;

:: ABCMIZ_0:th 37
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1 holds
(apply(b3 ^ b4,b2)) . ((len b3) + 1) = b3 ast b2;

:: ABCMIZ_0:th 38
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1 holds
b4 ast (b3 ast b2) = (b3 ^ b4) ast b2;

:: ABCMIZ_0:prednot 3 => ABCMIZ_0:pred 3
definition
  let a1 be non empty reflexive transitive non void TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
  pred A3 is_applicable_to A2 means
    for b1 being natural set
    for b2 being Element of the adjectives of a1
    for b3 being Element of the carrier of a1
          st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply(a3,a2)) . b1
       holds b2 is_applicable_to b3;
end;

:: ABCMIZ_0:dfs 21
definiens
  let a1 be non empty reflexive transitive non void TA-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
To prove
     a3 is_applicable_to a2
it is sufficient to prove
  thus for b1 being natural set
    for b2 being Element of the adjectives of a1
    for b3 being Element of the carrier of a1
          st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply(a3,a2)) . b1
       holds b2 is_applicable_to b3;

:: ABCMIZ_0:def 21
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1 holds
      b3 is_applicable_to b2
   iff
      for b4 being natural set
      for b5 being Element of the adjectives of b1
      for b6 being Element of the carrier of b1
            st b4 in dom b3 & b5 = b3 . b4 & b6 = (apply(b3,b2)) . b4
         holds b5 is_applicable_to b6;

:: ABCMIZ_0:th 39
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1 holds
   <*> the adjectives of b1 is_applicable_to b2;

:: ABCMIZ_0:th 40
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
      b3 is_applicable_to b2
   iff
      <*b3*> is_applicable_to b2;

:: ABCMIZ_0:th 41
theorem
for b1 being non empty reflexive transitive non void TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
      st b3 ^ b4 is_applicable_to b2
   holds b3 is_applicable_to b2 & b4 is_applicable_to b3 ast b2;

:: ABCMIZ_0:th 42
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
   st b3 is_applicable_to b2
for b4, b5 being natural set
   st 1 <= b4 & b4 <= b5 & b5 <= (len b3) + 1
for b6, b7 being Element of the carrier of b1
      st b6 = (apply(b3,b2)) . b4 & b7 = (apply(b3,b2)) . b5
   holds b7 <= b6;

:: ABCMIZ_0:th 43
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
   st b3 is_applicable_to b2
for b4 being Element of the carrier of b1
      st b4 in rng apply(b3,b2)
   holds b3 ast b2 <= b4 & b4 <= b2;

:: ABCMIZ_0:th 44
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 ast b2 <= b2;

:: ABCMIZ_0:th 45
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
      st b3 is_applicable_to b2
   holds rng b3 c= adjs (b3 ast b2);

:: ABCMIZ_0:th 46
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
   st b3 is_applicable_to b2
for b4 being Element of bool the adjectives of b1
      st b4 = rng b3
   holds b4 is_applicable_to b2;

:: ABCMIZ_0:th 47
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
   st b3 is_applicable_to b2 & rng b4 c= rng b3
for b5 being Element of the carrier of b1
      st b5 in rng apply(b4,b2)
   holds b3 ast b2 <= b5;

:: ABCMIZ_0:th 48
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
      st b3 ^ b4 is_applicable_to b2
   holds b4 ^ b3 is_applicable_to b2;

:: ABCMIZ_0:th 49
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
      st b3 ^ b4 is_applicable_to b2
   holds (b3 ^ b4) ast b2 = (b4 ^ b3) ast b2;

:: ABCMIZ_0:th 50
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 ast b2 <= b2;

:: ABCMIZ_0:th 51
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 c= adjs (b3 ast b2);

:: ABCMIZ_0:th 52
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_applicable_to b2
   holds b3 ast b2 in types b3;

:: ABCMIZ_0:th 53
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
for b4 being Element of the carrier of b1
      st b4 <= b2 & b3 c= adjs b4
   holds b3 is_applicable_to b2 & b4 <= b3 ast b2;

:: ABCMIZ_0:th 54
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 c= adjs b2
   holds b3 is_applicable_to b2 & b3 ast b2 = b2;

:: ABCMIZ_0:th 55
theorem
for b1 being TA-structure
for b2 being Element of the carrier of b1
for b3, b4 being Element of bool the adjectives of b1
      st b3 is_applicable_to b2 & b4 c= b3
   holds b4 is_applicable_to b2;

:: ABCMIZ_0:th 56
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
for b4, b5 being Element of bool the adjectives of b1
      st b5 = b4 \/ {b3} & b5 is_applicable_to b2
   holds b3 ast (b4 ast b2) = b5 ast b2;

:: ABCMIZ_0:th 57
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
   st b3 is_applicable_to b2
for b4 being Element of bool the adjectives of b1
      st b4 = rng b3
   holds b3 ast b2 = b4 ast b2;

:: ABCMIZ_0:funcnot 9 => ABCMIZ_0:func 9
definition
  let a1 be non empty non void TA-structure;
  func sub A1 -> Function-like quasi_total Relation of the adjectives of a1,the carrier of a1 means
    for b1 being Element of the adjectives of a1 holds
       it . b1 = "\/"((types b1) \/ types non- b1,a1);
end;

:: ABCMIZ_0:def 22
theorem
for b1 being non empty non void TA-structure
for b2 being Function-like quasi_total Relation of the adjectives of b1,the carrier of b1 holds
      b2 = sub b1
   iff
      for b3 being Element of the adjectives of b1 holds
         b2 . b3 = "\/"((types b3) \/ types non- b3,b1);

:: ABCMIZ_0:structnot 3 => ABCMIZ_0:struct 3
definition
  struct(TA-structure) TAS-structure(#
    carrier -> set,
    adjectives -> set,
    InternalRel -> Relation of the carrier of it,the carrier of it,
    non-op -> Function-like quasi_total Relation of the adjectives of it,the adjectives of it,
    adj-map -> Function-like quasi_total Relation of the carrier of it,Fin the adjectives of it,
    sub-map -> Function-like quasi_total Relation of the adjectives of it,the carrier of it
  #);
end;

:: ABCMIZ_0:attrnot 13 => ABCMIZ_0:attr 11
definition
  let a1 be TAS-structure;
  attr a1 is strict;
end;

:: ABCMIZ_0:exreg 7
registration
  cluster strict TAS-structure;
end;

:: ABCMIZ_0:aggrnot 3 => ABCMIZ_0:aggr 3
definition
  let a1, a2 be set;
  let a3 be Relation of a1,a1;
  let a4 be Function-like quasi_total Relation of a2,a2;
  let a5 be Function-like quasi_total Relation of a1,Fin a2;
  let a6 be Function-like quasi_total Relation of a2,a1;
  aggr TAS-structure(#a1,a2,a3,a4,a5,a6#) -> strict TAS-structure;
end;

:: ABCMIZ_0:selnot 4 => ABCMIZ_0:sel 4
definition
  let a1 be TAS-structure;
  sel the sub-map of a1 -> Function-like quasi_total Relation of the adjectives of a1,the carrier of a1;
end;

:: ABCMIZ_0:exreg 8
registration
  cluster non empty trivial reflexive non void strict TAS-structure;
end;

:: ABCMIZ_0:funcnot 10 => ABCMIZ_0:func 10
definition
  let a1 be non empty non void TAS-structure;
  let a2 be Element of the adjectives of a1;
  func sub A2 -> Element of the carrier of a1 equals
    (the sub-map of a1) . a2;
end;

:: ABCMIZ_0:def 23
theorem
for b1 being non empty non void TAS-structure
for b2 being Element of the adjectives of b1 holds
   sub b2 = (the sub-map of b1) . b2;

:: ABCMIZ_0:attrnot 14 => ABCMIZ_0:attr 12
definition
  let a1 be non empty non void TAS-structure;
  attr a1 is non-absorbing means
    (the sub-map of a1) * the non-op of a1 = the sub-map of a1;
end;

:: ABCMIZ_0:dfs 24
definiens
  let a1 be non empty non void TAS-structure;
To prove
     a1 is non-absorbing
it is sufficient to prove
  thus (the sub-map of a1) * the non-op of a1 = the sub-map of a1;

:: ABCMIZ_0:def 24
theorem
for b1 being non empty non void TAS-structure holds
      b1 is non-absorbing
   iff
      (the sub-map of b1) * the non-op of b1 = the sub-map of b1;

:: ABCMIZ_0:attrnot 15 => ABCMIZ_0:attr 13
definition
  let a1 be non empty non void TAS-structure;
  attr a1 is subjected means
    for b1 being Element of the adjectives of a1 holds
       (types b1) \/ types non- b1 is_<=_than sub b1 &
        (types b1 <> {} & types non- b1 <> {} implies sub b1 = "\/"((types b1) \/ types non- b1,a1));
end;

:: ABCMIZ_0:dfs 25
definiens
  let a1 be non empty non void TAS-structure;
To prove
     a1 is subjected
it is sufficient to prove
  thus for b1 being Element of the adjectives of a1 holds
       (types b1) \/ types non- b1 is_<=_than sub b1 &
        (types b1 <> {} & types non- b1 <> {} implies sub b1 = "\/"((types b1) \/ types non- b1,a1));

:: ABCMIZ_0:def 25
theorem
for b1 being non empty non void TAS-structure holds
      b1 is subjected
   iff
      for b2 being Element of the adjectives of b1 holds
         (types b2) \/ types non- b2 is_<=_than sub b2 &
          (types b2 <> {} & types non- b2 <> {} implies sub b2 = "\/"((types b2) \/ types non- b2,b1));

:: ABCMIZ_0:attrnot 16 => ABCMIZ_0:attr 12
definition
  let a1 be non empty non void TAS-structure;
  attr a1 is non-absorbing means
    for b1 being Element of the adjectives of a1 holds
       sub non- b1 = sub b1;
end;

:: ABCMIZ_0:dfs 26
definiens
  let a1 be non empty non void TAS-structure;
To prove
     a1 is non-absorbing
it is sufficient to prove
  thus for b1 being Element of the adjectives of a1 holds
       sub non- b1 = sub b1;

:: ABCMIZ_0:def 26
theorem
for b1 being non empty non void TAS-structure holds
      b1 is non-absorbing
   iff
      for b2 being Element of the adjectives of b1 holds
         sub non- b2 = sub b2;

:: ABCMIZ_0:prednot 4 => ABCMIZ_0:pred 4
definition
  let a1 be non empty non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of the adjectives of a1;
  pred A3 is_properly_applicable_to A2 means
    a2 <= sub a3 & a3 is_applicable_to a2;
end;

:: ABCMIZ_0:dfs 27
definiens
  let a1 be non empty non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of the adjectives of a1;
To prove
     a3 is_properly_applicable_to a2
it is sufficient to prove
  thus a2 <= sub a3 & a3 is_applicable_to a2;

:: ABCMIZ_0:def 27
theorem
for b1 being non empty non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
      b3 is_properly_applicable_to b2
   iff
      b2 <= sub b3 & b3 is_applicable_to b2;

:: ABCMIZ_0:prednot 5 => ABCMIZ_0:pred 5
definition
  let a1 be non empty reflexive transitive non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
  pred A3 is_properly_applicable_to A2 means
    for b1 being natural set
    for b2 being Element of the adjectives of a1
    for b3 being Element of the carrier of a1
          st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply(a3,a2)) . b1
       holds b2 is_properly_applicable_to b3;
end;

:: ABCMIZ_0:dfs 28
definiens
  let a1 be non empty reflexive transitive non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be FinSequence of the adjectives of a1;
To prove
     a3 is_properly_applicable_to a2
it is sufficient to prove
  thus for b1 being natural set
    for b2 being Element of the adjectives of a1
    for b3 being Element of the carrier of a1
          st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply(a3,a2)) . b1
       holds b2 is_properly_applicable_to b3;

:: ABCMIZ_0:def 28
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1 holds
      b3 is_properly_applicable_to b2
   iff
      for b4 being natural set
      for b5 being Element of the adjectives of b1
      for b6 being Element of the carrier of b1
            st b4 in dom b3 & b5 = b3 . b4 & b6 = (apply(b3,b2)) . b4
         holds b5 is_properly_applicable_to b6;

:: ABCMIZ_0:th 58
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being FinSequence of the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds b3 is_applicable_to b2;

:: ABCMIZ_0:th 59
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1 holds
   <*> the adjectives of b1 is_properly_applicable_to b2;

:: ABCMIZ_0:th 60
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1 holds
      b3 is_properly_applicable_to b2
   iff
      <*b3*> is_properly_applicable_to b2;

:: ABCMIZ_0:th 61
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
      st b3 ^ b4 is_properly_applicable_to b2
   holds b3 is_properly_applicable_to b2 & b4 is_properly_applicable_to b3 ast b2;

:: ABCMIZ_0:th 62
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3, b4 being FinSequence of the adjectives of b1
      st b3 is_properly_applicable_to b2 & b4 is_properly_applicable_to b3 ast b2
   holds b3 ^ b4 is_properly_applicable_to b2;

:: ABCMIZ_0:prednot 6 => ABCMIZ_0:pred 6
definition
  let a1 be non empty reflexive transitive non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the adjectives of a1;
  pred A3 is_properly_applicable_to A2 means
    ex b1 being FinSequence of the adjectives of a1 st
       rng b1 = a3 & b1 is_properly_applicable_to a2;
end;

:: ABCMIZ_0:dfs 29
definiens
  let a1 be non empty reflexive transitive non void TAS-structure;
  let a2 be Element of the carrier of a1;
  let a3 be Element of bool the adjectives of a1;
To prove
     a3 is_properly_applicable_to a2
it is sufficient to prove
  thus ex b1 being FinSequence of the adjectives of a1 st
       rng b1 = a3 & b1 is_properly_applicable_to a2;

:: ABCMIZ_0:def 29
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1 holds
      b3 is_properly_applicable_to b2
   iff
      ex b4 being FinSequence of the adjectives of b1 st
         rng b4 = b3 & b4 is_properly_applicable_to b2;

:: ABCMIZ_0:th 63
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds b3 is finite;

:: ABCMIZ_0:th 64
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1 holds
   {} the adjectives of b1 is_properly_applicable_to b2;

:: ABCMIZ_0:sch 1
scheme ABCMIZ_0:sch 1
ex b1 being finite set st
   P1[b1] &
    (for b2 being set
          st b2 c= b1 & P1[b2]
       holds b2 = b1)
provided
   ex b1 being finite set st
      P1[b1];


:: ABCMIZ_0:th 65
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds ex b4 being Element of bool the adjectives of b1 st
      b4 c= b3 &
       b4 is_properly_applicable_to b2 &
       b3 ast b2 = b4 ast b2 &
       (for b5 being Element of bool the adjectives of b1
             st b5 c= b4 & b5 is_properly_applicable_to b2 & b3 ast b2 = b5 ast b2
          holds b5 = b4);

:: ABCMIZ_0:attrnot 17 => ABCMIZ_0:attr 14
definition
  let a1 be non empty reflexive transitive non void TAS-structure;
  attr a1 is commutative means
    for b1, b2 being Element of the carrier of a1
    for b3 being Element of the adjectives of a1
          st b3 is_properly_applicable_to b1 & b3 ast b1 <= b2
       holds ex b4 being finite Element of bool the adjectives of a1 st
          b4 is_properly_applicable_to b1 "\/" b2 & b4 ast (b1 "\/" b2) = b2;
end;

:: ABCMIZ_0:dfs 30
definiens
  let a1 be non empty reflexive transitive non void TAS-structure;
To prove
     a1 is commutative
it is sufficient to prove
  thus for b1, b2 being Element of the carrier of a1
    for b3 being Element of the adjectives of a1
          st b3 is_properly_applicable_to b1 & b3 ast b1 <= b2
       holds ex b4 being finite Element of bool the adjectives of a1 st
          b4 is_properly_applicable_to b1 "\/" b2 & b4 ast (b1 "\/" b2) = b2;

:: ABCMIZ_0:def 30
theorem
for b1 being non empty reflexive transitive non void TAS-structure holds
      b1 is commutative
   iff
      for b2, b3 being Element of the carrier of b1
      for b4 being Element of the adjectives of b1
            st b4 is_properly_applicable_to b2 & b4 ast b2 <= b3
         holds ex b5 being finite Element of bool the adjectives of b1 st
            b5 is_properly_applicable_to b2 "\/" b3 & b5 ast (b2 "\/" b3) = b3;

:: ABCMIZ_0:exreg 9
registration
  cluster non empty trivial finite reflexive transitive antisymmetric with_suprema with_infima complete lower-bounded upper-bounded bounded connected up-complete /\-complete Noetherian Mizar-widening-like non void involutive without_fixpoints consistent adj-structured adjs-typed strict non-absorbing subjected commutative TAS-structure;
end;

:: ABCMIZ_0:th 66
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of bool the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds ex b4 being one-to-one FinSequence of the adjectives of b1 st
      rng b4 = b3 & b4 is_properly_applicable_to b2;

:: ABCMIZ_0:funcnot 11 => ABCMIZ_0:func 11
definition
  let a1 be non empty reflexive transitive non void TAS-structure;
  func A1 @--> -> Relation of the carrier of a1,the carrier of a1 means
    for b1, b2 being Element of the carrier of a1 holds
       [b1,b2] in it
    iff
       ex b3 being Element of the adjectives of a1 st
          not b3 in adjs b2 & b3 is_properly_applicable_to b2 & b3 ast b2 = b1;
end;

:: ABCMIZ_0:def 31
theorem
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Relation of the carrier of b1,the carrier of b1 holds
      b2 = b1 @-->
   iff
      for b3, b4 being Element of the carrier of b1 holds
         [b3,b4] in b2
      iff
         ex b5 being Element of the adjectives of b1 st
            not b5 in adjs b4 & b5 is_properly_applicable_to b4 & b5 ast b4 = b3;

:: ABCMIZ_0:th 67
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure holds
   b1 @--> c= the InternalRel of b1;

:: ABCMIZ_0:sch 2
scheme ABCMIZ_0:sch 2
{F1 -> non empty set,
  F2 -> Relation of F1(),F1()}:
for b1, b2 being Element of F1()
      st F2() reduces b1,b2
   holds P1[b1, b2]
provided
   for b1, b2 being Element of F1()
         st [b1,b2] in F2()
      holds P1[b1, b2]
and
   for b1 being Element of F1() holds
      P1[b1, b1]
and
   for b1, b2, b3 being Element of F1()
         st P1[b1, b2] & P1[b2, b3]
      holds P1[b1, b3];


:: ABCMIZ_0:th 68
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2, b3 being Element of the carrier of b1
      st b1 @--> reduces b2,b3
   holds b2 <= b3;

:: ABCMIZ_0:th 69
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure holds
   b1 @--> is irreflexive;

:: ABCMIZ_0:th 70
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure holds
   b1 @--> is strongly-normalizing;

:: ABCMIZ_0:th 71
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being Element of the carrier of b1
for b3 being finite Element of bool the adjectives of b1
   st for b4 being Element of bool the adjectives of b1
           st b4 c= b3 & b4 is_properly_applicable_to b2 & b3 ast b2 = b4 ast b2
        holds b4 = b3
for b4 being one-to-one FinSequence of the adjectives of b1
   st rng b4 = b3 & b4 is_properly_applicable_to b2
for b5 being natural set
      st 1 <= b5 & b5 <= len b4
   holds [(apply(b4,b2)) . (b5 + 1),(apply(b4,b2)) . b5] in b1 @-->;

:: ABCMIZ_0:th 72
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being Element of the carrier of b1
for b3 being finite Element of bool the adjectives of b1
   st for b4 being Element of bool the adjectives of b1
           st b4 c= b3 & b4 is_properly_applicable_to b2 & b3 ast b2 = b4 ast b2
        holds b4 = b3
for b4 being one-to-one FinSequence of the adjectives of b1
      st rng b4 = b3 & b4 is_properly_applicable_to b2
   holds Rev apply(b4,b2) is RedSequence of b1 @-->;

:: ABCMIZ_0:th 73
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being Element of the carrier of b1
for b3 being finite Element of bool the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds b1 @--> reduces b3 ast b2,b2;

:: ABCMIZ_0:th 74
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
for b3 being RedSequence of b2
      st b3 . 1 in b1
   holds b3 is FinSequence of b1;

:: ABCMIZ_0:th 75
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
for b3 being Element of b1
for b4 being set
      st b2 reduces b3,b4
   holds b4 in b1;

:: ABCMIZ_0:th 76
theorem
for b1 being non empty set
for b2 being Relation of b1,b1
   st b2 is with_UN_property & b2 is weakly-normalizing
for b3 being Element of b1 holds
   nf(b3,b2) in b1;

:: ABCMIZ_0:th 77
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2, b3 being Element of the carrier of b1
      st b1 @--> reduces b2,b3
   holds ex b4 being finite Element of bool the adjectives of b1 st
      b4 is_properly_applicable_to b3 & b2 = b4 ast b3;

:: ABCMIZ_0:th 78
theorem
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure holds
   b1 @--> is with_Church-Rosser_property & b1 @--> is with_UN_property;

:: ABCMIZ_0:funcnot 12 => ABCMIZ_0:func 12
definition
  let a1 be non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure;
  let a2 be Element of the carrier of a1;
  func radix A2 -> Element of the carrier of a1 equals
    nf(a2,a1 @-->);
end;

:: ABCMIZ_0:def 32
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being Element of the carrier of b1 holds
   radix b2 = nf(b2,b1 @-->);

:: ABCMIZ_0:th 79
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being Element of the carrier of b1 holds
   b1 @--> reduces b2,radix b2;

:: ABCMIZ_0:th 80
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being Element of the carrier of b1 holds
   b2 <= radix b2;

:: ABCMIZ_0:th 81
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being Element of the carrier of b1
for b3 being set
      st b3 = {b4 where b4 is Element of the carrier of b1: ex b5 being finite Element of bool the adjectives of b1 st
           b5 is_properly_applicable_to b4 & b5 ast b4 = b2}
   holds ex_sup_of b3,b1 & radix b2 = "\/"(b3,b1);

:: ABCMIZ_0:th 82
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2, b3 being Element of the carrier of b1
for b4 being Element of the adjectives of b1
      st b4 is_properly_applicable_to b2 & b4 ast b2 <= radix b3
   holds b2 <= radix b3;

:: ABCMIZ_0:th 83
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2, b3 being Element of the carrier of b1
      st b2 <= b3
   holds radix b2 <= radix b3;

:: ABCMIZ_0:th 84
theorem
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being Element of the carrier of b1
for b3 being Element of the adjectives of b1
      st b3 is_properly_applicable_to b2
   holds radix (b3 ast b2) = radix b2;