Adjoining a zero element to an ordered monoid. #
class
LinearOrderedCommMonoidWithZero
(α : Type u_1)
extends
LinearOrderedCommMonoid
,
Zero
:
Type u_1
- 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
- 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
- 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.
A linearly ordered commutative monoid with a zero element.
Instances
Equations
- WithZero.partialOrder = WithBot.partialOrder
Equations
- WithZero.linearOrder = WithBot.linearOrder
instance
WithZero.covariantClass_mul_le
{α : Type u}
[Mul α]
[Preorder α]
[CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1]
:
CovariantClass (WithZero α) (WithZero α) (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
Equations
- One or more equations did not get rendered due to their size.
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)
:
CovariantClass (WithZero α) (WithZero α) (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
@[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
- One or more equations did not get rendered due to their size.
Instances For
Adding a new zero to a canonically ordered additive monoid produces another one.
Equations
- One or more equations did not get rendered due to their size.
instance
WithZero.canonicallyLinearOrderedAddMonoid
(α : Type u_1)
[CanonicallyLinearOrderedAddMonoid α]
:
Equations
- One or more equations did not get rendered due to their size.