ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.inf'_product_left
theorem inf'_product_left {t : Finset γ} (h : (s ×ˢ t).Nonempty) (f : β × γ → α) :
    (s ×ˢ t).inf' h f = s.inf' h.fst fun i => t.inf' h.snd fun i' => f ⟨i, i'⟩ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] {s : Finset β} {t : Finset γ} (h : (s ×ˢ t).Nonempty) (f : β × γ → α)
Goal: (s ×ˢ t).inf' h f = s.inf' ⋯ fun i => t.inf' ⋯ fun i' => f (i, i')
-- Finset.inf'_product_right
theorem inf'_product_right {t : Finset γ} (h : (s ×ˢ t).Nonempty) (f : β × γ → α) :
    (s ×ˢ t).inf' h f = t.inf' h.snd fun i' => s.inf' h.fst fun i => f ⟨i, i'⟩ 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] {s : Finset β} {t : Finset γ} (h : (s ×ˢ t).Nonempty) (f : β × γ → α)
Goal: (s ×ˢ t).inf' h f = t.inf' ⋯ fun i' => s.inf' ⋯ fun i => f (i, i')
-- Finset.prodMk_inf'_inf'
lemma prodMk_inf'_inf' (hs : s.Nonempty) (ht : t.Nonempty) (f : ι → α) (g : κ → β) :
    (inf' s hs f, inf' t ht g) = inf' (s ×ˢ t) (hs.product ht) (Prod.map f g) 
Arguments: {ι : Type u_7} {κ : Type u_8} {α : Type u_9} {β : Type u_10} [SemilatticeInf α] [SemilatticeInf β] {s : Finset ι} {t : Finset κ} (hs : s.Nonempty) (ht : t.Nonempty) (f : ι → α) (g : κ → β)
Goal: (s.inf' hs f, t.inf' ht g) = (s ×ˢ t).inf' ⋯ (Prod.map f g)
-- Finset.inf'_prodMap
-- @[simp] -- TODO: Why does `Prod.map_apply` simplify the LHS?
lemma inf'_prodMap (hst : (s ×ˢ t).Nonempty) (f : ι → α) (g : κ → β) :
    inf' (s ×ˢ t) hst (Prod.map f g) = (inf' s hst.fst f, inf' t hst.snd g) 
Arguments: {ι : Type u_7} {κ : Type u_8} {α : Type u_9} {β : Type u_10} [SemilatticeInf α] [SemilatticeInf β] {s : Finset ι} {t : Finset κ} (hst : (s ×ˢ t).Nonempty) (f : ι → α) (g : κ → β)
Goal: (s ×ˢ t).inf' hst (Prod.map f g) = (s.inf' ⋯ f, t.inf' ⋯ g)
-- Finset.comp_inf'_eq_inf'_comp
theorem comp_inf'_eq_inf'_comp [SemilatticeInf γ] {s : Finset β} (H : s.Nonempty) {f : β → α}
    (g : α → γ) (g_inf : ∀ x y, g (x ⊓ y) = g x ⊓ g y) : g (s.inf' H f) = s.inf' H (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] [SemilatticeInf γ] {s : Finset β} (H : s.Nonempty) {f : β → α} (g : α → γ) (g_inf : ∀ (x y : α), g (x ⊓ y) = g x ⊓ g y)
Goal: g (s.inf' H f) = s.inf' H (g ∘ f)
-- Finset.inf'_induction
theorem inf'_induction {p : α → Prop} (hp : ∀ a₁, p a₁ → ∀ a₂, p a₂ → p (a₁ ⊓ a₂))
    (hs : ∀ b ∈ s, p (f b)) : p (s.inf' H f) 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] {s : Finset β} (H : s.Nonempty) (f : β → α) {p : α → Prop} (hp : ∀ (a₁ : α), p a₁ → ∀ (a₂ : α), p a₂ → p (a₁ ⊓ a₂)) (hs : ∀ b ∈ s, p (f b))
Goal: p (s.inf' H f)
-- Finset.inf'_mem
theorem inf'_mem (s : Set α) (w : ∀ᵉ (x ∈ s) (y ∈ s), x ⊓ y ∈ s) {ι : Type*}
    (t : Finset ι) (H : t.Nonempty) (p : ι → α) (h : ∀ i ∈ t, p i ∈ s) : t.inf' H p ∈ s 
Arguments: {α : Type u_2} [SemilatticeInf α] (s : Set α) (w : ∀ x ∈ s, ∀ y ∈ s, x ⊓ y ∈ s) {ι : Type u_7} (t : Finset ι) (H : t.Nonempty) (p : ι → α) (h : ∀ i ∈ t, p i ∈ s)
Goal: t.inf' H p ∈ s
-- Finset.inf'_congr
@[congr]
theorem inf'_congr {t : Finset β} {f g : β → α} (h₁ : s = t) (h₂ : ∀ x ∈ s, f x = g x) :
    s.inf' H f = t.inf' (h₁ ▸ H) g 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] {s : Finset β} (H : s.Nonempty) {t : Finset β} {f g : β → α} (h₁ : s = t) (h₂ : ∀ x ∈ s, f x = g x)
Goal: s.inf' H f = t.inf' ⋯ g
-- map_finset_inf'
@[simp]
theorem _root_.map_finset_inf' [SemilatticeInf β] [FunLike F α β] [InfHomClass F α β]
    (f : F) {s : Finset ι} (hs) (g : ι → α) :
    f (s.inf' hs g) = s.inf' hs (f ∘ g) 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} {ι : Type u_5} [SemilatticeInf α] [SemilatticeInf β] [FunLike F α β] [InfHomClass F α β] (f : F) {s : Finset ι} (hs : s.Nonempty) (g : ι → α)
Goal: f (s.inf' hs g) = s.inf' hs (⇑f ∘ g)
-- Finset.nsmul_inf'
lemma nsmul_inf' {α'} [LinearOrderedAddCommMonoid β] {s : Finset α'}
    (hs : s.Nonempty) (f : α' → β) (n : ℕ) :
    s.inf' hs (fun a => n • f a) = n • s.inf' hs f 
Arguments: {β : Type u_3} {α' : Type u_7} [LinearOrderedAddCommMonoid β] {s : Finset α'} (hs : s.Nonempty) (f : α' → β) (n : ℕ)
Goal: (s.inf' hs fun a => n • f a) = n • s.inf' hs f
-- Finset.inf'_image
@[simp]
theorem inf'_image [DecidableEq β] {s : Finset γ} {f : γ → β} (hs : (s.image f).Nonempty)
    (g : β → α)  :
    (s.image f).inf' hs g = s.inf' hs.of_image (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] [DecidableEq β] {s : Finset γ} {f : γ → β} (hs : (Finset.image f s).Nonempty) (g : β → α)
Goal: (Finset.image f s).inf' hs g = s.inf' ⋯ (g ∘ f)
-- Finset.inf'_comp_eq_image
lemma inf'_comp_eq_image [DecidableEq β] {s : Finset γ} {f : γ → β} (hs : s.Nonempty) (g : β → α) :
    s.inf' hs (g ∘ f) = (s.image f).inf' (hs.image f) g 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] [DecidableEq β] {s : Finset γ} {f : γ → β} (hs : s.Nonempty) (g : β → α)
Goal: s.inf' hs (g ∘ f) = (Finset.image f s).inf' ⋯ g
-- Finset.inf'_map
@[simp]
theorem inf'_map {s : Finset γ} {f : γ ↪ β} (g : β → α) (hs : (s.map f).Nonempty) :
    (s.map f).inf' hs g = s.inf' (map_nonempty.1 hs) (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] {s : Finset γ} {f : γ ↪ β} (g : β → α) (hs : (Finset.map f s).Nonempty)
Goal: (Finset.map f s).inf' hs g = s.inf' ⋯ (g ∘ ⇑f)
-- Finset.inf'_comp_eq_map
lemma inf'_comp_eq_map {s : Finset γ} {f : γ ↪ β} (g : β → α) (hs : s.Nonempty) :
    s.inf' hs (g ∘ f) = (s.map f).inf' (map_nonempty.2 hs) g 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [SemilatticeInf α] {s : Finset γ} {f : γ ↪ β} (g : β → α) (hs : s.Nonempty)
Goal: s.inf' hs (g ∘ ⇑f) = (Finset.map f s).inf' ⋯ g
-- Finset.inf'_mono
theorem inf'_mono {s₁ s₂ : Finset β} (h : s₁ ⊆ s₂) (h₁ : s₁.Nonempty) :
    s₂.inf' (h₁.mono h) f ≤ s₁.inf' h₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] (f : β → α) {s₁ s₂ : Finset β} (h : s₁ ⊆ s₂) (h₁ : s₁.Nonempty)
Goal: s₂.inf' ⋯ f ≤ s₁.inf' h₁ f
-- GCongr.finset_inf'_mono
@[gcongr]
lemma _root_.GCongr.finset_inf'_mono {s₁ s₂ : Finset β} (h : s₁ ⊆ s₂)
    {h₁ : s₁.Nonempty} {h₂ : s₂.Nonempty} : s₂.inf' h₂ f ≤ s₁.inf' h₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] (f : β → α) {s₁ s₂ : Finset β} (h : s₁ ⊆ s₂) {h₁ : s₁.Nonempty} {h₂ : s₂.Nonempty}
Goal: s₂.inf' h₂ f ≤ s₁.inf' h₁ f
-- Finset.sup'_eq_sup
theorem sup'_eq_sup {s : Finset β} (H : s.Nonempty) (f : β → α) : s.sup' H f = s.sup f 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeSup α] [OrderBot α] {s : Finset β} (H : s.Nonempty) (f : β → α)
Goal: s.sup' H f = s.sup f
-- Finset.coe_sup_of_nonempty
theorem coe_sup_of_nonempty {s : Finset β} (h : s.Nonempty) (f : β → α) :
    (↑(s.sup f) : WithBot α) = s.sup ((↑) ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeSup α] [OrderBot α] {s : Finset β} (h : s.Nonempty) (f : β → α)
Goal: ↑(s.sup f) = s.sup (WithBot.some ∘ f)
-- Finset.inf'_eq_inf
theorem inf'_eq_inf {s : Finset β} (H : s.Nonempty) (f : β → α) : s.inf' H f = s.inf f 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] [OrderTop α] {s : Finset β} (H : s.Nonempty) (f : β → α)
Goal: s.inf' H f = s.inf f
-- Finset.coe_inf_of_nonempty
theorem coe_inf_of_nonempty {s : Finset β} (h : s.Nonempty) (f : β → α) :
    (↑(s.inf f) : WithTop α) = s.inf ((↑) ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} [SemilatticeInf α] [OrderTop α] {s : Finset β} (h : s.Nonempty) (f : β → α)
Goal: ↑(s.inf f) = s.inf (WithTop.some ∘ f)
-- Finset.sup_apply
@[simp]
protected theorem sup_apply {C : β → Type*} [∀ b : β, SemilatticeSup (C b)]
    [∀ b : β, OrderBot (C b)] (s : Finset α) (f : α → ∀ b : β, C b) (b : β) :
    s.sup f b = s.sup fun a => f a b 
Arguments: {α : Type u_2} {β : Type u_3} {C : β → Type u_7} [(b : β) → SemilatticeSup (C b)] [(b : β) → OrderBot (C b)] (s : Finset α) (f : α → (b : β) → C b) (b : β)
Goal: s.sup f b = s.sup fun a => f a b
-- Finset.inf_apply
@[simp]
protected theorem inf_apply {C : β → Type*} [∀ b : β, SemilatticeInf (C b)]
    [∀ b : β, OrderTop (C b)] (s : Finset α) (f : α → ∀ b : β, C b) (b : β) :
    s.inf f b = s.inf fun a => f a b 
Arguments: {α : Type u_2} {β : Type u_3} {C : β → Type u_7} [(b : β) → SemilatticeInf (C b)] [(b : β) → OrderTop (C b)] (s : Finset α) (f : α → (b : β) → C b) (b : β)
Goal: s.inf f b = s.inf fun a => f a b
-- Finset.sup'_apply
@[simp]
protected theorem sup'_apply {C : β → Type*} [∀ b : β, SemilatticeSup (C b)]
    {s : Finset α} (H : s.Nonempty) (f : α → ∀ b : β, C b) (b : β) :
    s.sup' H f b = s.sup' H fun a => f a b 
Arguments: {α : Type u_2} {β : Type u_3} {C : β → Type u_7} [(b : β) → SemilatticeSup (C b)] {s : Finset α} (H : s.Nonempty) (f : α → (b : β) → C b) (b : β)
Goal: s.sup' H f b = s.sup' H fun a => f a b
-- Finset.inf'_apply
@[simp]
protected theorem inf'_apply {C : β → Type*} [∀ b : β, SemilatticeInf (C b)]
    {s : Finset α} (H : s.Nonempty) (f : α → ∀ b : β, C b) (b : β) :
    s.inf' H f b = s.inf' H fun a => f a b 
Arguments: {α : Type u_2} {β : Type u_3} {C : β → Type u_7} [(b : β) → SemilatticeInf (C b)] {s : Finset α} (H : s.Nonempty) (f : α → (b : β) → C b) (b : β)
Goal: s.inf' H f b = s.inf' H fun a => f a b
-- Finset.toDual_sup'
@[simp]
theorem toDual_sup' [SemilatticeSup α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) :
    toDual (s.sup' hs f) = s.inf' hs (toDual ∘ f) 
Arguments: {α : Type u_2} {ι : Type u_5} [SemilatticeSup α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α)
Goal: OrderDual.toDual (s.sup' hs f) = s.inf' hs (⇑OrderDual.toDual ∘ f)
-- Finset.toDual_inf'
@[simp]
theorem toDual_inf' [SemilatticeInf α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) :
    toDual (s.inf' hs f) = s.sup' hs (toDual ∘ f) 
Arguments: {α : Type u_2} {ι : Type u_5} [SemilatticeInf α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α)
Goal: OrderDual.toDual (s.inf' hs f) = s.sup' hs (⇑OrderDual.toDual ∘ f)
-- Finset.ofDual_sup'
@[simp]
theorem ofDual_sup' [SemilatticeInf α] {s : Finset ι} (hs : s.Nonempty) (f : ι → αᵒᵈ) :
    ofDual (s.sup' hs f) = s.inf' hs (ofDual ∘ f) 
Arguments: {α : Type u_2} {ι : Type u_5} [SemilatticeInf α] {s : Finset ι} (hs : s.Nonempty) (f : ι → αᵒᵈ)
Goal: OrderDual.ofDual (s.sup' hs f) = s.inf' hs (⇑OrderDual.ofDual ∘ f)
-- Finset.ofDual_inf'
@[simp]
theorem ofDual_inf' [SemilatticeSup α] {s : Finset ι} (hs : s.Nonempty) (f : ι → αᵒᵈ) :
    ofDual (s.inf' hs f) = s.sup' hs (ofDual ∘ f) 
Arguments: {α : Type u_2} {ι : Type u_5} [SemilatticeSup α] {s : Finset ι} (hs : s.Nonempty) (f : ι → αᵒᵈ)
Goal: OrderDual.ofDual (s.inf' hs f) = s.sup' hs (⇑OrderDual.ofDual ∘ f)
-- Finset.sup'_inf_distrib_left
theorem sup'_inf_distrib_left (f : ι → α) (a : α) :
    a ⊓ s.sup' hs f = s.sup' hs fun i ↦ a ⊓ f i 
Arguments: {α : Type u_2} {ι : Type u_5} [DistribLattice α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) (a : α)
Goal: a ⊓ s.sup' hs f = s.sup' hs fun i => a ⊓ f i
-- Finset.sup'_inf_distrib_right
theorem sup'_inf_distrib_right (f : ι → α) (a : α) :
    s.sup' hs f ⊓ a = s.sup' hs fun i => f i ⊓ a 
Arguments: {α : Type u_2} {ι : Type u_5} [DistribLattice α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) (a : α)
Goal: s.sup' hs f ⊓ a = s.sup' hs fun i => f i ⊓ a
-- Finset.sup'_inf_sup'
theorem sup'_inf_sup' (f : ι → α) (g : κ → α) :
    s.sup' hs f ⊓ t.sup' ht g = (s ×ˢ t).sup' (hs.product ht) fun i => f i.1 ⊓ g i.2 
Arguments: {α : Type u_2} {ι : Type u_5} {κ : Type u_6} [DistribLattice α] {s : Finset ι} {t : Finset κ} (hs : s.Nonempty) (ht : t.Nonempty) (f : ι → α) (g : κ → α)
Goal: s.sup' hs f ⊓ t.sup' ht g = (s ×ˢ t).sup' ⋯ fun i => f i.1 ⊓ g i.2
-- Finset.inf'_sup_distrib_left
theorem inf'_sup_distrib_left (f : ι → α) (a : α) : a ⊔ s.inf' hs f = s.inf' hs fun i => a ⊔ f i 
Arguments: {α : Type u_2} {ι : Type u_5} [DistribLattice α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) (a : α)
Goal: a ⊔ s.inf' hs f = s.inf' hs fun i => a ⊔ f i
-- Finset.inf'_sup_distrib_right
theorem inf'_sup_distrib_right (f : ι → α) (a : α) : s.inf' hs f ⊔ a = s.inf' hs fun i => f i ⊔ a 
Arguments: {α : Type u_2} {ι : Type u_5} [DistribLattice α] {s : Finset ι} (hs : s.Nonempty) (f : ι → α) (a : α)
Goal: s.inf' hs f ⊔ a = s.inf' hs fun i => f i ⊔ a
-- Finset.inf'_sup_inf'
theorem inf'_sup_inf' (f : ι → α) (g : κ → α) :
    s.inf' hs f ⊔ t.inf' ht g = (s ×ˢ t).inf' (hs.product ht) fun i => f i.1 ⊔ g i.2 
Arguments: {α : Type u_2} {ι : Type u_5} {κ : Type u_6} [DistribLattice α] {s : Finset ι} {t : Finset κ} (hs : s.Nonempty) (ht : t.Nonempty) (f : ι → α) (g : κ → α)
Goal: s.inf' hs f ⊔ t.inf' ht g = (s ×ˢ t).inf' ⋯ fun i => f i.1 ⊔ g i.2
-- Finset.le_sup'_iff
@[simp]
theorem le_sup'_iff : a ≤ s.sup' H f ↔ ∃ b ∈ s, a ≤ f b 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: a ≤ s.sup' H f ↔ ∃ b ∈ s, a ≤ f b
-- Finset.lt_sup'_iff
@[simp]
theorem lt_sup'_iff : a < s.sup' H f ↔ ∃ b ∈ s, a < f b 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: a < s.sup' H f ↔ ∃ b ∈ s, a < f b
-- Finset.sup'_lt_iff
@[simp]
theorem sup'_lt_iff : s.sup' H f < a ↔ ∀ i ∈ s, f i < a 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: s.sup' H f < a ↔ ∀ i ∈ s, f i < a
-- Finset.inf'_le_iff
@[simp]
theorem inf'_le_iff : s.inf' H f ≤ a ↔ ∃ i ∈ s, f i ≤ a 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: s.inf' H f ≤ a ↔ ∃ i ∈ s, f i ≤ a
-- Finset.inf'_lt_iff
@[simp]
theorem inf'_lt_iff : s.inf' H f < a ↔ ∃ i ∈ s, f i < a 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: s.inf' H f < a ↔ ∃ i ∈ s, f i < a
-- Finset.lt_inf'_iff
@[simp]
theorem lt_inf'_iff : a < s.inf' H f ↔ ∀ i ∈ s, a < f i 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) {f : ι → α} {a : α}
Goal: a < s.inf' H f ↔ ∀ i ∈ s, a < f i
-- Finset.exists_mem_eq_sup'
theorem exists_mem_eq_sup' (f : ι → α) : ∃ i, i ∈ s ∧ s.sup' H f = f i 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) (f : ι → α)
Goal: ∃ i ∈ s, s.sup' H f = f i
-- Finset.exists_mem_eq_inf'
theorem exists_mem_eq_inf' (f : ι → α) : ∃ i, i ∈ s ∧ s.inf' H f = f i 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] {s : Finset ι} (H : s.Nonempty) (f : ι → α)
Goal: ∃ i ∈ s, s.inf' H f = f i
-- Finset.exists_mem_eq_sup
theorem exists_mem_eq_sup [OrderBot α] (s : Finset ι) (h : s.Nonempty) (f : ι → α) :
    ∃ i, i ∈ s ∧ s.sup f = f i 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] [OrderBot α] (s : Finset ι) (h : s.Nonempty) (f : ι → α)
Goal: ∃ i ∈ s, s.sup f = f i
-- Finset.exists_mem_eq_inf
theorem exists_mem_eq_inf [OrderTop α] (s : Finset ι) (h : s.Nonempty) (f : ι → α) :
    ∃ i, i ∈ s ∧ s.inf f = f i 
Arguments: {α : Type u_2} {ι : Type u_5} [LinearOrder α] [OrderTop α] (s : Finset ι) (h : s.Nonempty) (f : ι → α)
Goal: ∃ i ∈ s, s.inf f = f i
-- Finset.max_eq_sup_coe
theorem max_eq_sup_coe {s : Finset α} : s.max = s.sup (↑) 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α}
Goal: s.max = s.sup WithBot.some
-- Finset.max_eq_sup_withBot
theorem max_eq_sup_withBot (s : Finset α) : s.max = sup s (↑) 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α)
Goal: s.max = s.sup WithBot.some
-- Finset.max_empty
@[simp]
theorem max_empty : (∅ : Finset α).max = ⊥ 
Arguments: {α : Type u_2} [LinearOrder α]
Goal: ∅.max = ⊥
-- Finset.max_insert
@[simp]
theorem max_insert {a : α} {s : Finset α} : (insert a s).max = max ↑a s.max 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α}
Goal: (insert a s).max = max (↑a) s.max
-- Finset.max_singleton
@[simp]
theorem max_singleton {a : α} : Finset.max {a} = (a : WithBot α) 
Arguments: {α : Type u_2} [LinearOrder α] {a : α}
Goal: {a}.max = ↑a
-- Finset.max_of_mem
theorem max_of_mem {s : Finset α} {a : α} (h : a ∈ s) : ∃ b : α, s.max = b 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a : α} (h : a ∈ s)
Goal: ∃ b, s.max = ↑b
-- Finset.max_of_nonempty
theorem max_of_nonempty {s : Finset α} (h : s.Nonempty) : ∃ a : α, s.max = a 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} (h : s.Nonempty)
Goal: ∃ a, s.max = ↑a
-- Finset.max_eq_bot
theorem max_eq_bot {s : Finset α} : s.max = ⊥ ↔ s = ∅ 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α}
Goal: s.max = ⊥ ↔ s = ∅
-- Finset.mem_of_max
theorem mem_of_max {s : Finset α} : ∀ {a : α}, s.max = a → a ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a : α}
Goal: s.max = ↑a → a ∈ s
-- Finset.le_max
theorem le_max {a : α} {s : Finset α} (as : a ∈ s) : ↑a ≤ s.max 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α} (as : a ∈ s)
Goal: ↑a ≤ s.max
-- Finset.not_mem_of_max_lt_coe
theorem not_mem_of_max_lt_coe {a : α} {s : Finset α} (h : s.max < a) : a ∉ s 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α} (h : s.max < ↑a)
Goal: a ∉ s
-- Finset.le_max_of_eq
theorem le_max_of_eq {s : Finset α} {a b : α} (h₁ : a ∈ s) (h₂ : s.max = b) : a ≤ b 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a b : α} (h₁ : a ∈ s) (h₂ : s.max = ↑b)
Goal: a ≤ b
-- Finset.not_mem_of_max_lt
theorem not_mem_of_max_lt {s : Finset α} {a b : α} (h₁ : b < a) (h₂ : s.max = ↑b) : a ∉ s 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a b : α} (h₁ : b < a) (h₂ : s.max = ↑b)
Goal: a ∉ s
-- Finset.max_mono
@[gcongr]
theorem max_mono {s t : Finset α} (st : s ⊆ t) : s.max ≤ t.max 
Arguments: {α : Type u_2} [LinearOrder α] {s t : Finset α} (st : s ⊆ t)
Goal: s.max ≤ t.max
-- Finset.max_le
protected theorem max_le {M : WithBot α} {s : Finset α} (st : ∀ a ∈ s, (a : WithBot α) ≤ M) :
    s.max ≤ M 
