Absolute values #
This file defines a bundled type of absolute values AbsoluteValue R S.
Main definitions #
AbsoluteValue R Sis the type of absolute values onRmapping toS.AbsoluteValue.absis the "standard" absolute value onS, mapping negativexto-x.AbsoluteValue.toMonoidWithZeroHom: absolute values mapping to a linear ordered field preserve0,*and1IsAbsoluteValue: a type class stating thatf : β → αsatisfies the axioms of an absolute value
- toFun : R → S
- map_mul' : ∀ (x y : R), MulHom.toFun s.toMulHom (x * y) = MulHom.toFun s.toMulHom x * MulHom.toFun s.toMulHom y
- nonneg' : ∀ (x : R), 0 ≤ MulHom.toFun s.toMulHom x
The absolute value is nonnegative
- eq_zero' : ∀ (x : R), MulHom.toFun s.toMulHom x = 0 ↔ x = 0
The absolute value is positive definitive
- add_le' : ∀ (x y : R), MulHom.toFun s.toMulHom (x + y) ≤ MulHom.toFun s.toMulHom x + MulHom.toFun s.toMulHom y
The absolute value satisfies the triangle inequality
AbsoluteValue 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.
Instances For
Equations
- AbsoluteValue.zeroHomClass = ZeroHomClass.mk (_ : ∀ (f : AbsoluteValue R S), MulHom.toFun f.toMulHom 0 = 0)
Equations
- One or more equations did not get rendered due to their size.
Equations
- AbsoluteValue.nonnegHomClass = let src := AbsoluteValue.zeroHomClass; NonnegHomClass.mk (_ : ∀ (f : AbsoluteValue R S) (x : R), 0 ≤ MulHom.toFun f.toMulHom x)
Equations
- One or more equations did not get rendered due to their size.
See Note [custom simps projection].
Equations
Instances For
Helper instance for when there's too many metavariables to apply FunLike.has_coe_to_fun
directly.
Equations
- AbsoluteValue.instCoeFunAbsoluteValueForAll = FunLike.hasCoeToFun
Equations
- AbsoluteValue.monoidWithZeroHomClass = let src := AbsoluteValue.mulHomClass; MonoidWithZeroHomClass.mk (_ : ∀ (f : AbsoluteValue R S), ↑f 0 = 0)
Absolute values from a nontrivial R to a linear ordered ring preserve *, 0 and 1.
Equations
- AbsoluteValue.toMonoidWithZeroHom abv = ↑abv
Instances For
Absolute values from a nontrivial R to a linear ordered ring preserve * and 1.
Equations
- AbsoluteValue.toMonoidHom abv = ↑abv
Instances For
Equations
- One or more equations did not get rendered due to their size.
AbsoluteValue.abs is abs as a bundled AbsoluteValue.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- AbsoluteValue.instInhabitedAbsoluteValueToSemiringToStrictOrderedSemiringToLinearOrderedSemiringToOrderedSemiring = { default := AbsoluteValue.abs }
- abv_nonneg' : ∀ (x : R), 0 ≤ f x
The absolute value is nonnegative
The absolute value is positive definitive
The absolute value satisfies the triangle inequality
The absolute value is multiplicative
A function f is an absolute value if it is nonnegative, zero only at 0, additive, and
multiplicative.
See also the type AbsoluteValue which represents a bundled version of absolute values.
Instances
The positivity extension which identifies expressions of the form abv a.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bundled absolute value is an absolute value.
Convert an unbundled IsAbsoluteValue to a bundled AbsoluteValue.
Equations
- One or more equations did not get rendered due to their size.
Instances For
abv as a MonoidWithZeroHom.
Equations
Instances For
An absolute value as a monoid with zero homomorphism, assuming the target is a semifield.