:: ORDERS_3 semantic presentation
:: deftheorem Def1 defines discrete ORDERS_3:def 1 :
Lemma2:
for b1 being empty RelStr holds the InternalRel of b1 = {}
Lemma3:
for b1 being RelStr st b1 is empty holds
b1 is discrete
:: deftheorem Def2 defines disconnected ORDERS_3:def 2 :
:: deftheorem Def3 defines disconnected ORDERS_3:def 3 :
theorem Th1: :: ORDERS_3:1
theorem Th2: :: ORDERS_3:2
theorem Th3: :: ORDERS_3:3
theorem Th4: :: ORDERS_3:4
theorem Th5: :: ORDERS_3:5
:: deftheorem Def4 defines POSet_set-like ORDERS_3:def 4 :
:: deftheorem Def5 defines monotone ORDERS_3:def 5 :
Lemma10:
for b1, b2, b3 being non empty RelStr
for b4 being Function of b1,b2
for b5 being Function of b2,b3 st b4 is monotone & b5 is monotone holds
ex b6 being Function of b1,b3 st
( b6 = b5 * b4 & b6 is monotone )
Lemma11:
for b1 being non empty RelStr holds id b1 is monotone
definition
let c1,
c2 be
RelStr ;
func MonFuncs c1,
c2 -> set means :
Def6:
:: ORDERS_3:def 6
for
b1 being
set holds
(
b1 in a3 iff ex
b2 being
Function of
a1,
a2 st
(
b1 = b2 &
b2 in Funcs the
carrier of
a1,the
carrier of
a2 &
b2 is
monotone ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ex b3 being Function of c1,c2 st
( b2 = b3 & b3 in Funcs the carrier of c1,the carrier of c2 & b3 is monotone ) )
uniqueness
for b1, b2 being set st ( for b3 being set holds
( b3 in b1 iff ex b4 being Function of c1,c2 st
( b3 = b4 & b4 in Funcs the carrier of c1,the carrier of c2 & b4 is monotone ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being Function of c1,c2 st
( b3 = b4 & b4 in Funcs the carrier of c1,the carrier of c2 & b4 is monotone ) ) ) holds
b1 = b2
end;
:: deftheorem Def6 defines MonFuncs ORDERS_3:def 6 :
theorem Th6: :: ORDERS_3:6
theorem Th7: :: ORDERS_3:7
:: deftheorem Def7 defines Carr ORDERS_3:def 7 :
Lemma16:
for b1 being non empty POSet_set
for b2 being Element of b1 holds the carrier of b2 in Carr b1
by Def7;
theorem Th8: :: ORDERS_3:8
theorem Th9: :: ORDERS_3:9
theorem Th10: :: ORDERS_3:10
theorem Th11: :: ORDERS_3:11
definition
let c1 be non
empty POSet_set;
func POSCat c1 -> strict with_triple-like_morphisms Category means :: ORDERS_3:def 8
( the
Objects of
a2 = a1 & ( for
b1,
b2 being
Element of
a1 for
b3 being
Element of
Funcs (Carr a1) st
b3 in MonFuncs b1,
b2 holds
[[b1,b2],b3] is
Morphism of
a2 ) & ( for
b1 being
Morphism of
a2 ex
b2,
b3 being
Element of
a1ex
b4 being
Element of
Funcs (Carr a1) st
(
b1 = [[b2,b3],b4] &
b4 in MonFuncs b2,
b3 ) ) & ( for
b1,
b2 being
Morphism of
a2 for
b3,
b4,
b5 being
Element of
a1 for
b6,
b7 being
Element of
Funcs (Carr a1) st
b1 = [[b3,b4],b6] &
b2 = [[b4,b5],b7] holds
b2 * b1 = [[b3,b5],(b7 * b6)] ) );
existence
ex b1 being strict with_triple-like_morphisms Category st
( the Objects of b1 = c1 & ( for b2, b3 being Element of c1
for b4 being Element of Funcs (Carr c1) st b4 in MonFuncs b2,b3 holds
[[b2,b3],b4] is Morphism of b1 ) & ( for b2 being Morphism of b1 ex b3, b4 being Element of c1ex b5 being Element of Funcs (Carr c1) st
( b2 = [[b3,b4],b5] & b5 in MonFuncs b3,b4 ) ) & ( for b2, b3 being Morphism of b1
for b4, b5, b6 being Element of c1
for b7, b8 being Element of Funcs (Carr c1) st b2 = [[b4,b5],b7] & b3 = [[b5,b6],b8] holds
b3 * b2 = [[b4,b6],(b8 * b7)] ) )
uniqueness
for b1, b2 being strict with_triple-like_morphisms Category st the Objects of b1 = c1 & ( for b3, b4 being Element of c1
for b5 being Element of Funcs (Carr c1) st b5 in MonFuncs b3,b4 holds
[[b3,b4],b5] is Morphism of b1 ) & ( for b3 being Morphism of b1 ex b4, b5 being Element of c1ex b6 being Element of Funcs (Carr c1) st
( b3 = [[b4,b5],b6] & b6 in MonFuncs b4,b5 ) ) & ( for b3, b4 being Morphism of b1
for b5, b6, b7 being Element of c1
for b8, b9 being Element of Funcs (Carr c1) st b3 = [[b5,b6],b8] & b4 = [[b6,b7],b9] holds
b4 * b3 = [[b5,b7],(b9 * b8)] ) & the Objects of b2 = c1 & ( for b3, b4 being Element of c1
for b5 being Element of Funcs (Carr c1) st b5 in MonFuncs b3,b4 holds
[[b3,b4],b5] is Morphism of b2 ) & ( for b3 being Morphism of b2 ex b4, b5 being Element of c1ex b6 being Element of Funcs (Carr c1) st
( b3 = [[b4,b5],b6] & b6 in MonFuncs b4,b5 ) ) & ( for b3, b4 being Morphism of b2
for b5, b6, b7 being Element of c1
for b8, b9 being Element of Funcs (Carr c1) st b3 = [[b5,b6],b8] & b4 = [[b6,b7],b9] holds
b4 * b3 = [[b5,b7],(b9 * b8)] ) holds
b1 = b2
end;
:: deftheorem Def8 defines POSCat ORDERS_3:def 8 :
for
b1 being non
empty POSet_set for
b2 being
strict with_triple-like_morphisms Category holds
(
b2 = POSCat b1 iff ( the
Objects of
b2 = b1 & ( for
b3,
b4 being
Element of
b1 for
b5 being
Element of
Funcs (Carr b1) st
b5 in MonFuncs b3,
b4 holds
[[b3,b4],b5] is
Morphism of
b2 ) & ( for
b3 being
Morphism of
b2 ex
b4,
b5 being
Element of
b1ex
b6 being
Element of
Funcs (Carr b1) st
(
b3 = [[b4,b5],b6] &
b6 in MonFuncs b4,
b5 ) ) & ( for
b3,
b4 being
Morphism of
b2 for
b5,
b6,
b7 being
Element of
b1 for
b8,
b9 being
Element of
Funcs (Carr b1) st
b3 = [[b5,b6],b8] &
b4 = [[b6,b7],b9] holds
b4 * b3 = [[b5,b7],(b9 * b8)] ) ) );
scheme :: ORDERS_3:sch 1
s1{
F1()
-> non
empty set ,
F2(
set ,
set )
-> functional set } :
ex
b1 being
strict AltCatStr st
( the
carrier of
b1 = F1() & ( for
b2,
b3 being
Element of
F1() holds
( the
Arrows of
b1 . b2,
b3 = F2(
b2,
b3) & ( for
b4,
b5,
b6 being
Element of
F1() holds the
Comp of
b1 . b4,
b5,
b6 = FuncComp F2(
b4,
b5),
F2(
b5,
b6) ) ) ) )
provided
E19:
for
b1,
b2,
b3 being
Element of
F1()
for
b4,
b5 being
Function st
b4 in F2(
b1,
b2) &
b5 in F2(
b2,
b3) holds
b5 * b4 in F2(
b1,
b3)
scheme :: ORDERS_3:sch 2
s2{
F1()
-> non
empty set ,
F2(
set ,
set )
-> functional set } :
for
b1,
b2 being
strict AltCatStr st the
carrier of
b1 = F1() & ( for
b3,
b4 being
Element of
F1() holds
( the
Arrows of
b1 . b3,
b4 = F2(
b3,
b4) & ( for
b5,
b6,
b7 being
Element of
F1() holds the
Comp of
b1 . b5,
b6,
b7 = FuncComp F2(
b5,
b6),
F2(
b6,
b7) ) ) ) & the
carrier of
b2 = F1() & ( for
b3,
b4 being
Element of
F1() holds
( the
Arrows of
b2 . b3,
b4 = F2(
b3,
b4) & ( for
b5,
b6,
b7 being
Element of
F1() holds the
Comp of
b2 . b5,
b6,
b7 = FuncComp F2(
b5,
b6),
F2(
b6,
b7) ) ) ) holds
b1 = b2
definition
let c1 be non
empty POSet_set;
func POSAltCat c1 -> strict AltCatStr means :
Def9:
:: ORDERS_3:def 9
( the
carrier of
a2 = a1 & ( for
b1,
b2 being
Element of
a1 holds
( the
Arrows of
a2 . b1,
b2 = MonFuncs b1,
b2 & ( for
b3,
b4,
b5 being
Element of
a1 holds the
Comp of
a2 . b3,
b4,
b5 = FuncComp (MonFuncs b3,b4),
(MonFuncs b4,b5) ) ) ) );
existence
ex b1 being strict AltCatStr st
( the carrier of b1 = c1 & ( for b2, b3 being Element of c1 holds
( the Arrows of b1 . b2,b3 = MonFuncs b2,b3 & ( for b4, b5, b6 being Element of c1 holds the Comp of b1 . b4,b5,b6 = FuncComp (MonFuncs b4,b5),(MonFuncs b5,b6) ) ) ) )
uniqueness
for b1, b2 being strict AltCatStr st the carrier of b1 = c1 & ( for b3, b4 being Element of c1 holds
( the Arrows of b1 . b3,b4 = MonFuncs b3,b4 & ( for b5, b6, b7 being Element of c1 holds the Comp of b1 . b5,b6,b7 = FuncComp (MonFuncs b5,b6),(MonFuncs b6,b7) ) ) ) & the carrier of b2 = c1 & ( for b3, b4 being Element of c1 holds
( the Arrows of b2 . b3,b4 = MonFuncs b3,b4 & ( for b5, b6, b7 being Element of c1 holds the Comp of b2 . b5,b6,b7 = FuncComp (MonFuncs b5,b6),(MonFuncs b6,b7) ) ) ) holds
b1 = b2
end;
:: deftheorem Def9 defines POSAltCat ORDERS_3:def 9 :
for
b1 being non
empty POSet_set for
b2 being
strict AltCatStr holds
(
b2 = POSAltCat b1 iff ( the
carrier of
b2 = b1 & ( for
b3,
b4 being
Element of
b1 holds
( the
Arrows of
b2 . b3,
b4 = MonFuncs b3,
b4 & ( for
b5,
b6,
b7 being
Element of
b1 holds the
Comp of
b2 . b5,
b6,
b7 = FuncComp (MonFuncs b5,b6),
(MonFuncs b6,b7) ) ) ) ) );
theorem Th12: :: ORDERS_3:12