Documentation

Mathlib.Algebra.Order.Ring.Archimedean

Archimedean classes of a linearly ordered ring #

The archimedean classes of a linearly ordered ring can be given the structure of an AddCommMonoid, by defining

For a linearly ordered field, we can define a negative as

which turns them into a LinearOrderedAddCommGroupWithTop.

Implementation notes #

We give Archimedean class an additive structure, rather than a multiplicative one, for the following reasons:

@[simp]

Multipilication in R transfers to Addition in ArchimedeanClass R.

Equations
@[simp]
theorem ArchimedeanClass.mk_mul {R : Type u_1} [LinearOrder R] [CommRing R] [IsOrderedRing R] (x y : R) :
mk (x * y) = mk x + mk y
@[simp]
theorem ArchimedeanClass.mk_pow {R : Type u_1} [LinearOrder R] [CommRing R] [IsOrderedRing R] (n : ) (x : R) :
mk (x ^ n) = n mk x
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem ArchimedeanClass.add_left_cancel_of_ne_top {R : Type u_1} [LinearOrder R] [CommRing R] [IsStrictOrderedRing R] {x y z : ArchimedeanClass R} (hx : x ) (h : x + y = x + z) :
y = z
theorem ArchimedeanClass.add_right_cancel_of_ne_top {R : Type u_1} [LinearOrder R] [CommRing R] [IsStrictOrderedRing R] {x y z : ArchimedeanClass R} (hx : x ) (h : y + x = z + x) :
y = z
@[simp]
theorem ArchimedeanClass.mk_inv {R : Type u_1} [LinearOrder R] [Field R] [IsOrderedRing R] (x : R) :
@[simp]
theorem ArchimedeanClass.mk_zpow {R : Type u_1} [LinearOrder R] [Field R] [IsOrderedRing R] (n : ) (x : R) :
mk (x ^ n) = n mk x
Equations
  • One or more equations did not get rendered due to their size.