ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Pi.lt_def
theorem Pi.lt_def [∀ i, Preorder (π i)] {x y : ∀ i, π i} :
    x < y ↔ x ≤ y ∧ ∃ i, x i < y i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → Preorder (π i)] {x y : (i : ι) → π i}
Goal: x < y ↔ x ≤ y ∧ ∃ i, x i < y i
-- Sum.elim_le_elim_iff
@[simp]
lemma elim_le_elim_iff {u₁ v₁ : α₁ → β} {u₂ v₂ : α₂ → β} :
    Sum.elim u₁ u₂ ≤ Sum.elim v₁ v₂ ↔ u₁ ≤ v₁ ∧ u₂ ≤ v₂ 
Arguments: {β : Type u_3} {α₁ : Type u_5} {α₂ : Type u_6} [LE β] {u₁ v₁ : α₁ → β} {u₂ v₂ : α₂ → β}
Goal: Sum.elim u₁ u₂ ≤ Sum.elim v₁ v₂ ↔ u₁ ≤ v₁ ∧ u₂ ≤ v₂
-- Sum.const_le_elim_iff
lemma const_le_elim_iff {b : β} {v₁ : α₁ → β} {v₂ : α₂ → β} :
    Function.const _ b ≤ Sum.elim v₁ v₂ ↔ Function.const _ b ≤ v₁ ∧ Function.const _ b ≤ v₂ 
Arguments: {β : Type u_3} {α₁ : Type u_5} {α₂ : Type u_6} [LE β] {b : β} {v₁ : α₁ → β} {v₂ : α₂ → β}
Goal: Function.const (α₁ ⊕ α₂) b ≤ Sum.elim v₁ v₂ ↔ Function.const α₁ b ≤ v₁ ∧ Function.const α₂ b ≤ v₂
-- Sum.elim_le_const_iff
lemma elim_le_const_iff {b : β} {u₁ : α₁ → β} {u₂ : α₂ → β} :
    Sum.elim u₁ u₂ ≤ Function.const _ b ↔ u₁ ≤ Function.const _ b ∧ u₂ ≤ Function.const _ b 
Arguments: {β : Type u_3} {α₁ : Type u_5} {α₂ : Type u_6} [LE β] {b : β} {u₁ : α₁ → β} {u₂ : α₂ → β}
Goal: Sum.elim u₁ u₂ ≤ Function.const (α₁ ⊕ α₂) b ↔ u₁ ≤ Function.const α₁ b ∧ u₂ ≤ Function.const α₂ b
-- le_of_strongLT
theorem le_of_strongLT (h : a ≺ b) : a ≤ b 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → Preorder (π i)] {a b : (i : ι) → π i} (h : StrongLT a b)
Goal: a ≤ b
-- lt_of_strongLT
theorem lt_of_strongLT [Nonempty ι] (h : a ≺ b) : a < b 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → Preorder (π i)] {a b : (i : ι) → π i} [Nonempty ι] (h : StrongLT a b)
Goal: a < b
-- strongLT_of_strongLT_of_le
theorem strongLT_of_strongLT_of_le (hab : a ≺ b) (hbc : b ≤ c) : a ≺ c 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → Preorder (π i)] {a b c : (i : ι) → π i} (hab : StrongLT a b) (hbc : b ≤ c)
Goal: StrongLT a c
-- strongLT_of_le_of_strongLT
theorem strongLT_of_le_of_strongLT (hab : a ≤ b) (hbc : b ≺ c) : a ≺ c 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → Preorder (π i)] {a b c : (i : ι) → π i} (hab : a ≤ b) (hbc : StrongLT b c)
Goal: StrongLT a c
-- le_update_iff
theorem le_update_iff : x ≤ Function.update y i a ↔ x i ≤ a ∧ ∀ (j) (_ : j ≠ i), x j ≤ y j 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x y : (i : ι) → π i} {i : ι} {a : π i}
Goal: x ≤ Function.update y i a ↔ x i ≤ a ∧ ∀ (j : ι), j ≠ i → x j ≤ y j
-- update_le_iff
theorem update_le_iff : Function.update x i a ≤ y ↔ a ≤ y i ∧ ∀ (j) (_ : j ≠ i), x j ≤ y j 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x y : (i : ι) → π i} {i : ι} {a : π i}
Goal: Function.update x i a ≤ y ↔ a ≤ y i ∧ ∀ (j : ι), j ≠ i → x j ≤ y j
-- update_le_update_iff
theorem update_le_update_iff :
    Function.update x i a ≤ Function.update y i b ↔ a ≤ b ∧ ∀ (j) (_ : j ≠ i), x j ≤ y j 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x y : (i : ι) → π i} {i : ι} {a b : π i}
