:: ABCMIZ_0 semantic presentation

registration
cluster non empty trivial reflexive -> non empty complete RelStr ;
coherence
for b1 being non empty RelStr st b1 is trivial & b1 is reflexive holds
b1 is complete
proof end;
end;

definition
let c1 be RelStr ;
mode type of a1 is Element of a1;
end;

definition
let c1 be RelStr ;
attr a1 is Noetherian means :Def1: :: ABCMIZ_0:def 1
the InternalRel of a1 is co-well_founded;
end;

:: deftheorem Def1 defines Noetherian ABCMIZ_0:def 1 :
for b1 being RelStr holds
( b1 is Noetherian iff the InternalRel of b1 is co-well_founded );

registration
cluster non empty trivial -> non empty Noetherian RelStr ;
coherence
for b1 being non empty RelStr st b1 is trivial holds
b1 is Noetherian
proof end;
end;

definition
let c1 be non empty RelStr ;
redefine attr a1 is Noetherian means :Def2: :: ABCMIZ_0:def 2
for b1 being non empty Subset of a1 ex b2 being Element of a1 st
( b2 in b1 & ( for b3 being Element of a1 st b3 in b1 holds
not b2 < b3 ) );
compatibility
( c1 is Noetherian iff for b1 being non empty Subset of c1 ex b2 being Element of c1 st
( b2 in b1 & ( for b3 being Element of c1 st b3 in b1 holds
not b2 < b3 ) ) )
proof end;
end;

:: deftheorem Def2 defines Noetherian ABCMIZ_0:def 2 :
for b1 being non empty RelStr holds
( b1 is Noetherian iff for b2 being non empty Subset of b1 ex b3 being Element of b1 st
( b3 in b2 & ( for b4 being Element of b1 st b4 in b2 holds
not b3 < b4 ) ) );

definition
let c1 be Poset;
attr a1 is Mizar-widening-like means :: ABCMIZ_0:def 3
( a1 is sup-Semilattice & a1 is Noetherian );
end;

:: deftheorem Def3 defines Mizar-widening-like ABCMIZ_0:def 3 :
for b1 being Poset holds
( b1 is Mizar-widening-like iff ( b1 is sup-Semilattice & b1 is Noetherian ) );

registration
cluster Mizar-widening-like -> with_suprema upper-bounded Noetherian RelStr ;
coherence
for b1 being Poset st b1 is Mizar-widening-like holds
( b1 is Noetherian & b1 is with_suprema & b1 is upper-bounded )
proof end;
end;

registration
cluster Noetherian -> upper-bounded Noetherian Mizar-widening-like RelStr ;
coherence
for b1 being sup-Semilattice st b1 is Noetherian holds
b1 is Mizar-widening-like
proof end;
end;

registration
cluster complete Noetherian Mizar-widening-like RelStr ;
existence
ex b1 being complete sup-Semilattice st b1 is Mizar-widening-like
proof end;
end;

registration
let c1 be Noetherian RelStr ;
cluster the InternalRel of a1 -> co-well_founded ;
coherence
the InternalRel of c1 is co-well_founded
by Def1;
end;

theorem Th1: :: ABCMIZ_0:1
for b1 being Noetherian sup-Semilattice
for b2 being Ideal of b1 holds
( ex_sup_of b2,b1 & sup b2 in b2 )
proof end;

