:: OSALG_4 semantic presentation
:: deftheorem Def1 defines os-compatible OSALG_4:def 1 :
theorem Th1: :: OSALG_4:1
:: deftheorem Def2 OSALG_4:def 2 :
canceled;
:: deftheorem Def3 defines OrderSortedRelation OSALG_4:def 3 :
definition
let c1 be non
empty Poset;
func Path_Rel c1 -> Equivalence_Relation of the
carrier of
a1 means :
Def4:
:: OSALG_4:def 4
for
b1,
b2 being
set holds
(
[b1,b2] in a2 iff (
b1 in the
carrier of
a1 &
b2 in the
carrier of
a1 & ex
b3 being
FinSequence of the
carrier of
a1 st
( 1
< len b3 &
b3 . 1
= b1 &
b3 . (len b3) = b2 & ( for
b4 being
Nat st 2
<= b4 &
b4 <= len b3 & not
[(b3 . b4),(b3 . (b4 - 1))] in the
InternalRel of
a1 holds
[(b3 . (b4 - 1)),(b3 . b4)] in the
InternalRel of
a1 ) ) ) );
existence
ex b1 being Equivalence_Relation of the carrier of c1 st
for b2, b3 being set holds
( [b2,b3] in b1 iff ( b2 in the carrier of c1 & b3 in the carrier of c1 & ex b4 being FinSequence of the carrier of c1 st
( 1 < len b4 & b4 . 1 = b2 & b4 . (len b4) = b3 & ( for b5 being Nat st 2 <= b5 & b5 <= len b4 & not [(b4 . b5),(b4 . (b5 - 1))] in the InternalRel of c1 holds
[(b4 . (b5 - 1)),(b4 . b5)] in the InternalRel of c1 ) ) ) )
uniqueness
for b1, b2 being Equivalence_Relation of the carrier of c1 st ( for b3, b4 being set holds
( [b3,b4] in b1 iff ( b3 in the carrier of c1 & b4 in the carrier of c1 & ex b5 being FinSequence of the carrier of c1 st
( 1 < len b5 & b5 . 1 = b3 & b5 . (len b5) = b4 & ( for b6 being Nat st 2 <= b6 & b6 <= len b5 & not [(b5 . b6),(b5 . (b6 - 1))] in the InternalRel of c1 holds
[(b5 . (b6 - 1)),(b5 . b6)] in the InternalRel of c1 ) ) ) ) ) & ( for b3, b4 being set holds
( [b3,b4] in b2 iff ( b3 in the carrier of c1 & b4 in the carrier of c1 & ex b5 being FinSequence of the carrier of c1 st
( 1 < len b5 & b5 . 1 = b3 & b5 . (len b5) = b4 & ( for b6 being Nat st 2 <= b6 & b6 <= len b5 & not [(b5 . b6),(b5 . (b6 - 1))] in the InternalRel of c1 holds
[(b5 . (b6 - 1)),(b5 . b6)] in the InternalRel of c1 ) ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def4 defines Path_Rel OSALG_4:def 4 :
theorem Th2: :: OSALG_4:2
:: deftheorem Def5 defines ~= OSALG_4:def 5 :
theorem Th3: :: OSALG_4:3
:: deftheorem Def6 defines Components OSALG_4:def 6 :
:: deftheorem Def7 OSALG_4:def 7 :
canceled;
:: deftheorem Def8 defines CComp OSALG_4:def 8 :
theorem Th4: :: OSALG_4:4
theorem Th5: :: OSALG_4:5
:: deftheorem Def9 defines -carrier_of OSALG_4:def 9 :
theorem Th6: :: OSALG_4:6
:: deftheorem Def10 defines locally_directed OSALG_4:def 10 :
theorem Th7: :: OSALG_4:7
theorem Th8: :: OSALG_4:8
theorem Th9: :: OSALG_4:9
theorem Th10: :: OSALG_4:10
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
OSAlgebra of
c1;
let c3 be
MSEquivalence-like OrderSortedRelation of
c2;
let c4 be
Component of
c1;
func CompClass c3,
c4 -> Equivalence_Relation of the
Sorts of
a2 -carrier_of a4 means :
Def11:
:: OSALG_4:def 11
for
b1,
b2 being
set holds
(
[b1,b2] in a5 iff ex
b3 being
Element of
a1 st
(
b3 in a4 &
[b1,b2] in a3 . b3 ) );
existence
ex b1 being Equivalence_Relation of the Sorts of c2 -carrier_of c4 st
for b2, b3 being set holds
( [b2,b3] in b1 iff ex b4 being Element of c1 st
( b4 in c4 & [b2,b3] in c3 . b4 ) )
uniqueness
for b1, b2 being Equivalence_Relation of the Sorts of c2 -carrier_of c4 st ( for b3, b4 being set holds
( [b3,b4] in b1 iff ex b5 being Element of c1 st
( b5 in c4 & [b3,b4] in c3 . b5 ) ) ) & ( for b3, b4 being set holds
( [b3,b4] in b2 iff ex b5 being Element of c1 st
( b5 in c4 & [b3,b4] in c3 . b5 ) ) ) holds
b1 = b2
end;
:: deftheorem Def11 defines CompClass OSALG_4:def 11 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
OSAlgebra of
c1;
let c3 be
MSEquivalence-like OrderSortedRelation of
c2;
let c4 be
Element of
c1;
func OSClass c3,
c4 -> Subset of
(Class (CompClass a3,(CComp a4))) means :
Def12:
:: OSALG_4:def 12
for
b1 being
set holds
(
b1 in a5 iff ex
b2 being
set st
(
b2 in the
Sorts of
a2 . a4 &
b1 = Class (CompClass a3,(CComp a4)),
b2 ) );
existence
ex b1 being Subset of (Class (CompClass c3,(CComp c4))) st
for b2 being set holds
( b2 in b1 iff ex b3 being set st
( b3 in the Sorts of c2 . c4 & b2 = Class (CompClass c3,(CComp c4)),b3 ) )
uniqueness
for b1, b2 being Subset of (Class (CompClass c3,(CComp c4))) st ( for b3 being set holds
( b3 in b1 iff ex b4 being set st
( b4 in the Sorts of c2 . c4 & b3 = Class (CompClass c3,(CComp c4)),b4 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being set st
( b4 in the Sorts of c2 . c4 & b3 = Class (CompClass c3,(CComp c4)),b4 ) ) ) holds
b1 = b2
end;
:: deftheorem Def12 defines OSClass OSALG_4:def 12 :
theorem Th11: :: OSALG_4:11
:: deftheorem Def13 defines OSClass OSALG_4:def 13 :
:: deftheorem Def14 defines OSClass OSALG_4:def 14 :
theorem Th12: :: OSALG_4:12
theorem Th13: :: OSALG_4:13
theorem Th14: :: OSALG_4:14
:: deftheorem Def15 defines #_os OSALG_4:def 15 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
Element of the
OperSymbols of
c1;
let c3 be
non-empty OSAlgebra of
c1;
let c4 be
OSCongruence of
c3;
func OSQuotRes c4,
c2 -> Function of
(the Sorts of a3 * the ResultSort of a1) . a2,
((OSClass a4) * the ResultSort of a1) . a2 means :
Def16:
:: OSALG_4:def 16
for
b1 being
Element of the
Sorts of
a3 . (the_result_sort_of a2) holds
a5 . b1 = OSClass a4,
b1;
existence
ex b1 being Function of (the Sorts of c3 * the ResultSort of c1) . c2,((OSClass c4) * the ResultSort of c1) . c2 st
for b2 being Element of the Sorts of c3 . (the_result_sort_of c2) holds b1 . b2 = OSClass c4,b2
uniqueness
for b1, b2 being Function of (the Sorts of c3 * the ResultSort of c1) . c2,((OSClass c4) * the ResultSort of c1) . c2 st ( for b3 being Element of the Sorts of c3 . (the_result_sort_of c2) holds b1 . b3 = OSClass c4,b3 ) & ( for b3 being Element of the Sorts of c3 . (the_result_sort_of c2) holds b2 . b3 = OSClass c4,b3 ) holds
b1 = b2
func OSQuotArgs c4,
c2 -> Function of
((the Sorts of a3 # ) * the Arity of a1) . a2,
(((OSClass a4) # ) * the Arity of a1) . a2 means :: OSALG_4:def 17
for
b1 being
Element of
Args a2,
a3 holds
a5 . b1 = a4 #_os b1;
existence
ex b1 being Function of ((the Sorts of c3 # ) * the Arity of c1) . c2,(((OSClass c4) # ) * the Arity of c1) . c2 st
for b2 being Element of Args c2,c3 holds b1 . b2 = c4 #_os b2
uniqueness
for b1, b2 being Function of ((the Sorts of c3 # ) * the Arity of c1) . c2,(((OSClass c4) # ) * the Arity of c1) . c2 st ( for b3 being Element of Args c2,c3 holds b1 . b3 = c4 #_os b3 ) & ( for b3 being Element of Args c2,c3 holds b2 . b3 = c4 #_os b3 ) holds
b1 = b2
end;
:: deftheorem Def16 defines OSQuotRes OSALG_4:def 16 :
:: deftheorem Def17 defines OSQuotArgs OSALG_4:def 17 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
non-empty OSAlgebra of
c1;
let c3 be
OSCongruence of
c2;
func OSQuotRes c3 -> ManySortedFunction of the
Sorts of
a2 * the
ResultSort of
a1,
(OSClass a3) * the
ResultSort of
a1 means :: OSALG_4:def 18
for
b1 being
OperSymbol of
a1 holds
a4 . b1 = OSQuotRes a3,
b1;
existence
ex b1 being ManySortedFunction of the Sorts of c2 * the ResultSort of c1,(OSClass c3) * the ResultSort of c1 st
for b2 being OperSymbol of c1 holds b1 . b2 = OSQuotRes c3,b2
uniqueness
for b1, b2 being ManySortedFunction of the Sorts of c2 * the ResultSort of c1,(OSClass c3) * the ResultSort of c1 st ( for b3 being OperSymbol of c1 holds b1 . b3 = OSQuotRes c3,b3 ) & ( for b3 being OperSymbol of c1 holds b2 . b3 = OSQuotRes c3,b3 ) holds
b1 = b2
func OSQuotArgs c3 -> ManySortedFunction of
(the Sorts of a2 # ) * the
Arity of
a1,
((OSClass a3) # ) * the
Arity of
a1 means :: OSALG_4:def 19
for
b1 being
OperSymbol of
a1 holds
a4 . b1 = OSQuotArgs a3,
b1;
existence
ex b1 being ManySortedFunction of (the Sorts of c2 # ) * the Arity of c1,((OSClass c3) # ) * the Arity of c1 st
for b2 being OperSymbol of c1 holds b1 . b2 = OSQuotArgs c3,b2
uniqueness
for b1, b2 being ManySortedFunction of (the Sorts of c2 # ) * the Arity of c1,((OSClass c3) # ) * the Arity of c1 st ( for b3 being OperSymbol of c1 holds b1 . b3 = OSQuotArgs c3,b3 ) & ( for b3 being OperSymbol of c1 holds b2 . b3 = OSQuotArgs c3,b3 ) holds
b1 = b2
end;
:: deftheorem Def18 defines OSQuotRes OSALG_4:def 18 :
:: deftheorem Def19 defines OSQuotArgs OSALG_4:def 19 :
theorem Th15: :: OSALG_4:15
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
Element of the
OperSymbols of
c1;
let c3 be
non-empty OSAlgebra of
c1;
let c4 be
OSCongruence of
c3;
func OSQuotCharact c4,
c2 -> Function of
(((OSClass a4) # ) * the Arity of a1) . a2,
((OSClass a4) * the ResultSort of a1) . a2 means :
Def20:
:: OSALG_4:def 20
for
b1 being
Element of
Args a2,
a3 st
a4 #_os b1 in (((OSClass a4) # ) * the Arity of a1) . a2 holds
a5 . (a4 #_os b1) = ((OSQuotRes a4,a2) * (Den a2,a3)) . b1;
existence
ex b1 being Function of (((OSClass c4) # ) * the Arity of c1) . c2,((OSClass c4) * the ResultSort of c1) . c2 st
for b2 being Element of Args c2,c3 st c4 #_os b2 in (((OSClass c4) # ) * the Arity of c1) . c2 holds
b1 . (c4 #_os b2) = ((OSQuotRes c4,c2) * (Den c2,c3)) . b2
uniqueness
for b1, b2 being Function of (((OSClass c4) # ) * the Arity of c1) . c2,((OSClass c4) * the ResultSort of c1) . c2 st ( for b3 being Element of Args c2,c3 st c4 #_os b3 in (((OSClass c4) # ) * the Arity of c1) . c2 holds
b1 . (c4 #_os b3) = ((OSQuotRes c4,c2) * (Den c2,c3)) . b3 ) & ( for b3 being Element of Args c2,c3 st c4 #_os b3 in (((OSClass c4) # ) * the Arity of c1) . c2 holds
b2 . (c4 #_os b3) = ((OSQuotRes c4,c2) * (Den c2,c3)) . b3 ) holds
b1 = b2
end;
:: deftheorem Def20 defines OSQuotCharact OSALG_4:def 20 :
:: deftheorem Def21 defines OSQuotCharact OSALG_4:def 21 :
:: deftheorem Def22 defines QuotOSAlg OSALG_4:def 22 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
non-empty OSAlgebra of
c1;
let c3 be
OSCongruence of
c2;
let c4 be
Element of
c1;
func OSNat_Hom c2,
c3,
c4 -> Function of the
Sorts of
a2 . a4,
OSClass a3,
a4 means :
Def23:
:: OSALG_4:def 23
for
b1 being
Element of the
Sorts of
a2 . a4 holds
a5 . b1 = OSClass a3,
b1;
existence
ex b1 being Function of the Sorts of c2 . c4, OSClass c3,c4 st
for b2 being Element of the Sorts of c2 . c4 holds b1 . b2 = OSClass c3,b2
uniqueness
for b1, b2 being Function of the Sorts of c2 . c4, OSClass c3,c4 st ( for b3 being Element of the Sorts of c2 . c4 holds b1 . b3 = OSClass c3,b3 ) & ( for b3 being Element of the Sorts of c2 . c4 holds b2 . b3 = OSClass c3,b3 ) holds
b1 = b2
end;
:: deftheorem Def23 defines OSNat_Hom OSALG_4:def 23 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2 be
non-empty OSAlgebra of
c1;
let c3 be
OSCongruence of
c2;
func OSNat_Hom c2,
c3 -> ManySortedFunction of
a2,
(QuotOSAlg a2,a3) means :
Def24:
:: OSALG_4:def 24
for
b1 being
Element of
a1 holds
a4 . b1 = OSNat_Hom a2,
a3,
b1;
existence
ex b1 being ManySortedFunction of c2,(QuotOSAlg c2,c3) st
for b2 being Element of c1 holds b1 . b2 = OSNat_Hom c2,c3,b2
uniqueness
for b1, b2 being ManySortedFunction of c2,(QuotOSAlg c2,c3) st ( for b3 being Element of c1 holds b1 . b3 = OSNat_Hom c2,c3,b3 ) & ( for b3 being Element of c1 holds b2 . b3 = OSNat_Hom c2,c3,b3 ) holds
b1 = b2
end;
:: deftheorem Def24 defines OSNat_Hom OSALG_4:def 24 :
theorem Th16: :: OSALG_4:16
theorem Th17: :: OSALG_4:17
:: deftheorem Def25 defines OSCng OSALG_4:def 25 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2,
c3 be
non-empty OSAlgebra of
c1;
let c4 be
ManySortedFunction of
c2,
c3;
let c5 be
Element of
c1;
assume E30:
(
c4 is_homomorphism c2,
c3 &
c4 is
order-sorted )
;
func OSHomQuot c4,
c5 -> Function of the
Sorts of
(QuotOSAlg a2,(OSCng a4)) . a5,the
Sorts of
a3 . a5 means :
Def26:
:: OSALG_4:def 26
for
b1 being
Element of the
Sorts of
a2 . a5 holds
a6 . (OSClass (OSCng a4),b1) = (a4 . a5) . b1;
existence
ex b1 being Function of the Sorts of (QuotOSAlg c2,(OSCng c4)) . c5,the Sorts of c3 . c5 st
for b2 being Element of the Sorts of c2 . c5 holds b1 . (OSClass (OSCng c4),b2) = (c4 . c5) . b2
uniqueness
for b1, b2 being Function of the Sorts of (QuotOSAlg c2,(OSCng c4)) . c5,the Sorts of c3 . c5 st ( for b3 being Element of the Sorts of c2 . c5 holds b1 . (OSClass (OSCng c4),b3) = (c4 . c5) . b3 ) & ( for b3 being Element of the Sorts of c2 . c5 holds b2 . (OSClass (OSCng c4),b3) = (c4 . c5) . b3 ) holds
b1 = b2
end;
:: deftheorem Def26 defines OSHomQuot OSALG_4:def 26 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2,
c3 be
non-empty OSAlgebra of
c1;
let c4 be
ManySortedFunction of
c2,
c3;
func OSHomQuot c4 -> ManySortedFunction of
(QuotOSAlg a2,(OSCng a4)),
a3 means :
Def27:
:: OSALG_4:def 27
for
b1 being
Element of
a1 holds
a5 . b1 = OSHomQuot a4,
b1;
existence
ex b1 being ManySortedFunction of (QuotOSAlg c2,(OSCng c4)),c3 st
for b2 being Element of c1 holds b1 . b2 = OSHomQuot c4,b2
uniqueness
for b1, b2 being ManySortedFunction of (QuotOSAlg c2,(OSCng c4)),c3 st ( for b3 being Element of c1 holds b1 . b3 = OSHomQuot c4,b3 ) & ( for b3 being Element of c1 holds b2 . b3 = OSHomQuot c4,b3 ) holds
b1 = b2
end;
:: deftheorem Def27 defines OSHomQuot OSALG_4:def 27 :
theorem Th18: :: OSALG_4:18
theorem Th19: :: OSALG_4:19
theorem Th20: :: OSALG_4:20
:: deftheorem Def28 defines monotone OSALG_4:def 28 :
theorem Th21: :: OSALG_4:21
theorem Th22: :: OSALG_4:22
theorem Th23: :: OSALG_4:23
theorem Th24: :: OSALG_4:24
theorem Th25: :: OSALG_4:25
canceled;
theorem Th26: :: OSALG_4:26
definition
let c1 be
locally_directed OrderSortedSign;
let c2,
c3 be
non-empty OSAlgebra of
c1;
let c4 be
ManySortedFunction of
c2,
c3;
let c5 be
OSCongruence of
c2;
let c6 be
Element of
c1;
assume E39:
(
c4 is_homomorphism c2,
c3 &
c4 is
order-sorted &
c5 c= OSCng c4 )
;
func OSHomQuot c4,
c5,
c6 -> Function of the
Sorts of
(QuotOSAlg a2,a5) . a6,the
Sorts of
a3 . a6 means :
Def29:
:: OSALG_4:def 29
for
b1 being
Element of the
Sorts of
a2 . a6 holds
a7 . (OSClass a5,b1) = (a4 . a6) . b1;
existence
ex b1 being Function of the Sorts of (QuotOSAlg c2,c5) . c6,the Sorts of c3 . c6 st
for b2 being Element of the Sorts of c2 . c6 holds b1 . (OSClass c5,b2) = (c4 . c6) . b2
uniqueness
for b1, b2 being Function of the Sorts of (QuotOSAlg c2,c5) . c6,the Sorts of c3 . c6 st ( for b3 being Element of the Sorts of c2 . c6 holds b1 . (OSClass c5,b3) = (c4 . c6) . b3 ) & ( for b3 being Element of the Sorts of c2 . c6 holds b2 . (OSClass c5,b3) = (c4 . c6) . b3 ) holds
b1 = b2
end;
:: deftheorem Def29 defines OSHomQuot OSALG_4:def 29 :
definition
let c1 be
locally_directed OrderSortedSign;
let c2,
c3 be
non-empty OSAlgebra of
c1;
let c4 be
ManySortedFunction of
c2,
c3;
let c5 be
OSCongruence of
c2;
func OSHomQuot c4,
c5 -> ManySortedFunction of
(QuotOSAlg a2,a5),
a3 means :
Def30:
:: OSALG_4:def 30
for
b1 being
Element of
a1 holds
a6 . b1 = OSHomQuot a4,
a5,
b1;
existence
ex b1 being ManySortedFunction of (QuotOSAlg c2,c5),c3 st
for b2 being Element of c1 holds b1 . b2 = OSHomQuot c4,c5,b2
uniqueness
for b1, b2 being ManySortedFunction of (QuotOSAlg c2,c5),c3 st ( for b3 being Element of c1 holds b1 . b3 = OSHomQuot c4,c5,b3 ) & ( for b3 being Element of c1 holds b2 . b3 = OSHomQuot c4,c5,b3 ) holds
b1 = b2
end;
:: deftheorem Def30 defines OSHomQuot OSALG_4:def 30 :
theorem Th27: :: OSALG_4:27