Algebraic order homomorphism classes #
This file defines hom classes for common properties at the intersection of order theory and algebra.
Typeclasses #
Basic typeclasses
NonnegHomClass
: Homs are nonnegative:∀ f a, 0 ≤ f a
SubadditiveHomClass
: Homs are subadditive:∀ f a b, f (a + b) ≤ f a + f b
SubmultiplicativeHomClass
: Homs are submultiplicative:∀ f a b, f (a * b) ≤ f a * f b
MulLEAddHomClass
:∀ f a b, f (a * b) ≤ f a + f b
NonarchimedeanHomClass
:∀ a b, f (a + b) ≤ max (f a) (f b)
Group norms
AddGroupSeminormClass
: Homs are nonnegative, subadditive, even and preserve zero.GroupSeminormClass
: Homs are nonnegative, respectf (a * b) ≤ f a + f b
,f a⁻¹ = f a
and preserve zero.AddGroupNormClass
: Homs are seminorms such thatf x = 0 → x = 0
for allx
.GroupNormClass
: Homs are seminorms such thatf x = 0 → x = 1
for allx
.
Ring norms
RingSeminormClass
: Homs are submultiplicative group norms.RingNormClass
: Homs are ring seminorms that are also additive group norms.MulRingSeminormClass
: Homs are ring seminorms that are multiplicative.MulRingNormClass
: Homs are ring norms that are multiplicative.
Notes #
Typeclasses for seminorms are defined here while types of seminorms are defined in
Analysis.Normed.Group.Seminorm
and Analysis.Normed.Ring.Seminorm
because absolute values are
multiplicative ring norms but outside of this use we only consider real-valued seminorms.
TODO #
Finitary versions of the current lemmas.
Basics #
SubmultiplicativeHomClass F α β
states that F
is a type of submultiplicative morphisms.
the image of a product is less or equal than the product of the images.
Instances
NonarchimedeanHomClass F α β
states that F
is a type of non-archimedean morphisms.
the image of a sum is less or equal than the maximum of the images.
Instances
Extension for the positivity
tactic: nonnegative maps take nonnegative values.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Group (semi)norms #
AddGroupSeminormClass F α
states that F
is a type of β
-valued seminorms on the additive
group α
.
You should extend this class when you extend AddGroupSeminorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_zero : ∀ (f : F), f 0 = 0
The image of zero is zero.
The map is invariant under negation of its argument.
Instances
GroupSeminormClass F α
states that F
is a type of β
-valued seminorms on the group α
.
You should extend this class when you extend GroupSeminorm
.
- map_mul_le_add : ∀ (f : F) (a b : α), f (a * b) ≤ f a + f b
- map_one_eq_zero : ∀ (f : F), f 1 = 0
The image of one is zero.
The map is invariant under inversion of its argument.
Instances
AddGroupNormClass F α
states that F
is a type of β
-valued norms on the additive group
α
.
You should extend this class when you extend AddGroupNorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_neg_eq_map : ∀ (f : F) (a : α), f (-a) = f a
The argument is zero if its image under the map is zero.
Instances
GroupNormClass F α
states that F
is a type of β
-valued norms on the group α
.
You should extend this class when you extend GroupNorm
.
- map_mul_le_add : ∀ (f : F) (a b : α), f (a * b) ≤ f a + f b
- map_one_eq_zero : ∀ (f : F), f 1 = 0
- map_inv_eq_map : ∀ (f : F) (a : α), f a⁻¹ = f a
The argument is one if its image under the map is zero.
Instances
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Ring (semi)norms #
RingSeminormClass F α
states that F
is a type of β
-valued seminorms on the ring α
.
You should extend this class when you extend RingSeminorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_neg_eq_map : ∀ (f : F) (a : α), f (-a) = f a
- map_mul_le_mul : ∀ (f : F) (a b : α), f (a * b) ≤ f a * f b
Instances
RingNormClass F α
states that F
is a type of β
-valued norms on the ring α
.
You should extend this class when you extend RingNorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_neg_eq_map : ∀ (f : F) (a : α), f (-a) = f a
- map_mul_le_mul : ∀ (f : F) (a b : α), f (a * b) ≤ f a * f b
- eq_zero_of_map_eq_zero : ∀ (f : F) {a : α}, f a = 0 → a = 0
Instances
MulRingSeminormClass F α
states that F
is a type of β
-valued multiplicative seminorms
on the ring α
.
You should extend this class when you extend MulRingSeminorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_neg_eq_map : ∀ (f : F) (a : α), f (-a) = f a
Instances
MulRingNormClass F α
states that F
is a type of β
-valued multiplicative norms on the
ring α
.
You should extend this class when you extend MulRingNorm
.
- map_add_le_add : ∀ (f : F) (a b : α), f (a + b) ≤ f a + f b
- map_neg_eq_map : ∀ (f : F) (a : α), f (-a) = f a
- eq_zero_of_map_eq_zero : ∀ (f : F) {a : α}, f a = 0 → a = 0
Instances
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