Goal: Function.update x i a ≤ Function.update y i b ↔ a ≤ b ∧ ∀ (j : ι), j ≠ i → x j ≤ y j
-- update_le_update_iff'
@[simp]
theorem update_le_update_iff' : update x i a ≤ update x i b ↔ a ≤ b 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a b : π i}
Goal: Function.update x i a ≤ Function.update x i b ↔ a ≤ b
-- update_lt_update_iff
@[simp]
theorem update_lt_update_iff : update x i a < update x i b ↔ a < b 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a b : π i}
Goal: Function.update x i a < Function.update x i b ↔ a < b
-- le_update_self_iff
@[simp]
theorem le_update_self_iff : x ≤ update x i a ↔ x i ≤ a 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a : π i}
Goal: x ≤ Function.update x i a ↔ x i ≤ a
-- update_le_self_iff
@[simp]
theorem update_le_self_iff : update x i a ≤ x ↔ a ≤ x i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a : π i}
Goal: Function.update x i a ≤ x ↔ a ≤ x i
-- lt_update_self_iff
@[simp]
theorem lt_update_self_iff : x < update x i a ↔ x i < a 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a : π i}
Goal: x < Function.update x i a ↔ x i < a
-- update_lt_self_iff
@[simp]
theorem update_lt_self_iff : update x i a < x ↔ a < x i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [DecidableEq ι] [(i : ι) → Preorder (π i)] {x : (i : ι) → π i} {i : ι} {a : π i}
Goal: Function.update x i a < x ↔ a < x i
-- Pi.sdiff_def
theorem Pi.sdiff_def [∀ i, SDiff (π i)] (x y : ∀ i, π i) :
    x \ y = fun i ↦ x i \ y i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → SDiff (π i)] (x y : (i : ι) → π i)
Goal: x \ y = fun i => x i \ y i
-- Pi.sdiff_apply
@[simp]
theorem Pi.sdiff_apply [∀ i, SDiff (π i)] (x y : ∀ i, π i) (i : ι) :
    (x \ y) i = x i \ y i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → SDiff (π i)] (x y : (i : ι) → π i) (i : ι)
Goal: (x \ y) i = x i \ y i
-- Function.const_le_const
@[simp]
theorem const_le_const : const β a ≤ const β b ↔ a ≤ b 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Nonempty β] {a b : α}
Goal: Function.const β a ≤ Function.const β b ↔ a ≤ b
-- Function.const_lt_const
@[simp]
theorem const_lt_const : const β a < const β b ↔ a < b 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Nonempty β] {a b : α}
Goal: Function.const β a < Function.const β b ↔ a < b
-- min_rec
theorem min_rec (hx : x ≤ y → p x) (hy : y ≤ x → p y) : p (min x y) 
Arguments: {α : Type u_2} [LinearOrder α] {p : α → Prop} {x y : α} (hx : x ≤ y → p x) (hy : y ≤ x → p y)
Goal: p (min x y)
-- max_rec
theorem max_rec (hx : y ≤ x → p x) (hy : x ≤ y → p y) : p (max x y) 
Arguments: {α : Type u_2} [LinearOrder α] {p : α → Prop} {x y : α} (hx : y ≤ x → p x) (hy : x ≤ y → p y)
Goal: p (max x y)
-- min_rec'
theorem min_rec' (p : α → Prop) (hx : p x) (hy : p y) : p (min x y) 
Arguments: {α : Type u_2} [LinearOrder α] {x y : α} (p : α → Prop) (hx : p x) (hy : p y)
Goal: p (min x y)
-- max_rec'
theorem max_rec' (p : α → Prop) (hx : p x) (hy : p y) : p (max x y) 
Arguments: {α : Type u_2} [LinearOrder α] {x y : α} (p : α → Prop) (hx : p x) (hy : p y)
Goal: p (max x y)
-- min_def_lt
theorem min_def_lt (x y : α) : min x y = if x < y then x else y 
Arguments: {α : Type u_2} [LinearOrder α] (x y : α)
Goal: min x y = if x < y then x else y
-- max_def_lt
theorem max_def_lt (x y : α) : max x y = if x < y then y else x 
Arguments: {α : Type u_2} [LinearOrder α] (x y : α)
Goal: max x y = if x < y then y else x
-- compare_of_injective_eq_compareOfLessAndEq
theorem compare_of_injective_eq_compareOfLessAndEq (a b : α) [LinearOrder β]
    [DecidableEq α] (f : α → β) (inj : Injective f)
    [Decidable (LT.lt (self := PartialOrder.lift f inj |>.toLT) a b)] :
    compare (f a) (f b) =
      @compareOfLessAndEq _ a b (PartialOrder.lift f inj |>.toLT) _ _ 
