Maximal length of chains #
This file contains lemmas to work with the maximal length of strictly descending finite sequences (chains) in a partial order.
Main definition #
Set.subchain
: The set of strictly ascending lists ofα
contained in aSet α
.Set.chainHeight
: The maximal length of a strictly ascending sequence in a partial order. This is defined as the maximum of the lengths ofSet.subchain
s, valued inℕ∞
.
Main results #
Set.exists_chain_of_le_chainHeight
: For eachn : ℕ
such thatn ≤ s.chainHeight
, there existss.subchain
of lengthn
.Set.chainHeight_mono
: Ifs ⊆ t
thens.chainHeight ≤ t.chainHeight
.Set.chainHeight_image
: Iff
is an order embedding, then(f '' s).chainHeight = s.chainHeight
.Set.chainHeight_insert_of_forall_lt
: If∀ y ∈ s, y < x
, then(insert x s).chainHeight = s.chainHeight + 1
.Set.chainHeight_insert_of_forall_gt
: If∀ y ∈ s, x < y
, then(insert x s).chainHeight = s.chainHeight + 1
.Set.chainHeight_union_eq
: If∀ x ∈ s, ∀ y ∈ t, s ≤ t
, then(s ∪ t).chainHeight = s.chainHeight + t.chainHeight
.Set.wellFoundedGT_of_chainHeight_ne_top
: Ifs
has finite height, then>
is well-founded ons
.Set.wellFoundedLT_of_chainHeight_ne_top
: Ifs
has finite height, then<
is well-founded ons
.
The maximal length of a strictly ascending sequence in a partial order.
Equations
- s.chainHeight = ⨆ l ∈ s.subchain, ↑l.length
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Set.chainHeight_insert_of_forall_gt
{α : Type u_1}
{s : Set α}
[Preorder α]
(a : α)
(hx : ∀ b ∈ s, a < b)
:
theorem
Set.chainHeight_insert_of_forall_lt
{α : Type u_1}
{s : Set α}
[Preorder α]
(a : α)
(ha : ∀ b ∈ s, b < a)
:
theorem
Set.chainHeight_union_eq
{α : Type u_1}
[Preorder α]
(s t : Set α)
(H : ∀ a ∈ s, ∀ b ∈ t, a < b)
:
theorem
Set.wellFoundedGT_of_chainHeight_ne_top
{α : Type u_1}
[Preorder α]
(s : Set α)
(hs : s.chainHeight ≠ ⊤)
:
theorem
Set.wellFoundedLT_of_chainHeight_ne_top
{α : Type u_1}
[Preorder α]
(s : Set α)
(hs : s.chainHeight ≠ ⊤)
: