ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- WithTop.top_ne_zero
@[to_additive (attr := simp)] lemma top_ne_one : (⊤ : WithTop α) ≠ 1 
Arguments: {α : Type u} [Zero α]
Goal: ⊤ ≠ 0
-- WithTop.top_ne_one
@[to_additive (attr := simp)] lemma top_ne_one : (⊤ : WithTop α) ≠ 1 
Arguments: {α : Type u} [One α]
Goal: ⊤ ≠ 1
-- WithTop.one_ne_top
@[to_additive (attr := simp)] lemma one_ne_top : (1 : WithTop α) ≠ ⊤ 
Arguments: {α : Type u} [One α]
Goal: 1 ≠ ⊤
-- WithTop.zero_ne_top
@[to_additive (attr := simp)] lemma one_ne_top : (1 : WithTop α) ≠ ⊤ 
Arguments: {α : Type u} [Zero α]
Goal: 0 ≠ ⊤
-- WithTop.untop_one
@[to_additive (attr := simp)]
theorem untop_one : (1 : WithTop α).untop coe_ne_top = 1 
Arguments: {α : Type u} [One α]
Goal: WithTop.untop 1 ⋯ = 1
-- WithTop.untop_zero
@[to_additive (attr := simp)]
theorem untop_one : (1 : WithTop α).untop coe_ne_top = 1 
Arguments: {α : Type u} [Zero α]
Goal: WithTop.untop 0 ⋯ = 0
-- WithTop.untop_one'
@[to_additive (attr := simp)]
theorem untop_one' (d : α) : (1 : WithTop α).untop' d = 1 
Arguments: {α : Type u} [One α] (d : α)
Goal: WithTop.untop' d 1 = 1
-- WithTop.untop_zero'
@[to_additive (attr := simp)]
theorem untop_one' (d : α) : (1 : WithTop α).untop' d = 1 
Arguments: {α : Type u} [Zero α] (d : α)
Goal: WithTop.untop' d 0 = 0
-- WithTop.one_le_coe
@[to_additive (attr := simp, norm_cast) coe_nonneg]
theorem one_le_coe [LE α] {a : α} : 1 ≤ (a : WithTop α) ↔ 1 ≤ a 
Arguments: {α : Type u} [One α] [LE α] {a : α}
Goal: 1 ≤ ↑a ↔ 1 ≤ a
-- WithTop.coe_nonneg
@[to_additive (attr := simp, norm_cast) coe_nonneg]
theorem one_le_coe [LE α] {a : α} : 1 ≤ (a : WithTop α) ↔ 1 ≤ a 
Arguments: {α : Type u} [Zero α] [LE α] {a : α}
Goal: 0 ≤ ↑a ↔ 0 ≤ a
-- WithTop.coe_le_one
@[to_additive (attr := simp, norm_cast) coe_le_zero]
theorem coe_le_one [LE α] {a : α} : (a : WithTop α) ≤ 1 ↔ a ≤ 1 
Arguments: {α : Type u} [One α] [LE α] {a : α}
Goal: ↑a ≤ 1 ↔ a ≤ 1
-- WithTop.coe_le_zero
@[to_additive (attr := simp, norm_cast) coe_le_zero]
theorem coe_le_one [LE α] {a : α} : (a : WithTop α) ≤ 1 ↔ a ≤ 1 
Arguments: {α : Type u} [Zero α] [LE α] {a : α}
Goal: ↑a ≤ 0 ↔ a ≤ 0
-- WithTop.coe_pos
@[to_additive (attr := simp, norm_cast) coe_pos]
theorem one_lt_coe [LT α] {a : α} : 1 < (a : WithTop α) ↔ 1 < a 
Arguments: {α : Type u} [Zero α] [LT α] {a : α}
Goal: 0 < ↑a ↔ 0 < a
-- WithTop.one_lt_coe
@[to_additive (attr := simp, norm_cast) coe_pos]
theorem one_lt_coe [LT α] {a : α} : 1 < (a : WithTop α) ↔ 1 < a 
Arguments: {α : Type u} [One α] [LT α] {a : α}
Goal: 1 < ↑a ↔ 1 < a
-- WithTop.coe_lt_one
@[to_additive (attr := simp, norm_cast) coe_lt_zero]
theorem coe_lt_one [LT α] {a : α} : (a : WithTop α) < 1 ↔ a < 1 
Arguments: {α : Type u} [One α] [LT α] {a : α}
Goal: ↑a < 1 ↔ a < 1
-- WithTop.coe_lt_zero
@[to_additive (attr := simp, norm_cast) coe_lt_zero]
theorem coe_lt_one [LT α] {a : α} : (a : WithTop α) < 1 ↔ a < 1 
Arguments: {α : Type u} [Zero α] [LT α] {a : α}
Goal: ↑a < 0 ↔ a < 0
-- WithTop.map_zero
@[to_additive (attr := simp)]
protected theorem map_one {β} (f : α → β) : (1 : WithTop α).map f = (f 1 : WithTop β) 
Arguments: {α : Type u} [Zero α] {β : Type u_1} (f : α → β)
Goal: WithTop.map f 0 = ↑(f 0)
-- WithTop.map_one
@[to_additive (attr := simp)]
protected theorem map_one {β} (f : α → β) : (1 : WithTop α).map f = (f 1 : WithTop β) 
Arguments: {α : Type u} [One α] {β : Type u_1} (f : α → β)
Goal: WithTop.map f 1 = ↑(f 1)
-- WithTop.coe_add
@[simp, norm_cast] lemma coe_add (a b : α) : ↑(a + b) = (a + b : WithTop α) 
Arguments: {α : Type u} [Add α] (a b : α)
Goal: ↑(a + b) = ↑a + ↑b
-- WithTop.top_add
@[simp]
theorem top_add (a : WithTop α) : ⊤ + a = ⊤ 
Arguments: {α : Type u} [Add α] (a : WithTop α)
Goal: ⊤ + a = ⊤
-- WithTop.add_top
@[simp]
theorem add_top (a : WithTop α) : a + ⊤ = ⊤ 
Arguments: {α : Type u} [Add α] (a : WithTop α)
Goal: a + ⊤ = ⊤
-- WithTop.add_eq_top
@[simp]
theorem add_eq_top : a + b = ⊤ ↔ a = ⊤ ∨ b = ⊤ 
Arguments: {α : Type u} [Add α] {a b : WithTop α}
Goal: a + b = ⊤ ↔ a = ⊤ ∨ b = ⊤
-- WithTop.add_ne_top
theorem add_ne_top : a + b ≠ ⊤ ↔ a ≠ ⊤ ∧ b ≠ ⊤ 
Arguments: {α : Type u} [Add α] {a b : WithTop α}
Goal: a + b ≠ ⊤ ↔ a ≠ ⊤ ∧ b ≠ ⊤
-- WithTop.add_lt_top
theorem add_lt_top [LT α] {a b : WithTop α} : a + b < ⊤ ↔ a < ⊤ ∧ b < ⊤ 
Arguments: {α : Type u} [Add α] [LT α] {a b : WithTop α}
Goal: a + b < ⊤ ↔ a < ⊤ ∧ b < ⊤
-- WithTop.add_eq_coe
theorem add_eq_coe :
    ∀ {a b : WithTop α} {c : α}, a + b = c ↔ ∃ a' b' : α, ↑a' = a ∧ ↑b' = b ∧ a' + b' = c
  