Arguments: {α : Type u_2} {β : Type u_3} (a b : α) [LinearOrder β] [DecidableEq α] (f : α → β) (inj : Function.Injective f) [Decidable (a < b)]
Goal: compare (f a) (f b) = compareOfLessAndEq a b
-- Subtype.mk_le_mk
@[simp]
theorem mk_le_mk [LE α] {p : α → Prop} {x y : α} {hx : p x} {hy : p y} :
    (⟨x, hx⟩ : Subtype p) ≤ ⟨y, hy⟩ ↔ x ≤ y 
Arguments: {α : Type u_2} [LE α] {p : α → Prop} {x y : α} {hx : p x} {hy : p y}
Goal: ⟨x, hx⟩ ≤ ⟨y, hy⟩ ↔ x ≤ y
-- Subtype.mk_lt_mk
@[simp]
theorem mk_lt_mk [LT α] {p : α → Prop} {x y : α} {hx : p x} {hy : p y} :
    (⟨x, hx⟩ : Subtype p) < ⟨y, hy⟩ ↔ x < y 
Arguments: {α : Type u_2} [LT α] {p : α → Prop} {x y : α} {hx : p x} {hy : p y}
Goal: ⟨x, hx⟩ < ⟨y, hy⟩ ↔ x < y
-- Subtype.coe_le_coe
@[simp, norm_cast]
theorem coe_le_coe [LE α] {p : α → Prop} {x y : Subtype p} : (x : α) ≤ y ↔ x ≤ y 
Arguments: {α : Type u_2} [LE α] {p : α → Prop} {x y : Subtype p}
Goal: ↑x ≤ ↑y ↔ x ≤ y
-- Subtype.coe_lt_coe
@[simp, norm_cast]
theorem coe_lt_coe [LT α] {p : α → Prop} {x y : Subtype p} : (x : α) < y ↔ x < y 
Arguments: {α : Type u_2} [LT α] {p : α → Prop} {x y : Subtype p}
Goal: ↑x < ↑y ↔ x < y
-- Prod.le_def
theorem le_def [LE α] [LE β] {x y : α × β} : x ≤ y ↔ x.1 ≤ y.1 ∧ x.2 ≤ y.2 
Arguments: {α : Type u_2} {β : Type u_3} [LE α] [LE β] {x y : α × β}
Goal: x ≤ y ↔ x.1 ≤ y.1 ∧ x.2 ≤ y.2
-- Prod.mk_le_mk
@[simp]
theorem mk_le_mk [LE α] [LE β] {x₁ x₂ : α} {y₁ y₂ : β} : (x₁, y₁) ≤ (x₂, y₂) ↔ x₁ ≤ x₂ ∧ y₁ ≤ y₂ 
Arguments: {α : Type u_2} {β : Type u_3} [LE α] [LE β] {x₁ x₂ : α} {y₁ y₂ : β}
Goal: (x₁, y₁) ≤ (x₂, y₂) ↔ x₁ ≤ x₂ ∧ y₁ ≤ y₂
-- Prod.swap_le_swap
@[simp]
theorem swap_le_swap [LE α] [LE β] {x y : α × β} : x.swap ≤ y.swap ↔ x ≤ y 
Arguments: {α : Type u_2} {β : Type u_3} [LE α] [LE β] {x y : α × β}
Goal: x.swap ≤ y.swap ↔ x ≤ y
-- Prod.swap_lt_swap
@[simp]
theorem swap_lt_swap : x.swap < y.swap ↔ x < y 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {x y : α × β}
Goal: x.swap < y.swap ↔ x < y
-- Prod.mk_le_mk_iff_left
theorem mk_le_mk_iff_left : (a₁, b) ≤ (a₂, b) ↔ a₁ ≤ a₂ 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a₁ a₂ : α} {b : β}
Goal: (a₁, b) ≤ (a₂, b) ↔ a₁ ≤ a₂
-- Prod.mk_le_mk_iff_right
theorem mk_le_mk_iff_right : (a, b₁) ≤ (a, b₂) ↔ b₁ ≤ b₂ 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a : α} {b₁ b₂ : β}
Goal: (a, b₁) ≤ (a, b₂) ↔ b₁ ≤ b₂
-- Prod.mk_lt_mk_iff_left
theorem mk_lt_mk_iff_left : (a₁, b) < (a₂, b) ↔ a₁ < a₂ 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a₁ a₂ : α} {b : β}
Goal: (a₁, b) < (a₂, b) ↔ a₁ < a₂
-- Prod.mk_lt_mk_iff_right
theorem mk_lt_mk_iff_right : (a, b₁) < (a, b₂) ↔ b₁ < b₂ 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a : α} {b₁ b₂ : β}
Goal: (a, b₁) < (a, b₂) ↔ b₁ < b₂
-- Prod.lt_iff
theorem lt_iff : x < y ↔ x.1 < y.1 ∧ x.2 ≤ y.2 ∨ x.1 ≤ y.1 ∧ x.2 < y.2 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {x y : α × β}
Goal: x < y ↔ x.1 < y.1 ∧ x.2 ≤ y.2 ∨ x.1 ≤ y.1 ∧ x.2 < y.2
-- Prod.mk_lt_mk
@[simp]
theorem mk_lt_mk : (a₁, b₁) < (a₂, b₂) ↔ a₁ < a₂ ∧ b₁ ≤ b₂ ∨ a₁ ≤ a₂ ∧ b₁ < b₂ 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a₁ a₂ : α} {b₁ b₂ : β}
Goal: (a₁, b₁) < (a₂, b₂) ↔ a₁ < a₂ ∧ b₁ ≤ b₂ ∨ a₁ ≤ a₂ ∧ b₁ < b₂
-- Prod.lt_of_lt_of_le
protected lemma lt_of_lt_of_le (h₁ : x.1 < y.1) (h₂ : x.2 ≤ y.2) : x < y 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {x y : α × β} (h₁ : x.1 < y.1) (h₂ : x.2 ≤ y.2)
Goal: x < y
-- Prod.lt_of_le_of_lt
protected lemma lt_of_le_of_lt (h₁ : x.1 ≤ y.1) (h₂ : x.2 < y.2) : x < y 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {x y : α × β} (h₁ : x.1 ≤ y.1) (h₂ : x.2 < y.2)
Goal: x < y
-- Prod.mk_lt_mk_of_lt_of_le
lemma mk_lt_mk_of_lt_of_le (h₁ : a₁ < a₂) (h₂ : b₁ ≤ b₂) : (a₁, b₁) < (a₂, b₂) 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a₁ a₂ : α} {b₁ b₂ : β} (h₁ : a₁ < a₂) (h₂ : b₁ ≤ b₂)
Goal: (a₁, b₁) < (a₂, b₂)
-- Prod.mk_lt_mk_of_le_of_lt
lemma mk_lt_mk_of_le_of_lt (h₁ : a₁ ≤ a₂) (h₂ : b₁ < b₂) : (a₁, b₁) < (a₂, b₂) 
Arguments: {α : Type u_2} {β : Type u_3} [Preorder α] [Preorder β] {a₁ a₂ : α} {b₁ b₂ : β} (h₁ : a₁ ≤ a₂) (h₂ : b₁ < b₂)
Goal: (a₁, b₁) < (a₂, b₂)
-- DenselyOrdered.dense
class DenselyOrdered (α : Type*) [LT α] : Prop where
    dense : ∀ a₁ a₂ : α, a₁ < a₂ → ∃ a, a₁ < a ∧ a < a₂
