Finite preorders and finite sets in a preorder #
This file shows that non-empty finite sets in a preorder have minimal/maximal elements, and contrapositively that non-empty sets without minimal or maximal elements are infinite.
It also provides uniqueness results for order embeddings and order homomorphisms on finite linear orders.
theorem Set.Finite.exists_maximalFor' {ι : Type u_1} {α : Type u_2} [LE α] [IsTrans α LE.le] (f : ι → α) (s : Set ι) (h : (f '' s).Finite) (hs : s.Nonempty) :
∃ (i : ι), MaximalFor (fun (x : ι) => x ∈ s) f i
A version of Finite.exists_maximalFor with the (weaker) hypothesis that the image of s
is finite rather than s itself.
theorem Set.Finite.exists_subsingleton_isCofinal {α : Type u_2} [LinearOrder α] {s : Set α} (hs : s.Finite) (hs' : IsCofinal s) :
∃ (t : Set α), t.Subsingleton ∧ IsCofinal t
If the cofinality of a linear order is finite, it's at most one.
theorem OrderEmbedding.range_eq_iff {α : Type u_4} {β : Type u_5} [LinearOrder α] [PartialOrder β] [Finite α] {f g : α ↪o β} :
theorem OrderHom.range_eq_iff {α : Type u_4} {β : Type u_5} [LinearOrder α] [PartialOrder β] [Finite α] {f g : α →o β} (hf : Function.Injective ⇑f) (hg : Function.Injective ⇑g) :
theorem OrderHom.eq_id_of_injective {α : Type u_4} [LinearOrder α] [Finite α] (f : α →o α) (hf : Function.Injective ⇑f) :
theorem StrictMono.eq_id {α : Type u_4} [LinearOrder α] [Finite α] {f : α → α} (hf : StrictMono f) :
A strictly monotone self-map of a finite linear order is the identity.
theorem StrictMono.apply_eq {α : Type u_4} [LinearOrder α] [Finite α] {f : α → α} {x : α} (hf : StrictMono f) :
A strictly monotone self-map of a finite linear order fixes every point.