:: OSALG_1  semantic presentation
Lemma1: 
for b1 being   set 
 for b2 being   ManySortedSet of b1
 for b3 being   FinSequence of b1 holds 
 (  dom (b2 * b3) =  dom b3 &  len (b2 * b3) =  len b3 )
 
theorem Th1: :: OSALG_1:1
for 
b1, 
b2 being non 
empty  set  for 
b3 being  
Order of 
b1 for 
b4 being  
Equivalence_Relation of 
b2 for 
b5 being  
Function of 
b2,
b1 *  for 
b6 being  
Function of 
b2,
b1 holds 
 ( not  
OverloadedRSSign(# 
b1,
b3,
b2,
b4,
b5,
b6 #) is 
empty & not  
OverloadedRSSign(# 
b1,
b3,
b2,
b4,
b5,
b6 #) is 
void &  
OverloadedRSSign(# 
b1,
b3,
b2,
b4,
b5,
b6 #) is 
reflexive &  
OverloadedRSSign(# 
b1,
b3,
b2,
b4,
b5,
b6 #) is 
transitive &  
OverloadedRSSign(# 
b1,
b3,
b2,
b4,
b5,
b6 #) is 
antisymmetric )
registration
let c1 be  non 
empty  set ;
let c2 be   
Order of 
c1;
let c3 be  non 
empty  set ;
let c4 be   
Equivalence_Relation of 
c3;
let c5 be   
Function of 
c3,
c1 * ;
let c6 be   
Function of 
c3,
c1;
cluster  OverloadedRSSign(# 
a1,
a2,
a3,
a4,
a5,
a6 #)
 -> non 
empty reflexive transitive antisymmetric ;
coherence 
(  OverloadedRSSign(# c1,c2,c3,c4,c5,c6 #) is strict & not  OverloadedRSSign(# c1,c2,c3,c4,c5,c6 #) is empty &  OverloadedRSSign(# c1,c2,c3,c4,c5,c6 #) is reflexive &  OverloadedRSSign(# c1,c2,c3,c4,c5,c6 #) is transitive &  OverloadedRSSign(# c1,c2,c3,c4,c5,c6 #) is antisymmetric )
 by Th1;
 
end;
 
:: deftheorem Def1  OSALG_1:def 1 : 
canceled; 
:: deftheorem Def2   defines order-sorted OSALG_1:def 2 : 
:: deftheorem Def3   defines ~= OSALG_1:def 3 : 
theorem Th2: :: OSALG_1:2
:: deftheorem Def4   defines discernable OSALG_1:def 4 : 
:: deftheorem Def5   defines op-discrete OSALG_1:def 5 : 
theorem Th3: :: OSALG_1:3
theorem Th4: :: OSALG_1:4
:: deftheorem Def6   defines OSSign OSALG_1:def 6 : 
theorem Th5: :: OSALG_1:5
:: deftheorem Def7   defines <= OSALG_1:def 7 : 
theorem Th6: :: OSALG_1:6
theorem Th7: :: OSALG_1:7
theorem Th8: :: OSALG_1:8
:: deftheorem Def8   defines monotone OSALG_1:def 8 : 
:: deftheorem Def9   defines monotone OSALG_1:def 9 : 
theorem Th9: :: OSALG_1:9
theorem Th10: :: OSALG_1:10
:: deftheorem Def10   defines has_least_args_for OSALG_1:def 10 : 
:: deftheorem Def11   defines has_least_sort_for OSALG_1:def 11 : 
:: deftheorem Def12   defines has_least_rank_for OSALG_1:def 12 : 
:: deftheorem Def13   defines regular OSALG_1:def 13 : 
:: deftheorem Def14   defines regular OSALG_1:def 14 : 
theorem Th11: :: OSALG_1:11
theorem Th12: :: OSALG_1:12
theorem Th13: :: OSALG_1:13
:: deftheorem Def15   defines LBound OSALG_1:def 15 : 
theorem Th14: :: OSALG_1:14
:: deftheorem Def16   defines ConstOSSet OSALG_1:def 16 : 
theorem Th15: :: OSALG_1:15
:: deftheorem Def17  OSALG_1:def 17 : 
canceled; 
:: deftheorem Def18   defines order-sorted OSALG_1:def 18 : 
theorem Th16: :: OSALG_1:16
:: deftheorem Def19   defines order-sorted OSALG_1:def 19 : 
theorem Th17: :: OSALG_1:17
definition
let c1 be   
OrderSortedSign;
let c2 be  non 
empty  set ;
let c3 be    
ManySortedFunction of 
((ConstOSSet c1,c2) # ) * the 
Arity of 
c1,
(ConstOSSet c1,c2) * the 
ResultSort of 
c1;
func  ConstOSA c1,
c2,
c3 ->  strict non-empty  MSAlgebra of 
a1 means :
Def20: 
:: OSALG_1:def 20
( the 
Sorts of 
a4 =  ConstOSSet a1,
a2 & the 
Charact of 
a4 = a3 );
existence 
ex b1 being strict non-empty  MSAlgebra of c1 st 
( the Sorts of b1 =  ConstOSSet c1,c2 & the Charact of b1 = c3 )
 
uniqueness 
for b1, b2 being strict non-empty  MSAlgebra of c1  st the Sorts of b1 =  ConstOSSet c1,c2 & the Charact of b1 = c3 & the Sorts of b2 =  ConstOSSet c1,c2 & the Charact of b2 = c3 holds 
b1 = b2
 ;
 
end;
 
:: deftheorem Def20   defines ConstOSA OSALG_1:def 20 : 
theorem Th18: :: OSALG_1:18
theorem Th19: :: OSALG_1:19
theorem Th20: :: OSALG_1:20
:: deftheorem Def21   defines OSAlg OSALG_1:def 21 : 
theorem Th21: :: OSALG_1:21
:: deftheorem Def22   defines <= OSALG_1:def 22 : 
theorem Th22: :: OSALG_1:22
theorem Th23: :: OSALG_1:23
theorem Th24: :: OSALG_1:24
theorem Th25: :: OSALG_1:25
theorem Th26: :: OSALG_1:26
:: deftheorem Def23   defines monotone OSALG_1:def 23 : 
theorem Th27: :: OSALG_1:27
theorem Th28: :: OSALG_1:28
definition
let c1 be   
OrderSortedSign;
let c2 be  non 
empty  set ;
let c3 be    
Element of 
c2;
func  TrivialOSA c1,
c2,
c3 ->  strict OSAlgebra of 
a1 means :
Def24: 
:: OSALG_1:def 24
( the 
Sorts of 
a4 =  ConstOSSet a1,
a2 & ( for 
b1 being  
OperSymbol of 
a1 holds   
Den b1,
a4 = (Args b1,a4) --> a3 ) );
existence 
ex b1 being strict OSAlgebra of c1 st 
( the Sorts of b1 =  ConstOSSet c1,c2 & ( for b2 being  OperSymbol of c1 holds   Den b2,b1 = (Args b2,b1) --> c3 ) )
 
uniqueness 
for b1, b2 being strict OSAlgebra of c1  st the Sorts of b1 =  ConstOSSet c1,c2 & ( for b3 being  OperSymbol of c1 holds   Den b3,b1 = (Args b3,b1) --> c3 ) & the Sorts of b2 =  ConstOSSet c1,c2 & ( for b3 being  OperSymbol of c1 holds   Den b3,b2 = (Args b3,b2) --> c3 ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def24   defines TrivialOSA OSALG_1:def 24 : 
theorem Th29: :: OSALG_1:29
:: deftheorem Def25   defines OperNames OSALG_1:def 25 : 
:: deftheorem Def26   defines Name OSALG_1:def 26 : 
theorem Th30: :: OSALG_1:30
theorem Th31: :: OSALG_1:31
theorem Th32: :: OSALG_1:32
theorem Th33: :: OSALG_1:33
theorem Th34: :: OSALG_1:34
:: deftheorem Def27   defines LBound OSALG_1:def 27 : 
theorem Th35: :: OSALG_1:35