Ordered normed spaces #
In this file, we define classes for fields and groups that are both normed and ordered. These are mostly useful to avoid diamonds during type class inference.
A NormedOrderedAddGroup
is an additive group that is both a NormedAddCommGroup
and an
OrderedAddCommGroup
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
- add : α → α → α
- zero : α
- neg : α → α
- sub : α → α → α
- uniformity_dist : uniformity α = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : α × α | dist p.1 p.2 < ε}
- toBornology : Bornology α
- cobounded_sets : (Bornology.cobounded α).sets = {s : Set α | ∃ (C : ℝ), ∀ x ∈ sᶜ, ∀ y ∈ sᶜ, dist x y ≤ C}
The distance function is induced by the norm.
Instances
A NormedOrderedGroup
is a group that is both a NormedCommGroup
and an
OrderedCommGroup
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
- mul : α → α → α
- one : α
- inv : α → α
- div : α → α → α
- uniformity_dist : uniformity α = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : α × α | dist p.1 p.2 < ε}
- toBornology : Bornology α
- cobounded_sets : (Bornology.cobounded α).sets = {s : Set α | ∃ (C : ℝ), ∀ x ∈ sᶜ, ∀ y ∈ sᶜ, dist x y ≤ C}
The distance function is induced by the norm.
Instances
A NormedLinearOrderedAddGroup
is an additive group that is both a NormedAddCommGroup
and a LinearOrderedAddCommGroup
. This class is necessary to avoid diamonds caused by both
classes carrying their own group structure.
- add : α → α → α
- zero : α
- neg : α → α
- sub : α → α → α
- min : α → α → α
- max : α → α → α
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2
- uniformity_dist : uniformity α = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : α × α | dist p.1 p.2 < ε}
- toBornology : Bornology α
- cobounded_sets : (Bornology.cobounded α).sets = {s : Set α | ∃ (C : ℝ), ∀ x ∈ sᶜ, ∀ y ∈ sᶜ, dist x y ≤ C}
The distance function is induced by the norm.
Instances
A NormedLinearOrderedGroup
is a group that is both a NormedCommGroup
and a
LinearOrderedCommGroup
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
- mul : α → α → α
- one : α
- inv : α → α
- div : α → α → α
- min : α → α → α
- max : α → α → α
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2
- uniformity_dist : uniformity α = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : α × α | dist p.1 p.2 < ε}
- toBornology : Bornology α
- cobounded_sets : (Bornology.cobounded α).sets = {s : Set α | ∃ (C : ℝ), ∀ x ∈ sᶜ, ∀ y ∈ sᶜ, dist x y ≤ C}
The distance function is induced by the norm.
Instances
A NormedLinearOrderedField
is a field that is both a NormedField
and a
LinearOrderedField
. This class is necessary to avoid diamonds.
- add : α → α → α
- zero : α
- mul : α → α → α
- one : α
- natCast_zero : NatCast.natCast 0 = 0
- neg : α → α
- sub : α → α → α
- exists_pair_ne : ∃ (x : α) (y : α), x ≠ y
- zero_le_one : 0 ≤ 1
- min : α → α → α
- max : α → α → α
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2
- inv : α → α
- div : α → α → α
- zpow_succ' (n : ℕ) (a : α) : LinearOrderedField.zpow (↑n.succ) a = LinearOrderedField.zpow (↑n) a * a
- zpow_neg' (n : ℕ) (a : α) : LinearOrderedField.zpow (Int.negSucc n) a = (LinearOrderedField.zpow (↑n.succ) a)⁻¹
- uniformity_dist : uniformity α = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : α × α | dist p.1 p.2 < ε}
- toBornology : Bornology α
- cobounded_sets : (Bornology.cobounded α).sets = {s : Set α | ∃ (C : ℝ), ∀ x ∈ sᶜ, ∀ y ∈ sᶜ, dist x y ≤ C}
The distance function is induced by the norm.
The norm is multiplicative.
Instances
Equations
- NormedOrderedGroup.toNormedCommGroup = NormedCommGroup.mk ⋯
Equations
- NormedOrderedAddGroup.toNormedAddCommGroup = NormedAddCommGroup.mk ⋯
Equations
- NormedLinearOrderedGroup.toNormedOrderedGroup = NormedOrderedGroup.mk ⋯
Equations
- NormedLinearOrderedAddGroup.toNormedOrderedAddGroup = NormedOrderedAddGroup.mk ⋯
Equations
Equations
- OrderDual.normedOrderedGroup = NormedOrderedGroup.mk ⋯
Equations
- OrderDual.normedOrderedAddGroup = NormedOrderedAddGroup.mk ⋯
Equations
- OrderDual.normedLinearOrderedGroup = NormedLinearOrderedGroup.mk ⋯
Equations
- OrderDual.normedLinearOrderedAddGroup = NormedLinearOrderedAddGroup.mk ⋯
Equations
- Additive.normedOrderedAddGroup = NormedOrderedAddGroup.mk ⋯
Equations
- Multiplicative.normedOrderedGroup = NormedOrderedGroup.mk ⋯
Equations
- Additive.normedLinearOrderedAddGroup = NormedLinearOrderedAddGroup.mk ⋯
Equations
- Multiplicative.normedlinearOrderedGroup = NormedLinearOrderedGroup.mk ⋯