Article MSUALG_9, MML version 4.99.1005
:: MSUALG_9:sch 1
scheme MSUALG_9:sch 1
{F1 -> non empty set}:
ex b1 being ManySortedSet of F1() st
for b2 being Element of F1() holds
P1[b2, b1 . b2]
provided
for b1 being Element of F1() holds
ex b2 being set st
P1[b1, b2];
:: MSUALG_9:exreg 1
registration
let a1 be set;
let a2 be ManySortedSet of a1;
cluster Relation-like Function-like finite-yielding Element of Bool a2;
end;
:: MSUALG_9:exreg 2
registration
let a1 be set;
let a2 be non-empty ManySortedSet of a1;
cluster Relation-like non-empty Function-like finite-yielding ManySortedSubset of a2;
end;
:: MSUALG_9:condreg 1
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be Element of the OperSymbols of a1;
cluster -> FinSequence-like (Element of Args(a3,a2));
end;
:: MSUALG_9:condreg 2
registration
let a1 be non empty non void ManySortedSign;
let a2 be set;
let a3 be Element of the carrier of a1;
let a4 be MSAlgebra-Family of a2,a1;
cluster -> Relation-like Function-like (Element of (SORTS a4) . a3);
end;
:: MSUALG_9:funcreg 1
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
cluster FreeGen a2 -> non-empty free;
end;
:: MSUALG_9:funcreg 2
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
cluster FreeMSA a2 -> free;
end;
:: MSUALG_9:funcreg 3
registration
let a1 be non empty non void ManySortedSign;
let a2, a3 be non-empty MSAlgebra over a1;
cluster [:a2,a3:] -> non-empty;
end;
:: MSUALG_9:th 1
theorem
for b1, b2, b3 being set
for b4 being Relation-like Function-like set
st b1 in proj1 b4 & b4 . b1 in [:b2,b3:]
holds b4 . b1 = [(pr1 b4) . b1,(pr2 b4) . b1];
:: MSUALG_9:th 2
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,{b2} holds
rng b3 = {b2};
:: MSUALG_9:th 3
theorem
for b1 being non empty finite set holds
ex b2 being Function-like quasi_total Relation of NAT,b1 st
rng b2 = b1;
:: MSUALG_9:th 4
theorem
for b1 being set holds
Class nabla b1 c= {b1};
:: MSUALG_9:th 5
theorem
for b1 being non empty set holds
Class nabla b1 = {b1};
:: MSUALG_9:th 6
theorem
for b1, b2 being set holds
ex b3 being ManySortedSet of b1 st
{b3} = b1 --> {b2};
:: MSUALG_9:th 7
theorem
for b1 being set
for b2 being ManySortedSet of b1 holds
ex b3 being non-empty ManySortedSet of b1 st
b2 c= b3;
:: MSUALG_9:th 8
theorem
for b1 being set
for b2 being non-empty ManySortedSet of b1
for b3 being finite-yielding ManySortedSubset of b2 holds
ex b4 being non-empty finite-yielding ManySortedSubset of b2 st
b3 c= b4;
:: MSUALG_9:th 9
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4, b5 being ManySortedFunction of b2,{b3} holds
b4 = b5;
:: MSUALG_9:th 10
theorem
for b1 being set
for b2 being non-empty ManySortedSet of b1
for b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b2,{b3} holds
b4 is "onto"(b1, b2, {b3});
:: MSUALG_9:th 11
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3 being non-empty ManySortedSet of b1
for b4 being ManySortedFunction of {b2},b3 holds
b4 is "1-1";
:: MSUALG_9:th 12
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1 holds
Reverse b2 is "1-1";
:: MSUALG_9:th 13
theorem
for b1 being set
for b2 being non-empty finite-yielding ManySortedSet of b1 holds
ex b3 being ManySortedFunction of b1 --> NAT,b2 st
b3 is "onto"(b1, b1 --> NAT, b2);
:: MSUALG_9:th 14
theorem
for b1 being non empty ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being Element of product the Sorts of b2
st for b5 being set holds
(proj(the Sorts of b2,b5)) . b3 = (proj(the Sorts of b2,b5)) . b4
holds b3 = b4;
:: MSUALG_9:th 15
theorem
for b1 being non empty non void ManySortedSign
for b2 being non empty set
for b3 being Element of the carrier of b1
for b4 being MSAlgebra-Family of b2,b1
for b5, b6 being Element of product Carrier(b4,b3)
st for b7 being Element of b2 holds
(proj(Carrier(b4,b3),b7)) . b5 = (proj(Carrier(b4,b3),b7)) . b6
holds b5 = b6;
:: MSUALG_9:th 16
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being non-empty MSSubAlgebra of b2
for b5 being ManySortedFunction of the Sorts of b3,the Sorts of b4
st b5 is_homomorphism b3,b4
for b6 being ManySortedFunction of the Sorts of b3,the Sorts of b2
st b5 = b6
holds b6 is_homomorphism b3,b2;
:: MSUALG_9:th 17
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being ManySortedFunction of the Sorts of b2,the Sorts of b3
st b4 is_monomorphism b2,b3
holds b2,Image b4 are_isomorphic;
:: MSUALG_9:th 18
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being ManySortedFunction of the Sorts of b2,the Sorts of b3
st b4 is "onto"(the carrier of b1, the Sorts of b2, the Sorts of b3)
for b5 being Element of the OperSymbols of b1
for b6 being Element of Args(b5,b3) holds
ex b7 being Element of Args(b5,b2) st
b4 # b7 = b6;
:: MSUALG_9:th 19
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Element of the OperSymbols of b1
for b4 being Element of Args(b3,b2) holds
(Den(b3,b2)) . b4 in (the Sorts of b2) . the_result_sort_of b3;
:: MSUALG_9:th 20
theorem
for b1 being non empty non void ManySortedSign
for b2, b3, b4 being non-empty MSAlgebra over b1
for b5 being ManySortedFunction of the Sorts of b2,the Sorts of b3
for b6 being ManySortedFunction of the Sorts of b2,the Sorts of b4
st b5 is_epimorphism b2,b3 & b6 is_homomorphism b2,b4
for b7 being ManySortedFunction of the Sorts of b3,the Sorts of b4
st b7 ** b5 = b6
holds b7 is_homomorphism b3,b4;
:: MSUALG_9:funcnot 1 => MSUALG_9:func 1
definition
let a1 be set;
let a2 be ManySortedSet of a1;
let a3, a4 be non-empty ManySortedSet of a1;
let a5 be ManySortedFunction of a2,[|a3,a4|];
func Mpr1 A5 -> ManySortedFunction of a2,a3 means
for b1 being set
st b1 in a1
holds it . b1 = pr1 (a5 . b1);
end;
:: MSUALG_9:def 1
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3, b4 being non-empty ManySortedSet of b1
for b5 being ManySortedFunction of b2,[|b3,b4|]
for b6 being ManySortedFunction of b2,b3 holds
b6 = Mpr1 b5
iff
for b7 being set
st b7 in b1
holds b6 . b7 = pr1 (b5 . b7);
:: MSUALG_9:funcnot 2 => MSUALG_9:func 2
definition
let a1 be set;
let a2 be ManySortedSet of a1;
let a3, a4 be non-empty ManySortedSet of a1;
let a5 be ManySortedFunction of a2,[|a3,a4|];
func Mpr2 A5 -> ManySortedFunction of a2,a4 means
for b1 being set
st b1 in a1
holds it . b1 = pr2 (a5 . b1);
end;
:: MSUALG_9:def 2
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3, b4 being non-empty ManySortedSet of b1
for b5 being ManySortedFunction of b2,[|b3,b4|]
for b6 being ManySortedFunction of b2,b4 holds
b6 = Mpr2 b5
iff
for b7 being set
st b7 in b1
holds b6 . b7 = pr2 (b5 . b7);
:: MSUALG_9:th 21
theorem
for b1, b2 being set
for b3 being ManySortedSet of b1
for b4 being ManySortedFunction of b3,[|b1 --> {b2},b1 --> {b2}|] holds
Mpr1 b4 = Mpr2 b4;
:: MSUALG_9:th 22
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3, b4 being non-empty ManySortedSet of b1
for b5 being ManySortedFunction of b2,[|b3,b4|]
st b5 is "onto"(b1, b2, [|b3,b4|])
holds Mpr1 b5 is "onto"(b1, b2, b3);
:: MSUALG_9:th 23
theorem
for b1 being set
for b2 being ManySortedSet of b1
for b3, b4 being non-empty ManySortedSet of b1
for b5 being ManySortedFunction of b2,[|b3,b4|]
st b5 is "onto"(b1, b2, [|b3,b4|])
holds Mpr2 b5 is "onto"(b1, b2, b4);
:: MSUALG_9:th 24
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1
for b4, b5 being non-empty ManySortedSet of b1
for b6 being ManySortedFunction of b2,[|b4,b5|]
st b3 in doms b6
for b7 being set
st b7 in b1
holds (b6 .. b3) . b7 = [((Mpr1 b6) .. b3) . b7,((Mpr2 b6) .. b3) . b7];
:: MSUALG_9:funcreg 4
registration
let a1 be non empty ManySortedSign;
cluster the Sorts of Trivial_Algebra a1 -> non-empty finite-yielding;
end;
:: MSUALG_9:funcreg 5
registration
let a1 be non empty ManySortedSign;
cluster Trivial_Algebra a1 -> strict non-empty locally-finite;
end;
:: MSUALG_9:th 25
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being ManySortedFunction of the Sorts of b2,the Sorts of Trivial_Algebra b1
for b4 being Element of the OperSymbols of b1
for b5 being Element of Args(b4,b2) holds
(b3 . the_result_sort_of b4) . ((Den(b4,b2)) . b5) = 0 &
(Den(b4,Trivial_Algebra b1)) . (b3 # b5) = 0;
:: MSUALG_9:th 26
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being ManySortedFunction of the Sorts of b2,the Sorts of Trivial_Algebra b1 holds
b3 is_epimorphism b2,Trivial_Algebra b1;
:: MSUALG_9:th 27
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
st ex b3 being ManySortedSet of the carrier of b1 st
the Sorts of b2 = {b3}
holds b2,Trivial_Algebra b1 are_isomorphic;
:: MSUALG_9:th 28
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2 holds
b3 is ManySortedSubset of [|the Sorts of b2,the Sorts of b2|];
:: MSUALG_9:th 29
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Element of bool the carrier of CongrLatt b2
for b4 being Element of bool Bool [|the Sorts of b2,the Sorts of b2|]
st b3 = b4
holds meet |:b4:| is MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2;
:: MSUALG_9:th 30
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
st b3 = [|the Sorts of b2,the Sorts of b2|]
holds the Sorts of QuotMSAlg(b2,b3) = {the Sorts of b2};
:: MSUALG_9:th 31
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being ManySortedFunction of the Sorts of b2,the Sorts of b3
st b4 is_homomorphism b2,b3
holds (MSHomQuot b4) ** MSNat_Hom(b2,MSCng b4) = b4;
:: MSUALG_9:th 32
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
for b4 being Element of the carrier of b1
for b5 being Element of (the Sorts of QuotMSAlg(b2,b3)) . b4 holds
ex b6 being Element of (the Sorts of b2) . b4 st
b5 = Class(b3,b6);
:: MSUALG_9:th 33
theorem
for b1 being non empty non void ManySortedSign
for b2 being MSAlgebra over b1
for b3, b4 being MSEquivalence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
st b3 c= b4
for b5 being Element of the carrier of b1
for b6, b7 being Element of (the Sorts of b2) . b5
st [b6,b7] in b3 . b5
holds Class(b3,b6) c= Class(b4,b7) &
(b2 is non-empty(b1) implies Class(b3,b7) c= Class(b4,b6));
:: MSUALG_9:th 34
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
for b4 being Element of the carrier of b1
for b5, b6 being Element of (the Sorts of b2) . b4 holds
((MSNat_Hom(b2,b3)) . b4) . b5 = ((MSNat_Hom(b2,b3)) . b4) . b6
iff
[b5,b6] in b3 . b4;
:: MSUALG_9:th 35
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
for b5 being ManySortedFunction of the Sorts of QuotMSAlg(b2,b3),the Sorts of QuotMSAlg(b2,b4)
st for b6 being Element of the carrier of b1
for b7 being Element of (the Sorts of QuotMSAlg(b2,b3)) . b6
for b8 being Element of (the Sorts of b2) . b6
st b7 = Class(b3,b8)
holds (b5 . b6) . b7 = Class(b4,b8)
holds b5 ** MSNat_Hom(b2,b3) = MSNat_Hom(b2,b4);
:: MSUALG_9:th 36
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3, b4 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
for b5 being ManySortedFunction of the Sorts of QuotMSAlg(b2,b3),the Sorts of QuotMSAlg(b2,b4)
st for b6 being Element of the carrier of b1
for b7 being Element of (the Sorts of QuotMSAlg(b2,b3)) . b6
for b8 being Element of (the Sorts of b2) . b6
st b7 = Class(b3,b8)
holds (b5 . b6) . b7 = Class(b4,b8)
holds b5 is_epimorphism QuotMSAlg(b2,b3),QuotMSAlg(b2,b4);
:: MSUALG_9:th 37
theorem
for b1 being non empty non void ManySortedSign
for b2, b3 being non-empty MSAlgebra over b1
for b4 being ManySortedFunction of the Sorts of b2,the Sorts of b3
st b4 is_homomorphism b2,b3
for b5 being MSEquivalence-like MSCongruence-like ManySortedRelation of the Sorts of b2,the Sorts of b2
st b5 c= MSCng b4
holds ex b6 being ManySortedFunction of the Sorts of QuotMSAlg(b2,b5),the Sorts of b3 st
b6 is_homomorphism QuotMSAlg(b2,b5),b3 & b4 = b6 ** MSNat_Hom(b2,b5);