Arguments: {α : Type u} [Add α] {a b : WithTop α} {c : α}
Goal: a + b = ↑c ↔ ∃ a' b', ↑a' = a ∧ ↑b' = b ∧ a' + b' = c
-- WithTop.add_coe_eq_top_iff
theorem add_coe_eq_top_iff {x : WithTop α} {y : α} : x + y = ⊤ ↔ x = ⊤ 
Arguments: {α : Type u} [Add α] {x : WithTop α} {y : α}
Goal: x + ↑y = ⊤ ↔ x = ⊤
-- WithTop.coe_add_eq_top_iff
theorem coe_add_eq_top_iff {y : WithTop α} : ↑x + y = ⊤ ↔ y = ⊤ 
Arguments: {α : Type u} [Add α] {x : α} {y : WithTop α}
Goal: ↑x + y = ⊤ ↔ y = ⊤
-- WithTop.add_right_cancel_iff
theorem add_right_cancel_iff [IsRightCancelAdd α] (ha : a ≠ ⊤) : b + a = c + a ↔ b = c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [IsRightCancelAdd α] (ha : a ≠ ⊤)
Goal: b + a = c + a ↔ b = c
-- WithTop.add_right_cancel
theorem add_right_cancel [IsRightCancelAdd α] (ha : a ≠ ⊤) (h : b + a = c + a) : b = c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [IsRightCancelAdd α] (ha : a ≠ ⊤) (h : b + a = c + a)
Goal: b = c
-- WithTop.add_left_cancel_iff
theorem add_left_cancel_iff [IsLeftCancelAdd α] (ha : a ≠ ⊤) : a + b = a + c ↔ b = c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [IsLeftCancelAdd α] (ha : a ≠ ⊤)
Goal: a + b = a + c ↔ b = c
-- WithTop.add_left_cancel
theorem add_left_cancel [IsLeftCancelAdd α] (ha : a ≠ ⊤) (h : a + b = a + c) : b = c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [IsLeftCancelAdd α] (ha : a ≠ ⊤) (h : a + b = a + c)
Goal: b = c
-- WithTop.le_of_add_le_add_left
protected theorem le_of_add_le_add_left [LE α] [ContravariantClass α α (· + ·) (· ≤ ·)] (ha : a ≠ ⊤)
    (h : a + b ≤ a + c) : b ≤ c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LE α] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (ha : a ≠ ⊤) (h : a + b ≤ a + c)