Arguments: {α : Type u_5} [LT α] [self : DenselyOrdered α] (a₁ a₂ : α)
Goal: a₁ < a₂ → ∃ a, a₁ < a ∧ a < a₂
-- exists_between
theorem exists_between [LT α] [DenselyOrdered α] : ∀ {a₁ a₂ : α}, a₁ < a₂ → ∃ a, a₁ < a ∧ a < a₂ 
Arguments: {α : Type u_2} [LT α] [DenselyOrdered α] {a₁ a₂ : α}
Goal: a₁ < a₂ → ∃ a, a₁ < a ∧ a < a₂
-- denselyOrdered_orderDual
@[simp]
theorem denselyOrdered_orderDual [LT α] : DenselyOrdered αᵒᵈ ↔ DenselyOrdered α 
Arguments: {α : Type u_2} [LT α]
Goal: DenselyOrdered αᵒᵈ ↔ DenselyOrdered α
-- le_of_forall_le_of_dense
theorem le_of_forall_le_of_dense [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α}
    (h : ∀ a, a₂ < a → a₁ ≤ a) : a₁ ≤ a₂ 
Arguments: {α : Type u_2} [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h : ∀ (a : α), a₂ < a → a₁ ≤ a)
Goal: a₁ ≤ a₂
-- eq_of_le_of_forall_le_of_dense
theorem eq_of_le_of_forall_le_of_dense [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h₁ : a₂ ≤ a₁)
    (h₂ : ∀ a, a₂ < a → a₁ ≤ a) : a₁ = a₂ 
