Ring Perfection and Tilt #
In this file we define the perfection of a ring of characteristic p, and the tilt of a field
given a valuation to ℝ≥0
.
TODO #
Define the valuation on the tilt, and define a characteristic predicate for the tilt.
The perfection of a monoid M
, defined to be the projective limit of M
using the p
-th power maps M → M
indexed by the natural numbers, implemented as
{ f : ℕ → M | ∀ n, f (n + 1) ^ p = f n }
.
Equations
Instances For
The perfection of a ring R
with characteristic p
, as a subsemiring,
defined to be the projective limit of R
using the Frobenius maps R → R
indexed by the natural numbers, implemented as { f : ℕ → R | ∀ n, f (n + 1) ^ p = f n }
.
Equations
- Ring.perfectionSubsemiring R p = let __src := Monoid.perfection R p; { toSubmonoid := __src, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
The perfection of a ring R
with characteristic p
, as a subring,
defined to be the projective limit of R
using the Frobenius maps R → R
indexed by the natural numbers, implemented as { f : ℕ → R | ∀ n, f (n + 1) ^ p = f n }
.
Equations
- Ring.perfectionSubring R p = (Ring.perfectionSubsemiring R p).toSubring ⋯
Instances For
The perfection of a ring R
with characteristic p
,
defined to be the projective limit of R
using the Frobenius maps R → R
indexed by the natural numbers, implemented as {f : ℕ → R // ∀ n, f (n + 1) ^ p = f n}
.
Instances For
Equations
- Perfection.commSemiring R p = (Ring.perfectionSubsemiring R p).toCommSemiring
Equations
- ⋯ = ⋯
Equations
- Perfection.ring p R = (Ring.perfectionSubring R p).toRing
Equations
- Perfection.commRing p R = (Ring.perfectionSubring R p).toCommRing
Equations
- Perfection.instInhabitedPerfection R p = { default := 0 }
The n
-th coefficient of an element of the perfection.
Equations
- Perfection.coeff R p n = { toFun := fun (f : Ring.Perfection R p) => ↑f n, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The p
-th root of an element of the perfection.
Equations
- Perfection.pthRoot R p = { toFun := fun (f : Ring.Perfection R p) => ⟨fun (n : ℕ) => (Perfection.coeff R p (n + 1)) f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Given rings R
and S
of characteristic p
, with R
being perfect,
any homomorphism R →+* S
can be lifted to a homomorphism R →+* Perfection S p
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A ring homomorphism R →+* S
induces Perfection R p →+* Perfection S p
.
Equations
- Perfection.map p φ = { toFun := fun (f : Ring.Perfection R p) => ⟨fun (n : ℕ) => φ ((Perfection.coeff R p n) f), ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A perfection map to a ring of characteristic p
is a map that is isomorphic
to its perfection.
- injective : ∀ ⦃x y : P⦄, (∀ (n : ℕ), π ((⇑(frobeniusEquiv P p).symm)^[n] x) = π ((⇑(frobeniusEquiv P p).symm)^[n] y)) → x = y
Instances For
Create a PerfectionMap
from an isomorphism to the perfection.
The canonical perfection map from the perfection of a ring.
For a perfect ring, it itself is the perfection.
A perfection map induces an isomorphism to the perfection.
Equations
- m.equiv = RingEquiv.ofBijective ((Perfection.lift p P R) π) ⋯
Instances For
Given rings R
and S
of characteristic p
, with R
being perfect,
any homomorphism R →+* S
can be lifted to a homomorphism R →+* P
,
where P
is any perfection of S
.
Equations
- PerfectionMap.lift p R S P π m = { toFun := fun (f : R →+* S) => (↑m.equiv.symm).comp ((Perfection.lift p R S) f), invFun := fun (f : R →+* P) => π.comp f, left_inv := ⋯, right_inv := ⋯ }
Instances For
A ring homomorphism R →+* S
induces P →+* Q
, a map of the respective perfections.
Equations
- PerfectionMap.map p x n φ = (PerfectionMap.lift p P S Q σ n) (φ.comp π)
Instances For
Equations
- ModP.commRing K v O hv p = Ideal.Quotient.commRing (Ideal.span {↑p})
For a field K
with valuation v : K → ℝ≥0
and ring of integers O
,
a function O/(p) → ℝ≥0
that sends 0
to 0
and x + (p)
to v(x)
as long as x ∉ (p)
.
Equations
- ModP.preVal K v O hv p x = if x = 0 then 0 else v ((algebraMap O K) (Quotient.out' x))
Instances For
The valuation Perfection(O/(p)) → ℝ≥0
as a function.
Given f ∈ Perfection(O/(p))
, if f = 0
then output 0
;
otherwise output preVal(f(n))^(p^n)
for any n
such that f(n) ≠ 0
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The valuation Perfection(O/(p)) → ℝ≥0
.
Given f ∈ Perfection(O/(p))
, if f = 0
then output 0
;
otherwise output preVal(f(n))^(p^n)
for any n
such that f(n) ≠ 0
.
Equations
- PreTilt.val K v O hv p = { toFun := PreTilt.valAux K v O hv p, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ }
Instances For
The tilt of a field, as defined in Perfectoid Spaces by Peter Scholze, as in
[scholze2011perfectoid]. Given a field K
with valuation K → ℝ≥0
and ring of integers O
,
this is implemented as the fraction field of the perfection of O/(p)
.
Equations
- Tilt K v O hv p = FractionRing (PreTilt K v O hv p)