Goal: b ≤ c
-- WithTop.le_of_add_le_add_right
protected theorem le_of_add_le_add_right [LE α] [ContravariantClass α α (swap (· + ·)) (· ≤ ·)]
    (ha : a ≠ ⊤) (h : b + a ≤ c + a) : b ≤ c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LE α] [ContravariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (ha : a ≠ ⊤) (h : b + a ≤ c + a)
Goal: b ≤ c
-- WithTop.add_lt_add_left
protected theorem add_lt_add_left [LT α] [CovariantClass α α (· + ·) (· < ·)] (ha : a ≠ ⊤)
    (h : b < c) : a + b < a + c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LT α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] (ha : a ≠ ⊤) (h : b < c)
Goal: a + b < a + c
-- WithTop.add_lt_add_right
protected theorem add_lt_add_right [LT α] [CovariantClass α α (swap (· + ·)) (· < ·)] (ha : a ≠ ⊤)
    (h : b < c) : b + a < c + a 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LT α] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x < x_1] (ha : a ≠ ⊤) (h : b < c)
Goal: b + a < c + a
-- WithTop.add_le_add_iff_left
protected theorem add_le_add_iff_left [LE α] [CovariantClass α α (· + ·) (· ≤ ·)]
    [ContravariantClass α α (· + ·) (· ≤ ·)] (ha : a ≠ ⊤) : a + b ≤ a + c ↔ b ≤ c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (ha : a ≠ ⊤)
Goal: a + b ≤ a + c ↔ b ≤ c
-- WithTop.add_le_add_iff_right
protected theorem add_le_add_iff_right [LE α] [CovariantClass α α (swap (· + ·)) (· ≤ ·)]
    [ContravariantClass α α (swap (· + ·)) (· ≤ ·)] (ha : a ≠ ⊤) : b + a ≤ c + a ↔ b ≤ c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LE α] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [ContravariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (ha : a ≠ ⊤)
Goal: b + a ≤ c + a ↔ b ≤ c
-- WithTop.add_lt_add_iff_left
protected theorem add_lt_add_iff_left [LT α] [CovariantClass α α (· + ·) (· < ·)]
    [ContravariantClass α α (· + ·) (· < ·)] (ha : a ≠ ⊤) : a + b < a + c ↔ b < c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LT α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] (ha : a ≠ ⊤)
Goal: a + b < a + c ↔ b < c
-- WithTop.add_lt_add_iff_right
protected theorem add_lt_add_iff_right [LT α] [CovariantClass α α (swap (· + ·)) (· < ·)]
    [ContravariantClass α α (swap (· + ·)) (· < ·)] (ha : a ≠ ⊤) : b + a < c + a ↔ b < c 
Arguments: {α : Type u} [Add α] {a b c : WithTop α} [LT α] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x < x_1] [ContravariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x < x_1] (ha : a ≠ ⊤)
Goal: b + a < c + a ↔ b < c
-- WithTop.add_lt_add_of_le_of_lt
protected theorem add_lt_add_of_le_of_lt [Preorder α] [CovariantClass α α (· + ·) (· < ·)]
    [CovariantClass α α (swap (· + ·)) (· ≤ ·)] (ha : a ≠ ⊤) (hab : a ≤ b) (hcd : c < d) :
    a + c < b + d 
