Adjoining top/bottom elements to ordered monoids. #
Equations
- WithTop.one = { one := ↑1 }
Equations
- WithTop.zero = { zero := ↑0 }
@[deprecated WithTop.untopD_zero (since := "2025-02-06")]
Alias of WithTop.untopD_zero
.
@[deprecated WithTop.untopD_one (since := "2025-02-06")]
Alias of WithTop.untopD_one
.
Equations
- WithTop.add = { add := Option.map₂ fun (x1 x2 : α) => x1 + x2 }
@[deprecated WithTop.add_left_inj (since := "2025-02-19")]
theorem
WithTop.add_left_cancel_iff
{α : Type u}
[Add α]
{x y z : WithTop α}
[IsLeftCancelAdd α]
(hx : x ≠ ⊤)
:
Alias of WithTop.add_left_inj
.
@[deprecated WithTop.add_right_inj (since := "2025-02-19")]
theorem
WithTop.add_right_cancel_iff
{α : Type u}
[Add α]
{x y z : WithTop α}
[IsRightCancelAdd α]
(hz : z ≠ ⊤)
:
Alias of WithTop.add_right_inj
.
instance
WithTop.addRightMono
{α : Type u}
[Add α]
[LE α]
[AddRightMono α]
:
AddRightMono (WithTop α)
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 α}
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(hx : x ≠ ⊤)
:
theorem
WithTop.addLECancellable_of_lt_top
{α : Type u}
[Add α]
{x : WithTop α}
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(hx : x < ⊤)
:
theorem
WithTop.addLECancellable_coe
{α : Type u}
[Add α]
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
WithTop.addLECancellable_iff_ne_top
{α : Type u}
[Add α]
{x : WithTop α}
[Nonempty α]
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
Equations
Equations
Equations
Coercion from α
to WithTop α
as an AddMonoidHom
.
Equations
- WithTop.addHom = { toFun := WithTop.some, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
Equations
@[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 β}
:
Equations
instance
WithTop.existsAddOfLE
{α : Type u}
[LE α]
[Add α]
[ExistsAddOfLE α]
:
ExistsAddOfLE (WithTop α)
@[deprecated WithTop.top_pos (since := "2024-10-22")]
Alias of WithTop.top_pos
.
A version of WithTop.map
for OneHom
s.
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_one' := ⋯ }
Instances For
A version of WithTop.map
for ZeroHom
s
Equations
- f.withTopMap = { toFun := WithTop.map ⇑f, map_zero' := ⋯ }
Instances For
A version of WithTop.map
for AddHom
s.
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 AddMonoidHom
s.
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)
:
Equations
@[deprecated WithBot.unbotD_zero (since := "2025-02-06")]
Alias of WithBot.unbotD_zero
.
@[deprecated WithBot.unbotD_one (since := "2025-02-06")]
Alias of WithBot.unbotD_one
.
Equations
- WithBot.add = { add := Option.map₂ fun (x1 x2 : α) => x1 + x2 }
@[deprecated WithBot.add_left_inj (since := "2025-02-19")]
theorem
WithBot.add_left_cancel_iff
{α : Type u}
[Add α]
{x y z : WithBot α}
[IsLeftCancelAdd α]
(hx : x ≠ ⊥)
:
Alias of WithBot.add_left_inj
.
@[deprecated WithBot.add_right_inj (since := "2025-02-19")]
theorem
WithBot.add_right_cancel_iff
{α : Type u}
[Add α]
{x y z : WithBot α}
[IsRightCancelAdd α]
(hz : z ≠ ⊥)
:
Alias of WithBot.add_right_inj
.
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 α}
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(hx : x ≠ ⊥)
:
theorem
WithBot.addLECancellable_of_lt_bot
{α : Type u}
[Add α]
{x : WithBot α}
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(hx : x < ⊥)
:
theorem
WithBot.addLECancellable_coe
{α : Type u}
[Add α]
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(a : α)
:
theorem
WithBot.addLECancellable_iff_ne_bot
{α : Type u}
[Add α]
{x : WithBot α}
[Nonempty α]
[Preorder α]
[ContravariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
:
Equations
Equations
Equations
Coercion from α
to WithBot α
as an AddMonoidHom
.
Equations
- WithBot.addHom = { toFun := WithTop.some, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
@[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 β}
:
A version of WithBot.map
for OneHom
s.
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_one' := ⋯ }
Instances For
A version of WithBot.map
for ZeroHom
s
Equations
- f.withBotMap = { toFun := WithBot.map ⇑f, map_zero' := ⋯ }
Instances For
A version of WithBot.map
for AddHom
s.
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 AddMonoidHom
s.
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)
: