A partial order is a relation that is:

- Reflexive: Every element is “before” itself.
- Transitive: if P is before Q, and Q is before R, then P is before R.
- Antisymmetrical: If P is before Q, and Q is before P, then P is equal to Q.

A partial order is not a total order, because for any P and Q, it is not necessarily the case that either P is before Q or Q is before P.

We can represent a partial order with a directed, acyclic graph:

The circled letters in this graph are “elements”, and an arrow between two elements P and Q means that P is before Q. The transitive rule means that if you can get from P to S by going via R, then P is before S - we don’t show the arrow from P to S explicitly, and neither do we show the arrow from each element to itself.

The powerset of a set is the set of all the parts (subsets) of that set; for example, the powerset of {*a, b, c*} is {{}, {*a*}, {*b*}, {*c*}, {*a, b*}, {*b, c*}, {*a, c*}, {*a, b, c*}}. The relation “is a part of” over the elements of this powerset is a partial order:

Now, suppose we assign a (prime) number to each of *a*, *b* and *c*: *a*=2, *b*=3, *c*=5. To each of the sets in the powerset of {*a, b, c*}, we can then assign a value by multiplying together the values assigned to its elements. The empty set {}=1, {*a*}=2, {*a, b*}=*a* * *b* = 6, {*a, b, c*}=*a* * *b* * *c*=30:

The relation “is a part of” can now be mapped to the relation “is a factor of”: 2 and 3 are factors of 6, 3 and 5 are factors of 15, 3 and 10 are factors of 30 and so on. Note that this wouldn’t have worked if we’d used non-prime numbers to number *a*, *b* and *c*: if we’d numbered them *a*=2, *b*=3 and *c*=4, that would have implied that {*a*} was a part of {*c*}, because 2 is a factor of 4.

Let’s call our “universe” set {*a, b, c*} U, and its powerset P, Now, we can find the complement in U of any set in P by dividing the value of U (30) by the value assigned to that set. For example, the complement in U=30 of {*b, c*}=15 is {*a*}=30 / 15 = 2. What’s more, the complement in {*b, c*}=15 of {*c*}=5 is {*b*}=15 / 5 = 3.

What about the intersection of two sets? Let U be {*a*, *b*, *c*, *d*}, and the “universal value” be 2 * 3 * 5 * 7=210. The intersection of {*a, b, c*}=30 and {*b, c, d*}=105 will be the set valued with the product of the common prime factors of 30 and 105, which are 3 and 5. 3 * 5 = 15, the value of {*b*, *c*}.

To find the union of {*a, b, d*}=42 and {*a, c*}=10, we can use the intersection and complement operations described above. The intersection of 42 and 10 is 2. The complement of 2 in 42 is 21, and the complement of 2 in 10 is 5. If we multiply them all together, we get 2 * 21 * 5 = 210 = {*a*, *b*, *c*, *d*}.

Now suppose that all we have is a set S containing various elements {*a, b, c…*}, and a function from S to a set O of values ranging from a minimum value 1 (which numbers the empty set) to some maximum “universal value” (which numbers a set of which all of the elements of S are parts). O is missing some numbers - 4 isn’t in it, and neither is 9 - since all it contains is prime numbers and the sums of sets of prime numbers, and there is no set {*2, 2*} or {*3, 3*}.

Given S and the function from S to O, we can say for any two elements of S whether one is a part of the other, whether they overlap at all, whether another element is a part of their overlapping part or not, and so on. We can say - without knowing what is “inside” *a*, *b* and *c* - how they stand in relation to each other, at least as far as relations of inclusion go. We can identify some elements as “primitive”, inasmuch as they are valued with prime numbers, and others as “composite” (although S may not actually contain the “primitive” elements out of which they are composed).

This concludes a toy example of how we can express relationships between objects by assigning them values from a partial order. What Badiou does with Heyting algebras in *Logics of Worlds *is rather more complex, needless to say. But what may surprise you is that this approach to ordering entities by numbering primitive elements with primes, and their composites with products of primes, was first developed by…wait for it…Leibniz!