Arguments: {α : Type u} [Add α] {a b c d : WithTop α} [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (ha : a ≠ ⊤) (hab : a ≤ b) (hcd : c < d)
Goal: a + c < b + d
-- WithTop.add_lt_add_of_lt_of_le
protected theorem add_lt_add_of_lt_of_le [Preorder α] [CovariantClass α α (· + ·) (· ≤ ·)]
    [CovariantClass α α (swap (· + ·)) (· < ·)] (hc : c ≠ ⊤) (hab : a < b) (hcd : c ≤ d) :
    a + c < b + d 
Arguments: {α : Type u} [Add α] {a b c d : WithTop α} [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x < x_1] (hc : c ≠ ⊤) (hab : a < b) (hcd : c ≤ d)
Goal: a + c < b + d
-- WithTop.map_add
@[simp]
protected theorem map_add {F} [Add β] [FunLike F α β] [AddHomClass F α β]
    (f : F) (a b : WithTop α) :
    (a + b).map f = a.map f + b.map f 
Arguments: {α : Type u} {β : Type v} [Add α] {F : Type u_1} [Add β] [FunLike F α β] [AddHomClass F α β] (f : F) (a b : WithTop α)
Goal: WithTop.map (⇑f) (a + b) = WithTop.map (⇑f) a + WithTop.map (⇑f) b
-- WithTop.coe_nsmul
@[simp, norm_cast] lemma coe_nsmul (a : α) (n : ℕ) : ↑(n • a) = n • (a : WithTop α) 
Arguments: {α : Type u} [AddMonoid α] (a : α) (n : ℕ)
Goal: ↑(n • a) = n • ↑a
-- WithTop.coe_addHom
@[simp, norm_cast] lemma coe_addHom : ⇑(addHom : α →+ WithTop α) = WithTop.some 
Arguments: {α : Type u} [AddMonoid α]
Goal: ⇑WithTop.addHom = WithTop.some
-- WithTop.coe_natCast
@[simp, norm_cast] lemma coe_natCast (n : ℕ) : ((n : α) : WithTop α) = n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ↑↑n = ↑n
-- WithTop.natCast_ne_top
@[simp] lemma natCast_ne_top (n : ℕ) : (n : WithTop α) ≠ ⊤ 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ↑n ≠ ⊤
-- WithTop.top_ne_natCast
@[simp] lemma top_ne_natCast (n : ℕ) : (⊤ : WithTop α) ≠ n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ⊤ ≠ ↑n
-- WithTop.coe_ofNat
@[simp] lemma coe_ofNat (n : ℕ) [n.AtLeastTwo] :
    (no_index (OfNat.ofNat n : α) : WithTop α) = OfNat.ofNat n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: ↑(OfNat.ofNat n) = OfNat.ofNat n
-- WithTop.coe_eq_ofNat
@[simp] lemma coe_eq_ofNat (n : ℕ) [n.AtLeastTwo] (m : α) :
    (m : WithTop α) = no_index (OfNat.ofNat n) ↔ m = OfNat.ofNat n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] (m : α)
Goal: ↑m = OfNat.ofNat n ↔ m = OfNat.ofNat n
-- WithTop.ofNat_eq_coe
@[simp] lemma ofNat_eq_coe (n : ℕ) [n.AtLeastTwo] (m : α) :
    no_index (OfNat.ofNat n) = (m : WithTop α) ↔ OfNat.ofNat n = m 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] (m : α)
Goal: OfNat.ofNat n = ↑m ↔ OfNat.ofNat n = m
-- WithTop.ofNat_ne_top
@[simp] lemma ofNat_ne_top (n : ℕ) [n.AtLeastTwo] : no_index (OfNat.ofNat n : WithTop α) ≠ ⊤ 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: OfNat.ofNat n ≠ ⊤
-- WithTop.top_ne_ofNat
@[simp] lemma top_ne_ofNat (n : ℕ) [n.AtLeastTwo] : (⊤ : WithTop α) ≠ no_index (OfNat.ofNat n) 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: ⊤ ≠ OfNat.ofNat n
-- WithTop.zero_lt_top
@[simp]
theorem zero_lt_top [Zero α] [LT α] : (0 : WithTop α) < ⊤ 
Arguments: {α : Type u} [Zero α] [LT α]
Goal: 0 < ⊤
-- WithTop.zero_lt_coe
@[norm_cast]
theorem zero_lt_coe [Zero α] [LT α] (a : α) : (0 : WithTop α) < a ↔ 0 < a 
Arguments: {α : Type u} [Zero α] [LT α] (a : α)
Goal: 0 < ↑a ↔ 0 < a
-- ZeroHom.withTopMap_apply
@[to_additive (attr := simps (config := .asFn))
  "A version of `WithTop.map` for `ZeroHom`s"]
