Journal of Formalized Mathematics
Volume 8, 1996
University of Bialystok
Copyright (c) 1996
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Adam Grabowski
- Received January 22, 1996
- MML identifier: ORDERS_3
- [
Mizar article,
MML identifier index
]
environ
vocabulary ORDERS_1, NATTRA_1, RELAT_1, RELAT_2, BOOLE, WELLORD1, SUBSET_1,
PRE_TOPC, SEQM_3, FUNCT_1, FUNCT_2, UNIALG_3, FRAENKEL, CAT_5, CAT_1,
ALTCAT_1, PBOOLE, PRALG_1, BINOP_1, ORDERS_3;
notation TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, RELAT_1, RELAT_2, FUNCT_1,
CAT_5, STRUCT_0, MCART_1, WELLORD1, PARTFUN1, BINOP_1, MULTOP_1,
RELSET_1, PRE_TOPC, ORDERS_1, CAT_1, ENS_1, FRAENKEL, PBOOLE, GRCAT_1,
FUNCT_2, PRALG_1, ALTCAT_1;
constructors RELAT_2, ORDERS_1, WELLORD1, ALTCAT_1, ENS_1, CAT_5, DOMAIN_1,
TOPS_2, GRCAT_1;
clusters SUBSET_1, RELSET_1, ORDERS_1, STRUCT_0, FUNCT_1, FRAENKEL, CAT_5,
ALTCAT_1, ENS_1, PARTFUN1, XBOOLE_0;
requirements BOOLE, SUBSET;
begin :: Preliminaries
definition let IT be RelStr;
attr IT is discrete means
:: ORDERS_3:def 1
the InternalRel of IT = id (the carrier of IT);
end;
definition
cluster strict discrete non empty Poset;
cluster strict discrete empty Poset;
end;
definition
cluster RelStr (#{},id {}#) -> empty;
let P be empty RelStr;
cluster the InternalRel of P -> empty;
end;
definition
cluster empty -> discrete RelStr;
end;
definition let P be RelStr;
let IT be Subset of P;
attr IT is disconnected means
:: ORDERS_3:def 2
ex A,B be Subset of P st A <> {} & B <> {}
& IT = A \/ B & A misses B &
the InternalRel of P =
(the InternalRel of P) |_2 A \/ (the InternalRel of P) |_2 B;
antonym IT is connected;
end;
definition let IT be RelStr;
attr IT is disconnected means
:: ORDERS_3:def 3
[#] IT is disconnected;
antonym IT is connected;
end;
reserve T for non empty RelStr,
a for Element of T;
theorem :: ORDERS_3:1
for DP be discrete non empty RelStr, x,y be Element of DP holds
x <= y iff x = y;
theorem :: ORDERS_3:2
for R be Relation, a be set st R is Order of {a} holds R = id {a};
theorem :: ORDERS_3:3
T is reflexive & [#] T = {a} implies T is discrete;
reserve a for set;
theorem :: ORDERS_3:4
[#] T = {a} implies T is connected;
theorem :: ORDERS_3:5
for DP be discrete non empty Poset st
(ex a,b be Element of DP st a <> b) holds DP is disconnected;
definition
cluster strict connected (non empty Poset);
cluster strict disconnected discrete (non empty Poset);
end;
begin :: Category of Posets
definition let IT be set;
attr IT is POSet_set-like means
:: ORDERS_3:def 4
for a be set st a in IT holds a is non empty Poset;
end;
definition
cluster non empty POSet_set-like set;
end;
definition
mode POSet_set is POSet_set-like set;
end;
definition let P be non empty POSet_set;
redefine mode Element of P -> non empty Poset;
end;
definition
let L1,L2 be RelStr;
let f be map of L1, L2;
attr f is monotone means
:: ORDERS_3:def 5
for x,y being Element of L1 st x <= y
for a,b being Element of L2 st a = f.x & b = f.y holds a <= b;
end;
reserve P for non empty POSet_set, A,B for Element of P;
definition let A,B be RelStr;
func MonFuncs (A,B) means
:: ORDERS_3:def 6
a in it iff ex f be map of A, B st a = f &
f in Funcs (the carrier of A, the carrier of B) & f is monotone;
end;
theorem :: ORDERS_3:6
for A,B,C be non empty RelStr
for f,g be Function st f in MonFuncs (A,B) & g in MonFuncs (B,C) holds
(g*f) in MonFuncs (A,C);
theorem :: ORDERS_3:7
id the carrier of T in MonFuncs (T,T);
definition let T;
cluster MonFuncs (T,T) -> non empty;
end;
definition let X be set;
func Carr X -> set means
:: ORDERS_3:def 7
a in it iff ex s be 1-sorted st s in X & a = the carrier of s;
end;
definition let P;
cluster Carr P -> non empty;
end;
theorem :: ORDERS_3:8
for f be 1-sorted holds Carr {f} = {the carrier of f};
theorem :: ORDERS_3:9
for f,g be 1-sorted holds Carr {f,g} = {the carrier of f, the carrier of g}
;
theorem :: ORDERS_3:10
MonFuncs (A,B) c= Funcs Carr P;
theorem :: ORDERS_3:11
for A,B be RelStr holds
MonFuncs (A,B) c= Funcs (the carrier of A,the carrier of B);
definition let A,B be non empty Poset;
cluster MonFuncs (A,B) -> functional;
end;
definition let P be non empty POSet_set;
func POSCat P -> strict with_triple-like_morphisms Category means
:: ORDERS_3:def 8
the Objects of it = P &
(for a,b be Element of P, f be Element of Funcs Carr P st
f in MonFuncs (a,b) holds [[a,b],f] is Morphism of it) &
(for m be Morphism of it
ex a,b be Element of P, f be Element of Funcs (Carr P) st
m = [[a,b],f] & f in MonFuncs (a,b)) &
for m1,m2 be (Morphism of it), a1,a2,a3 be Element of P,
f1,f2 be Element of Funcs (Carr P) st
m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2]
holds m2*m1 = [[a1,a3], f2*f1];
end;
begin :: Alternative Category of Posets
scheme AltCatEx
{A() -> non empty set, F(set,set) -> functional set }:
ex C be strict AltCatStr st
the carrier of C = A() &
for i,j be Element of A() holds (the Arrows of C).(i,j) = F (i,j) &
for i,j,k be Element of A() holds
(the Comp of C).(i,j,k) = FuncComp ( F(i,j) , F(j,k) )
provided
for i,j,k be Element of A() for f,g be Function st
f in F(i,j) & g in F(j,k) holds g * f in F (i,k);
scheme AltCatUniq
{A() -> non empty set, F(set,set) -> functional set } :
for C1,C2 be strict AltCatStr st
( the carrier of C1 = A() &
for i,j be Element of A() holds (the Arrows of C1).(i,j) = F (i,j) &
for i,j,k be Element of A() holds
(the Comp of C1).(i,j,k) = FuncComp ( F(i,j) , F(j,k) ) ) &
( the carrier of C2 = A() &
for i,j be Element of A() holds (the Arrows of C2).(i,j) = F (i,j) &
for i,j,k be Element of A() holds
(the Comp of C2).(i,j,k) = FuncComp ( F(i,j) , F(j,k) ) )
holds C1 = C2;
definition let P be non empty POSet_set;
func POSAltCat P -> strict AltCatStr means
:: ORDERS_3:def 9
the carrier of it = P &
for i,j be Element of P holds
(the Arrows of it).(i,j) = MonFuncs (i,j) &
for i,j,k be Element of P holds
(the Comp of it).(i,j,k) = FuncComp ( MonFuncs (i,j) , MonFuncs (j,k) );
end;
definition let P be non empty POSet_set;
cluster POSAltCat P -> transitive non empty;
end;
definition let P be non empty POSet_set;
cluster POSAltCat P -> associative with_units;
end;
theorem :: ORDERS_3:12
for o1,o2 be object of POSAltCat P, A,B be Element of P st o1 = A & o2 = B
holds <^ o1 , o2 ^> c= Funcs (the carrier of A, the carrier of B);
Back to top