Linearly ordered commutative additive groups and monoids with a top element adjoined #
This file sets up a special class of linearly ordered commutative additive 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 additive group Γ and formally adjoining a top element: Γ ∪ {⊤}.
The disadvantage is that a type such as ENNReal 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 an additively absorbing ⊤ element.
Instances should include number systems with an infinite element adjoined.
- add : α → α → α
- zero : α
- min : α → α → α
- max : α → α → α
- top : α
In a
LinearOrderedAddCommMonoidWithTop, the⊤element is invariant under addition.- isAddLeftRegular_of_ne_top ⦃x : α⦄ : x ≠ ⊤ → IsAddLeftRegular x
Instances
A linearly ordered commutative group with an additively absorbing ⊤ element.
Instances should include number systems with an infinite element adjoined.
- add : α → α → α
- zero : α
- min : α → α → α
- max : α → α → α
- top : α
- neg : α → α
- sub : α → α → α
- zsmul_succ' (n : ℕ) (a : α) : LinearOrderedAddCommGroupWithTop.zsmul (↑n.succ) a = LinearOrderedAddCommGroupWithTop.zsmul (↑n) a + a
- zsmul_neg' (n : ℕ) (a : α) : LinearOrderedAddCommGroupWithTop.zsmul (Int.negSucc n) a = -LinearOrderedAddCommGroupWithTop.zsmul (↑n.succ) a
- exists_pair_ne : ∃ (x : α) (y : α), x ≠ y
In a
LinearOrderedAddCommMonoidWithTop, the⊤element is invariant under addition.
Instances
Alias of LinearOrderedAddCommGroupWithTop.add_neg_cancel_of_ne_top.
Note: The following lemmas are special cases of the corresponding IsAddUnit lemmas.
Equations
Equations
Alias of add_left_injective_of_ne_top.
Alias of add_right_injective_of_ne_top.
Alias of add_left_strictMono_of_ne_top.
Alias of add_right_strictMono_of_ne_top.
Alias of the reverse direction of LinearOrderedAddCommGroupWithTop.sub_self_eq_zero_iff_ne_top.
Equations
Equations
If G has subtraction, we can extend the subtraction to WithTop G, by setting x - ⊤ = ⊤ and
⊤ - x = ⊤. This definition is only registered as an instance on additive commutative groups, to
avoid conflicting with the instance WithTop.instSub on types with a bottom element.