The image of the actual quotient residue map consists exactly of the actual sum-zero boundary residue vectors.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory AlgebraicGeometry NeronModelInfra
open scoped BigOperators
open JacobianVarieties.Kummer
namespace AlgebraicCurve.CurveModeldef openKummerResidueRangeEquiv
{K F : Type} [Field K] [IsAlgClosed K]
[Field F] [Algebra K F] [IsCurveOver K F]
(M : CurveModel K F)
(ε : SchemeHomOver (𝟙 (Spec (.of K))) M.toBase)
(S : Set (Place K F)) [Fintype S] (v₀ : S)
(n : ℕ+) (hchar : ((n : ℕ) : K) ≠ 0) :
(Pic0.openKummerResidueQuotient S n).range ≃ boundaryResidueGroup S n where
toFun x := ⟨Multiplicative.toAdd x.val, by
obtain ⟨q, hq⟩ := x.property
obtain ⟨u, rfl⟩ := QuotientGroup.mk_surjective q
change (∑ v : S, Multiplicative.toAdd x.val v) = 0
rw [← hq]
exact M.sum_openKummerResidue_eq_zero_set S n u⟩
invFun a := ⟨Multiplicative.ofAdd a.val, by
obtain ⟨u, hu⟩ := M.exists_openKummerUnits_of_sum_eq_zero
ε S v₀ n hchar a.val a.property
exact ⟨QuotientGroup.mk u, hu⟩⟩
left_inv _ := rfl
right_inv _ := rfl