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