:: MSSUBLAT semantic presentation

theorem Th1: :: MSSUBLAT:1
for b1 being set holds (*--> b1) . 0 = {}
proof end;

theorem Th2: :: MSSUBLAT:2
for b1 being set holds (*--> b1) . 1 = <*b1*>
proof end;

theorem Th3: :: MSSUBLAT:3
for b1 being set holds (*--> b1) . 2 = <*b1,b1*>
proof end;

theorem Th4: :: MSSUBLAT:4
for b1 being set holds (*--> b1) . 3 = <*b1,b1,b1*>
proof end;

theorem Th5: :: MSSUBLAT:5
for b1 being Nat
for b2 being FinSequence of {0} holds
( b2 = b1 |-> 0 iff len b2 = b1 )
proof end;

theorem Th6: :: MSSUBLAT:6
for b1 being Nat
for b2 being FinSequence st b2 = (*--> 0) . b1 holds
len b2 = b1
proof end;

theorem Th7: :: MSSUBLAT:7
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
MSSign b1 = MSSign b2
proof end;

registration
let c1 be Universal_Algebra;
cluster the charact of a1 -> Function-yielding ;
coherence
the charact of c1 is Function-yielding
proof end;
end;

theorem Th8: :: MSSUBLAT:8
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
for b3 being MSSubset of (MSAlg b2) st b3 = the Sorts of (MSAlg b1) holds
for b4 being OperSymbol of (MSSign b2)
for b5 being OperSymbol of (MSSign b1) st b5 = b4 holds
Den b5,(MSAlg b1) = (Den b4,(MSAlg b2)) | (Args b5,(MSAlg b1))
proof end;

theorem Th9: :: MSSUBLAT:9
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
the Sorts of (MSAlg b1) is MSSubset of (MSAlg b2)
proof end;

theorem Th10: :: MSSUBLAT:10
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
for b3 being MSSubset of (MSAlg b2) st b3 = the Sorts of (MSAlg b1) holds
b3 is opers_closed
proof end;

theorem Th11: :: MSSUBLAT:11
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
for b3 being MSSubset of (MSAlg b2) st b3 = the Sorts of (MSAlg b1) holds
the Charact of (MSAlg b1) = Opers (MSAlg b2),b3
proof end;

theorem Th12: :: MSSUBLAT:12
for b1, b2 being Universal_Algebra st b1 is SubAlgebra of b2 holds
MSAlg b1 is MSSubAlgebra of MSAlg b2
proof end;

theorem Th13: :: MSSUBLAT:13
for b1, b2 being Universal_Algebra st MSAlg b1 is MSSubAlgebra of MSAlg b2 holds
the carrier of b1 is Subset of b2
proof end;

theorem Th14: :: MSSUBLAT:14
for b1, b2 being Universal_Algebra st MSAlg b1 is MSSubAlgebra of MSAlg b2 holds
for b3 being non empty Subset of b2 st b3 = the carrier of b1 holds
b3 is opers_closed
proof end;

theorem Th15: :: MSSUBLAT:15
for b1, b2 being Universal_Algebra st MSAlg b1 is MSSubAlgebra of MSAlg b2 holds
for b3 being non empty Subset of b2 st b3 = the carrier of b1 holds
the charact of b1 = Opers b2,b3
proof end;

theorem Th16: :: MSSUBLAT:16
for b1, b2 being Universal_Algebra st MSAlg b1 is MSSubAlgebra of MSAlg b2 holds
b1 is SubAlgebra of b2
proof end;

theorem Th17: :: MSSUBLAT:17
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1
for b3 being non-empty MSSubAlgebra of b2 holds the carrier of (1-Alg b3) is Subset of (1-Alg b2)
proof end;

theorem Th18: :: MSSUBLAT:18
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1
for b3 being non-empty MSSubAlgebra of b2
for b4 being non empty Subset of (1-Alg b2) st b4 = the carrier of (1-Alg b3) holds
b4 is opers_closed
proof end;

theorem Th19: :: MSSUBLAT:19
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1
for b3 being non-empty MSSubAlgebra of b2
for b4 being non empty Subset of (1-Alg b2) st b4 = the carrier of (1-Alg b3) holds
the charact of (1-Alg b3) = Opers (1-Alg b2),b4
proof end;

theorem Th20: :: MSSUBLAT:20
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1
for b3 being non-empty MSSubAlgebra of b2 holds 1-Alg b3 is SubAlgebra of 1-Alg b2
proof end;