Arguments: {α : Type u_2} [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h₁ : a₂ ≤ a₁) (h₂ : ∀ (a : α), a₂ < a → a₁ ≤ a)
Goal: a₁ = a₂
-- le_of_forall_ge_of_dense
theorem le_of_forall_ge_of_dense [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α}
    (h : ∀ a₃ < a₁, a₃ ≤ a₂) : a₁ ≤ a₂ 
Arguments: {α : Type u_2} [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h : ∀ (a₃ : α), a₃ < a₁ → a₃ ≤ a₂)
Goal: a₁ ≤ a₂
-- eq_of_le_of_forall_ge_of_dense
theorem eq_of_le_of_forall_ge_of_dense [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h₁ : a₂ ≤ a₁)
    (h₂ : ∀ a₃ < a₁, a₃ ≤ a₂) : a₁ = a₂ 
Arguments: {α : Type u_2} [LinearOrder α] [DenselyOrdered α] {a₁ a₂ : α} (h₁ : a₂ ≤ a₁) (h₂ : ∀ (a₃ : α), a₃ < a₁ → a₃ ≤ a₂)
Goal: a₁ = a₂
-- dense_or_discrete
theorem dense_or_discrete [LinearOrder α] (a₁ a₂ : α) :
    (∃ a, a₁ < a ∧ a < a₂) ∨ (∀ a, a₁ < a → a₂ ≤ a) ∧ ∀ a < a₂, a ≤ a₁ 
Arguments: {α : Type u_2} [LinearOrder α] (a₁ a₂ : α)
Goal: (∃ a, a₁ < a ∧ a < a₂) ∨ (∀ (a : α), a₁ < a → a₂ ≤ a) ∧ ∀ (a : α), a < a₂ → a ≤ a₁
-- eq_or_eq_or_eq_of_forall_not_lt_lt
lemma eq_or_eq_or_eq_of_forall_not_lt_lt [LinearOrder α]
    (h : ∀ ⦃x y z : α⦄, x < y → y < z → False) (x y z : α) : x = y ∨ y = z ∨ x = z 
