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 α, defined to be the projective limit of α using the p-th
power maps α → α indexed by the natural numbers, implemented as
{ f : ℕ → M | ∀ n, f (n + 1) ^ p = f n }.
If α is a ring with characteristic p and p is prime, Perfection α p is also a ring.
Instances For
Alias of Perfection.
The perfection of a monoid α, defined to be the projective limit of α using the p-th
power maps α → α indexed by the natural numbers, implemented as
{ f : ℕ → M | ∀ n, f (n + 1) ^ p = f n }.
If α is a ring with characteristic p and p is prime, Perfection α p is also a ring.
Equations
Instances For
Alias of Perfection.submonoid.
Perfection M p as a submonoid of ℕ → M.
Equations
Instances For
Equations
The n-th coefficient of an element of the perfection.
Equations
- Perfection.coeffMonoidHom M p n = { toFun := fun (f : Perfection M p) => ↑f n, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The p-th root of an element of the perfection.
Equations
- Perfection.pthRootMonoidHom M p = { toFun := fun (f : Perfection M p) => ⟨fun (n : ℕ) => (Perfection.coeffMonoidHom M p (n + 1)) f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Given monoids M and N, with M being perfect,
any homomorphism M →+* N can be lifted uniquely to a homomorphism M →* Perfection N p.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A monoid homomorphism M →* N induces Perfection M p →* Perfection N p.
Equations
- Perfection.mapMonoidHom p φ = { toFun := fun (f : Perfection M p) => ⟨fun (n : ℕ) => φ ((Perfection.coeffMonoidHom M p n) f), ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Perfection R p as a subsemiring of ℕ → R.
Equations
- Perfection.subsemiring R p = { toSubmonoid := Perfection.submonoid R p, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
Alias of Perfection.subsemiring.
Perfection R p as a subsemiring of ℕ → R.
Instances For
Equations
The n-th coefficient of an element of the perfection.
Equations
- Perfection.coeff R p n = { toMonoidHom := Perfection.coeffMonoidHom R p n, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The p-th root of an element of the perfection.
The preferred way to use this is (frobeniusEquiv (Perfection R p) p).symm.
Equations
- Perfection.pthRoot R p = { toMonoidHom := Perfection.pthRootMonoidHom R p, map_zero' := ⋯, map_add' := ⋯ }
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 →+* 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 φ = { toMonoidHom := Perfection.mapMonoidHom p ↑φ, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Perfection R p as a semiring of ℕ → R.
Equations
- Perfection.subring R p = { toSubsemiring := Perfection.subsemiring R p, neg_mem' := ⋯ }
Instances For
Alias of Perfection.subring.
Perfection R p as a semiring of ℕ → R.
Equations
Instances For
Equations
- Perfection.instRing R p = (Perfection.subring R p).toRing
Equations
- Perfection.instCommRing R p = (Perfection.subring R p).toCommRing
A perfection map to a ring of characteristic p is a map that is isomorphic
to its perfection.
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
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
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 p x = if x = 0 then 0 else v ((algebraMap O K) (Quotient.out x))
Instances For
Equations
- PreTilt.instCommRing O p = inferInstanceAs (CommRing (Perfection (ModP O p) p))
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
- PreTilt.valAux K v O p f = if h : ∃ (n : ℕ), (PreTilt.coeff n) f ≠ 0 then ModP.preVal K v O p ((PreTilt.coeff (Nat.find h)) f) ^ p ^ Nat.find h else 0
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 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
[Sch11]. 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 O p)