Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory CategoryTheory.Limits CategoryTheory.MonoidalCategory
open AlgebraicGeometry AlgebraicGeometry.RelPicard AlgebraicCurve
open NeronModelInfra GoodReductionJacobian
namespace JacobianVarieties.Picarddef torsionEquivOfAddEquiv
{K F : Type} [Field K] [Field F] [Algebra K F]
{A : Type} [AddCommGroup A] (e : Pic0 K F ≃+ A) (n : ℕ+) :
Pic0.torsion K F (n : ℕ) ≃+ ProCGroups.torsionLevel A n where
toFun x := ⟨e x.1, by
change (n : ℕ) • e x.1 = 0
have hx : (n : ℕ) • x.1 = 0 := by
simpa only [natCast_zsmul] using (Pic0.mem_torsion.mp x.2)
rw [← map_nsmul, hx, map_zero]⟩
invFun x := ⟨e.symm x.1, by
rw [Pic0.mem_torsion, natCast_zsmul, ← map_nsmul, x.2, map_zero]⟩
left_inv x := by
apply Subtype.ext
exact e.symm_apply_apply x.1
right_inv x := by
apply Subtype.ext
exact e.apply_symm_apply x.1
map_add' x y := by
apply Subtype.ext
exact e.map_add x.1 y.1