Arguments: {α : Type u_2} [LinearOrder α] (h : ∀ ⦃x y z : α⦄, x < y → y < z → False) (x y z : α)
Goal: x = y ∨ y = z ∨ x = z
-- PUnit.max_eq
theorem max_eq : max a b = unit 
Arguments: (a b : PUnit.{u_5 + 1})
Goal: max a b = PUnit.unit
-- PUnit.min_eq
theorem min_eq : min a b = unit 
Arguments: (a b : PUnit.{u_5 + 1})
Goal: min a b = PUnit.unit
-- PUnit.le
protected theorem le : a ≤ b 
Arguments: (a b : PUnit.{u_5 + 1})
Goal: a ≤ b
-- PUnit.not_lt
theorem not_lt : ¬a < b 
Arguments: (a b : PUnit.{u_5 + 1})
Goal: ¬a < b
-- le_Prop_eq
@[simp]
theorem le_Prop_eq : ((· ≤ ·) : Prop → Prop → Prop) = (· → ·) 
Goal: (fun x x_1 => x ≤ x_1) = fun x x_1 => x → x_1
-- subrelation_iff_le
theorem subrelation_iff_le {r s : α → α → Prop} : Subrelation r s ↔ r ≤ s 
Arguments: {α : Type u_2} {r s : α → α → Prop}
Goal: Subrelation r s ↔ r ≤ s
-- dite_nonneg
@[to_additive dite_nonneg]
lemma one_le_dite [LE α] (ha : ∀ h, 1 ≤ a h) (hb : ∀ h, 1 ≤ b h) : 1 ≤ dite p a b 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LE α] (ha : ∀ (h : p), 0 ≤ a h) (hb : ∀ (h : ¬p), 0 ≤ b h)
Goal: 0 ≤ dite p a b
-- one_le_dite
@[to_additive dite_nonneg]
lemma one_le_dite [LE α] (ha : ∀ h, 1 ≤ a h) (hb : ∀ h, 1 ≤ b h) : 1 ≤ dite p a b 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LE α] (ha : ∀ (h : p), 1 ≤ a h) (hb : ∀ (h : ¬p), 1 ≤ b h)
Goal: 1 ≤ dite p a b
-- dite_nonpos
@[to_additive]
lemma dite_le_one [LE α] (ha : ∀ h, a h ≤ 1) (hb : ∀ h, b h ≤ 1) : dite p a b ≤ 1 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LE α] (ha : ∀ (h : p), a h ≤ 0) (hb : ∀ (h : ¬p), b h ≤ 0)
Goal: dite p a b ≤ 0
-- dite_le_one
@[to_additive]
lemma dite_le_one [LE α] (ha : ∀ h, a h ≤ 1) (hb : ∀ h, b h ≤ 1) : dite p a b ≤ 1 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LE α] (ha : ∀ (h : p), a h ≤ 1) (hb : ∀ (h : ¬p), b h ≤ 1)
Goal: dite p a b ≤ 1
-- dite_pos
@[to_additive dite_pos]
lemma one_lt_dite [LT α] (ha : ∀ h, 1 < a h) (hb : ∀ h, 1 < b h) : 1 < dite p a b 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LT α] (ha : ∀ (h : p), 0 < a h) (hb : ∀ (h : ¬p), 0 < b h)
Goal: 0 < dite p a b
-- one_lt_dite
@[to_additive dite_pos]
lemma one_lt_dite [LT α] (ha : ∀ h, 1 < a h) (hb : ∀ h, 1 < b h) : 1 < dite p a b 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LT α] (ha : ∀ (h : p), 1 < a h) (hb : ∀ (h : ¬p), 1 < b h)
Goal: 1 < dite p a b
-- dite_neg
@[to_additive]
lemma dite_lt_one [LT α] (ha : ∀ h, a h < 1) (hb : ∀ h, b h < 1) : dite p a b < 1 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LT α] (ha : ∀ (h : p), a h < 0) (hb : ∀ (h : ¬p), b h < 0)
Goal: dite p a b < 0
-- dite_lt_one
@[to_additive]
lemma dite_lt_one [LT α] (ha : ∀ h, a h < 1) (hb : ∀ h, b h < 1) : dite p a b < 1 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a : p → α} {b : ¬p → α} [LT α] (ha : ∀ (h : p), a h < 1) (hb : ∀ (h : ¬p), b h < 1)
Goal: dite p a b < 1
-- one_le_ite
@[to_additive ite_nonneg]
lemma one_le_ite [LE α] (ha : 1 ≤ a) (hb : 1 ≤ b) : 1 ≤ ite p a b 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a b : α} [LE α] (ha : 1 ≤ a) (hb : 1 ≤ b)
Goal: 1 ≤ if p then a else b
-- ite_nonneg
@[to_additive ite_nonneg]
lemma one_le_ite [LE α] (ha : 1 ≤ a) (hb : 1 ≤ b) : 1 ≤ ite p a b 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a b : α} [LE α] (ha : 0 ≤ a) (hb : 0 ≤ b)
Goal: 0 ≤ if p then a else b
-- ite_nonpos
@[to_additive]
lemma ite_le_one [LE α] (ha : a ≤ 1) (hb : b ≤ 1) : ite p a b ≤ 1 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a b : α} [LE α] (ha : a ≤ 0) (hb : b ≤ 0)
Goal: (if p then a else b) ≤ 0
-- ite_le_one
@[to_additive]
lemma ite_le_one [LE α] (ha : a ≤ 1) (hb : b ≤ 1) : ite p a b ≤ 1 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a b : α} [LE α] (ha : a ≤ 1) (hb : b ≤ 1)
Goal: (if p then a else b) ≤ 1
-- one_lt_ite
@[to_additive ite_pos]
lemma one_lt_ite [LT α] (ha : 1 < a) (hb : 1 < b) : 1 < ite p a b 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a b : α} [LT α] (ha : 1 < a) (hb : 1 < b)
Goal: 1 < if p then a else b
-- ite_pos
@[to_additive ite_pos]
lemma one_lt_ite [LT α] (ha : 1 < a) (hb : 1 < b) : 1 < ite p a b 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a b : α} [LT α] (ha : 0 < a) (hb : 0 < b)
Goal: 0 < if p then a else b
-- ite_lt_one
@[to_additive]
lemma ite_lt_one [LT α] (ha : a < 1) (hb : b < 1) : ite p a b < 1 
Arguments: {α : Type u_2} [One α] {p : Prop} [Decidable p] {a b : α} [LT α] (ha : a < 1) (hb : b < 1)
Goal: (if p then a else b) < 1
-- ite_neg
@[to_additive]
lemma ite_lt_one [LT α] (ha : a < 1) (hb : b < 1) : ite p a b < 1 
Arguments: {α : Type u_2} [Zero α] {p : Prop} [Decidable p] {a b : α} [LT α] (ha : a < 0) (hb : b < 0)
Goal: (if p then a else b) < 0
-- Filter.Germ.coe_lt
theorem coe_lt [Preorder β] {f g : α → β} : (f : β*) < g ↔ ∀* x, f x < g x 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [Preorder β] {f g : α → β}
Goal: ↑f < ↑g ↔ ∀ᶠ (x : α) in ↑φ, f x < g x
-- Filter.Germ.coe_pos
theorem coe_pos [Preorder β] [Zero β] {f : α → β} : 0 < (f : β*) ↔ ∀* x, 0 < f x 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [Preorder β] [Zero β] {f : α → β}
Goal: 0 < ↑f ↔ ∀ᶠ (x : α) in ↑φ, 0 < f x
-- Filter.Germ.const_lt
theorem const_lt [Preorder β] {x y : β} : x < y → (↑x : β*) < ↑y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [Preorder β] {x y : β}
Goal: x < y → ↑x < ↑y
-- Filter.Germ.const_lt_iff
@[simp, norm_cast]
theorem const_lt_iff [Preorder β] {x y : β} : (↑x : β*) < ↑y ↔ x < y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [Preorder β] {x y : β}
Goal: ↑x < ↑y ↔ x < y
-- Filter.Germ.lt_def
theorem lt_def [Preorder β] : ((· < ·) : β* → β* → Prop) = LiftRel (· < ·) 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [Preorder β]
Goal: (fun x x_1 => x < x_1) = Filter.Germ.LiftRel fun x x_1 => x < x_1
-- Filter.Germ.max_def
theorem max_def [LinearOrder β] (x y : β*) : max x y = map₂ max x y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [LinearOrder β] (x y : (↑φ).Germ β)
Goal: max x y = Filter.Germ.map₂ max x y
-- Filter.Germ.min_def
theorem min_def [K : LinearOrder β] (x y : β*) : min x y = map₂ min x y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [K : LinearOrder β] (x y : (↑φ).Germ β)
Goal: min x y = Filter.Germ.map₂ min x y
-- Filter.Germ.abs_def
theorem abs_def [LinearOrderedAddCommGroup β] (x : β*) : |x| = map abs x 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [LinearOrderedAddCommGroup β] (x : (↑φ).Germ β)
Goal: |x| = Filter.Germ.map abs x
-- Filter.Germ.const_max
@[simp]
theorem const_max [LinearOrder β] (x y : β) : (↑(max x y : β) : β*) = max ↑x ↑y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [LinearOrder β] (x y : β)
Goal: ↑(max x y) = max ↑x ↑y
-- Filter.Germ.const_min
@[simp]
theorem const_min [LinearOrder β] (x y : β) : (↑(min x y : β) : β*) = min ↑x ↑y 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [LinearOrder β] (x y : β)
Goal: ↑(min x y) = min ↑x ↑y
-- Filter.Germ.const_abs
@[simp]
theorem const_abs [LinearOrderedAddCommGroup β] (x : β) : (↑|x| : β*) = |↑x| 
Arguments: {α : Type u} {β : Type v} {φ : Ultrafilter α} [LinearOrderedAddCommGroup β] (x : β)
Goal: ↑|x| = |↑x|
-- Finpartition.isEquipartition_iff_card_parts_eq_average
theorem isEquipartition_iff_card_parts_eq_average :
    P.IsEquipartition ↔
      ∀ a : Finset α,
        a ∈ P.parts → a.card = s.card / P.parts.card ∨ a.card = s.card / P.parts.card + 1 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} (P : Finpartition s)
