Disproof of the Aharoni–Korman conjecture #
The Aharoni–Korman conjecture (sometimes called the fishbone conjecture) says that every partial order satisfies at least one of the following:
- It contains an infinite antichain
- It contains a chain C, together with a partition into antichains such that every part meets C.
In November 2024, Hollom disproved this conjecture. In this file, we construct Hollom's counterexample P_5 and show it satisfies neither of the above, and thus disprove the conjecture. See [Hol25] for further details.
We show a number of key properties of P_5:
- It is a partial order
- It is countable
- It has no infinite antichains
- It is scattered (it does not contain a suborder which is order-isomorphic to ℚ)
- It does not contain a chain C and a partition into antichains such that every part meets C
Points 1, 3, 5 are sufficient to disprove the conjecture, but we include points 2 and 4 nonetheless as they represent other important properties of the partial order.
The final point is the most involved, so we sketch its proof here.
The proof structure is as follows:
- Begin by defining the type
Hollom
as a synonym forℕ³
and giving it the partial order structure as required. - Define the levels
level
of the partial order, corresponding toL
in the informal proof. - Show that this partial order has no infinite antichains (
Hollom.no_infinite_antichain
). - Given a chain
C
, show that for infinitely manyn
,C ∩ level n
must be finite (exists_finite_intersection
). - Given a chain
C
, the existence of a partition with the desired properties is equivalent to the existence of a "spinal map" (exists_partition_iff_nonempty_spinalMap
). A spinal map is a function from the partial order toC
, which is identity onC
and for which each fiber is an antichain.
From this point forward, we assume C
is a chain and that we have a spinal map to C
, with the
aim of reaching a contradiction (as then, no such partition can exist). We may further assume that
n ≠ 0
and C ∩ level n
is finite.
- Define a subset
S
oflevel n
, and we will aim to show a contradiction by considering the image ofS
under the spinal map. By construction, no element ofS
can be mapped intolevel n
. - The subset
S \ (C ∩ level n)
contains some "infinite square", i.e. a set of the form{(x, y, n) | a ≤ x ∧ a ≤ y}
for somea
(square_subset_S
). - For two points of
C
in the same level, the intersection ofC
with the interval between them is exactly the length of a maximal chain between them (card_C_inter_Icc_eq
). - For two points of
C
in the same level, and two points(a, b, n)
and(c, d, n)
between them, ifa + b = c + d
thenf (a, b, n) = f (c, d, n)
(apply_eq_of_line_eq
). - No element of
S \ (C ∩ level n)\ (C ∩ level n)
can be mapped intolevel (n + 1)
(not_S_hits_next
). This step vitally uses the previous two facts. - If all of
S \ (C ∩ level n)
is mapped intolevel (n - 1)
, then we have a contradiction (not_S_mapsTo_previous
). - But as
f
maps each element ofS \ (C ∩ level n)
tolevel (n - 1) ∪ level n ∪ level (n + 1)
, we have a contradiction (no_spinalMap
), and therefore show that no spinal map exists.
A type synonym on ℕ³ on which we will construct Hollom's partial order P_5.
- toHollom :: (
The backward equivalence between ℕ³ and the underlying set in Hollom's partial order. Note that this equivalence does not respect the partial order relation.
- )
Instances For
Equations
toHollom
and ofHollom
as an equivalence.
Equations
- equivHollom = { toFun := Hollom.toHollom, invFun := Hollom.ofHollom, left_inv := equivHollom.proof_1, right_inv := equivHollom.proof_2 }
Instances For
The Hollom partial order is countable. This is very easy to see, since it is just ℕ³
with a
different order.
The ordering on ℕ³ which is used to define Hollom's example P₅
- twice {x y n u v m : ℕ} : m + 2 ≤ n → HollomOrder (x, y, n) (u, v, m)
- within {x y u v m : ℕ} : x ≤ u → y ≤ v → HollomOrder (x, y, m) (u, v, m)
- next_min {x y u v m : ℕ} : x ⊓ y + 1 ≤ u ⊓ v → HollomOrder (x, y, m + 1) (u, v, m)
- next_add {x y u v m : ℕ} : x + y ≤ 2 * (u + v) → HollomOrder (x, y, m + 1) (u, v, m)
Instances For
Transitivity of the hollom order. This needs to be split out from the instance otherwise it's painfully slow to compile.
The Hollom partial order is divided into "levels", indexed by the natural numbers. These correspond to the third coordinate of the tuple. This is written $L_n$ in the [Hol25].
Instances For
If A
is a subset of level n
and is an antichain, then A
is finite.
This is a special case of the fact that any antichain in the Hollom order is finite, but is a useful
lemma to prove that fact later: no_infinite_antichain
.
The Hollom partial order is scattered: it does not contain a suborder which is order-isomorphic
to ℚ
. We state this as saying there is no strictly monotone function from ℚ
to Hollom
.
Any antichain in the Hollom partial order is finite. This corresponds to Lemma 5.9 in [Hol25].
In this section we define spinal maps, and prove important properties about them.
A spinal map is a function f : α → C
which is the identity on C
, and for which each fiber is an
antichain.
Provided C
is a chain, the existence of a spinal map is equivalent to the fact that C
is a
spine.
- toFun : α → α
The underlying function of a spinal map.
Instances For
Equations
- Hollom.instFunLikeSpinalMap = { coe := Hollom.SpinalMap.toFun, coe_injective' := ⋯ }
Basic lemmas for spinal maps #
Given a chain C
in a partial order α
, the existence of the following are equivalent:
- a partition of
α
into antichains, each which meetsC
- a function
f : α → C
which is the identity onC
and for which each fiber is an antichain
In fact, these two are in bijection, but we only need the weaker version that their existence is equivalent.
Explicit chains #
In this section we construct an explicit chain in ℕ × ℕ that will be useful later. These comprise part of 5.8(iv) from [Hol25]: the full strength of that observation is not actually needed.
An explicit contiguous chain between (a, b)
and (c, d)
in ℕ × ℕ
. We implement this as the
union of two disjoint sets: the first is the chain from (a, b)
to (a, d)
, and the second is the
chain from (a, d)
to (c, d)
.
Equations
Instances For
The collection of points between (xl, yl, n)
and (xh, yh, n)
that are also in C
has at least
xh + yh + 1 - (xl + yl)
elements.
In other words, this collection must be a maximal chain relative to the interval it is contained in.
Note card_C_inter_Icc_eq
strengthens this to an equality.
The collection of points between (xl, yl, n)
and (xh, yh, n)
that are also in C
has exactly
xh + yh + 1 - (xl + yl)
elements.
In other words, this collection must be a maximal chain relative to the interval it is contained in.
Alternatively speaking, it has the same size as any maximal chain in that interval.
The important helper lemma to prove apply_eq_of_line_eq
. That lemma says that given (xl, yl, n)
and (xh, yh, n)
in a chain C
, and two points (a, b, n)
and (c, d, n)
between them, if
a + b = c + d
then a spinal map f : SpinalMap C
sends them to the same place.
Here we show the special case where the two points are (x + 1, y, n)
and (x, y + 1, n)
, i.e.
they are beside each other.
A simple helper lemma to prove apply_eq_of_line_eq
.
Here we show the special case where the two points are (x + k, y, n)
and (x, y + k, n)
by
induction on k
with apply_eq_of_line_eq_step
.
For two points of C
in the same level, and two points (a, b, n)
and (c, d, n)
between them,
if a + b = c + d
then f (a, b, n) = f (c, d, n)
.
A helper lemma to show square_subset_R
. In particular shows that if C ∩ level n
is finite, the
set of points x
such that x
is at least as large as every element of C ∩ level n
contains an
"infinite square", i.e. a set of the form {(x, y, n) | x ≥ a ∧ y ≥ a}
.
The precise statement here is stronger in two ways:
- Instead of showing that some
a
works, we instead show that any sufficiently largea
work. This is not much of a strengthening, but is convenient to have for chaining "sufficiently large" choices later. - We also exclude
C ∩ level n
itself on the right.
Given a subset C
of the Hollom partial order, and an index n
, find the smallest element of
C ∩ level (n + 1)
, expressed as (x₀, y₀, n + 1)
.
This is only the global minimum provided C
is a chain, which it is in context.
Equations
- Hollom.x0y0 n C = if h : (C ∩ Hollom.level (n + 1)).Nonempty then Hollom.x0y0.proof_1.min {x : ℕ × ℕ | (Hollom.embed (n + 1)) x ∈ C} ⋯ else 0
Instances For
Construction of the set S
, which has the following key properties:
- It is a subset of
R
. - No element of it can be mapped to an element of
C ∩ level (n + 1)
byf
. - There exists an
a
such that{(x, y, n) | x ≥ a ∧ y ≥ a} ⊆ S
.
If C ∩ level (n + 1)
is finite, it is all elements of R
which are comparable to
C ∩ level (n + 1)
.
Otherwise, say (x0, y0, n + 1)
is the smallest element of C ∩ level (n + 1)
, and take all
elements of R
of the form (a, b, n)
with max x0 y0 + 1 ≤ min a b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assuming C ∩ level n
is finite, and C ∩ level (n + 1)
is finite, that there exists cofinitely
many a
such that {(x, y, n) | x ≥ a ∧ y ≥ a} ⊆ S \ (C ∩ level n)
.
We will later show the same assuming C ∩ level (n + 1)
is infinite.
Assuming C ∩ level n
is finite, and C ∩ level (n + 1)
is infinite, that there exists cofinitely
many a
such that {(x, y, n) | x ≥ a ∧ y ≥ a} ⊆ S \ (C ∩ level n)
.
We earlier showed the same assuming C ∩ level (n + 1)
is finite.
Given (a, b, n)
which is a lower bound on C ∩ level n
, and assuming C ∩ level n
is infinite,
we either have:
Supposing that all of S \ (C ∩ level n)
is sent to C ∩ level (n - 1)
, we deduce a contradiction.
The Aharoni–Korman conjecture (sometimes called the fishbone conjecture) says that every partial order satisfies one of the following:
- It contains an infinite antichain
- It contains a chain C, and has a partition into antichains such that every part meets C.
In November 2024, Hollom disproved this conjecture.
This statement says that it is not the case that every partially ordered set satisfies one of the above conditions.