# Preorder

In mathematics, especially in order theory, a **preorder** or **quasiorder** is a binary relation that is reflexive and transitive. Preorders are more general than equivalence relations and (non-strict) partial orders, both of which are special cases of a preorder. An antisymmetric preorder is a partial order, and a symmetric preorder is an equivalence relation.

The name *preorder* comes from the idea that preorders (that are not partial orders) are 'almost' (partial) orders, but not quite; they are neither necessarily antisymmetric nor asymmetric. Because a preorder is a binary relation, the symbol ≤ can be used as the notational device for the relation. However, because they are not necessarily antisymmetric, some of the ordinary intuition associated to the symbol ≤ may not apply. On the other hand, a preorder can be used, in a straightforward fashion, to define a partial order and an equivalence relation. Doing so, however, is not always useful or worthwhile, depending on the problem domain being studied.

In words, when *a* ≤ *b*, one may say that *b* *covers* *a* or that *a* *precedes* *b*, or that *b* *reduces* to *a*. Occasionally, the notation ← or ≲ is used instead of ≤.

To every preorder, there corresponds a directed graph, with elements of the set corresponding to vertices, and the order relation between pairs of elements corresponding to the directed edges between vertices. The converse is not true: most directed graphs are neither reflexive nor transitive. In general, the corresponding graphs may contain cycles. A preorder that is antisymmetric no longer has cycles; it is a partial order, and corresponds to a directed acyclic graph. A preorder that is symmetric is an equivalence relation; it can be thought of as having lost the direction markers on the edges of the graph. In general, a preorder's corresponding directed graph may have many disconnected components.

## Formal definition

Consider some set *P* and a binary relation ≤ on *P*. Then ≤ is a **preorder**, or **quasiorder**, if it is reflexive and transitive; i.e., for all *a*, *b* and *c* in *P*, we have that:

*a*≤*a*(reflexivity)- if
*a*≤*b*and*b*≤*c*then*a*≤*c*(transitivity)

A set that is equipped with a preorder is called a **preordered set** (or **proset**).[1]

If a preorder is also antisymmetric, that is, *a* ≤ *b* and *b* ≤ *a* implies *a* = *b*, then it is a partial order.

On the other hand, if it is symmetric, that is, if *a* ≤ *b* implies *b* ≤ *a*, then it is an equivalence relation.

A preorder is total if either *a* ≤ *b* or *b* ≤ *a* for all *a*, *b*.

Equivalently, the notion of a preordered set *P* can be formulated in a categorical framework as a thin category; i.e., as a category with at most one morphism from an object to another. Here the objects correspond to the elements of *P*, and there is one morphism for objects which are related, zero otherwise. Alternately, a preordered set can be understood as an enriched category, enriched over the category **2** = (0 → 1).

A preordered class is a class equipped with a preorder. Every set is a class and so every preordered set is a preordered class.

## Examples

- The reachability relationship in any directed graph (possibly containing cycles) gives rise to a preorder, where
*x*≤*y*in the preorder if and only if there is a path from*x*to*y*in the directed graph. Conversely, every preorder is the reachability relationship of a directed graph (for instance, the graph that has an edge from*x*to*y*for every pair (*x*,*y*) with*x*≤*y*). However, many different graphs may have the same reachability preorder as each other. In the same way, reachability of directed acyclic graphs, directed graphs with no cycles, gives rise to partially ordered sets (preorders satisfying an additional antisymmetry property). - Every finite topological space gives rise to a preorder on its points by defining
*x*≤*y*if and only if*x*belongs to every neighborhood of*y*. Every finite preorder can be formed as the specialization preorder of a topological space in this way. That is, there is a one-to-one correspondence between finite topologies and finite preorders. However, the relation between infinite topological spaces and their specialization preorders is not one-to-one. - A net is a directed preorder, that is, each pair of elements has an upper bound. The definition of convergence via nets is important in topology, where preorders cannot be replaced by partially ordered sets without losing important features.
- The relation defined by
*x*≤*y*if f(*x*) ≤ f(*y*), where*f*is a function into some preorder. - The relation defined by
*x*≤*y*if there exists some injection from*x*to*y*. Injection may be replaced by surjection, or any type of structure-preserving function, such as ring homomorphism, or permutation. - The embedding relation for countable total orderings.
- The graph-minor relation in graph theory.
- A category with at most one morphism from any object
*x*to any other object*y*is a preorder. Such categories are called thin. In this sense, categories "generalize" preorders by allowing more than one relation between objects: each morphism is a distinct (named) preorder relation.

In computer science, one can find examples of the following preorders.

- Many-one and Turing reductions are preorders on complexity classes.
- The subtyping relations are usually preorders.
- Simulation preorders are preorders (hence the name).
- Reduction relations in abstract rewriting systems.
- The encompassment preorder on the set of terms, defined by
*s*≤*t*if a subterm of*t*is a substitution instance of*s*.

Example of a total preorder:

- Preference, according to common models.

## Uses

Preorders play a pivotal role in several situations:

- Every preorder can be given a topology, the Alexandrov topology; and indeed, every preorder on a set is in one-to-one correspondence with an Alexandrov topology on that set.
- Preorders may be used to define interior algebras.
- Preorders provide the Kripke semantics for certain types of modal logic.

## Constructions

Every binary relation R on a set S can be extended to a preorder on S by taking the transitive closure and reflexive closure, R^{+=}. The transitive closure indicates path connection in R: *x* R^{+} *y* if and only if there is an R-path from *x* to y.