protected def _root_.OneHom.withTopMap {M N : Type*} [One M] [One N] (f : OneHom M N) :
    OneHom (WithTop M) (WithTop N) 
Arguments: {M : Type u_1} {N : Type u_2} [Zero M] [Zero N] (f : ZeroHom M N)
Goal: ⇑f.withTopMap = WithTop.map ⇑f
-- OneHom.withTopMap_apply
@[to_additive (attr := simps (config := .asFn))
  "A version of `WithTop.map` for `ZeroHom`s"]
protected def _root_.OneHom.withTopMap {M N : Type*} [One M] [One N] (f : OneHom M N) :
    OneHom (WithTop M) (WithTop N) 
Arguments: {M : Type u_1} {N : Type u_2} [One M] [One N] (f : OneHom M N)
Goal: ⇑f.withTopMap = WithTop.map ⇑f
-- AddHom.withTopMap_apply
@[simps (config := .asFn)]
protected def _root_.AddHom.withTopMap {M N : Type*} [Add M] [Add N] (f : AddHom M N) :
    AddHom (WithTop M) (WithTop N) 
Arguments: {M : Type u_1} {N : Type u_2} [Add M] [Add N] (f : AddHom M N)
Goal: ⇑f.withTopMap = WithTop.map ⇑f
-- AddMonoidHom.withTopMap_apply
@[simps (config := .asFn)]
protected def _root_.AddMonoidHom.withTopMap {M N : Type*} [AddZeroClass M] [AddZeroClass N]
    (f : M →+ N) : WithTop M →+ WithTop N 
