Linearly ordered commutative groups and monoids with a zero element adjoined #
This file sets up a special class of linearly ordered commutative monoids that show up as the target of so-called “valuations” in algebraic number theory.
Usually, in the informal literature, these objects are constructed by taking a linearly ordered commutative group Γ and formally adjoining a zero element: Γ ∪ {0}.
The disadvantage is that a type such as NNReal is not of that form,
whereas it is a very common target for valuations.
The solutions is to use a typeclass, and that is exactly what we do in this file.
A linearly ordered commutative monoid with a zero element.
- mul : α → α → α
- one : α
- zero : α
- min : α → α → α
- max : α → α → α
- bot : α
0 ≤ 1in any linearly ordered commutative monoid.
Instances
A linearly ordered commutative group with a zero element.
- mul : α → α → α
- one : α
- zero : α
- min : α → α → α
- max : α → α → α
- bot : α
- inv : α → α
- div : α → α → α
- zpow_succ' (n : ℕ) (a : α) : LinearOrderedCommGroupWithZero.zpow (↑n.succ) a = LinearOrderedCommGroupWithZero.zpow (↑n) a * a
- zpow_neg' (n : ℕ) (a : α) : LinearOrderedCommGroupWithZero.zpow (Int.negSucc n) a = (LinearOrderedCommGroupWithZero.zpow (↑n.succ) a)⁻¹
Instances
Pullback a LinearOrderedCommMonoidWithZero under an injective map.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
See also bot_eq_zero and bot_eq_zero' for canonically ordered monoids.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- WithZero.instBot = { bot := none }
Equations
Equations
There is a general version le_zero_iff, but this lemma does not require a PartialOrder.
A version of pos_iff_ne_zero for WithZero that only requires LT α,
not PartialOrder α.
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- WithZero.semilatticeInf = { toPartialOrder := WithZero.instPartialOrder, inf := WithZero.map₂ fun (x1 x2 : α) => x1 ⊓ x2, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
Equations
- WithZero.instLattice = { toSemilatticeSup := WithZero.semilatticeSup, inf := SemilatticeInf.inf, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
Equations
Equations
- WithZero.decidableLE none x✝ = isTrue ⋯
- WithZero.decidableLE (some a) none = isFalse ⋯
- WithZero.decidableLE (some a) (some b) = decidable_of_iff' (a ≤ b) ⋯
Equations
- x✝.decidableLT none = isFalse ⋯
- WithZero.decidableLT none (some a) = isTrue ⋯
- WithZero.decidableLT (some a) (some b) = decidable_of_iff' (a < b) ⋯
Equations
If 0 is the least element in α, then WithZero α is an ordered AddMonoid.
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.
Equations
- One or more equations did not get rendered due to their size.
Exponential and logarithm #
The exponential map as an order isomorphism between G and Gᵐ⁰ˣ.
Equations
- WithZero.expOrderIso = { toEquiv := WithZero.expEquiv, map_rel_iff' := ⋯ }
Instances For
The logarithm as an order isomorphism between Gᵐ⁰ˣ and G.
Equations
- WithZero.logOrderIso = { toEquiv := WithZero.logEquiv, map_rel_iff' := ⋯ }