File: Mathlib/Algebra/Order/AddGroupWithTop.lean

full_name: LinearOrderedAddCommMonoidWithTop.top_add'
code: /-- A linearly ordered commutative monoid with an additively absorbing `⊤` element.
  Instances should include number systems with an infinite element adjoined. -/
class LinearOrderedAddCommMonoidWithTop (α : Type*) extends LinearOrderedAddCommMonoid α,
    OrderTop α where
  /-- In a `LinearOrderedAddCommMonoidWithTop`, the `⊤` element is invariant under addition. -/
  protected top_add' : ∀ x : α, ⊤ + x = ⊤
goal: ⊤ + x = ⊤

full_name: LinearOrderedAddCommMonoidWithTop
code: /-- A linearly ordered commutative monoid with an additively absorbing `⊤` element.
  Instances should include number systems with an infinite element adjoined. -/
class LinearOrderedAddCommMonoidWithTop (α : Type*) extends LinearOrderedAddCommMonoid α,
    OrderTop α where
  /-- In a `LinearOrderedAddCommMonoidWithTop`, the `⊤` element is invariant under addition. -/
  protected top_add' : ∀ x : α, ⊤ + x = ⊤
goal: Type u_3

full_name: LinearOrderedAddCommGroupWithTop.neg_top
code: /-- A linearly ordered commutative group with an additively absorbing `⊤` element.
  Instances should include number systems with an infinite element adjoined. -/
class LinearOrderedAddCommGroupWithTop (α : Type*) extends LinearOrderedAddCommMonoidWithTop α,
  SubNegMonoid α, Nontrivial α where
  protected neg_top : -(⊤ : α) = ⊤
  protected add_neg_cancel : ∀ a : α, a ≠ ⊤ → a + -a = 0
goal: -⊤ = ⊤

full_name: LinearOrderedAddCommGroupWithTop
code: /-- A linearly ordered commutative group with an additively absorbing `⊤` element.
  Instances should include number systems with an infinite element adjoined. -/
class LinearOrderedAddCommGroupWithTop (α : Type*) extends LinearOrderedAddCommMonoidWithTop α,
  SubNegMonoid α, Nontrivial α where
  protected neg_top : -(⊤ : α) = ⊤
  protected add_neg_cancel : ∀ a : α, a ≠ ⊤ → a + -a = 0
goal: Type u_3

full_name: LinearOrderedAddCommGroupWithTop.add_neg_cancel
code: /-- A linearly ordered commutative group with an additively absorbing `⊤` element.
  Instances should include number systems with an infinite element adjoined. -/
class LinearOrderedAddCommGroupWithTop (α : Type*) extends LinearOrderedAddCommMonoidWithTop α,
  SubNegMonoid α, Nontrivial α where
  protected neg_top : -(⊤ : α) = ⊤
  protected add_neg_cancel : ∀ a : α, a ≠ ⊤ → a + -a = 0
goal: a ≠ ⊤ → a + -a = 0

full_name: WithTop.linearOrderedAddCommMonoidWithTop
code: instance WithTop.linearOrderedAddCommMonoidWithTop [LinearOrderedAddCommMonoid α] :
    LinearOrderedAddCommMonoidWithTop (WithTop α) 
goal: LinearOrderedAddCommMonoidWithTop (WithTop α)

full_name: top_add
code: @[simp]
theorem top_add (a : α) : ⊤ + a = ⊤ 
goal: ⊤ + a = ⊤

full_name: add_top
code: @[simp]
theorem add_top (a : α) : a + ⊤ = ⊤ 
goal: a + ⊤ = ⊤

full_name: WithTop.LinearOrderedAddCommGroup.instNeg
code: instance instNeg : Neg (WithTop α) 
goal: Neg (WithTop α)

full_name: WithTop.LinearOrderedAddCommGroup.sub
code: /-- If `α` has subtraction, we can extend the subtraction to `WithTop α`, by
setting `x - ⊤ = ⊤` and `⊤ - x = ⊤`. This definition is only registered as an instance on linearly
ordered additive commutative groups, to avoid conflicting with the instance `WithTop.instSub` on
types with a bottom element. -/
protected def sub : ∀ _ _ : WithTop α, WithTop α
  
goal: WithTop α → WithTop α → WithTop α

full_name: WithTop.LinearOrderedAddCommGroup.instSub
code: instance instSub : Sub (WithTop α) 
goal: Sub (WithTop α)

full_name: WithTop.LinearOrderedAddCommGroup.coe_neg
code: @[simp, norm_cast]
theorem coe_neg (a : α) : ((-a : α) : WithTop α) = -a 
goal: ↑(-a) = -↑a

full_name: WithTop.LinearOrderedAddCommGroup.neg_top
code: @[simp]
theorem neg_top : -(⊤ : WithTop α) = ⊤ 
goal: -⊤ = ⊤

full_name: WithTop.LinearOrderedAddCommGroup.coe_sub
code: @[simp, norm_cast]
theorem coe_sub {a b : α} : (↑(a - b) : WithTop α) = ↑a - ↑b 
goal: ↑(a - b) = ↑a - ↑b

full_name: WithTop.LinearOrderedAddCommGroup.top_sub
code: @[simp]
theorem top_sub {a : WithTop α} : (⊤ : WithTop α) - a = ⊤ 
goal: ⊤ - a = ⊤

full_name: WithTop.LinearOrderedAddCommGroup.sub_top
code: @[simp]
theorem sub_top {a : WithTop α} : a - ⊤ = ⊤ 
goal: a - ⊤ = ⊤

full_name: WithTop.LinearOrderedAddCommGroup.sub_eq_top_iff
code: @[simp]
lemma sub_eq_top_iff {a b : WithTop α} : a - b = ⊤ ↔ (a = ⊤ ∨ b = ⊤) 
goal: a - b = ⊤ ↔ a = ⊤ ∨ b = ⊤

full_name: WithTop.LinearOrderedAddCommGroup.instLinearOrderedAddCommGroupWithTop
code: instance : LinearOrderedAddCommGroupWithTop (WithTop α) 
goal: LinearOrderedAddCommGroupWithTop (WithTop α)