Think of a totally ordered set as an “order-theoretic line”. Similarly, cyclic orders are “order-theoretic circles”. I want to find the right axioms for an “order-theoretic plane”.
My ultimate goal is to design a data structure that represents a finite set of points on an “order-theoretic plane”, similarly to how binary search trees represent finite sets of points on an “order-theoretic line”.
I will describe the progress I made so far. I started with an axiomatization of oriented triangles:
We postulate a relation $\triangle abc$ (triangle) satisfying the following axioms:
- Cyclicity: $\triangle abc \iff \triangle cab$
- Asymmetry: $\neg \triangle abc \vee \neg \triangle cba$
- Encirclement: $\neg \triangle abc \vee \neg \triangle acd \vee \neg \triangle adb \vee \triangle bcd$
Encirclement is the ternary analogue of a partial order's transitive property. The transitive property of a partial order constructs a large oriented segment by concatenating two smaller ones (in the partial order's Hasse diagram). Similarly, the encirclement property of $\triangle$ constructs a large oriented triangle by concatenating three smaller ones.
Three pairwise distinct points $a,b,c$ are collinear if neither $\triangle abc$ nor $\triangle cba$ holds. If three points are collinear, exactly one of them must be between the other two:
We postulate a relation $\overline {abc}$ (segment) satisfying the following axioms:
- Symmetry: $\overline {abc} \iff \overline {cba}$
- Acyclicity: $\neg \overline {abc} \vee \neg \overline {cab}$
Triangles and segments satisfy the following axioms:
- Mutual exclusion: $\neg \triangle abc \vee \neg \overline {abc}$
- Exhaustiveness: $\triangle abc \vee \triangle cba \vee \overline {abc} \vee \overline {bca} \vee \overline {cab} \vee a = b \vee a = c \vee b = c$
This axiomatization is incomplete. I need to postulate that, if $\overline {abc}$, then $\triangle abd$, $\triangle acd$, $\triangle bcd$ are equivalent statements.
Alas, I have not found a neat way to translate this informal statement to formal language. I have to clumsily split it into three statements:
Triangle base translation 1: $\neg \overline {abc} \vee \neg \triangle abd \vee \triangle acd$
Triangle base translation 2: $\neg \overline {abc} \vee \neg \triangle acd \vee \triangle bcd$
Triangle base translation 3: $\neg \overline {abc} \vee \neg \triangle bcd \vee \triangle abd$
Or is there a better way?