Adjoining top/bottom elements to ordered monoids. #
@[instance_reducible]
Equations
- WithTop.one = { one := ↑1 }
@[instance_reducible]
Equations
- WithTop.zero = { zero := ↑0 }
instance WithTop.instIsBotOneClass {α : Type u} [One α] [LE α] [IsBotOneClass α] :
IsBotOneClass (WithTop α)
@[instance_reducible]
Equations
- WithTop.add = { add := WithTop.map₂ fun (x1 x2 : α) => x1 + x2 }
instance WithTop.addRightMono {α : Type u} [Add α] [LE α] [AddRightMono α] :
AddRightMono (WithTop α)
theorem WithTop.add_lt_add {α : Type u} [Add α] {w x y z : WithTop α} [Preorder α] [AddLeftStrictMono α] [AddRightStrictMono α] (xz : x < z) (yw : y < w) :
theorem WithTop.add_le_add_iff_left {α : Type u} [Add α] {x y z : WithTop α} [LE α] [AddLeftMono α] [AddLeftReflectLE α] (hx : x ≠ ⊤) :
theorem WithTop.add_le_add_iff_right {α : Type u} [Add α] {x y z : WithTop α} [LE α] [AddRightMono α] [AddRightReflectLE α] (hz : z ≠ ⊤) :
theorem WithTop.add_lt_add_iff_left {α : Type u} [Add α] {x y z : WithTop α} [LT α] [AddLeftStrictMono α] [AddLeftReflectLT α] (hx : x ≠ ⊤) :
theorem WithTop.add_lt_add_iff_right {α : Type u} [Add α] {x y z : WithTop α} [LT α] [AddRightStrictMono α] [AddRightReflectLT α] (hz : z ≠ ⊤) :
theorem WithTop.add_lt_add_of_le_of_lt {α : Type u} [Add α] {w x y z : WithTop α} [Preorder α] [AddLeftStrictMono α] [AddRightMono α] (hw : w ≠ ⊤) (hwy : w ≤ y) (hxz : x < z) :
theorem WithTop.add_lt_add_of_lt_of_le {α : Type u} [Add α] {w x y z : WithTop α} [Preorder α] [AddLeftMono α] [AddRightStrictMono α] (hx : x ≠ ⊤) (hwy : w < y) (hxz : x ≤ z) :
theorem WithTop.addLECancellable_of_ne_top {α : Type u} [Add α] {x : WithTop α} [LE α] [AddLeftReflectLE α] (hx : x ≠ ⊤) :
theorem WithTop.addLECancellable_of_lt_top {α : Type u} [Add α] {x : WithTop α} [Preorder α] [AddLeftReflectLE α] (hx : x < ⊤) :
theorem WithTop.addLECancellable_iff_ne_top {α : Type u} [Add α] {x : WithTop α} [Nonempty α] [Preorder α] [AddLeftReflectLE α] :
@[instance_reducible]
Equations
- WithTop.addSemigroup = { toAdd := WithTop.add, add_assoc := ⋯ }
@[instance_reducible]
Equations
- WithTop.addCommSemigroup = { toAddSemigroup := WithTop.addSemigroup, add_comm := ⋯ }
@[instance_reducible]
Equations
- WithTop.addZeroClass = { toZero := WithTop.zero, toAdd := WithTop.add, zero_add := ⋯, add_zero := ⋯ }
Coercion from α to WithTop α as an AddMonoidHom.
Equations
- WithTop.addHom = { toFun := WithTop.some, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[instance_reducible]
Equations
- WithTop.addCommMonoid = { toAddMonoid := WithTop.addMonoid, add_comm := ⋯ }
@[instance_reducible]
Equations
- WithTop.addMonoidWithOne = { toNatCast := WithTop.natCast, toAddMonoid := WithTop.addMonoid, toOne := WithTop.one, natCast_zero := ⋯, natCast_succ := ⋯ }
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem WithTop.map_ofNat {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) [n.AtLeastTwo] :
@[simp]
theorem WithTop.map_eq_ofNat_iff {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithTop β} :
theorem WithTop.ofNat_eq_map_iff {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithTop β} :
@[instance_reducible]
Equations
- WithTop.addCommMonoidWithOne = { toAddMonoidWithOne := WithTop.addMonoidWithOne, add_comm := ⋯ }
instance WithTop.existsAddOfLE {α : Type u} [LE α] [Add α] [ExistsAddOfLE α] :
ExistsAddOfLE (WithTop α)
A version of WithTop.map for OneHoms.
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_one' := ⋯ }
Instances For
A version of WithTop.map for ZeroHoms
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_zero' := ⋯ }
Instances For
A version of WithTop.map for AddHoms.
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_add' := ⋯ }
Instances For
def AddMonoidHom.withTopMap {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) :
A version of WithTop.map for AddMonoidHoms.
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem AddMonoidHom.withTopMap_apply {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) :
@[instance_reducible]
Equations
- WithBot.one = { one := ↑1 }
@[instance_reducible]
Equations
- WithBot.zero = { zero := ↑0 }
@[instance_reducible]
Equations
- WithBot.add = { add := WithBot.map₂ fun (x1 x2 : α) => x1 + x2 }
instance WithBot.addRightMono {α : Type u} [Add α] [LE α] [AddRightMono α] :
AddRightMono (WithBot α)
theorem WithBot.add_le_add_iff_left {α : Type u} [Add α] {x y z : WithBot α} [LE α] [AddLeftMono α] [AddLeftReflectLE α] (hx : x ≠ ⊥) :
theorem WithBot.add_le_add_iff_right {α : Type u} [Add α] {x y z : WithBot α} [LE α] [AddRightMono α] [AddRightReflectLE α] (hz : z ≠ ⊥) :
theorem WithBot.add_lt_add_iff_left {α : Type u} [Add α] {x y z : WithBot α} [LT α] [AddLeftStrictMono α] [AddLeftReflectLT α] (hx : x ≠ ⊥) :
theorem WithBot.add_lt_add_iff_right {α : Type u} [Add α] {x y z : WithBot α} [LT α] [AddRightStrictMono α] [AddRightReflectLT α] (hz : z ≠ ⊥) :
theorem WithBot.add_lt_add_of_le_of_lt {α : Type u} [Add α] {w x y z : WithBot α} [Preorder α] [AddLeftStrictMono α] [AddRightMono α] (hw : w ≠ ⊥) (hwy : w ≤ y) (hxz : x < z) :
theorem WithBot.add_lt_add_of_lt_of_le {α : Type u} [Add α] {w x y z : WithBot α} [Preorder α] [AddLeftMono α] [AddRightStrictMono α] (hx : x ≠ ⊥) (hwy : w < y) (hxz : x ≤ z) :
theorem WithBot.addLECancellable_of_ne_bot {α : Type u} [Add α] {x : WithBot α} [LE α] [AddLeftReflectLE α] (hx : x ≠ ⊥) :
theorem WithBot.addLECancellable_of_lt_bot {α : Type u} [Add α] {x : WithBot α} [Preorder α] [AddLeftReflectLE α] (hx : x < ⊥) :
theorem WithBot.addLECancellable_iff_ne_bot {α : Type u} [Add α] {x : WithBot α} [Nonempty α] [Preorder α] [AddLeftReflectLE α] :
@[instance_reducible]
Equations
- WithBot.addSemigroup = { toAdd := WithBot.add, add_assoc := ⋯ }
@[instance_reducible]
Equations
- WithBot.addCommSemigroup = { toAddSemigroup := WithBot.addSemigroup, add_comm := ⋯ }
@[instance_reducible]
Equations
- WithBot.addZeroClass = { toZero := WithBot.zero, toAdd := WithBot.add, zero_add := ⋯, add_zero := ⋯ }
@[instance_reducible]
Equations
- WithBot.addMonoid = { toZero := WithBot.zero, toAdd := WithBot.add, add_assoc := ⋯, zero_add := ⋯, add_zero := ⋯, nsmul := WithBot.addMonoid._aux_4, nsmul_zero := ⋯, nsmul_succ := ⋯ }
Coercion from α to WithBot α as an AddMonoidHom.
Equations
- WithBot.addHom = { toFun := WithTop.some, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[instance_reducible]
Equations
- WithBot.addCommMonoid = { toAddMonoid := WithBot.addMonoid, add_comm := ⋯ }
@[simp]
@[simp]
@[instance_reducible]
Equations
- WithBot.addMonoidWithOne = { toNatCast := WithBot.instNatCast, toAddMonoid := WithBot.addMonoid, toOne := WithBot.one, natCast_zero := ⋯, natCast_succ := ⋯ }
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem WithBot.map_ofNat {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) [n.AtLeastTwo] :
@[simp]
theorem WithBot.map_eq_ofNat_iff {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithBot β} :
theorem WithBot.ofNat_eq_map_iff {α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithBot β} :
@[simp]
@[instance_reducible]
Equations
- WithBot.addCommMonoidWithOne = { toAddMonoidWithOne := WithBot.addMonoidWithOne, add_comm := ⋯ }
A version of WithBot.map for OneHoms.
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_one' := ⋯ }
Instances For
A version of WithBot.map for ZeroHoms
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_zero' := ⋯ }
Instances For
A version of WithBot.map for AddHoms.
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_add' := ⋯ }
Instances For
def AddMonoidHom.withBotMap {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) :
A version of WithBot.map for AddMonoidHoms.
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem AddMonoidHom.withBotMap_apply {M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) :
A AddEquiv version of Equiv.withBotCongr.
Equations
- e.withBotCongr = { toEquiv := e.withBotCongr, map_add' := ⋯ }
Instances For
A AddEquiv version of Equiv.withTopCongr.
Equations
- e.withTopCongr = { toEquiv := e.withTopCongr, map_add' := ⋯ }
Instances For
@[simp]
@[simp]