Partial and Total Orders - Eli Bendersky's website
Partially and Totally Ordered Sets. When all the elements of a partial order relation are comparable, the relation is called a total order. Here we are going to learn three types of order: partial order, total order, and Definition(partial order): A binary relation R on a set A is a partial order if and only . A total order (or "totally ordered set," or "linearly ordered set") is a set plus a relation on the set (called a total order) that satisfies the conditions for a partial order.
Each of these can be shown to be the unique to within isomorphism smallest example of a totally ordered set with a certain property, a total order A is the smallest with a certain property if whenever B has the property, there is an order isomorphism from A to a subset of B: The natural numbers comprise the smallest totally ordered set with no upper bound. The integers comprise the smallest totally ordered set with neither an upper nor a lower bound. The rational numbers comprise the smallest totally ordered set which is dense in the real numbers.
The real numbers comprise the smallest unbounded totally ordered set that is connected in the order topology defined below. Ordered fields are totally ordered by definition. They include the rational numbers and the real numbers. Every ordered field contains an ordered subfield that is isomorphic to the rational numbers. Any Dedekind-complete ordered field is isomorphic to the real numbers.
Chains[ edit ] While chain is sometimes merely a synonym for totally ordered set, it can also refer to a totally ordered subset of some partially ordered set. The relation on numbers is a classical example: It is reflexive because for any number x we have It is transitive because given and It is antisymmetric because given andwe know that x and y are the same number A strong partial order a.
The difference between weak and strong partial orders is reflexivity. In weak partial orders, every element is related to itself; in strong partial orders, no element is related to itself.
Our rectantular boxes with the "fits" relation is a good example to distinguish between the two. We can only define a strong partial order on them, because a box cannot fit inside itself. Another good example is a morning dressing routine. The following drawing encodes the relation: This kind of drawing is called a Hasse diagramwhich is useful to graphically represent partially ordered sets  ; the arrow represents the relation. For example, the arrow from "pants" to "left shoe" encodes that pants have to be worn before the left shoe.
Note that this relation is irreflextive, because it's meaningless to say that "pants have to be worn before wearing pants". Therefore, the relation defines a strong partial order on the set.
Totally Ordered Set -- from Wolfram MathWorld
Similarly to the rectangular boxes example, the partial order here lets us order only some of the elements in the set w. Some elements like socks and a shirt don't have an order defined.
Total order A total order is a partial order that has one additional property - any two elements in the set should be related. While a partial order lets us order some elements in a set w. In the boxes example, we can't define a total order for rectangular boxes there is not "fits in" relation between boxes A and D, no matter which way we try. We can define a total order between square boxes, however, as long as their sizes are unique.
Neither can we define a total order for the dressing diagram shown above, because we can't say either "left socks have to be worn before shirts" or "shirts have to be worn before left socks". Examples from programming Partial and total orders frequently come up in programming, especially when thinking about sorts.
Sorting an array usually implies finding some total order on its elements. Tie breaking is important, but not always possible. If there is no way to tell two elements apart, we cannot mathematically come up with a total order, but we can still sort and we do have a weak partial order.
This is where the distinction between regular and stable sorts comes in.
Sometimes we're sorting non-linear structures, like dependency graphs in the dressing example from above. In these cases a total order is impossible, but we do have a partial order which can be useful to find a "valid" dressing order - a linear sequence of dressing steps that wouldn't violate any constraints.
This can be done with topological sorting which finds a valid "linearization" of the dependency graph. That said, it's not clear what "distinct" means. In our case, distinct can refer to the complete identities of the boxes; for example, two boxes can have the exact same dimensions but different colors - so they are not the same as far as the set is concerned.
Moreover, in programming identity is further moot and can be defined for specific types in specific ways. For these reasons I'm going to call out uniqueness explicitly to avoid confusion.