definition
attr a1 is strict;
struct AdjectiveStr -> ;
aggr AdjectiveStr(# adjectives, non-op #) -> AdjectiveStr ;
sel adjectives c1 -> set ;
sel non-op c1 -> UnOp of the adjectives of a1;
end;

definition
let c1 be AdjectiveStr ;
attr a1 is void means :Def4: :: ABCMIZ_0:def 4
the adjectives of a1 is empty;
mode adjective of a1 is Element of the adjectives of a1;
end;

:: deftheorem Def4 defines void ABCMIZ_0:def 4 :
for b1 being AdjectiveStr holds
( b1 is void iff the adjectives of b1 is empty );

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

definition
let c1 be AdjectiveStr ;
let c2 be Element of the adjectives of c1;
func non- c2 -> adjective of a1 equals :: ABCMIZ_0:def 5
the non-op of a1 . a2;
coherence
the non-op of c1 . c2 is adjective of c1
proof end;
end;

:: deftheorem Def5 defines non- ABCMIZ_0:def 5 :
for b1 being AdjectiveStr
for b2 being Element of the adjectives of b1 holds non- b2 = the non-op of b1 . b2;

theorem Th3: :: ABCMIZ_0:3
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 #) holds
for b3 being adjective of b1
for b4 being adjective of b2 st b3 = b4 holds
non- b3 = non- b4 ;

definition
let c1 be AdjectiveStr ;
attr a1 is involutive means :Def6: :: ABCMIZ_0:def 6
for b1 being adjective of a1 holds non- (non- b1) = b1;
attr a1 is without_fixpoints means :: ABCMIZ_0:def 7
for b1 being adjective of a1 holds not non- b1 = b1;
end;

:: deftheorem Def6 defines involutive ABCMIZ_0:def 6 :
for b1 being AdjectiveStr holds
( b1 is involutive iff for b2 being adjective of b1 holds non- (non- b2) = b2 );

:: deftheorem Def7 defines without_fixpoints ABCMIZ_0:def 7 :
for b1 being AdjectiveStr holds
( b1 is without_fixpoints iff for b2 being adjective of b1 holds not non- b2 = b2 );

theorem Th4: :: ABCMIZ_0:4
for b1, b2 being set st b1 <> b2 holds
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
( not b3 is void & b3 is involutive & b3 is without_fixpoints )
proof end;

theorem Th5: :: ABCMIZ_0:5
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
proof end;

theorem Th6: :: ABCMIZ_0:6
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
proof end;

registration
cluster strict non void involutive without_fixpoints AdjectiveStr ;
existence
ex b1 being strict AdjectiveStr st
( not b1 is void & b1 is involutive & b1 is without_fixpoints )
proof end;
end;

registration
let c1 be non void AdjectiveStr ;
cluster the adjectives of a1 -> non empty ;
coherence
not the adjectives of c1 is empty
by Def4;
end;

definition
attr a1 is strict;
struct TA-structure -> RelStr , AdjectiveStr ;
aggr TA-structure(# carrier, adjectives, InternalRel, non-op, adj-map #) -> TA-structure ;
sel adj-map c1 -> Function of the carrier of a1, Fin the adjectives of a1;
end;

registration
let c1 be non empty set ;
let c2 be set ;
let c3 be Relation of c1;
let c4 be UnOp of c2;
let c5 be Function of c1, Fin c2;
cluster TA-structure(# a1,a2,a3,a4,a5 #) -> non empty ;
coherence
not TA-structure(# c1,c2,c3,c4,c5 #) is empty
by STRUCT_0:def 1;
end;

registration
let c1 be set ;
let c2 be non empty set ;
let c3 be Relation of c1;
let c4 be UnOp of c2;
let c5 be Function of c1, Fin c2;
cluster TA-structure(# a1,a2,a3,a4,a5 #) -> non void ;
coherence
not TA-structure(# c1,c2,c3,c4,c5 #) is void
by Def4;
end;

registration
cluster non empty trivial reflexive complete Noetherian Mizar-widening-like non void involutive without_fixpoints strict TA-structure ;
existence
ex b1 being TA-structure st
( b1 is trivial & b1 is reflexive & not b1 is empty & not b1 is void & b1 is involutive & b1 is without_fixpoints & b1 is strict )
proof end;
end;

definition
let c1 be TA-structure ;
let c2 be Element of c1;
func adjs c2 -> Subset of the adjectives of a1 equals :: ABCMIZ_0:def 8
the adj-map of a1 . a2;
coherence
the adj-map of c1 . c2 is Subset of the adjectives of c1
proof end;
end;

:: deftheorem Def8 defines adjs ABCMIZ_0:def 8 :
for b1 being TA-structure
for b2 being Element of b1 holds adjs b2 = the adj-map of b1 . b2;

theorem Th7: :: ABCMIZ_0:7
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 #) holds
for b3 being type of b1
for b4 being type of b2 st b3 = b4 holds
adjs b3 = adjs b4 ;

definition
let c1 be TA-structure ;
attr a1 is consistent means :Def9: :: ABCMIZ_0:def 9
for b1 being type of a1
for b2 being adjective of a1 st b2 in adjs b1 holds
not non- b2 in adjs b1;
end;

:: deftheorem Def9 defines consistent ABCMIZ_0:def 9 :
for b1 being TA-structure holds
( b1 is consistent iff for b2 being type of b1
for b3 being adjective of b1 st b3 in adjs b2 holds
not non- b3 in adjs b2 );

theorem Th8: :: ABCMIZ_0:8
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
proof end;

definition
let c1 be non empty TA-structure ;
attr a1 is adj-structured means :: ABCMIZ_0:def 10
the adj-map of a1 is join-preserving Function of a1,((BoolePoset the adjectives of a1) opp );
end;

:: deftheorem Def10 defines adj-structured ABCMIZ_0:def 10 :
for b1 being non empty TA-structure holds
( b1 is adj-structured iff the adj-map of b1 is join-preserving Function of b1,((BoolePoset the adjectives of b1) opp ) );

theorem Th9: :: ABCMIZ_0:9
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
proof end;

definition
let c1 be reflexive transitive antisymmetric with_suprema TA-structure ;
redefine attr a1 is adj-structured means :Def11: :: ABCMIZ_0:def 11
for b1, b2 being type of a1 holds adjs (b1 "\/" b2) = (adjs b1) /\ (adjs b2);
compatibility
( c1 is adj-structured iff for b1, b2 being type of c1 holds adjs (b1 "\/" b2) = (adjs b1) /\ (adjs b2) )
proof end;
end;

:: deftheorem Def11 defines adj-structured ABCMIZ_0:def 11 :
for b1 being reflexive transitive antisymmetric with_suprema TA-structure holds
( b1 is adj-structured iff for b2, b3 being type of b1 holds adjs (b2 "\/" b3) = (adjs b2) /\ (adjs b3) );

theorem Th10: :: ABCMIZ_0:10
for b1 being reflexive transitive antisymmetric with_suprema TA-structure st b1 is adj-structured holds
for b2, b3 being type of b1 st b2 <= b3 holds
adjs b3 c= adjs b2
proof end;

definition
let c1 be TA-structure ;
let c2 be Element of the adjectives of c1;
func types c2 -> Subset of a1 means :Def12: :: ABCMIZ_0:def 12
for b1 being set holds
( b1 in a3 iff ex b2 being type of a1 st
( b1 = b2 & a2 in adjs b2 ) );
existence
ex b1 being Subset of c1 st
for b2 being set holds
( b2 in b1 iff ex b3 being type of c1 st
( b2 = b3 & c2 in adjs b3 ) )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ( for b3 being set holds
( b3 in b1 iff ex b4 being type of c1 st
( b3 = b4 & c2 in adjs b4 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being type of c1 st
( b3 = b4 & c2 in adjs b4 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def12 defines types ABCMIZ_0:def 12 :
for b1 being TA-structure
for b2 being Element of the adjectives of b1
for b3 being Subset of b1 holds
( b3 = types b2 iff for b4 being set holds
( b4 in b3 iff ex b5 being type of b1 st
( b4 = b5 & b2 in adjs b5 ) ) );

definition
let c1 be non empty TA-structure ;
let c2 be Subset of the adjectives of c1;
func types c2 -> Subset of a1 means :Def13: :: ABCMIZ_0:def 13
for b1 being type of a1 holds
( b1 in a3 iff for b2 being adjective of a1 st b2 in a2 holds
b1 in types b2 );
existence
ex b1 being Subset of c1 st
for b2 being type of c1 holds
( b2 in b1 iff for b3 being adjective of c1 st b3 in c2 holds
b2 in types b3 )
proof end;
uniqueness
for b1, b2 being Subset of c1 st ( for b3 being type of c1 holds
( b3 in b1 iff for b4 being adjective of c1 st b4 in c2 holds
b3 in types b4 ) ) & ( for b3 being type of c1 holds
( b3 in b2 iff for b4 being adjective of c1 st b4 in c2 holds
b3 in types b4 ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def13 defines types ABCMIZ_0:def 13 :
for b1 being non empty TA-structure
for b2 being Subset of the adjectives of b1
for b3 being Subset of b1 holds
( b3 = types b2 iff for b4 being type of b1 holds
( b4 in b3 iff for b5 being adjective of b1 st b5 in b2 holds
b4 in types b5 ) );

theorem Th11: :: ABCMIZ_0:11
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 #) holds
for b3 being adjective of b1
for b4 being adjective of b2 st b3 = b4 holds
types b3 = types b4
proof end;

theorem Th12: :: ABCMIZ_0:12
for b1 being non empty TA-structure
for b2 being adjective of b1 holds types b2 = { b3 where B is type of b1 : b2 in adjs b3 }
proof end;

theorem Th13: :: ABCMIZ_0:13
for b1 being TA-structure
for b2 being type of b1
for b3 being adjective of b1 holds
( b3 in adjs b2 iff b2 in types b3 )
proof end;

theorem Th14: :: ABCMIZ_0:14
for b1 being non empty TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 holds
( b3 c= adjs b2 iff b2 in types b3 )
proof end;

theorem Th15: :: ABCMIZ_0:15
for b1 being non void TA-structure
for b2 being type of b1 holds adjs b2 = { b3 where B is adjective of b1 : b2 in types b3 }
proof end;

theorem Th16: :: ABCMIZ_0:16
for b1 being non empty TA-structure holds types ({} the adjectives of b1) = the carrier of b1
proof end;

definition
let c1 be TA-structure ;
attr a1 is adjs-typed means :: ABCMIZ_0:def 14
for b1 being adjective of a1 holds not (types b1) \/ (types (non- b1)) is empty;
end;

:: deftheorem Def14 defines adjs-typed ABCMIZ_0:def 14 :
for b1 being TA-structure holds
( b1 is adjs-typed iff for b2 being adjective of b1 holds not (types b2) \/ (types (non- b2)) is empty );

theorem Th17: :: ABCMIZ_0:17
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
proof end;

registration
cluster non empty trivial reflexive transitive antisymmetric complete upper-bounded Noetherian Mizar-widening-like non void involutive without_fixpoints strict consistent adj-structured adjs-typed TA-structure ;
existence
ex b1 being non empty trivial reflexive transitive antisymmetric complete upper-bounded strict TA-structure st
( not b1 is void & b1 is Mizar-widening-like & b1 is involutive & b1 is without_fixpoints & b1 is consistent & b1 is adj-structured & b1 is adjs-typed )
proof end;
end;

theorem Th18: :: ABCMIZ_0:18
for b1 being consistent TA-structure
for b2 being adjective of b1 holds types b2 misses types (non- b2)
proof end;

registration
let c1 be reflexive transitive antisymmetric with_suprema adj-structured TA-structure ;
let c2 be adjective of c1;
cluster types a2 -> directed lower ;
coherence
( types c2 is lower & types c2 is directed )
proof end;
end;

registration
let c1 be reflexive transitive antisymmetric with_suprema adj-structured TA-structure ;
let c2 be Subset of the adjectives of c1;
cluster types a2 -> directed lower ;
coherence
( types c2 is lower & types c2 is directed )
proof end;
end;

definition
let c1 be TA-structure ;
let c2 be Element of c1;
let c3 be adjective of c1;
pred c3 is_applicable_to c2 means :Def15: :: ABCMIZ_0:def 15
ex b1 being type of a1 st
( b1 in types a3 & b1 <= a2 );
end;

:: deftheorem Def15 defines is_applicable_to ABCMIZ_0:def 15 :
for b1 being TA-structure
for b2 being Element of b1
for b3 being adjective of b1 holds
( b3 is_applicable_to b2 iff ex b4 being type of b1 st
( b4 in types b3 & b4 <= b2 ) );

definition
let c1 be TA-structure ;
let c2 be type of c1;
let c3 be Subset of the adjectives of c1;
pred c3 is_applicable_to c2 means :Def16: :: ABCMIZ_0:def 16
ex b1 being type of a1 st
( a3 c= adjs b1 & b1 <= a2 );
end;

:: deftheorem Def16 defines is_applicable_to ABCMIZ_0:def 16 :
for b1 being TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 holds
( b3 is_applicable_to b2 iff ex b4 being type of b1 st
( b3 c= adjs b4 & b4 <= b2 ) );

theorem Th19: :: ABCMIZ_0:19
canceled;

theorem Th20: :: ABCMIZ_0:20
for b1 being reflexive transitive antisymmetric with_suprema adj-structured TA-structure
for b2 being adjective of b1
for b3 being type of b1 st b2 is_applicable_to b3 holds
(types b2) /\ (downarrow b3) is Ideal of b1
proof end;

definition
let c1 be non empty reflexive transitive TA-structure ;
let c2 be Element of c1;
let c3 be adjective of c1;
func c3 ast c2 -> type of a1 equals :: ABCMIZ_0:def 17
sup ((types a3) /\ (downarrow a2));
coherence
sup ((types c3) /\ (downarrow c2)) is type of c1
;
end;

:: deftheorem Def17 defines ast ABCMIZ_0:def 17 :
for b1 being non empty reflexive transitive TA-structure
for b2 being Element of b1
for b3 being adjective of b1 holds b3 ast b2 = sup ((types b3) /\ (downarrow b2));

theorem Th21: :: ABCMIZ_0:21
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being adjective of b1 st b3 is_applicable_to b2 holds
b3 ast b2 <= b2
proof end;

theorem Th22: :: ABCMIZ_0:22
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being adjective of b1 st b3 is_applicable_to b2 holds
b3 in adjs (b3 ast b2)
proof end;

theorem Th23: :: ABCMIZ_0:23
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being adjective of b1 st b3 is_applicable_to b2 holds
b3 ast b2 in types b3
proof end;

theorem Th24: :: ABCMIZ_0:24
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being adjective of b1
for b4 being type of b1 st b4 <= b2 & b3 in adjs b4 holds
( b3 is_applicable_to b2 & b4 <= b3 ast b2 )
proof end;

theorem Th25: :: ABCMIZ_0:25
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being adjective of b1 st b3 in adjs b2 holds
( b3 is_applicable_to b2 & b3 ast b2 = b2 )
proof end;

theorem Th26: :: ABCMIZ_0:26
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3, b4 being adjective 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) )
proof end;

theorem Th27: :: ABCMIZ_0:27
for b1 being reflexive transitive antisymmetric with_suprema adj-structured TA-structure
for b2 being Subset of the adjectives of b1
for b3 being type of b1 st b2 is_applicable_to b3 holds
(types b2) /\ (downarrow b3) is Ideal of b1
proof end;

definition
let c1 be non empty reflexive transitive TA-structure ;
let c2 be type of c1;
let c3 be Subset of the adjectives of c1;
func c3 ast c2 -> type of a1 equals :: ABCMIZ_0:def 18
sup ((types a3) /\ (downarrow a2));
coherence
sup ((types c3) /\ (downarrow c2)) is type of c1
;
end;

:: deftheorem Def18 defines ast ABCMIZ_0:def 18 :
for b1 being non empty reflexive transitive TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 holds b3 ast b2 = sup ((types b3) /\ (downarrow b2));

theorem Th28: :: ABCMIZ_0:28
for b1 being non empty reflexive transitive antisymmetric TA-structure
for b2 being type of b1 holds ({} the adjectives of b1) ast b2 = b2
proof end;

definition
let c1 be non empty reflexive transitive non void TA-structure ;
let c2 be type of c1;
let c3 be FinSequence of the adjectives of c1;
func apply c3,c2 -> FinSequence of the carrier of a1 means :Def19: :: ABCMIZ_0:def 19
( len a4 = (len a3) + 1 & a4 . 1 = a2 & ( for b1 being Nat
for b2 being adjective of a1
for b3 being type of a1 st b1 in dom a3 & b2 = a3 . b1 & b3 = a4 . b1 holds
a4 . (b1 + 1) = b2 ast b3 ) );
existence
ex b1 being FinSequence of the carrier of c1 st
( len b1 = (len c3) + 1 & b1 . 1 = c2 & ( for b2 being Nat
for b3 being adjective of c1
for b4 being type of c1 st b2 in dom c3 & b3 = c3 . b2 & b4 = b1 . b2 holds
b1 . (b2 + 1) = b3 ast b4 ) )
proof end;
correctness
uniqueness
for b1, b2 being FinSequence of the carrier of c1 st len b1 = (len c3) + 1 & b1 . 1 = c2 & ( for b3 being Nat
for b4 being adjective of c1
for b5 being type of c1 st b3 in dom c3 & b4 = c3 . b3 & b5 = b1 . b3 holds
b1 . (b3 + 1) = b4 ast b5 ) & len b2 = (len c3) + 1 & b2 . 1 = c2 & ( for b3 being Nat
for b4 being adjective of c1
for b5 being type of c1 st b3 in dom c3 & b4 = c3 . b3 & b5 = b2 . b3 holds
b2 . (b3 + 1) = b4 ast b5 ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def19 defines apply ABCMIZ_0:def 19 :
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type 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 Nat
for b6 being adjective of b1
for b7 being type of b1 st b5 in dom b3 & b6 = b3 . b5 & b7 = b4 . b5 holds
b4 . (b5 + 1) = b6 ast b7 ) ) );

registration
let c1 be non empty reflexive transitive non void TA-structure ;
let c2 be type of c1;
let c3 be FinSequence of the adjectives of c1;
cluster apply a3,a2 -> non empty ;
coherence
not apply c3,c2 is empty
proof end;
end;

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

theorem Th30: :: ABCMIZ_0:30
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type of b1
for b3 being adjective of b1 holds apply <*b3*>,b2 = <*b2,(b3 ast b2)*>
proof end;

definition
let c1 be non empty reflexive transitive non void TA-structure ;
let c2 be type of c1;
let c3 be FinSequence of the adjectives of c1;
func c3 ast c2 -> type of a1 equals :: ABCMIZ_0:def 20
(apply a3,a2) . ((len a3) + 1);
coherence
(apply c3,c2) . ((len c3) + 1) is type of c1
proof end;
end;

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

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

theorem Th32: :: ABCMIZ_0:32
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type of b1
for b3 being adjective of b1 holds <*b3*> ast b2 = b3 ast b2
proof end;

theorem Th33: :: ABCMIZ_0:33
for b1, b2 being FinSequence
for b3 being natural number st b3 >= 1 & b3 < len b1 holds
(b1 $^ b2) . b3 = b1 . b3
proof end;

theorem Th34: :: ABCMIZ_0:34
for b1 being non empty FinSequence
for b2 being FinSequence
for b3 being natural number st b3 < len b2 holds
(b1 $^ b2) . ((len b1) + b3) = b2 . (b3 + 1)
proof end;

theorem Th35: :: ABCMIZ_0:35
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type 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))
proof end;

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

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

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

definition
let c1 be non empty reflexive transitive non void TA-structure ;
let c2 be type of c1;
let c3 be FinSequence of the adjectives of c1;
pred c3 is_applicable_to c2 means :Def21: :: ABCMIZ_0:def 21
for b1 being natural number
for b2 being adjective of a1
for b3 being type of a1 st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply a3,a2) . b1 holds
b2 is_applicable_to b3;
end;

:: deftheorem Def21 defines is_applicable_to ABCMIZ_0:def 21 :
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type of b1
for b3 being FinSequence of the adjectives of b1 holds
( b3 is_applicable_to b2 iff for b4 being natural number
for b5 being adjective of b1
for b6 being type of b1 st b4 in dom b3 & b5 = b3 . b4 & b6 = (apply b3,b2) . b4 holds
b5 is_applicable_to b6 );

theorem Th39: :: ABCMIZ_0:39
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type of b1 holds <*> the adjectives of b1 is_applicable_to b2
proof end;

theorem Th40: :: ABCMIZ_0:40
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type of b1
for b3 being adjective of b1 holds
( b3 is_applicable_to b2 iff <*b3*> is_applicable_to b2 )
proof end;

theorem Th41: :: ABCMIZ_0:41
for b1 being non empty reflexive transitive non void TA-structure
for b2 being type 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 )
proof end;

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

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

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

theorem Th45: :: ABCMIZ_0:45
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being type 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)
proof end;

theorem Th46: :: ABCMIZ_0:46
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being type of b1
for b3 being FinSequence of the adjectives of b1 st b3 is_applicable_to b2 holds
for b4 being Subset of the adjectives of b1 st b4 = rng b3 holds
b4 is_applicable_to b2
proof end;

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

theorem Th48: :: ABCMIZ_0:48
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being type 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
proof end;

theorem Th49: :: ABCMIZ_0:49
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being type 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
proof end;

theorem Th50: :: ABCMIZ_0:50
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 is_applicable_to b2 holds
b3 ast b2 <= b2
proof end;

theorem Th51: :: ABCMIZ_0:51
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 is_applicable_to b2 holds
b3 c= adjs (b3 ast b2)
proof end;

theorem Th52: :: ABCMIZ_0:52
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 is_applicable_to b2 holds
b3 ast b2 in types b3
proof end;

theorem Th53: :: ABCMIZ_0:53
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1
for b4 being type of b1 st b4 <= b2 & b3 c= adjs b4 holds
( b3 is_applicable_to b2 & b4 <= b3 ast b2 )
proof end;

theorem Th54: :: ABCMIZ_0:54
for b1 being reflexive transitive antisymmetric with_suprema Noetherian adj-structured TA-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 c= adjs b2 holds
( b3 is_applicable_to b2 & b3 ast b2 = b2 )
proof end;

theorem Th55: :: ABCMIZ_0:55
for b1 being TA-structure
for b2 being type of b1
for b3, b4 being Subset of the adjectives of b1 st b3 is_applicable_to b2 & b4 c= b3 holds
b4 is_applicable_to b2
proof end;

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

theorem Th57: :: ABCMIZ_0:57
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TA-structure
for b2 being type of b1
for b3 being FinSequence of the adjectives of b1 st b3 is_applicable_to b2 holds
for b4 being Subset of the adjectives of b1 st b4 = rng b3 holds
b3 ast b2 = b4 ast b2
proof end;

definition
let c1 be non empty non void TA-structure ;
func sub c1 -> Function of the adjectives of a1,the carrier of a1 means :Def22: :: ABCMIZ_0:def 22
for b1 being adjective of a1 holds a2 . b1 = sup ((types b1) \/ (types (non- b1)));
existence
ex b1 being Function of the adjectives of c1,the carrier of c1 st
for b2 being adjective of c1 holds b1 . b2 = sup ((types b2) \/ (types (non- b2)))
proof end;
uniqueness
for b1, b2 being Function of the adjectives of c1,the carrier of c1 st ( for b3 being adjective of c1 holds b1 . b3 = sup ((types b3) \/ (types (non- b3))) ) & ( for b3 being adjective of c1 holds b2 . b3 = sup ((types b3) \/ (types (non- b3))) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def22 defines sub ABCMIZ_0:def 22 :
for b1 being non empty non void TA-structure
for b2 being Function of the adjectives of b1,the carrier of b1 holds
( b2 = sub b1 iff for b3 being adjective of b1 holds b2 . b3 = sup ((types b3) \/ (types (non- b3))) );

definition
attr a1 is strict;
struct TAS-structure -> TA-structure ;
aggr TAS-structure(# carrier, adjectives, InternalRel, non-op, adj-map, sub-map #) -> TAS-structure ;
sel sub-map c1 -> Function of the adjectives of a1,the carrier of a1;
end;

registration
cluster non empty trivial reflexive complete Noetherian Mizar-widening-like non void strict TAS-structure ;
existence
ex b1 being TAS-structure st
( not b1 is void & b1 is reflexive & b1 is trivial & not b1 is empty & b1 is strict )
proof end;
end;

definition
let c1 be non empty non void TAS-structure ;
let c2 be adjective of c1;
func sub c2 -> type of a1 equals :: ABCMIZ_0:def 23
the sub-map of a1 . a2;
coherence
the sub-map of c1 . c2 is type of c1
;
end;

:: deftheorem Def23 defines sub ABCMIZ_0:def 23 :
for b1 being non empty non void TAS-structure
for b2 being adjective of b1 holds sub b2 = the sub-map of b1 . b2;

definition
let c1 be non empty non void TAS-structure ;
attr a1 is non-absorbing means :: ABCMIZ_0:def 24
the sub-map of a1 * the non-op of a1 = the sub-map of a1;
attr a1 is subjected means :: ABCMIZ_0:def 25
for b1 being adjective of a1 holds
( (types b1) \/ (types (non- b1)) is_<=_than sub b1 & ( types b1 <> {} & types (non- b1) <> {} implies sub b1 = sup ((types b1) \/ (types (non- b1))) ) );
end;

:: deftheorem Def24 defines non-absorbing ABCMIZ_0:def 24 :
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 );

:: deftheorem Def25 defines subjected ABCMIZ_0:def 25 :
for b1 being non empty non void TAS-structure holds
( b1 is subjected iff for b2 being adjective of b1 holds
( (types b2) \/ (types (non- b2)) is_<=_than sub b2 & ( types b2 <> {} & types (non- b2) <> {} implies sub b2 = sup ((types b2) \/ (types (non- b2))) ) ) );

definition
let c1 be non empty non void TAS-structure ;
redefine attr a1 is non-absorbing means :: ABCMIZ_0:def 26
for b1 being adjective of a1 holds sub (non- b1) = sub b1;
compatibility
( c1 is non-absorbing iff for b1 being adjective of c1 holds sub (non- b1) = sub b1 )
proof end;
end;

:: deftheorem Def26 defines non-absorbing ABCMIZ_0:def 26 :
for b1 being non empty non void TAS-structure holds
( b1 is non-absorbing iff for b2 being adjective of b1 holds sub (non- b2) = sub b2 );

definition
let c1 be non empty non void TAS-structure ;
let c2 be Element of c1;
let c3 be adjective of c1;
pred c3 is_properly_applicable_to c2 means :Def27: :: ABCMIZ_0:def 27
( a2 <= sub a3 & a3 is_applicable_to a2 );
end;

:: deftheorem Def27 defines is_properly_applicable_to ABCMIZ_0:def 27 :
for b1 being non empty non void TAS-structure
for b2 being Element of b1
for b3 being adjective of b1 holds
( b3 is_properly_applicable_to b2 iff ( b2 <= sub b3 & b3 is_applicable_to b2 ) );

definition
let c1 be non empty reflexive transitive non void TAS-structure ;
let c2 be type of c1;
let c3 be FinSequence of the adjectives of c1;
pred c3 is_properly_applicable_to c2 means :Def28: :: ABCMIZ_0:def 28
for b1 being natural number
for b2 being adjective of a1
for b3 being type of a1 st b1 in dom a3 & b2 = a3 . b1 & b3 = (apply a3,a2) . b1 holds
b2 is_properly_applicable_to b3;
end;

:: deftheorem Def28 defines is_properly_applicable_to ABCMIZ_0:def 28 :
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being FinSequence of the adjectives of b1 holds
( b3 is_properly_applicable_to b2 iff for b4 being natural number
for b5 being adjective of b1
for b6 being type of b1 st b4 in dom b3 & b5 = b3 . b4 & b6 = (apply b3,b2) . b4 holds
b5 is_properly_applicable_to b6 );

theorem Th58: :: ABCMIZ_0:58
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being FinSequence of the adjectives of b1 st b3 is_properly_applicable_to b2 holds
b3 is_applicable_to b2
proof end;

theorem Th59: :: ABCMIZ_0:59
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1 holds <*> the adjectives of b1 is_properly_applicable_to b2
proof end;

theorem Th60: :: ABCMIZ_0:60
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being adjective of b1 holds
( b3 is_properly_applicable_to b2 iff <*b3*> is_properly_applicable_to b2 )
proof end;

theorem Th61: :: ABCMIZ_0:61
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type 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 )
proof end;

theorem Th62: :: ABCMIZ_0:62
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type 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
proof end;

definition
let c1 be non empty reflexive transitive non void TAS-structure ;
let c2 be type of c1;
let c3 be Subset of the adjectives of c1;
pred c3 is_properly_applicable_to c2 means :Def29: :: ABCMIZ_0:def 29
ex b1 being FinSequence of the adjectives of a1 st
( rng b1 = a3 & b1 is_properly_applicable_to a2 );
end;

:: deftheorem Def29 defines is_properly_applicable_to ABCMIZ_0:def 29 :
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being Subset of 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 ) );

theorem Th63: :: ABCMIZ_0:63
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 is_properly_applicable_to b2 holds
b3 is finite
proof end;

theorem Th64: :: ABCMIZ_0:64
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1 holds {} the adjectives of b1 is_properly_applicable_to b2
proof end;

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

theorem Th65: :: ABCMIZ_0:65
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being type of b1
for b3 being Subset of the adjectives of b1 st b3 is_properly_applicable_to b2 holds
ex b4 being Subset of the adjectives of b1 st
( b4 c= b3 & b4 is_properly_applicable_to b2 & b3 ast b2 = b4 ast b2 & ( for b5 being Subset of the adjectives of b1 st b5 c= b4 & b5 is_properly_applicable_to b2 & b3 ast b2 = b5 ast b2 holds
b5 = b4 ) )
proof end;

definition
let c1 be non empty reflexive transitive non void TAS-structure ;
attr a1 is commutative means :Def30: :: ABCMIZ_0:def 30
for b1, b2 being type of a1
for b3 being adjective of a1 st b3 is_properly_applicable_to b1 & b3 ast b1 <= b2 holds
ex b4 being finite Subset of the adjectives of a1 st
( b4 is_properly_applicable_to b1 "\/" b2 & b4 ast (b1 "\/" b2) = b2 );
end;

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

registration
cluster non empty trivial reflexive transitive antisymmetric complete upper-bounded Noetherian Mizar-widening-like non void involutive without_fixpoints consistent adj-structured adjs-typed strict non-absorbing subjected commutative TAS-structure ;
existence
ex b1 being non empty trivial reflexive transitive antisymmetric complete upper-bounded non void strict TAS-structure st
( b1 is Mizar-widening-like & b1 is involutive & b1 is without_fixpoints & b1 is consistent & b1 is adj-structured & b1 is adjs-typed & b1 is non-absorbing & b1 is subjected & b1 is commutative )
proof end;
end;

theorem Th66: :: ABCMIZ_0:66
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being type of b1
for b3 being Subset of 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 )
proof end;

