Euclidean absolute values #
This file defines a predicate AbsoluteValue.IsEuclidean abv stating the
absolute value is compatible with the Euclidean domain structure on its domain.
Main definitions #
AbsoluteValue.IsEuclidean abvis a predicate on absolute values onRmapping toSthat preserve the order onRarising from the Euclidean domain structure.AbsoluteValue.abs_isEuclideanshows the "standard" absolute value onℤ, mapping negativexto-x, is Euclidean.
structure AbsoluteValue.IsEuclidean {R : Type u_1} {S : Type u_2} [EuclideanDomain R] [Semiring S] [PartialOrder S] (abv : AbsoluteValue R S) :
An absolute value abv : R → S is Euclidean if it is compatible with the
EuclideanDomain structure on R, namely abv is strictly monotone with respect to the well
founded relation ≺ on R.
The requirement of a Euclidean absolute value that
abvis monotone with respect to≺
Instances For
@[simp]
theorem AbsoluteValue.IsEuclidean.map_lt_map_iff {R : Type u_1} {S : Type u_2} [EuclideanDomain R] [Semiring S] [PartialOrder S] {abv : AbsoluteValue R S} {x y : R} (h : abv.IsEuclidean) :
theorem AbsoluteValue.IsEuclidean.sub_mod_lt {R : Type u_1} {S : Type u_2} [EuclideanDomain R] [Semiring S] [PartialOrder S] {abv : AbsoluteValue R S} (h : abv.IsEuclidean) (a : R) {b : R} (hb : b ≠ 0) :
abs : ℤ → ℤ is a Euclidean absolute value