from graphviz import Digraph
= 'aa', 'ac', 'ae', 'bb', 'bc', 'bd', 'be', 'cc', 'dd', 'de', 'ee'
XxX = Digraph('example_partial_order')
D for xx in XxX:
0], xx[1])
D.edge(xx[ D
Fundamentals
This section provides an overview of some fundamental concepts in order theory.
Essential Definitions and Examples
Definition
A partial order is a pair
composed of a set called the ground set and is a binary relation with the following relation: - reflexivity: - transitivity: - antisymmtry:
Let us consider an example of a partial order and some of the ways we can represent them.
Example
Let
, then we might have a partial order . This partial order can be represented as a matrix.
Another representation is a directed graph (AKA a digraph):
The previous example only required a relatively small subset of the Cartesian
. When you a have too many elements in to deal with by hand, one quick Python script to make the pairs in a format suitable for is the following:
from itertools import product
= 'a', 'b', 'c', 'd', 'e'
X = ['('+', '.join(i) + ')' for i in product(X,X)]
XxX = sorted(XxX)
XxX = str(XxX).replace("'", "")
XxX = XxX.replace("[", "\\\\{")
XxX = XxX.replace("]", "\\\\}")
XxX print(XxX)
\\{(a, a), (a, b), (a, c), (a, d), (a, e), (b, a), (b, b), (b, c), (b, d), (b, e), (c, a), (c, b), (c, c), (c, d), (c, e), (d, a), (d, b), (d, c), (d, d), (d, e), (e, a), (e, b), (e, c), (e, d), (e, e)\\}
Definition
A strict partial order is a pair
composed of a set called the ground set and is a binary relation with the following relation: - transitivity: - asymmetry:
Proposition
The digraph representation of a strict order is a directed acyclic graph (DAG).
Often we can start with a strict order and derive similar results for a corresponding (non-strict) partial order.
Definition
are a comparable pair if , denoted .
Definition
A graph
whose edge set is the set of comparable pairs of a partial order is called the comparability graph.
Example
Suppose we have the strict partial order
, then its comparability graph would look like:
flowchart TB
a o--o c
a o--o e
b o--o c
b o--o d
b o--o e d o--o e
Definition
are an incomparable pair if , denoted .
Definition
A graph
whose edge set is the set of incomparable pairs of a partial order is called the comparability graph.
Example Suppose we have the strict partial order
, then its incomparability graph (AKA cocomparability graph) would look like:
flowchart TB
a o--o b
a o--o d
c o--o d c o--o e
Proposition
The edge set of an incomparability graph is the complement of the edge set of the comparability graph.
Definition
A cover relation
is satisfied when and there does not exist such that .
Definition
A graph
is a cover graph when its edge set is a collection of pairs satisfying a cover relation.
Example Suppose we have the strict partial order
, then its cover graph would look like:
flowchart TB
a o--o c
a o--o e
b o--o c
b o--o d d o--o e
Definition
A directed graph
is a directed cover graph when its edge set is a collection of pairs satisfying a cover relation and the order of the pairs is represented with arcs.
Example
Suppose we have the strict partial order
, then its directed cover graph would look like:
flowchart TB
e --> a
e --> d
c --> a
c --> b d --> b
Definition
A cover diagram is a drawing of the directed graph representing a cover relation such that the edges are cover pairs
. Edges are drawn in such a way that is below (in the graph embedding) ad the edge is -monotone.
Example
Suppose we have the strict partial order
, then its cover diagram would look like:
import matplotlib.pyplot as plt
import networkx as nx
import warnings
= nx.Graph()
g
'a', 'c')
g.add_edge('a', 'e')
g.add_edge('b', 'c')
g.add_edge('b', 'd')
g.add_edge('d', 'e')
g.add_edge(
= {'a':(0,1),
pos 'b':(1,0),
'c':(0,3),
'd':(2,2),
'e':(1,4)}
with warnings.catch_warnings():
'ignore')
warnings.filterwarnings(=pos, labels={i:i for i in g.nodes()}, node_color=(0.5,)*3) nx.draw(g, pos
Special Classes of Orders
- linear orders (aka total orders, aka chains).
- Important in computer science problems such as sorting.
- Important in mathematics for defining sets of numbers such as
, , and others.
- Boolean lattices
where- Looks at subsets of
ordered by inclusion
Proposition
The subset relation on any family of sets is an order relation.
Example
Intervals, discs, balls, subtrees, subgraphs, subgroups are all included sets under the order relation of set inclusion.
Definition
A containment relation is […]
Definition
For
we have the down-set of being .
Proposition
Every finite order is the containment order of a family of sets.
Proof Let
be an order relation. For
let be the down-set of a. Let
. Now we claim that
where is an order-preserving isomorphism. Since isomorphisms are bijections, we take the bijection in this case to
. We need to verify that
as we have just defined it is actually a bijection. If a mapping is a bijection, then it is both injective and surjective.
Considering the injective case, let take two elements
and such that then there are three possibilities: - - - (i.e. and are not comparable in the order) which implies Surjectivity is given by definition of
. And we have that
is order-preserving in the sense that .
Definition
A lower bound of a subset
of partially ordered set is an element such that .
Definition
A lower bound
is called an infinum (or greatest lower bound, or meet) of if for all lower bounds we have .
Definition
An upper bound of a subset
of partially ordered set is an element such that .
Definition
An upper bound
of is called a supremum (or least upper bound, or join) of if for all upper bounds we have .
Definition
A finite poset on
is a lattice if every subset of has an unique least upper bound (aka join or supremum) denoted and an unique greatest lower bound (aka meet or infinum) denoted .
Definition
The down-set lattice of
given by .
Definition
A lattice
is distributive if the following identity holds for all :
where
and are the meet and join operations.
Proposition
The down-set lattice of
is a distributive lattice. Proof (Hint) Take
to be and to be .
Definition
is a subposet of if and .