definition
let c1 be non empty reflexive transitive non void TAS-structure ;
func c1 @--> -> Relation of a1 means :Def31: :: ABCMIZ_0:def 31
for b1, b2 being type of a1 holds
( [b1,b2] in a2 iff ex b3 being adjective of a1 st
( not b3 in adjs b2 & b3 is_properly_applicable_to b2 & b3 ast b2 = b1 ) );
existence
ex b1 being Relation of c1 st
for b2, b3 being type of c1 holds
( [b2,b3] in b1 iff ex b4 being adjective of c1 st
( not b4 in adjs b3 & b4 is_properly_applicable_to b3 & b4 ast b3 = b2 ) )
proof end;
uniqueness
for b1, b2 being Relation of c1 st ( for b3, b4 being type of c1 holds
( [b3,b4] in b1 iff ex b5 being adjective of c1 st
( not b5 in adjs b4 & b5 is_properly_applicable_to b4 & b5 ast b4 = b3 ) ) ) & ( for b3, b4 being type of c1 holds
( [b3,b4] in b2 iff ex b5 being adjective of c1 st
( not b5 in adjs b4 & b5 is_properly_applicable_to b4 & b5 ast b4 = b3 ) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def31 defines @--> ABCMIZ_0:def 31 :
for b1 being non empty reflexive transitive non void TAS-structure
for b2 being Relation of b1 holds
( b2 = b1 @--> iff for b3, b4 being type of b1 holds
( [b3,b4] in b2 iff ex b5 being adjective of b1 st
( not b5 in adjs b4 & b5 is_properly_applicable_to b4 & b5 ast b4 = b3 ) ) );

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

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

theorem Th68: :: ABCMIZ_0:68
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2, b3 being type of b1 st b1 @--> reduces b2,b3 holds
b2 <= b3
proof end;

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

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

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

theorem Th72: :: ABCMIZ_0:72
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being type of b1
for b3 being finite Subset of the adjectives of b1 st ( for b4 being Subset of the adjectives of b1 st b4 c= b3 & b4 is_properly_applicable_to b2 & b3 ast b2 = b4 ast b2 holds
b4 = b3 ) holds
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 @-->
proof end;

theorem Th73: :: ABCMIZ_0:73
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2 being type of b1
for b3 being finite Subset of the adjectives of b1 st b3 is_properly_applicable_to b2 holds
b1 @--> reduces b3 ast b2,b2
proof end;

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

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

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

theorem Th77: :: ABCMIZ_0:77
for b1 being reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured TAS-structure
for b2, b3 being type of b1 st b1 @--> reduces b2,b3 holds
ex b4 being finite Subset of the adjectives of b1 st
( b4 is_properly_applicable_to b3 & b2 = b4 ast b3 )
proof end;

theorem Th78: :: ABCMIZ_0:78
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 )
proof end;

definition
let c1 be non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure ;
let c2 be type of c1;
func radix c2 -> type of a1 equals :: ABCMIZ_0:def 32
nf a2,(a1 @--> );
coherence
nf c2,(c1 @--> ) is type of c1
proof end;
end;

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

theorem Th79: :: ABCMIZ_0:79
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being type of b1 holds b1 @--> reduces b2, radix b2
proof end;

theorem Th80: :: ABCMIZ_0:80
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being type of b1 holds b2 <= radix b2
proof end;

theorem Th81: :: ABCMIZ_0:81
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being type of b1
for b3 being set st b3 = { b4 where B is type of b1 : ex b1 being finite Subset of 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 )
proof end;

theorem Th82: :: ABCMIZ_0:82
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2, b3 being type of b1
for b4 being adjective of b1 st b4 is_properly_applicable_to b2 & b4 ast b2 <= radix b3 holds
b2 <= radix b3
proof end;

theorem Th83: :: ABCMIZ_0:83
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2, b3 being type of b1 st b2 <= b3 holds
radix b2 <= radix b3
proof end;

theorem Th84: :: ABCMIZ_0:84
for b1 being non empty reflexive transitive antisymmetric with_suprema Noetherian non void adj-structured commutative TAS-structure
for b2 being type of b1
for b3 being adjective of b1 st b3 is_properly_applicable_to b2 holds
radix (b3 ast b2) = radix b2
proof end;