Goal: P.IsEquipartition ↔ ∀ a ∈ P.parts, a.card = s.card / P.parts.card ∨ a.card = s.card / P.parts.card + 1
-- Finpartition.not_isEquipartition
lemma not_isEquipartition :
    ¬P.IsEquipartition ↔ ∃ a ∈ P.parts, ∃ b ∈ P.parts, b.card + 1 < a.card 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {P : Finpartition s}
Goal: ¬P.IsEquipartition ↔ ∃ a ∈ P.parts, ∃ b ∈ P.parts, b.card + 1 < a.card
-- Set.Subsingleton.isEquipartition
theorem _root_.Set.Subsingleton.isEquipartition (h : (P.parts : Set (Finset α)).Subsingleton) :
    P.IsEquipartition 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {P : Finpartition s} (h : (↑P.parts).Subsingleton)
Goal: P.IsEquipartition
-- Finpartition.IsEquipartition.card_parts_eq_average
theorem IsEquipartition.card_parts_eq_average (hP : P.IsEquipartition) (ht : t ∈ P.parts) :
    t.card = s.card / P.parts.card ∨ t.card = s.card / P.parts.card + 1 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {P : Finpartition s} (hP : P.IsEquipartition) (ht : t ∈ P.parts)
Goal: t.card = s.card / P.parts.card ∨ t.card = s.card / P.parts.card + 1
-- Finpartition.IsEquipartition.card_part_eq_average_iff
theorem IsEquipartition.card_part_eq_average_iff (hP : P.IsEquipartition) (ht : t ∈ P.parts) :
    t.card = s.card / P.parts.card ↔ t.card ≠ s.card / P.parts.card + 1 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {P : Finpartition s} (hP : P.IsEquipartition) (ht : t ∈ P.parts)
