Adjoining a zero element to an ordered monoid. #
class
LinearOrderedCommMonoidWithZero
(α : Type u_1)
extends
LinearOrderedCommMonoid
,
Zero
:
Type u_1
A linearly ordered commutative monoid with a zero element.
- mul : α → α → α
- one : α
- npow : ℕ → α → α
- npow_zero : ∀ (x : α), Monoid.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : α), Monoid.npow (n + 1) x = x * Monoid.npow n x
- le : α → α → Prop
- lt : α → α → Prop
- le_refl : ∀ (a : α), a ≤ a
- min : α → α → α
- max : α → α → α
- compare : α → α → Ordering
- decidableLE : DecidableRel fun (x x_1 : α) => x ≤ x_1
- decidableEq : DecidableEq α
- decidableLT : DecidableRel fun (x x_1 : α) => x < x_1
- compare_eq_compareOfLessAndEq : ∀ (a b : α), compare a b = compareOfLessAndEq a b
- zero : α
Zero is a left absorbing element for multiplication
Zero is a right absorbing element for multiplication
- zero_le_one : 0 ≤ 1
0 ≤ 1
in any linearly ordered commutative monoid.
Instances
instance
LinearOrderedCommMonoidWithZero.toZeroLeOneClass
{α : Type u}
[LinearOrderedCommMonoidWithZero α]
:
Equations
- ⋯ = ⋯
instance
canonicallyOrderedAddCommMonoid.toZeroLeOneClass
{α : Type u}
[CanonicallyOrderedAddCommMonoid α]
[One α]
:
Equations
- ⋯ = ⋯
Equations
- WithZero.partialOrder = WithBot.partialOrder
Equations
- WithZero.linearOrder = WithBot.linearOrder
Equations
- WithZero.orderedCommMonoid = let __src := CommMonoidWithZero.toCommMonoid; let __src_1 := WithZero.partialOrder; OrderedCommMonoid.mk ⋯
theorem
WithZero.covariantClass_add_le
{α : Type u}
[AddZeroClass α]
[Preorder α]
[CovariantClass α α (fun (x x_1 : α) => x + x_1) fun (x x_1 : α) => x ≤ x_1]
(h : ∀ (a : α), 0 ≤ a)
:
@[reducible]
def
WithZero.orderedAddCommMonoid
{α : Type u}
[OrderedAddCommMonoid α]
(zero_le : ∀ (a : α), 0 ≤ a)
:
If 0
is the least element in α
, then WithZero α
is an OrderedAddCommMonoid
.
See note [reducible non-instances].
Equations
- WithZero.orderedAddCommMonoid zero_le = let __src := WithZero.partialOrder; let __src_1 := WithZero.addCommMonoid; OrderedAddCommMonoid.mk ⋯
Instances For
Equations
- ⋯ = ⋯
instance
WithZero.canonicallyOrderedAddCommMonoid
{α : Type u}
[CanonicallyOrderedAddCommMonoid α]
:
Adding a new zero to a canonically ordered additive monoid produces another one.
Equations
- WithZero.canonicallyOrderedAddCommMonoid = let __src := WithZero.orderBot; let __src_1 := WithZero.orderedAddCommMonoid ⋯; let __src_2 := ⋯; CanonicallyOrderedAddCommMonoid.mk ⋯ ⋯
instance
WithZero.canonicallyLinearOrderedAddCommMonoid
(α : Type u_1)
[CanonicallyLinearOrderedAddCommMonoid α]
:
Equations
- One or more equations did not get rendered due to their size.