Module docstring
{"# Lemmas relating fintypes and order/lattice structure. "}
{"# Lemmas relating fintypes and order/lattice structure. "}
Finset.sup_univ_eq_iSup
theorem
[CompleteLattice β] (f : α → β) : Finset.univ.sup f = iSup f
/-- A special case of `Finset.sup_eq_iSup` that omits the useless `x ∈ univ` binder. -/
theorem sup_univ_eq_iSup [CompleteLattice β] (f : α → β) : Finset.univ.sup f = iSup f :=
(sup_eq_iSup _ f).trans <| congr_arg _ <| funext fun _ => iSup_pos (mem_univ _)
Finset.inf_univ_eq_iInf
theorem
[CompleteLattice β] (f : α → β) : Finset.univ.inf f = iInf f
/-- A special case of `Finset.inf_eq_iInf` that omits the useless `x ∈ univ` binder. -/
theorem inf_univ_eq_iInf [CompleteLattice β] (f : α → β) : Finset.univ.inf f = iInf f :=
@sup_univ_eq_iSup _ βᵒᵈ _ _ (f : α → βᵒᵈ)
Finset.fold_inf_univ
theorem
[SemilatticeInf α] [OrderBot α] (a : α) : (Finset.univ.fold min a fun x => x) = ⊥
@[simp]
theorem fold_inf_univ [SemilatticeInf α] [OrderBot α] (a : α) :
(Finset.univ.fold min a fun x => x) = ⊥ :=
eq_bot_iff.2 <|
((Finset.fold_op_rel_iff_and <| @le_inf_iff α _).1 le_rfl).2 ⊥ <| Finset.mem_univ _
Finset.fold_sup_univ
theorem
[SemilatticeSup α] [OrderTop α] (a : α) : (Finset.univ.fold max a fun x => x) = ⊤
@[simp]
theorem fold_sup_univ [SemilatticeSup α] [OrderTop α] (a : α) :
(Finset.univ.fold max a fun x => x) = ⊤ :=
@fold_inf_univ αᵒᵈ _ _ _ _
Finset.mem_inf
theorem
[DecidableEq α] {s : Finset ι} {f : ι → Finset α} {a : α} : a ∈ s.inf f ↔ ∀ i ∈ s, a ∈ f i
lemma mem_inf [DecidableEq α] {s : Finset ι} {f : ι → Finset α} {a : α} :
a ∈ s.inf fa ∈ s.inf f ↔ ∀ i ∈ s, a ∈ f i := by induction' s using Finset.cons_induction <;> simp [*]
Finite.exists_max
theorem
[Finite α] [Nonempty α] [LinearOrder β] (f : α → β) : ∃ x₀ : α, ∀ x, f x ≤ f x₀
theorem Finite.exists_max [Finite α] [Nonempty α] [LinearOrder β] (f : α → β) :
∃ x₀ : α, ∀ x, f x ≤ f x₀ := by
cases nonempty_fintype α
simpa using exists_max_image univ f univ_nonempty
Finite.exists_min
theorem
[Finite α] [Nonempty α] [LinearOrder β] (f : α → β) : ∃ x₀ : α, ∀ x, f x₀ ≤ f x
theorem Finite.exists_min [Finite α] [Nonempty α] [LinearOrder β] (f : α → β) :
∃ x₀ : α, ∀ x, f x₀ ≤ f x := by
cases nonempty_fintype α
simpa using exists_min_image univ f univ_nonempty