Arguments: {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N)
Goal: ⇑f.withTopMap = WithTop.map ⇑f
-- WithBot.coe_zero
@[to_additive (attr := simp, norm_cast)] lemma coe_one : ((1 : α) : WithBot α) = 1 
Arguments: {α : Type u} [Zero α]
Goal: ↑0 = 0
-- WithBot.coe_one
@[to_additive (attr := simp, norm_cast)] lemma coe_one : ((1 : α) : WithBot α) = 1 
Arguments: {α : Type u} [One α]
Goal: ↑1 = 1
-- WithBot.coe_eq_one
@[to_additive (attr := simp, norm_cast)]
lemma coe_eq_one : (a : WithBot α) = 1 ↔ a = 1 
Arguments: {α : Type u} [One α] {a : α}
Goal: ↑a = 1 ↔ a = 1
-- WithBot.coe_eq_zero
@[to_additive (attr := simp, norm_cast)]
lemma coe_eq_one : (a : WithBot α) = 1 ↔ a = 1 
Arguments: {α : Type u} [Zero α] {a : α}
Goal: ↑a = 0 ↔ a = 0
-- WithBot.zero_eq_coe
@[to_additive (attr := simp, norm_cast)]
lemma one_eq_coe : 1 = (a : WithBot α) ↔ a = 1 
Arguments: {α : Type u} [Zero α] {a : α}
Goal: 0 = ↑a ↔ a = 0
-- WithBot.one_eq_coe
@[to_additive (attr := simp, norm_cast)]
lemma one_eq_coe : 1 = (a : WithBot α) ↔ a = 1 
Arguments: {α : Type u} [One α] {a : α}
Goal: 1 = ↑a ↔ a = 1
-- WithBot.bot_ne_one
@[to_additive (attr := simp)] lemma bot_ne_one : (⊥ : WithBot α) ≠ 1 
Arguments: {α : Type u} [One α]
Goal: ⊥ ≠ 1
-- WithBot.bot_ne_zero
@[to_additive (attr := simp)] lemma bot_ne_one : (⊥ : WithBot α) ≠ 1 
Arguments: {α : Type u} [Zero α]
Goal: ⊥ ≠ 0
-- WithBot.zero_ne_bot
@[to_additive (attr := simp)] lemma one_ne_bot : (1 : WithBot α) ≠ ⊥ 
Arguments: {α : Type u} [Zero α]
Goal: 0 ≠ ⊥
-- WithBot.one_ne_bot
@[to_additive (attr := simp)] lemma one_ne_bot : (1 : WithBot α) ≠ ⊥ 
Arguments: {α : Type u} [One α]
Goal: 1 ≠ ⊥
-- WithBot.unbot_zero
@[to_additive (attr := simp)]
theorem unbot_one : (1 : WithBot α).unbot coe_ne_bot = 1 
Arguments: {α : Type u} [Zero α]
Goal: WithBot.unbot 0 ⋯ = 0
-- WithBot.unbot_one
@[to_additive (attr := simp)]
theorem unbot_one : (1 : WithBot α).unbot coe_ne_bot = 1 
Arguments: {α : Type u} [One α]
Goal: WithBot.unbot 1 ⋯ = 1
-- WithBot.unbot_one'
@[to_additive (attr := simp)]
theorem unbot_one' (d : α) : (1 : WithBot α).unbot' d = 1 
Arguments: {α : Type u} [One α] (d : α)
Goal: WithBot.unbot' d 1 = 1
-- WithBot.unbot_zero'
@[to_additive (attr := simp)]
theorem unbot_one' (d : α) : (1 : WithBot α).unbot' d = 1 
Arguments: {α : Type u} [Zero α] (d : α)
Goal: WithBot.unbot' d 0 = 0
-- WithBot.coe_nonneg
@[to_additive (attr := simp, norm_cast) coe_nonneg]
theorem one_le_coe [LE α] : 1 ≤ (a : WithBot α) ↔ 1 ≤ a 
Arguments: {α : Type u} [Zero α] {a : α} [LE α]
Goal: 0 ≤ ↑a ↔ 0 ≤ a
-- WithBot.one_le_coe
@[to_additive (attr := simp, norm_cast) coe_nonneg]
theorem one_le_coe [LE α] : 1 ≤ (a : WithBot α) ↔ 1 ≤ a 
Arguments: {α : Type u} [One α] {a : α} [LE α]
Goal: 1 ≤ ↑a ↔ 1 ≤ a
-- WithBot.coe_le_one
@[to_additive (attr := simp, norm_cast) coe_le_zero]
theorem coe_le_one [LE α] : (a : WithBot α) ≤ 1 ↔ a ≤ 1 
Arguments: {α : Type u} [One α] {a : α} [LE α]
Goal: ↑a ≤ 1 ↔ a ≤ 1
-- WithBot.coe_le_zero
@[to_additive (attr := simp, norm_cast) coe_le_zero]
theorem coe_le_one [LE α] : (a : WithBot α) ≤ 1 ↔ a ≤ 1 
Arguments: {α : Type u} [Zero α] {a : α} [LE α]
Goal: ↑a ≤ 0 ↔ a ≤ 0
-- WithBot.one_lt_coe
@[to_additive (attr := simp, norm_cast) coe_pos]
theorem one_lt_coe [LT α] : 1 < (a : WithBot α) ↔ 1 < a 
Arguments: {α : Type u} [One α] {a : α} [LT α]
Goal: 1 < ↑a ↔ 1 < a
-- WithBot.coe_pos
@[to_additive (attr := simp, norm_cast) coe_pos]
theorem one_lt_coe [LT α] : 1 < (a : WithBot α) ↔ 1 < a 
Arguments: {α : Type u} [Zero α] {a : α} [LT α]
Goal: 0 < ↑a ↔ 0 < a
-- WithBot.coe_lt_one
@[to_additive (attr := simp, norm_cast) coe_lt_zero]
theorem coe_lt_one [LT α] : (a : WithBot α) < 1 ↔ a < 1 
Arguments: {α : Type u} [One α] {a : α} [LT α]
Goal: ↑a < 1 ↔ a < 1
-- WithBot.coe_lt_zero
@[to_additive (attr := simp, norm_cast) coe_lt_zero]
theorem coe_lt_one [LT α] : (a : WithBot α) < 1 ↔ a < 1 
Arguments: {α : Type u} [Zero α] {a : α} [LT α]
Goal: ↑a < 0 ↔ a < 0
-- WithBot.map_one
@[to_additive (attr := simp)]
protected theorem map_one {β} (f : α → β) : (1 : WithBot α).map f = (f 1 : WithBot β) 
Arguments: {α : Type u} [One α] {β : Type u_1} (f : α → β)
Goal: WithBot.map f 1 = ↑(f 1)
-- WithBot.map_zero
@[to_additive (attr := simp)]
protected theorem map_one {β} (f : α → β) : (1 : WithBot α).map f = (f 1 : WithBot β) 
Arguments: {α : Type u} [Zero α] {β : Type u_1} (f : α → β)
Goal: WithBot.map f 0 = ↑(f 0)
-- WithBot.coe_addHom
@[simp, norm_cast] lemma coe_addHom : ⇑(addHom : α →+ WithBot α) = WithBot.some 
Arguments: {α : Type u} [AddMonoid α]
Goal: ⇑WithBot.addHom = WithBot.some
-- WithBot.coe_nsmul
@[simp, norm_cast]
lemma coe_nsmul (a : α) (n : ℕ) : ↑(n • a) = n • (a : WithBot α) 
Arguments: {α : Type u} [AddMonoid α] (a : α) (n : ℕ)
Goal: ↑(n • a) = n • ↑a
-- WithBot.coe_natCast
@[norm_cast] lemma coe_natCast (n : ℕ) : ((n : α) : WithBot α) = n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ↑↑n = ↑n
-- WithBot.natCast_ne_bot
@[simp] lemma natCast_ne_bot (n : ℕ) : (n : WithBot α) ≠ ⊥ 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ↑n ≠ ⊥
-- WithBot.bot_ne_natCast
@[simp] lemma bot_ne_natCast (n : ℕ) : (⊥ : WithBot α) ≠ n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ)
Goal: ⊥ ≠ ↑n
-- WithBot.coe_ofNat
@[simp] lemma coe_ofNat (n : ℕ) [n.AtLeastTwo] :
    (no_index (OfNat.ofNat n : α) : WithBot α) = OfNat.ofNat n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: ↑(OfNat.ofNat n) = OfNat.ofNat n
