Exact dimensions of adele divisor quotients #
This file proves the exact rank formula for the adele filtration and the sandwich identity.
@[instance_reducible]
noncomputable def
FunctionField.Chart.instDecidableEqRatFuncAdeleFilter
(k : Type u_1)
[Field k]
:
DecidableEq (RatFunc k)
Decidable equality on k(X) for adele filter proofs.
Instances For
@[instance_reducible]
noncomputable def
FunctionField.Chart.instDecidableEqPlaceAAdeleFilter
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
:
DecidableEq (PlaceA k K)
Decidable equality on coordinate places for adele filter proofs.
Equations
Instances For
@[instance_reducible]
def
FunctionField.Chart.adeleFiltAddCommGroup
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D' : DivisorA k K)
:
AddCommGroup ↥(adeleFilt k K D')
Additive group structure on adele filtration pieces.
Equations
Instances For
@[instance_reducible]
def
FunctionField.Chart.adeleFiltModule
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D' : DivisorA k K)
:
Module structure on adele filtration pieces.
Equations
- FunctionField.Chart.adeleFiltModule k K D' = (FunctionField.Chart.adeleFilt k K D').module
Instances For
def
FunctionField.Chart.zeroAdele
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
:
↥(AdeleSpace k K)
The zero adele.
Equations
- FunctionField.Chart.zeroAdele k K = ⟨0, ⋯⟩
Instances For
noncomputable def
FunctionField.Chart.finiteAdeleLocalResidueToSubring
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(ringOfIntegers k K))
(a : ↥(adeleFilt k K (D + Finsupp.single (Sum.inl v) 1)))
:
Lift an adele to the valuation subring at a finite place, scaled by a uniformizer power.
Equations
- FunctionField.Chart.finiteAdeleLocalResidueToSubring k K D v a = ⟨Classical.choose ⋯ ^ (D (Sum.inl v) + 1) * ↑↑a (Sum.inl v), ⋯⟩
Instances For
noncomputable def
FunctionField.Chart.finiteAdeleLocalResidueMap
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(ringOfIntegers k K))
:
One-step local residue map on adeles at a finite coordinate place.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
FunctionField.Chart.finiteAdeleLocalResidueMap_ker
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(ringOfIntegers k K))
:
(finiteAdeleLocalResidueMap k K D v).ker = Submodule.comap (adeleFilt k K (D + Finsupp.single (Sum.inl v) 1)).subtype (adeleFilt k K D)
theorem
FunctionField.Chart.finiteAdeleLocalResidueMap_surjective
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(ringOfIntegers k K))
:
Function.Surjective ⇑(finiteAdeleLocalResidueMap k K D v)
theorem
FunctionField.Chart.finrankAdeleFiltDiff_single_finite
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(ringOfIntegers k K))
:
noncomputable def
FunctionField.Chart.infiniteAdeleLocalResidueToSubring
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(infiniteIntegers k K))
(a : ↥(adeleFilt k K (D + Finsupp.single (Sum.inr v) 1)))
:
Lift an adele to the valuation subring at an infinite place, scaled by a uniformizer power.
Equations
- FunctionField.Chart.infiniteAdeleLocalResidueToSubring k K D v a = ⟨Classical.choose ⋯ ^ (D (Sum.inr v) + 1) * ↑↑a (Sum.inr v), ⋯⟩
Instances For
noncomputable def
FunctionField.Chart.infiniteAdeleLocalResidueMap
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(infiniteIntegers k K))
:
One-step local residue map on adeles at an infinite coordinate place.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
FunctionField.Chart.infiniteAdeleLocalResidueMap_ker
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(infiniteIntegers k K))
:
(infiniteAdeleLocalResidueMap k K D v).ker = Submodule.comap (adeleFilt k K (D + Finsupp.single (Sum.inr v) 1)).subtype (adeleFilt k K D)
theorem
FunctionField.Chart.infiniteAdeleLocalResidueMap_surjective
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(infiniteIntegers k K))
:
Function.Surjective ⇑(infiniteAdeleLocalResidueMap k K D v)
theorem
FunctionField.Chart.finrankAdeleFiltDiff_single_infinite
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : IsDedekindDomain.HeightOneSpectrum ↥(infiniteIntegers k K))
:
theorem
FunctionField.Chart.finrankAdeleFiltDiff_single_one
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : PlaceA k K)
:
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_single
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : PlaceA k K)
:
Module.Finite k
(↥(adeleFilt k K (D + Finsupp.single v 1)) ⧸ Submodule.comap (adeleFilt k K (D + Finsupp.single v 1)).subtype (adeleFilt k K D))
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_self
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
:
Module.Finite k (↥(adeleFilt k K D) ⧸ Submodule.comap (adeleFilt k K D).subtype (adeleFilt k K D))
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_mono_add
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D M N : DivisorA k K}
(hDM : D ≤ M)
(hMN : M ≤ N)
[Module.Finite k (↥(adeleFilt k K N) ⧸ Submodule.comap (adeleFilt k K N).subtype (adeleFilt k K M))]
[Module.Finite k (↥(adeleFilt k K M) ⧸ Submodule.comap (adeleFilt k K M).subtype (adeleFilt k K D))]
:
Module.Finite k (↥(adeleFilt k K N) ⧸ Submodule.comap (adeleFilt k K N).subtype (adeleFilt k K D))
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_single_nat
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D : DivisorA k K)
(v : PlaceA k K)
(n : ℕ)
:
Module.Finite k
(↥(adeleFilt k K (D + Finsupp.single v ↑n)) ⧸ Submodule.comap (adeleFilt k K (D + Finsupp.single v ↑n)).subtype (adeleFilt k K D))
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_add_effective
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D E : DivisorA k K)
(hE : IsEffective k K E)
:
Module.Finite k (↥(adeleFilt k K (D + E)) ⧸ Submodule.comap (adeleFilt k K (D + E)).subtype (adeleFilt k K D))
theorem
FunctionField.Chart.finiteAdeleFiltDiff_quotient_add_eq
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{M N : DivisorA k K}
(hN : N = M + (N - M))
(hE : IsEffective k K (N - M))
:
Module.Finite k (↥(adeleFilt k K N) ⧸ Submodule.comap (adeleFilt k K N).subtype (adeleFilt k K M))
theorem
FunctionField.Chart.finrankAdeleFiltDiff_mono_add
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D M N : DivisorA k K}
(hDM : D ≤ M)
(hMN : M ≤ N)
:
theorem
FunctionField.Chart.finrankAdeleFiltDiff_add_one
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D M : DivisorA k K}
(v : PlaceA k K)
(hDM : D ≤ M)
:
finrankAdeleFiltDiff k K D (M + Finsupp.single v 1) = finrankAdeleFiltDiff k K D M + placeDegree k K v
theorem
FunctionField.Chart.finrankAdeleFiltDiff_add_effective
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
(D E : DivisorA k K)
(hE : IsEffective k K E)
:
theorem
FunctionField.Chart.finrank_adeleFilt_quotient
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D D' : DivisorA k K}
(h : D ≤ D')
:
theorem
FunctionField.Chart.finrank_map_comap_mkQ_eq_quotient
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D' : DivisorA k K}
{s t : Submodule k ↥(AdeleSpace k K)}
(_hs : s ≤ adeleFilt k K D')
(ht : t ≤ adeleFilt k K D')
(_hst : s ≤ t)
:
Module.finrank k
↥(Submodule.map (Submodule.comap (adeleFilt k K D').subtype s).mkQ (Submodule.comap (adeleFilt k K D').subtype t)) = Module.finrank k
(↥(Submodule.comap (adeleFilt k K D').subtype t) ⧸ Submodule.comap (Submodule.comap (adeleFilt k K D').subtype t).subtype
(Submodule.comap (adeleFilt k K D').subtype s))
theorem
FunctionField.Chart.sandwich
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D D' : DivisorA k K}
(h : D ≤ D')
:
theorem
FunctionField.Chart.sandwichDiagonal_inter
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D D' : DivisorA k K}
(h : D ≤ D')
:
adeleFilt k K D' ⊓ (adeleFilt k K D + diagonalSubmodule k K) = Submodule.map (diagonal k K) (RRspace k K D') ⊔ adeleFilt k K D
theorem
FunctionField.Chart.sandwichDiagonalSubmodule_eq_of_rank_zero
(k : Type u_1)
(K : Type u_2)
[Field k]
[Field K]
[Algebra k K]
[Algebra (Polynomial k) K]
[Algebra (RatFunc k) K]
[IsScalarTower k (Polynomial k) K]
[IsScalarTower (Polynomial k) (RatFunc k) K]
[FunctionField k K]
[Algebra.IsSeparable (RatFunc k) K]
{D D' : DivisorA k K}
(hle : D ≤ D')
(h0 : sandwichRank k K D D' = 0)
: