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.
- to_ordered_add_comm_group : ordered_add_comm_group α
- to_has_norm : has_norm α
- to_metric_space : metric_space α
- dist_eq : (∀ (x y : α), has_dist.dist x y = ‖x - y‖) . "obviously"
A normed_ordered_add_group
is an additive group that is both a normed_add_comm_group
and an
ordered_add_comm_group
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
Instances of this typeclass
Instances of other typeclasses for normed_ordered_add_group
- normed_ordered_add_group.has_sizeof_inst
- to_ordered_comm_group : ordered_comm_group α
- to_has_norm : has_norm α
- to_metric_space : metric_space α
- dist_eq : (∀ (x y : α), has_dist.dist x y = ‖x / y‖) . "obviously"
A normed_ordered_group
is a group that is both a normed_comm_group
and an
ordered_comm_group
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
Instances of this typeclass
Instances of other typeclasses for normed_ordered_group
- normed_ordered_group.has_sizeof_inst
- to_linear_ordered_add_comm_group : linear_ordered_add_comm_group α
- to_has_norm : has_norm α
- to_metric_space : metric_space α
- dist_eq : (∀ (x y : α), has_dist.dist x y = ‖x - y‖) . "obviously"
A normed_linear_ordered_add_group
is an additive group that is both a normed_add_comm_group
and a linear_ordered_add_comm_group
. This class is necessary to avoid diamonds caused by both
classes carrying their own group structure.
Instances of this typeclass
Instances of other typeclasses for normed_linear_ordered_add_group
- normed_linear_ordered_add_group.has_sizeof_inst
- to_linear_ordered_comm_group : linear_ordered_comm_group α
- to_has_norm : has_norm α
- to_metric_space : metric_space α
- dist_eq : (∀ (x y : α), has_dist.dist x y = ‖x / y‖) . "obviously"
A normed_linear_ordered_group
is a group that is both a normed_comm_group
and a
linear_ordered_comm_group
. This class is necessary to avoid diamonds caused by both classes
carrying their own group structure.
Instances of this typeclass
Instances of other typeclasses for normed_linear_ordered_group
- normed_linear_ordered_group.has_sizeof_inst
- to_linear_ordered_field : linear_ordered_field α
- to_has_norm : has_norm α
- to_metric_space : metric_space α
- dist_eq : (∀ (x y : α), has_dist.dist x y = ‖x - y‖) . "obviously"
- norm_mul' : ∀ (x y : α), ‖x * y‖ = ‖x‖ * ‖y‖
A normed_linear_ordered_field
is a field that is both a normed_field
and a
linear_ordered_field
. This class is necessary to avoid diamonds.
Instances of this typeclass
Instances of other typeclasses for normed_linear_ordered_field
- normed_linear_ordered_field.has_sizeof_inst
Equations
- normed_ordered_add_group.to_normed_add_comm_group = {to_has_norm := normed_ordered_add_group.to_has_norm _inst_1, to_add_comm_group := ordered_add_comm_group.to_add_comm_group α normed_ordered_add_group.to_ordered_add_comm_group, to_metric_space := normed_ordered_add_group.to_metric_space _inst_1, dist_eq := _}
Equations
- normed_linear_ordered_group.to_normed_ordered_group = {to_ordered_comm_group := linear_ordered_comm_group.to_ordered_comm_group α normed_linear_ordered_group.to_linear_ordered_comm_group, to_has_norm := normed_linear_ordered_group.to_has_norm _inst_1, to_metric_space := normed_linear_ordered_group.to_metric_space _inst_1, dist_eq := _}
Equations
- normed_linear_ordered_add_group.to_normed_ordered_add_group = {to_ordered_add_comm_group := linear_ordered_add_comm_group.to_ordered_add_comm_group α normed_linear_ordered_add_group.to_linear_ordered_add_comm_group, to_has_norm := normed_linear_ordered_add_group.to_has_norm _inst_1, to_metric_space := normed_linear_ordered_add_group.to_metric_space _inst_1, dist_eq := _}
Equations
- normed_linear_ordered_field.to_normed_field α = {to_has_norm := normed_linear_ordered_field.to_has_norm _inst_1, to_field := linear_ordered_field.to_field α normed_linear_ordered_field.to_linear_ordered_field, to_metric_space := normed_linear_ordered_field.to_metric_space _inst_1, dist_eq := _, norm_mul' := _}
Equations
- rat.normed_linear_ordered_field = {to_linear_ordered_field := rat.linear_ordered_field, to_has_norm := normed_field.to_has_norm rat.normed_field, to_metric_space := rat.metric_space, dist_eq := rat.normed_linear_ordered_field._proof_1, norm_mul' := rat.normed_linear_ordered_field._proof_2}
Equations
- real.normed_linear_ordered_field = {to_linear_ordered_field := real.linear_ordered_field, to_has_norm := real.has_norm, to_metric_space := real.metric_space, dist_eq := real.normed_linear_ordered_field._proof_1, norm_mul' := real.normed_linear_ordered_field._proof_2}
Equations
- order_dual.normed_ordered_group = {to_ordered_comm_group := {mul := comm_group.mul normed_comm_group.to_comm_group, mul_assoc := _, one := comm_group.one normed_comm_group.to_comm_group, one_mul := _, mul_one := _, npow := comm_group.npow normed_comm_group.to_comm_group, npow_zero' := _, npow_succ' := _, inv := comm_group.inv normed_comm_group.to_comm_group, div := comm_group.div normed_comm_group.to_comm_group, div_eq_mul_inv := _, zpow := comm_group.zpow normed_comm_group.to_comm_group, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _, mul_comm := _, le := ordered_comm_group.le order_dual.ordered_comm_group, lt := ordered_comm_group.lt order_dual.ordered_comm_group, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, mul_le_mul_left := _}, to_has_norm := normed_comm_group.to_has_norm normed_ordered_group.to_normed_comm_group, to_metric_space := normed_comm_group.to_metric_space normed_ordered_group.to_normed_comm_group, dist_eq := _}
Equations
- order_dual.normed_ordered_add_group = {to_ordered_add_comm_group := {add := add_comm_group.add normed_add_comm_group.to_add_comm_group, add_assoc := _, zero := add_comm_group.zero normed_add_comm_group.to_add_comm_group, zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul normed_add_comm_group.to_add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg normed_add_comm_group.to_add_comm_group, sub := add_comm_group.sub normed_add_comm_group.to_add_comm_group, sub_eq_add_neg := _, zsmul := add_comm_group.zsmul normed_add_comm_group.to_add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, le := ordered_add_comm_group.le order_dual.ordered_add_comm_group, lt := ordered_add_comm_group.lt order_dual.ordered_add_comm_group, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, add_le_add_left := _}, to_has_norm := normed_add_comm_group.to_has_norm normed_ordered_add_group.to_normed_add_comm_group, to_metric_space := normed_add_comm_group.to_metric_space normed_ordered_add_group.to_normed_add_comm_group, dist_eq := _}
Equations
- order_dual.normed_linear_ordered_group = {to_linear_ordered_comm_group := {mul := ordered_comm_group.mul normed_ordered_group.to_ordered_comm_group, mul_assoc := _, one := ordered_comm_group.one normed_ordered_group.to_ordered_comm_group, one_mul := _, mul_one := _, npow := ordered_comm_group.npow normed_ordered_group.to_ordered_comm_group, npow_zero' := _, npow_succ' := _, inv := ordered_comm_group.inv normed_ordered_group.to_ordered_comm_group, div := ordered_comm_group.div normed_ordered_group.to_ordered_comm_group, div_eq_mul_inv := _, zpow := ordered_comm_group.zpow normed_ordered_group.to_ordered_comm_group, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _, mul_comm := _, le := ordered_comm_group.le normed_ordered_group.to_ordered_comm_group, lt := ordered_comm_group.lt normed_ordered_group.to_ordered_comm_group, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, mul_le_mul_left := _, le_total := _, decidable_le := linear_order.decidable_le (order_dual.linear_order α), decidable_eq := linear_order.decidable_eq (order_dual.linear_order α), decidable_lt := linear_order.decidable_lt (order_dual.linear_order α), max := linear_order.max (order_dual.linear_order α), max_def := _, min := linear_order.min (order_dual.linear_order α), min_def := _}, to_has_norm := normed_ordered_group.to_has_norm order_dual.normed_ordered_group, to_metric_space := normed_ordered_group.to_metric_space order_dual.normed_ordered_group, dist_eq := _}
Equations
- order_dual.normed_linear_ordered_add_group = {to_linear_ordered_add_comm_group := {add := ordered_add_comm_group.add normed_ordered_add_group.to_ordered_add_comm_group, add_assoc := _, zero := ordered_add_comm_group.zero normed_ordered_add_group.to_ordered_add_comm_group, zero_add := _, add_zero := _, nsmul := ordered_add_comm_group.nsmul normed_ordered_add_group.to_ordered_add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := ordered_add_comm_group.neg normed_ordered_add_group.to_ordered_add_comm_group, sub := ordered_add_comm_group.sub normed_ordered_add_group.to_ordered_add_comm_group, sub_eq_add_neg := _, zsmul := ordered_add_comm_group.zsmul normed_ordered_add_group.to_ordered_add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, le := ordered_add_comm_group.le normed_ordered_add_group.to_ordered_add_comm_group, lt := ordered_add_comm_group.lt normed_ordered_add_group.to_ordered_add_comm_group, le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, add_le_add_left := _, le_total := _, decidable_le := linear_order.decidable_le (order_dual.linear_order α), decidable_eq := linear_order.decidable_eq (order_dual.linear_order α), decidable_lt := linear_order.decidable_lt (order_dual.linear_order α), max := linear_order.max (order_dual.linear_order α), max_def := _, min := linear_order.min (order_dual.linear_order α), min_def := _}, to_has_norm := normed_ordered_add_group.to_has_norm order_dual.normed_ordered_add_group, to_metric_space := normed_ordered_add_group.to_metric_space order_dual.normed_ordered_add_group, dist_eq := _}
Equations
- additive.normed_ordered_add_group = {to_ordered_add_comm_group := additive.ordered_add_comm_group normed_ordered_group.to_ordered_comm_group, to_has_norm := normed_add_comm_group.to_has_norm additive.normed_add_comm_group, to_metric_space := normed_add_comm_group.to_metric_space additive.normed_add_comm_group, dist_eq := _}
Equations
- multiplicative.normed_ordered_group = {to_ordered_comm_group := multiplicative.ordered_comm_group normed_ordered_add_group.to_ordered_add_comm_group, to_has_norm := normed_comm_group.to_has_norm multiplicative.normed_comm_group, to_metric_space := normed_comm_group.to_metric_space multiplicative.normed_comm_group, dist_eq := _}
Equations
- additive.normed_linear_ordered_add_group = {to_linear_ordered_add_comm_group := additive.linear_ordered_add_comm_group normed_linear_ordered_group.to_linear_ordered_comm_group, to_has_norm := normed_add_comm_group.to_has_norm additive.normed_add_comm_group, to_metric_space := normed_add_comm_group.to_metric_space additive.normed_add_comm_group, dist_eq := _}
Equations
- multiplicative.normed_linear_ordered_group = {to_linear_ordered_comm_group := multiplicative.linear_ordered_comm_group normed_linear_ordered_add_group.to_linear_ordered_add_comm_group, to_has_norm := normed_comm_group.to_has_norm multiplicative.normed_comm_group, to_metric_space := normed_comm_group.to_metric_space multiplicative.normed_comm_group, dist_eq := _}