Arguments: {α : Type u_2} [LinearOrder α] {M : WithBot α} {s : Finset α} (st : ∀ a ∈ s, ↑a ≤ M)
Goal: s.max ≤ M
-- Finset.max_le_iff
@[simp]
protected lemma max_le_iff {m : WithBot α} {s : Finset α} : s.max ≤ m ↔ ∀ a ∈ s, a ≤ m 
Arguments: {α : Type u_2} [LinearOrder α] {m : WithBot α} {s : Finset α}
Goal: s.max ≤ m ↔ ∀ a ∈ s, ↑a ≤ m
-- Finset.max_eq_top
@[simp]
protected lemma max_eq_top [OrderTop α] {s : Finset α} : s.max = ⊤ ↔ ⊤ ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] [OrderTop α] {s : Finset α}
Goal: s.max = ⊤ ↔ ⊤ ∈ s
-- Finset.min_eq_inf_withTop
theorem min_eq_inf_withTop (s : Finset α) : s.min = inf s (↑) 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α)
Goal: s.min = s.inf WithTop.some
-- Finset.min_empty
@[simp]
theorem min_empty : (∅ : Finset α).min = ⊤ 
Arguments: {α : Type u_2} [LinearOrder α]
Goal: ∅.min = ⊤
-- Finset.min_insert
@[simp]
theorem min_insert {a : α} {s : Finset α} : (insert a s).min = min (↑a) s.min 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α}
Goal: (insert a s).min = min (↑a) s.min
-- Finset.min_singleton
@[simp]
theorem min_singleton {a : α} : Finset.min {a} = (a : WithTop α) 
Arguments: {α : Type u_2} [LinearOrder α] {a : α}
Goal: {a}.min = ↑a
-- Finset.min_of_mem
theorem min_of_mem {s : Finset α} {a : α} (h : a ∈ s) : ∃ b : α, s.min = b 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a : α} (h : a ∈ s)
Goal: ∃ b, s.min = ↑b
-- Finset.min_of_nonempty
theorem min_of_nonempty {s : Finset α} (h : s.Nonempty) : ∃ a : α, s.min = a 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} (h : s.Nonempty)
Goal: ∃ a, s.min = ↑a
-- Finset.min_eq_top
@[simp]
theorem min_eq_top {s : Finset α} : s.min = ⊤ ↔ s = ∅ 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α}
Goal: s.min = ⊤ ↔ s = ∅
-- Finset.mem_of_min
theorem mem_of_min {s : Finset α} : ∀ {a : α}, s.min = a → a ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a : α}
Goal: s.min = ↑a → a ∈ s
-- Finset.min_le
theorem min_le {a : α} {s : Finset α} (as : a ∈ s) : s.min ≤ a 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α} (as : a ∈ s)
Goal: s.min ≤ ↑a
-- Finset.not_mem_of_coe_lt_min
theorem not_mem_of_coe_lt_min {a : α} {s : Finset α} (h : ↑a < s.min) : a ∉ s 
Arguments: {α : Type u_2} [LinearOrder α] {a : α} {s : Finset α} (h : ↑a < s.min)
Goal: a ∉ s
-- Finset.min_le_of_eq
theorem min_le_of_eq {s : Finset α} {a b : α} (h₁ : b ∈ s) (h₂ : s.min = a) : a ≤ b 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a b : α} (h₁ : b ∈ s) (h₂ : s.min = ↑a)
Goal: a ≤ b
-- Finset.not_mem_of_lt_min
theorem not_mem_of_lt_min {s : Finset α} {a b : α} (h₁ : a < b) (h₂ : s.min = ↑b) : a ∉ s 
Arguments: {α : Type u_2} [LinearOrder α] {s : Finset α} {a b : α} (h₁ : a < b) (h₂ : s.min = ↑b)
Goal: a ∉ s
-- Finset.min_mono
@[gcongr]
theorem min_mono {s t : Finset α} (st : s ⊆ t) : t.min ≤ s.min 
Arguments: {α : Type u_2} [LinearOrder α] {s t : Finset α} (st : s ⊆ t)
Goal: t.min ≤ s.min
-- Finset.le_min
protected theorem le_min {m : WithTop α} {s : Finset α} (st : ∀ a : α, a ∈ s → m ≤ a) : m ≤ s.min 
Arguments: {α : Type u_2} [LinearOrder α] {m : WithTop α} {s : Finset α} (st : ∀ a ∈ s, m ≤ ↑a)
Goal: m ≤ s.min
-- Finset.le_min_iff
@[simp]
protected theorem le_min_iff {m : WithTop α} {s : Finset α} : m ≤ s.min ↔ ∀ a ∈ s, m ≤ a 
Arguments: {α : Type u_2} [LinearOrder α] {m : WithTop α} {s : Finset α}
Goal: m ≤ s.min ↔ ∀ a ∈ s, m ≤ ↑a
-- Finset.min_eq_bot
@[simp]
protected theorem min_eq_bot [OrderBot α] {s : Finset α} : s.min = ⊥ ↔ ⊥ ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] [OrderBot α] {s : Finset α}
Goal: s.min = ⊥ ↔ ⊥ ∈ s
-- Finset.min'_mem
theorem min'_mem : s.min' H ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: s.min' H ∈ s
-- Finset.min'_le
theorem min'_le (x) (H2 : x ∈ s) : s.min' ⟨x, H2⟩ ≤ x 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (x : α) (H2 : x ∈ s)
Goal: s.min' ⋯ ≤ x
-- Finset.le_min'
theorem le_min' (x) (H2 : ∀ y ∈ s, x ≤ y) : x ≤ s.min' H 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) (x : α) (H2 : ∀ y ∈ s, x ≤ y)
Goal: x ≤ s.min' H
-- Finset.isLeast_min'
theorem isLeast_min' : IsLeast (↑s) (s.min' H) 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: IsLeast (↑s) (s.min' H)
-- Finset.le_min'_iff
@[simp]
theorem le_min'_iff {x} : x ≤ s.min' H ↔ ∀ y ∈ s, x ≤ y 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) {x : α}
Goal: x ≤ s.min' H ↔ ∀ y ∈ s, x ≤ y
-- Finset.min'_singleton
@[simp]
theorem min'_singleton (a : α) : ({a} : Finset α).min' (singleton_nonempty _) = a 
Arguments: {α : Type u_2} [LinearOrder α] (a : α)
Goal: {a}.min' ⋯ = a
-- Finset.max'_mem
theorem max'_mem : s.max' H ∈ s 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: s.max' H ∈ s
-- Finset.le_max'
theorem le_max' (x) (H2 : x ∈ s) : x ≤ s.max' ⟨x, H2⟩ 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (x : α) (H2 : x ∈ s)
Goal: x ≤ s.max' ⋯
-- Finset.max'_le
theorem max'_le (x) (H2 : ∀ y ∈ s, y ≤ x) : s.max' H ≤ x 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) (x : α) (H2 : ∀ y ∈ s, y ≤ x)
Goal: s.max' H ≤ x
-- Finset.isGreatest_max'
theorem isGreatest_max' : IsGreatest (↑s) (s.max' H) 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: IsGreatest (↑s) (s.max' H)
-- Finset.max'_le_iff
@[simp]
theorem max'_le_iff {x} : s.max' H ≤ x ↔ ∀ y ∈ s, y ≤ x 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) {x : α}
Goal: s.max' H ≤ x ↔ ∀ y ∈ s, y ≤ x
-- Finset.max'_lt_iff
@[simp]
theorem max'_lt_iff {x} : s.max' H < x ↔ ∀ y ∈ s, y < x 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) {x : α}
Goal: s.max' H < x ↔ ∀ y ∈ s, y < x
-- Finset.lt_min'_iff
@[simp]
theorem lt_min'_iff : x < s.min' H ↔ ∀ y ∈ s, x < y 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty) {x : α}
Goal: x < s.min' H ↔ ∀ y ∈ s, x < y
-- Finset.max'_eq_sup'
theorem max'_eq_sup' : s.max' H = s.sup' H id 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: s.max' H = s.sup' H id
-- Finset.min'_eq_inf'
theorem min'_eq_inf' : s.min' H = s.inf' H id 
Arguments: {α : Type u_2} [LinearOrder α] (s : Finset α) (H : s.Nonempty)
Goal: s.min' H = s.inf' H id
-- Finset.max'_singleton
@[simp]
theorem max'_singleton (a : α) : ({a} : Finset α).max' (singleton_nonempty _) = a 
Arguments: {α : Type u_2} [LinearOrder α] (a : α)
Goal: {a}.max' ⋯ = a