-- WithBot.coe_eq_ofNat
@[simp] lemma coe_eq_ofNat (n : ℕ) [n.AtLeastTwo] (m : α) :
    (m : WithBot α) = no_index (OfNat.ofNat n) ↔ m = OfNat.ofNat n 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] (m : α)
Goal: ↑m = OfNat.ofNat n ↔ m = OfNat.ofNat n
-- WithBot.ofNat_eq_coe
@[simp] lemma ofNat_eq_coe (n : ℕ) [n.AtLeastTwo] (m : α) :
    no_index (OfNat.ofNat n) = (m : WithBot α) ↔ OfNat.ofNat n = m 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo] (m : α)
Goal: OfNat.ofNat n = ↑m ↔ OfNat.ofNat n = m
-- WithBot.ofNat_ne_bot
@[simp] lemma ofNat_ne_bot (n : ℕ) [n.AtLeastTwo] : no_index (OfNat.ofNat n : WithBot α) ≠ ⊥ 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: OfNat.ofNat n ≠ ⊥
-- WithBot.bot_ne_ofNat
@[simp] lemma bot_ne_ofNat (n : ℕ) [n.AtLeastTwo] : (⊥ : WithBot α) ≠ no_index (OfNat.ofNat n) 
Arguments: {α : Type u} [AddMonoidWithOne α] (n : ℕ) [n.AtLeastTwo]
Goal: ⊥ ≠ OfNat.ofNat n
-- WithBot.coe_add
@[simp, norm_cast]
theorem coe_add (a b : α) : ((a + b : α) : WithBot α) = a + b 
Arguments: {α : Type u} [Add α] (a b : α)
Goal: ↑(a + b) = ↑a + ↑b
-- WithBot.bot_add
@[simp]
theorem bot_add (a : WithBot α) : ⊥ + a = ⊥ 
Arguments: {α : Type u} [Add α] (a : WithBot α)
Goal: ⊥ + a = ⊥
-- WithBot.add_bot
@[simp]
theorem add_bot (a : WithBot α) : a + ⊥ = ⊥ 
Arguments: {α : Type u} [Add α] (a : WithBot α)
Goal: a + ⊥ = ⊥
-- WithBot.add_eq_bot
@[simp]
theorem add_eq_bot : a + b = ⊥ ↔ a = ⊥ ∨ b = ⊥ 
Arguments: {α : Type u} [Add α] {a b : WithBot α}
Goal: a + b = ⊥ ↔ a = ⊥ ∨ b = ⊥
-- WithBot.add_ne_bot
theorem add_ne_bot : a + b ≠ ⊥ ↔ a ≠ ⊥ ∧ b ≠ ⊥ 
Arguments: {α : Type u} [Add α] {a b : WithBot α}
Goal: a + b ≠ ⊥ ↔ a ≠ ⊥ ∧ b ≠ ⊥
-- WithBot.bot_lt_add
theorem bot_lt_add [LT α] {a b : WithBot α} : ⊥ < a + b ↔ ⊥ < a ∧ ⊥ < b 
Arguments: {α : Type u} [Add α] [LT α] {a b : WithBot α}
Goal: ⊥ < a + b ↔ ⊥ < a ∧ ⊥ < b
-- WithBot.add_eq_coe
theorem add_eq_coe : a + b = x ↔ ∃ a' b' : α, ↑a' = a ∧ ↑b' = b ∧ a' + b' = x 
Arguments: {α : Type u} [Add α] {a b : WithBot α} {x : α}
Goal: a + b = ↑x ↔ ∃ a' b', ↑a' = a ∧ ↑b' = b ∧ a' + b' = x
-- WithBot.add_coe_eq_bot_iff
theorem add_coe_eq_bot_iff : a + y = ⊥ ↔ a = ⊥ 
Arguments: {α : Type u} [Add α] {a : WithBot α} {y : α}
Goal: a + ↑y = ⊥ ↔ a = ⊥
-- WithBot.coe_add_eq_bot_iff
theorem coe_add_eq_bot_iff : ↑x + b = ⊥ ↔ b = ⊥ 
Arguments: {α : Type u} [Add α] {b : WithBot α} {x : α}
Goal: ↑x + b = ⊥ ↔ b = ⊥
-- WithBot.add_right_cancel_iff
theorem add_right_cancel_iff [IsRightCancelAdd α] (ha : a ≠ ⊥) : b + a = c + a ↔ b = c 
Arguments: {α : Type u} [Add α] {a b c : WithBot α} [IsRightCancelAdd α] (ha : a ≠ ⊥)
Goal: b + a = c + a ↔ b = c
-- WithBot.add_right_cancel
theorem add_right_cancel [IsRightCancelAdd α] (ha : a ≠ ⊥) (h : b + a = c + a) : b = c 
Arguments: {α : Type u} [Add α] {a b c : WithBot α} [IsRightCancelAdd α] (ha : a ≠ ⊥) (h : b + a = c + a)
Goal: b = c
-- WithBot.add_left_cancel_iff
theorem add_left_cancel_iff [IsLeftCancelAdd α] (ha : a ≠ ⊥) : a + b = a + c ↔ b = c 
Arguments: {α : Type u} [Add α] {a b c : WithBot α} [IsLeftCancelAdd α] (ha : a ≠ ⊥)
Goal: a + b = a + c ↔ b = c
-- WithBot.add_left_cancel
theorem add_left_cancel [IsLeftCancelAdd α] (ha : a ≠ ⊥) (h : a + b = a + c) : b = c 
Arguments: {α : Type u} [Add α] {a b c : WithBot α} [IsLeftCancelAdd α] (ha : a ≠ ⊥) (h : a + b = a + c)
Goal: b = c
-- WithBot.map_add
@[simp]
protected theorem map_add {F} [Add β] [FunLike F α β] [AddHomClass F α β]
    (f : F) (a b : WithBot α) :
    (a + b).map f = a.map f + b.map f 
