Article ENDALG, MML version 4.99.1005
:: ENDALG:funcnot 1 => ENDALG:func 1
definition
let a1 be non empty partial quasi_total non-empty UAStr;
func UAEnd A1 -> FUNCTION_DOMAIN of the carrier of a1,the carrier of a1 means
for b1 being Function-like quasi_total Relation of the carrier of a1,the carrier of a1 holds
b1 in it
iff
b1 is_homomorphism a1,a1;
end;
:: ENDALG:def 1
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being FUNCTION_DOMAIN of the carrier of b1,the carrier of b1 holds
b2 = UAEnd b1
iff
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b1 holds
b3 in b2
iff
b3 is_homomorphism b1,b1;
:: ENDALG:th 1
theorem
for b1 being non empty partial quasi_total non-empty UAStr holds
UAEnd b1 c= Funcs(the carrier of b1,the carrier of b1);
:: ENDALG:th 3
theorem
for b1 being non empty partial quasi_total non-empty UAStr holds
id the carrier of b1 in UAEnd b1;
:: ENDALG:th 4
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2, b3 being Element of UAEnd b1 holds
b2 * b3 in UAEnd b1;
:: ENDALG:funcnot 2 => ENDALG:func 2
definition
let a1 be non empty partial quasi_total non-empty UAStr;
func UAEndComp A1 -> Function-like quasi_total Relation of [:UAEnd a1,UAEnd a1:],UAEnd a1 means
for b1, b2 being Element of UAEnd a1 holds
it .(b1,b2) = b2 * b1;
end;
:: ENDALG:def 2
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being Function-like quasi_total Relation of [:UAEnd b1,UAEnd b1:],UAEnd b1 holds
b2 = UAEndComp b1
iff
for b3, b4 being Element of UAEnd b1 holds
b2 .(b3,b4) = b4 * b3;
:: ENDALG:funcnot 3 => ENDALG:func 3
definition
let a1 be non empty partial quasi_total non-empty UAStr;
func UAEndMonoid A1 -> strict multLoopStr means
the carrier of it = UAEnd a1 & the multF of it = UAEndComp a1 & 1. it = id the carrier of a1;
end;
:: ENDALG:def 3
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being strict multLoopStr holds
b2 = UAEndMonoid b1
iff
the carrier of b2 = UAEnd b1 & the multF of b2 = UAEndComp b1 & 1. b2 = id the carrier of b1;
:: ENDALG:funcreg 1
registration
let a1 be non empty partial quasi_total non-empty UAStr;
cluster UAEndMonoid a1 -> non empty strict;
end;
:: ENDALG:funcreg 2
registration
let a1 be non empty partial quasi_total non-empty UAStr;
cluster UAEndMonoid a1 -> strict associative well-unital;
end;
:: ENDALG:th 5
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2, b3 being Element of the carrier of UAEndMonoid b1
for b4, b5 being Element of UAEnd b1
st b2 = b4 & b3 = b5
holds b2 * b3 = b5 * b4;
:: ENDALG:th 6
theorem
for b1 being non empty partial quasi_total non-empty UAStr holds
id the carrier of b1 = 1_ UAEndMonoid b1;
:: ENDALG:funcnot 4 => ENDALG:func 4
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
func MSAEnd A2 -> MSFunctionSet of the Sorts of a2,the Sorts of a2 means
(for b1 being Element of it holds
b1 is ManySortedFunction of the Sorts of a2,the Sorts of a2) &
(for b1 being ManySortedFunction of the Sorts of a2,the Sorts of a2 holds
b1 in it
iff
b1 is_homomorphism a2,a2);
end;
:: ENDALG:def 4
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSFunctionSet of the Sorts of b2,the Sorts of b2 holds
b3 = MSAEnd b2
iff
(for b4 being Element of b3 holds
b4 is ManySortedFunction of the Sorts of b2,the Sorts of b2) &
(for b4 being ManySortedFunction of the Sorts of b2,the Sorts of b2 holds
b4 in b3
iff
b4 is_homomorphism b2,b2);
:: ENDALG:th 9
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1 holds
MSAEnd b2 c= product MSFuncs(the Sorts of b2,the Sorts of b2);
:: ENDALG:th 10
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1 holds
id the Sorts of b2 in MSAEnd b2;
:: ENDALG:th 11
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being Element of MSAEnd b2 holds
b3 ** b4 in MSAEnd b2;
:: ENDALG:th 12
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being ManySortedFunction of the Sorts of MSAlg b1,the Sorts of MSAlg b1
for b3 being Element of UAEnd b1
st b2 = {0} --> b3
holds b2 in MSAEnd MSAlg b1;
:: ENDALG:funcnot 5 => ENDALG:func 5
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
func MSAEndComp A2 -> Function-like quasi_total Relation of [:MSAEnd a2,MSAEnd a2:],MSAEnd a2 means
for b1, b2 being Element of MSAEnd a2 holds
it .(b1,b2) = b2 ** b1;
end;
:: ENDALG:def 5
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Function-like quasi_total Relation of [:MSAEnd b2,MSAEnd b2:],MSAEnd b2 holds
b3 = MSAEndComp b2
iff
for b4, b5 being Element of MSAEnd b2 holds
b3 .(b4,b5) = b5 ** b4;
:: ENDALG:funcnot 6 => ENDALG:func 6
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
func MSAEndMonoid A2 -> strict multLoopStr means
the carrier of it = MSAEnd a2 & the multF of it = MSAEndComp a2 & 1. it = id the Sorts of a2;
end;
:: ENDALG:def 6
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being strict multLoopStr holds
b3 = MSAEndMonoid b2
iff
the carrier of b3 = MSAEnd b2 & the multF of b3 = MSAEndComp b2 & 1. b3 = id the Sorts of b2;
:: ENDALG:funcreg 3
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
cluster MSAEndMonoid a2 -> non empty strict;
end;
:: ENDALG:funcreg 4
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
cluster MSAEndMonoid a2 -> strict associative well-unital;
end;
:: ENDALG:th 13
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being Element of the carrier of MSAEndMonoid b2
for b5, b6 being Element of MSAEnd b2
st b3 = b5 & b4 = b6
holds b3 * b4 = b6 ** b5;
:: ENDALG:th 14
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1 holds
id the Sorts of b2 = 1_ MSAEndMonoid b2;
:: ENDALG:th 16
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being Element of UAEnd b1 holds
{0} --> b2 is ManySortedFunction of the Sorts of MSAlg b1,the Sorts of MSAlg b1;
:: ENDALG:exreg 1
registration
cluster non empty left_unital multLoopStr;
end;
:: ENDALG:exreg 2
registration
let a1, a2 be non empty well-unital multLoopStr;
cluster Relation-like Function-like non empty quasi_total unity-preserving multiplicative total Relation of the carrier of a1,the carrier of a2;
end;
:: ENDALG:modenot 1
definition
let a1, a2 be non empty well-unital multLoopStr;
mode Homomorphism of a1,a2 is Function-like quasi_total unity-preserving multiplicative Relation of the carrier of a1,the carrier of a2;
end;
:: ENDALG:prednot 1 => ENDALG:pred 1
definition
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
pred A3 is_monomorphism means
a3 is one-to-one;
end;
:: ENDALG:dfs 7
definiens
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is_monomorphism
it is sufficient to prove
thus a3 is one-to-one;
:: ENDALG:def 9
theorem
for b1, b2 being non empty left_unital multLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is_monomorphism
iff
b3 is one-to-one;
:: ENDALG:prednot 2 => ENDALG:pred 2
definition
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
pred A3 is_epimorphism means
proj2 a3 = the carrier of a2;
end;
:: ENDALG:dfs 8
definiens
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is_epimorphism
it is sufficient to prove
thus proj2 a3 = the carrier of a2;
:: ENDALG:def 10
theorem
for b1, b2 being non empty left_unital multLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is_epimorphism
iff
proj2 b3 = the carrier of b2;
:: ENDALG:prednot 3 => ENDALG:pred 3
definition
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
pred A3 is_isomorphism means
a3 is_epimorphism & a3 is_monomorphism;
end;
:: ENDALG:dfs 9
definiens
let a1, a2 be non empty left_unital multLoopStr;
let a3 be Function-like quasi_total Relation of the carrier of a1,the carrier of a2;
To prove
a3 is_isomorphism
it is sufficient to prove
thus a3 is_epimorphism & a3 is_monomorphism;
:: ENDALG:def 11
theorem
for b1, b2 being non empty left_unital multLoopStr
for b3 being Function-like quasi_total Relation of the carrier of b1,the carrier of b2 holds
b3 is_isomorphism
iff
b3 is_epimorphism & b3 is_monomorphism;
:: ENDALG:th 17
theorem
for b1 being non empty well-unital multLoopStr holds
id the carrier of b1 is Function-like quasi_total unity-preserving multiplicative Relation of the carrier of b1,the carrier of b1;
:: ENDALG:prednot 4 => ENDALG:pred 4
definition
let a1, a2 be non empty well-unital multLoopStr;
pred A1,A2 are_isomorphic means
ex b1 being Function-like quasi_total unity-preserving multiplicative Relation of the carrier of a1,the carrier of a2 st
b1 is_isomorphism;
reflexivity;
:: for a1 being non empty well-unital multLoopStr holds
:: a1,a1 are_isomorphic;
end;
:: ENDALG:dfs 10
definiens
let a1, a2 be non empty well-unital multLoopStr;
To prove
a1,a2 are_isomorphic
it is sufficient to prove
thus ex b1 being Function-like quasi_total unity-preserving multiplicative Relation of the carrier of a1,the carrier of a2 st
b1 is_isomorphism;
:: ENDALG:def 12
theorem
for b1, b2 being non empty well-unital multLoopStr holds
b1,b2 are_isomorphic
iff
ex b3 being Function-like quasi_total unity-preserving multiplicative Relation of the carrier of b1,the carrier of b2 st
b3 is_isomorphism;
:: ENDALG:th 18
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being Relation-like Function-like set
st proj1 b2 = UAEnd b1 &
(for b3 being set
st b3 in UAEnd b1
holds b2 . b3 = {0} --> b3)
holds b2 is Function-like quasi_total unity-preserving multiplicative Relation of the carrier of UAEndMonoid b1,the carrier of MSAEndMonoid MSAlg b1;
:: ENDALG:th 19
theorem
for b1 being non empty partial quasi_total non-empty UAStr
for b2 being Function-like quasi_total unity-preserving multiplicative Relation of the carrier of UAEndMonoid b1,the carrier of MSAEndMonoid MSAlg b1
st for b3 being set
st b3 in UAEnd b1
holds b2 . b3 = {0} --> b3
holds b2 is_isomorphism;
:: ENDALG:th 20
theorem
for b1 being non empty partial quasi_total non-empty UAStr holds
UAEndMonoid b1,MSAEndMonoid MSAlg b1 are_isomorphic;