theorem Th21: :: MSSUBLAT:21
for b1 being non empty non void ManySortedSign
for b2, b3 being MSAlgebra of b1 holds
( b2 is MSSubAlgebra of b3 iff b2 is MSSubAlgebra of MSAlgebra(# the Sorts of b3,the Charact of b3 #) )
proof end;

theorem Th22: :: MSSUBLAT:22
for b1, b2 being Universal_Algebra holds
( signature b1 = signature b2 iff MSSign b1 = MSSign b2 )
proof end;

theorem Th23: :: MSSUBLAT:23
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1 st the carrier of b1 = {0} holds
MSSign (1-Alg b2) = ManySortedSign(# the carrier of b1,the OperSymbols of b1,the Arity of b1,the ResultSort of b1 #)
proof end;

theorem Th24: :: MSSUBLAT:24
for b1 being non empty trivial non void segmental ManySortedSign
for b2, b3 being non-empty MSAlgebra of b1 st the carrier of b1 = {0} & 1-Alg b2 = 1-Alg b3 holds
MSAlgebra(# the Sorts of b2,the Charact of b2 #) = MSAlgebra(# the Sorts of b3,the Charact of b3 #)
proof end;

theorem Th25: :: MSSUBLAT:25
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1 st the carrier of b1 = {0} holds
the Sorts of b2 = the Sorts of (MSAlg (1-Alg b2))
proof end;

theorem Th26: :: MSSUBLAT:26
for b1 being non empty trivial non void segmental ManySortedSign
for b2 being non-empty MSAlgebra of b1 st the carrier of b1 = {0} holds
MSAlg (1-Alg b2) = MSAlgebra(# the Sorts of b2,the Charact of b2 #)
proof end;

theorem Th27: :: MSSUBLAT:27
for b1 being Universal_Algebra
for b2 being strict non-empty MSSubAlgebra of MSAlg b1 st the carrier of (MSSign b1) = {0} holds
1-Alg b2 is SubAlgebra of b1
proof end;

theorem Th28: :: MSSUBLAT:28
for b1 being Universal_Algebra
for b2, b3 being strict non-empty SubAlgebra of b1
for b4, b5 being strict non-empty MSSubAlgebra of MSAlg b1 st b4 = MSAlg b2 & b5 = MSAlg b3 holds
the Sorts of b4 \/ the Sorts of b5 = 0 .--> (the carrier of b2 \/ the carrier of b3)
proof end;

theorem Th29: :: MSSUBLAT:29
for b1 being Universal_Algebra
for b2, b3 being strict non-empty SubAlgebra of b1
for b4, b5 being strict non-empty MSSubAlgebra of MSAlg b1 st b4 = MSAlg b2 & b5 = MSAlg b3 holds
the Sorts of b4 /\ the Sorts of b5 = 0 .--> (the carrier of b2 /\ the carrier of b3)
proof end;

theorem Th30: :: MSSUBLAT:30
for b1 being strict Universal_Algebra
for b2, b3 being strict non-empty SubAlgebra of b1
for b4, b5 being strict non-empty MSSubAlgebra of MSAlg b1 st b4 = MSAlg b2 & b5 = MSAlg b3 holds
MSAlg (b2 "\/" b3) = b4 "\/" b5
proof end;

registration
let c1 be with_const_op Universal_Algebra;
cluster MSSign a1 -> all-with_const_op ;
coherence
( not MSSign c1 is void & MSSign c1 is strict & MSSign c1 is segmental & MSSign c1 is trivial & MSSign c1 is all-with_const_op )
proof end;
end;

theorem Th31: :: MSSUBLAT:31
for b1 being with_const_op Universal_Algebra
for b2, b3 being strict non-empty SubAlgebra of b1
for b4, b5 being strict non-empty MSSubAlgebra of MSAlg b1 st b4 = MSAlg b2 & b5 = MSAlg b3 holds
MSAlg (b2 /\ b3) = b4 /\ b5
proof end;

registration
let c1 be quasi_total UAStr ;
cluster UAStr(# the carrier of a1,the charact of a1 #) -> quasi_total ;
coherence
UAStr(# the carrier of c1,the charact of c1 #) is quasi_total
proof end;
end;

registration
let c1 be partial UAStr ;
cluster UAStr(# the carrier of a1,the charact of a1 #) -> partial ;
coherence
UAStr(# the carrier of c1,the charact of c1 #) is partial
proof end;
end;

registration
let c1 be non-empty UAStr ;
cluster UAStr(# the carrier of a1,the charact of a1 #) -> non-empty ;
coherence
UAStr(# the carrier of c1,the charact of c1 #) is non-empty
proof end;
end;

registration
let c1 be with_const_op Universal_Algebra;
cluster UAStr(# the carrier of a1,the charact of a1 #) -> partial quasi_total non-empty with_const_op ;
coherence
UAStr(# the carrier of c1,the charact of c1 #) is with_const_op
proof end;
end;

theorem Th32: :: MSSUBLAT:32
for b1 being with_const_op Universal_Algebra holds UnSubAlLattice UAStr(# the carrier of b1,the charact of b1 #), MSSubAlLattice (MSAlg UAStr(# the carrier of b1,the charact of b1 #)) are_isomorphic
proof end;