Arguments: {α : Type u} {β : Type v} [Add α] {F : Type u_1} [Add β] [FunLike F α β] [AddHomClass F α β] (f : F) (a b : WithBot α)
Goal: WithBot.map (⇑f) (a + b) = WithBot.map (⇑f) a + WithBot.map (⇑f) b
-- ZeroHom.withBotMap_apply
@[to_additive (attr := simps (config := .asFn))
  "A version of `WithBot.map` for `ZeroHom`s"]
protected def _root_.OneHom.withBotMap {M N : Type*} [One M] [One N] (f : OneHom M N) :
    OneHom (WithBot M) (WithBot N) 
Arguments: {M : Type u_1} {N : Type u_2} [Zero M] [Zero N] (f : ZeroHom M N)
Goal: ⇑f.withBotMap = WithBot.map ⇑f
-- OneHom.withBotMap_apply
@[to_additive (attr := simps (config := .asFn))
  "A version of `WithBot.map` for `ZeroHom`s"]
protected def _root_.OneHom.withBotMap {M N : Type*} [One M] [One N] (f : OneHom M N) :
    OneHom (WithBot M) (WithBot N) 
Arguments: {M : Type u_1} {N : Type u_2} [One M] [One N] (f : OneHom M N)
Goal: ⇑f.withBotMap = WithBot.map ⇑f
-- AddHom.withBotMap_apply
@[simps (config := .asFn)]
protected def _root_.AddHom.withBotMap {M N : Type*} [Add M] [Add N] (f : AddHom M N) :
    AddHom (WithBot M) (WithBot N) 
Arguments: {M : Type u_1} {N : Type u_2} [Add M] [Add N] (f : AddHom M N)
Goal: ⇑f.withBotMap = WithBot.map ⇑f