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 on- Rmapping to- Sthat preserve the order on- Rarising from the Euclidean domain structure.
- AbsoluteValue.abs_isEuclideanshows the "standard" absolute value on- ℤ, mapping negative- xto- -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