Documentation

Iwasawalib.NumberTheory.AbsoluteValue.Archimedean

Basic properties of archimedean and non-archimedean -valued AbsoluteValue #

Consider an -valued AbsoluteValue.

Main results:

@[simp]
theorem AbsoluteValue.comp_apply {R : Type u_1} {S : Type u_2} {T : Type u_3} [Semiring T] [Semiring R] [Semiring S] [PartialOrder S] (v : AbsoluteValue R S) {f : T →+* R} (hf : Function.Injective f) (x : T) :
(v.comp hf) x = v (f x)

TODO: go mathlib

@[simp]
theorem AbsoluteValue.comp_id {R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] [PartialOrder S] (v : AbsoluteValue R S) :
v.comp = v

TODO: go mathlib

theorem AbsoluteValue.IsEquiv.comp {R : Type u_1} {S : Type u_2} {T : Type u_3} [Semiring T] [Semiring R] [Semiring S] [PartialOrder S] {v w : AbsoluteValue R S} (h : v.IsEquiv w) {f : T →+* R} (hf : Function.Injective f) :
(v.comp hf).IsEquiv (w.comp hf)

TODO: go mathlib

theorem AbsoluteValue.liesOver_iff {K : Type u_1} {L : Type u_2} {S : Type u_3} [CommRing K] [IsSimpleRing K] [CommRing L] [Algebra K L] [PartialOrder S] [Nontrivial L] [Semiring S] {w : AbsoluteValue L S} {v : AbsoluteValue K S} :
w.LiesOver v w.comp = v

TODO: use @[mk_iff] instead

instance AbsoluteValue.liesOver_comp {K : Type u_1} {L : Type u_2} {S : Type u_3} [CommRing K] [IsSimpleRing K] [CommRing L] [Algebra K L] [PartialOrder S] [Nontrivial L] [Semiring S] (w : AbsoluteValue L S) :
w.LiesOver (w.comp )

TODO: go mathlib

instance AbsoluteValue.liesOver_self {K : Type u_1} {S : Type u_2} [CommRing K] [IsSimpleRing K] [PartialOrder S] [Semiring S] (v : AbsoluteValue K S) :

TODO: go mathlib

theorem AbsoluteValue.liesOver_self_iff {K : Type u_1} {S : Type u_2} [CommRing K] [IsSimpleRing K] [PartialOrder S] [Semiring S] (v w : AbsoluteValue K S) :
v.LiesOver w v = w

TODO: go mathlib

theorem AbsoluteValue.LiesOver.trans {K : Type u_1} {L : Type u_2} {M : Type u_3} {S : Type u_4} [CommRing K] [CommRing L] [CommRing M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsSimpleRing K] [IsSimpleRing L] [Nontrivial M] [PartialOrder S] [Semiring S] (w : AbsoluteValue M S) (v : AbsoluteValue L S) (u : AbsoluteValue K S) [hwv : w.LiesOver v] [hvu : v.LiesOver u] :

TODO: go mathlib

theorem AbsoluteValue.LiesOver.tower_bot {K : Type u_1} {L : Type u_2} {M : Type u_3} {S : Type u_4} [CommRing K] [CommRing L] [CommRing M] [Algebra K L] [Algebra K M] [Algebra L M] [IsScalarTower K L M] [IsSimpleRing K] [IsSimpleRing L] [Nontrivial M] [PartialOrder S] [Semiring S] (w : AbsoluteValue M S) (v : AbsoluteValue L S) (u : AbsoluteValue K S) [hwv : w.LiesOver v] [hwu : w.LiesOver u] :

TODO: go mathlib

Criterion for a place to be non-archimedean #

An absolute value v is archimedean if and only if there exists x such that v x ≤ 1 and v (x + 1) > 1.

An archimedean absolute value is not trivial.

An absolute value v is non-archimedean if and only if v(ℕ) is bounded.

An absolute value v is non-archimedean if and only if v(ℕ) is bounded by one.

theorem AbsoluteValue.isNonarchimedean_comp_iff {K : Type u_1} {L : Type u_2} [Field K] [Field L] (v : AbsoluteValue L ) (f : K →+* L) :
theorem AbsoluteValue.isNontrivial_of_isNontrivial_comp {K : Type u_1} {L : Type u_2} [Field K] [Field L] (v : AbsoluteValue L ) {f : K →+* L} (h : (v.comp ).IsNontrivial) :

If a field K has an infinite place, then it must be of characteristic zero.

@[simp]

TODO: go mathlib

@[simp]

TODO: go mathlib

A non-archimedean absolute value is a valuation.

Equations
  • v.toValuation h = { toFun := fun (x : R) => v x, , map_zero' := , map_one' := , map_mul' := , map_add_le_max' := }
Instances For
    @[simp]
    theorem AbsoluteValue.toValuation_toFun_coe {R : Type u_1} [Ring R] [Nontrivial R] (v : AbsoluteValue R ) (h : IsNonarchimedean v) (x : R) :
    ((v.toValuation h) x) = v x
    noncomputable def AbsoluteValue.rpowOfLeOneOrIsNonarchimedean {R : Type u_1} [Semiring R] (v : AbsoluteValue R ) (c : ) (h1 : 0 < c) (h2 : c 1 IsNonarchimedean v) :

    If v is an -valued absolute value, c is a positive real number, either c ≤ 1 or v is non-archimedean, then v ^ c is also an absolute value.

    Equations
    Instances For
      @[simp]
      theorem AbsoluteValue.rpowOfLeOneOrIsNonarchimedean_apply {R : Type u_1} [Semiring R] (v : AbsoluteValue R ) (c : ) (h1 : 0 < c) (h2 : c 1 IsNonarchimedean v) (x : R) :
      (v.rpowOfLeOneOrIsNonarchimedean c h1 h2) x = v x ^ c

      Retrieving the p for a p-adic valuation #

      noncomputable def AbsoluteValue.adic {K : Type u_1} [Field K] [CharZero K] (v : AbsoluteValue K ) :

      If v is an -valued absolute value on a characteristic zero field, then AbsoluteValue.adic v is the natural number p such that either:

      • p is a prime and the restriction of v to is equivalent to the usual p-adic valuation;
      • p = 1 and the restriction of v to is equivalent to the usual -adic valuation;
      • p = 0 and the restriction of v to is trivial.
      Equations
      Instances For
        theorem AbsoluteValue.adic_eq_of_liesOver {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [CharZero K] [CharZero L] (v : AbsoluteValue K ) (w : AbsoluteValue L ) [w.LiesOver v] :
        v.adic = w.adic
        theorem AbsoluteValue.adic_eq_of_equiv {K : Type u_1} [Field K] [CharZero K] {v w : AbsoluteValue K } (h0 : v w) :
        v.adic = w.adic
        theorem AbsoluteValue.prime_adic {K : Type u_1} [Field K] [CharZero K] {v : AbsoluteValue K } (h1 : (v.comp ).IsNontrivial) (h2 : IsNonarchimedean v) :
        @[simp]