Goal: t.card = s.card / P.parts.card ↔ t.card ≠ s.card / P.parts.card + 1
-- Finpartition.IsEquipartition.average_le_card_part
theorem IsEquipartition.average_le_card_part (hP : P.IsEquipartition) (ht : t ∈ P.parts) :
    s.card / P.parts.card ≤ t.card 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {P : Finpartition s} (hP : P.IsEquipartition) (ht : t ∈ P.parts)
Goal: s.card / P.parts.card ≤ t.card
-- Finpartition.IsEquipartition.card_part_le_average_add_one
theorem IsEquipartition.card_part_le_average_add_one (hP : P.IsEquipartition) (ht : t ∈ P.parts) :
    t.card ≤ s.card / P.parts.card + 1 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {P : Finpartition s} (hP : P.IsEquipartition) (ht : t ∈ P.parts)
Goal: t.card ≤ s.card / P.parts.card + 1
-- Finpartition.IsEquipartition.filter_ne_average_add_one_eq_average
theorem IsEquipartition.filter_ne_average_add_one_eq_average (hP : P.IsEquipartition) :
    P.parts.filter (fun p ↦ ¬p.card = s.card / P.parts.card + 1) =
    P.parts.filter (fun p ↦ p.card = s.card / P.parts.card) 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {P : Finpartition s} (hP : P.IsEquipartition)
Goal: Finset.filter (fun p => ¬p.card = s.card / P.parts.card + 1) P.parts =
  Finset.filter (fun p => p.card = s.card / P.parts.card) P.parts