Documentation

Mathlib.Order.Preorder.Finite

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.

theorem Finset.exists_maximalFor {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Finset ι) (hs : s.Nonempty) :
∃ (i : ι), MaximalFor (fun (x : ι) => x s) f i
theorem Finset.exists_minimalFor {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Finset ι) (hs : s.Nonempty) :
∃ (i : ι), MinimalFor (fun (x : ι) => x s) f i
theorem Finset.exists_maximal {α : Type u_2} [Preorder α] {s : Finset α} (hs : s.Nonempty) :
∃ (i : α), Maximal (fun (x : α) => x s) i
theorem Finset.exists_minimal {α : Type u_2} [Preorder α] {s : Finset α} (hs : s.Nonempty) :
∃ (i : α), Minimal (fun (x : α) => x s) i
theorem Finset.exists_le_maximal {α : Type u_2} [Preorder α] {a : α} (s : Finset α) (ha : a s) :
∃ (b : α), a b Maximal (fun (x : α) => x s) b
theorem Finset.exists_le_minimal {α : Type u_2} [Preorder α] {a : α} (s : Finset α) (ha : a s) :
ba, Minimal (fun (x : α) => x s) b
@[deprecated Finset.exists_le_minimal (since := "2025-05-04")]
theorem Finset.exists_minimal_le {α : Type u_2} [Preorder α] {a : α} (s : Finset α) (ha : a s) :
ba, Minimal (fun (x : α) => x s) b

Alias of Finset.exists_le_minimal.

theorem Set.Finite.exists_maximalFor {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : s.Finite) (hs : s.Nonempty) :
∃ (i : ι), MaximalFor (fun (x : ι) => x s) f i
theorem Set.Finite.exists_minimalFor {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : s.Finite) (hs : s.Nonempty) :
∃ (i : ι), MinimalFor (fun (x : ι) => x s) f i
theorem Set.Finite.exists_maximal {α : Type u_2} [Preorder α] {s : Set α} (h : s.Finite) (hs : s.Nonempty) :
∃ (i : α), Maximal (fun (x : α) => x s) i
theorem Set.Finite.exists_minimal {α : Type u_2} [Preorder α] {s : Set α} (h : s.Finite) (hs : s.Nonempty) :
∃ (i : α), Minimal (fun (x : α) => x s) i
theorem Set.Finite.exists_maximalFor' {ι : Type u_1} {α : Type u_2} [Preorder α] (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_minimalFor' {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : (f '' s).Finite) (hs : s.Nonempty) :
∃ (i : ι), MinimalFor (fun (x : ι) => x s) f i

A version of Finite.exists_minimalFor with the (weaker) hypothesis that the image of s is finite rather than s itself.

@[deprecated Set.Finite.exists_maximalFor (since := "2025-05-04")]
theorem Set.Finite.exists_maximal_wrt {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : s.Finite) (hs : s.Nonempty) :
∃ (i : ι), MaximalFor (fun (x : ι) => x s) f i

Alias of Set.Finite.exists_maximalFor.

@[deprecated Set.Finite.exists_minimalFor (since := "2025-05-04")]
theorem Set.Finite.exists_minimal_wrt {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : s.Finite) (hs : s.Nonempty) :
∃ (i : ι), MinimalFor (fun (x : ι) => x s) f i

Alias of Set.Finite.exists_minimalFor.

@[deprecated Set.Finite.exists_maximalFor' (since := "2025-05-04")]
theorem Set.Finite.exists_maximal_wrt' {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : (f '' s).Finite) (hs : s.Nonempty) :
∃ (i : ι), MaximalFor (fun (x : ι) => x s) f i

Alias of Set.Finite.exists_maximalFor'.


A version of Finite.exists_maximalFor with the (weaker) hypothesis that the image of s is finite rather than s itself.

@[deprecated Set.Finite.exists_minimalFor' (since := "2025-05-04")]
theorem Set.Finite.exists_minimal_wrt' {ι : Type u_1} {α : Type u_2} [Preorder α] (f : ια) (s : Set ι) (h : (f '' s).Finite) (hs : s.Nonempty) :
∃ (i : ι), MinimalFor (fun (x : ι) => x s) f i

Alias of Set.Finite.exists_minimalFor'.


A version of Finite.exists_minimalFor with the (weaker) hypothesis that the image of s is finite rather than s itself.

theorem Set.Finite.exists_le_maximal {α : Type u_2} [Preorder α] {s : Set α} {a : α} (hs : s.Finite) (ha : a s) :
∃ (b : α), a b Maximal (fun (x : α) => x s) b
theorem Set.Finite.exists_le_minimal {α : Type u_2} [Preorder α] {s : Set α} {a : α} (hs : s.Finite) (ha : a s) :
ba, Minimal (fun (x : α) => x s) b
theorem Set.infinite_of_forall_exists_gt {α : Type u_2} [Preorder α] {s : Set α} [Nonempty α] (h : ∀ (a : α), bs, a < b) :
theorem Set.infinite_of_forall_exists_lt {α : Type u_2} [Preorder α] {s : Set α} [Nonempty α] (h : ∀ (a : α), bs, b < a) :
theorem Set.finite_isTop (α : Type u_2) [PartialOrder α] :
{a : α | IsTop a}.Finite
theorem Set.finite_isBot (α : Type u_2) [PartialOrder α] :
{a : α | IsBot a}.Finite
theorem Set.Infinite.exists_lt_map_eq_of_mapsTo {α : Type u_2} {β : Type u_3} [LinearOrder α] {s : Set α} {t : Set β} {f : αβ} (hs : s.Infinite) (hf : MapsTo f s t) (ht : t.Finite) :
xs, ys, x < y f x = f y
theorem Set.Finite.exists_lt_map_eq_of_forall_mem {α : Type u_2} {β : Type u_3} [LinearOrder α] {t : Set β} {f : αβ} [Infinite α] (hf : ∀ (a : α), f a t) (ht : t.Finite) :
∃ (a : α) (b : α), a < b f a = f b
theorem Finite.exists_le_maximal {α : Type u_2} [Preorder α] [Finite α] {p : αProp} {a : α} (h : p a) :
∃ (b : α), a b Maximal p b
theorem Finite.exists_le_minimal {α : Type u_2} [Preorder α] [Finite α] {p : αProp} {a : α} (h : p a) :
ba, Minimal p b