Absolute values #
This file defines a bundled type of absolute values absolute_value R S
.
Main definitions #
absolute_value R S
is the type of absolute values onR
mapping toS
.absolute_value.abs
is the "standard" absolute value onS
, mapping negativex
to-x
.absolute_value.to_monoid_with_zero_hom
: absolute values mapping to a linear ordered field preserve0
,*
and1
is_absolute_value
: a type class stating thatf : β → α
satisfies the axioms of an abs val
- to_mul_hom : mul_hom R S
- nonneg' : ∀ (x : R), 0 ≤ self.to_mul_hom.to_fun x
- eq_zero' : ∀ (x : R), self.to_mul_hom.to_fun x = 0 ↔ x = 0
- add_le' : ∀ (x y : R), self.to_mul_hom.to_fun (x + y) ≤ self.to_mul_hom.to_fun x + self.to_mul_hom.to_fun y
absolute_value R S
is the type of absolute values on R
mapping to S
:
the maps that preserve *
, are nonnegative, positive definite and satisfy the triangle equality.
Equations
- absolute_value.has_coe_to_fun = {coe := λ (f : absolute_value R S), f.to_mul_hom.to_fun}
absolute_value.abs
is abs
as a bundled absolute_value
.
Equations
- absolute_value.abs = {to_mul_hom := {to_fun := abs has_neg_lattice_has_abs, map_mul' := _}, nonneg' := _, eq_zero' := _, add_le' := _}
Equations
- absolute_value.inhabited = {default := absolute_value.abs _inst_2}
Absolute values from a nontrivial R
to a linear ordered ring preserve *
, 0
and 1
.
Absolute values from a nontrivial R
to a linear ordered ring preserve *
and 1
.
- abv_nonneg : ∀ (x : R), 0 ≤ f x
- abv_eq_zero : ∀ {x : R}, f x = 0 ↔ x = 0
- abv_add : ∀ (x y : R), f (x + y) ≤ f x + f y
- abv_mul : ∀ (x y : R), f (x * y) = (f x) * f y
A function f
is an absolute value if it is nonnegative, zero only at 0, additive, and
multiplicative.
See also the type absolute_value
which represents a bundled version of absolute values.
A bundled absolute value is an absolute value.
Convert an unbundled is_absolute_value
to a bundled absolute_value
.
Equations
- is_absolute_value.to_absolute_value abv = {to_mul_hom := {to_fun := abv, map_mul' := _}, nonneg' := _, eq_zero' := _, add_le' := _}
abv
as a monoid_with_zero_hom
.