Given a preorder ≲ on S one may define an equivalence relation ~ on S such that *a* ~ *b* if and only if *a* ≲ *b* and *b* ≲ *a*. (The resulting relation is reflexive since a preorder is reflexive, transitive by applying transitivity of the preorder twice, and symmetric by definition.)

Using this relation, it is possible to construct a partial order on the quotient set of the equivalence, S / ~, the set of all equivalence classes of ~. Note that if the preorder is R^{+=}, S / ~ is the set of R-cycle equivalence classes: *x* ∈ [*y*] if and only if *x* = *y* or *x* is in an R-cycle with *y*. In any case, on S / ~ we can define [*x*] ≤ [*y*] if and only if *x* ≲ *y*. By the construction of ~, this definition is independent of the chosen representatives and the corresponding relation is indeed well-defined. It is readily verified that this yields a partially ordered set.

Conversely, from a partial order on a partition of a set S one can construct a preorder on S. There is a 1-to-1 correspondence between preorders and pairs (partition, partial order).

For a preorder "≲", a relation "<" can be defined as *a* < *b* if and only if (*a* ≲ *b* and not *b* ≲ *a*), or equivalently, using the equivalence relation introduced above, (*a* ≲ *b* and not *a* ~ *b*). It is a strict partial order; every strict partial order can be the result of such a construction. If the preorder is antisymmetric, hence a partial order "≤", the equivalence is equality, so the relation "<" can also be defined as *a* < *b* if and only if (*a* ≤ *b* and *a* ≠ *b*).

(We do *not* define the relation "<" as *a* < *b* if and only if (*a* ≲ *b* and *a* ≠ *b*). Doing so would cause problems if the preorder was not antisymmetric, as the resulting relation "<" would not be transitive (think of how equivalent non-equal elements relate).)

Conversely we have *a* ≲ *b* if and only if *a* < *b* or *a* ~ *b*. This is the reason for using the notation "≲"; "≤" can be confusing for a preorder that is not antisymmetric, it may suggest that *a* ≤ *b* implies that *a* < *b* or *a* = *b*.

Note that with this construction multiple preorders "≲" can give the same relation "<", so without more information, such as the equivalence relation, "≲" cannot be reconstructed from "<". Possible preorders include the following:

- Define
*a*≤*b*as*a*<*b*or*a*=*b*(i.e., take the reflexive closure of the relation). This gives the partial order associated with the strict partial order "<" through reflexive closure; in this case the equivalence is equality, so we don't need the notations ≲ and ~. - Define
*a*≲*b*as "not*b*<*a*" (i.e., take the inverse complement of the relation), which corresponds to defining*a*~*b*as "neither*a*<*b*nor*b*<*a*"; these relations ≲ and ~ are in general not transitive; however, if they are, ~ is an equivalence; in that case "<" is a strict weak order. The resulting preorder is total, that is, a total preorder.

Given a binary relation , the complemented composition forms a preorder called the left residual, where denotes the converse relation of , and denotes the complement relation of , while denotes relation composition.

## Number of preorders

Elements | Any | Transitive | Reflexive | Preorder | Partial order | Total preorder | Total order | Equivalence relation |
---|---|---|---|---|---|---|---|---|

0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |

1 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 |

2 | 16 | 13 | 4 | 4 | 3 | 3 | 2 | 2 |

3 | 512 | 171 | 64 | 29 | 19 | 13 | 6 | 5 |

4 | 65,536 | 3,994 | 4,096 | 355 | 219 | 75 | 24 | 15 |

n |
2^{n2} |
2^{n2−n} |
∑nk=0 k! S(n, k) |
n! |
∑nk=0 S(n, k) | |||

OEIS | A002416 | A006905 | A053763 | A000798 | A001035 | A000670 | A000142 | A000110 |

As explained above, there is a 1-to-1 correspondence between preorders and pairs (partition, partial order). Thus the number of preorders is the sum of the number of partial orders on every partition. For example:

- for
*n*= 3:- 1 partition of 3, giving 1 preorder
- 3 partitions of 2 + 1, giving 3 × 3 = 9 preorders
- 1 partition of 1 + 1 + 1, giving 19 preorders

- for n = 4:
- 1 partition of 4, giving 1 preorder
- 7 partitions with two classes (4 of 3 + 1 and 3 of 2 + 2), giving 7 × 3 = 21 preorders
- 6 partitions of 2 + 1 + 1, giving 6 × 19 = 114 preorders
- 1 partition of 1 + 1 + 1 + 1, giving 219 preorders

## Interval

For *a* ≲ *b*, the interval [*a*, *b*] is the set of points *x* satisfying *a* ≲ *x* and *x* ≲ *b*, also written *a* ≲ *x* ≲ *b*. It contains at least the points *a* and *b*. One may choose to extend the definition to all pairs (*a*, *b*). The extra intervals are all empty.

Using the corresponding strict relation "<", one can also define the interval (*a*, *b*) as the set of points *x* satisfying *a* < *x* and *x* < *b*, also written *a* < *x* < *b*. An open interval may be empty even if *a* < *b*.

Also [*a*, *b*) and (*a*, *b*] can be defined similarly.

## See also

- Partial order – preorder that is antisymmetric
- Equivalence relation – preorder that is symmetric
- Total preorder – preorder that is total
- Total order – preorder that is antisymmetric and total
- Directed set
- Category of preordered sets
- Prewellordering
- Well-quasi-ordering

## Notes

- For "proset", see e.g. Eklund, Patrik; Gähler, Werner (1990), "Generalized Cauchy spaces",
*Mathematische Nachrichten*,**147**: 219–233, doi:10.1002/mana.19901470123, MR 1127325.