Definitions/Def_AlgebraicCurve_DifferentialPushPull.lean
Pull-back, trace and correspondence maps on Kähler differentials
Throughout, K, F, F' are fields with F, F' algebras over K, and the maps considered are K-algebra homomorphisms \varphi:F\to F'; no Algebra F F' instance is fixed globally, so that two embeddings of the same pair of fields can be used simultaneously. Each \varphi determines an F-algebra structure on F' (algebraAlong, the algebra given by \varphi viewed as a ring homomorphism) together with the tower K\subseteq F\subseteq F', and the constructions here are made relative to that structure. pullbackAlong φ is the K-linear map \Omega_{F/K}\to\Omega_{F'/K} obtained from Mathlib's functoriality of Kähler differentials; it is characterised by D_{F/K}f\mapsto D_{F'/K}(\varphi f) and satisfies \varphi^*(f\cdot\omega)=\varphi(f)\cdot\varphi^*\omega. traceAlong φ is the K-linear map \Omega_{F'/K}\to\Omega_{F/K} defined by a case distinction on the predicate SeparableAlong K φ, which says that F' is a separable F-algebra for the structure induced by \varphi: in that case F' is formally étale over F, so the canonical base-change map identifies F'\otimes_F\Omega_{F/K} with \Omega_{F'/K}, and traceAlong φ is the composite of the inverse of this identification with \mathrm{Tr}_{F'/F}\otimes\mathrm{id} and the identification F\otimes_F\Omega_{F/K}\cong\Omega_{F/K}; otherwise it is the zero map. Its characteristic property is recorded as \operatorname{tr}_\varphi(u\cdot\varphi^*\omega)=\mathrm{Tr}_{F'/F}(u)\cdot\omega for u\in F' and \omega\in\Omega_{F/K}, under the separability hypothesis. Finally, for two K-algebra homomorphisms \varphi,\psi:F\to F', correspondence φ ψ is the K-endomorphism \operatorname{tr}_\varphi\circ\psi^* of \Omega_{F/K}, with the pull-back taken along \psi and the trace along \varphi; a companion lemma states this pointwise. No further properties (invariance of regular differentials, compatibility with composition) are asserted here.
Relation to Mathlib
The pull-back is Mathlib's KaehlerDifferential.map, and the separable case of the trace uses Mathlib's KaehlerDifferential.tensorKaehlerEquivOfFormallyEtale together with Algebra.trace; what is new is the packaging along a K-algebra homomorphism rather than a registered Algebra F F' instance, and the resulting trace map on differentials, which Mathlib does not provide.
Where it is used
These maps supply the action on differentials of a correspondence between curves whose function-field legs are \varphi and \psi, matching in argument order the divisor- and \mathrm{Pic}^0-level correspondence \psi_*\varphi^* defined for the same pair of embeddings.
References
- R. Hartshorne, Algebraic Geometry, Graduate Texts in Mathematics 52, Springer, 1977, ch. II §8 and ch. IV
- H. Matsumura, Commutative Ring Theory, Cambridge Studies in Advanced Mathematics 8, Cambridge University Press, 1986, ch. 10
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 80 lines
- 8 declarations
- used in the statements of 44 theorems and imported by 56 proofs
- imports 1 definition modules
Source file: Definitions/Def_AlgebraicCurve_DifferentialPushPull.lean
Declarations
- def
AlgebraicCurve.Differential.pullbackAlong - theorem
AlgebraicCurve.Differential.pullbackAlong_D - theorem
AlgebraicCurve.Differential.pullbackAlong_smul - def
AlgebraicCurve.Differential.traceAlong - theorem
AlgebraicCurve.Differential.traceAlong_smul_pullbackAlong - theorem
AlgebraicCurve.Differential.traceAlong_of_not - def
AlgebraicCurve.Differential.correspondence - theorem
AlgebraicCurve.Differential.correspondence_apply
Source
import Mathlib import Definitions.Def_AlgebraicCurve_Correspondence set_option autoImplicit false noncomputable section open KaehlerDifferential TensorProduct namespace AlgebraicCurve namespace Differential variable {K F F' : Type*} [Field K] [Field F] [Field F'] [Algebra K F] [Algebra K F'] def pullbackAlong (φ : F →ₐ[K] F') : Ω[F⁄K] →ₗ[K] Ω[F'⁄K] := letI := algebraAlong φ haveI := isScalarTower_along φ (KaehlerDifferential.map K K F F').restrictScalars K theorem pullbackAlong_D (φ : F →ₐ[K] F') (f : F) : pullbackAlong φ (D K F f) = D K F' (φ f) := by letI := algebraAlong φ haveI := isScalarTower_along φ exact KaehlerDifferential.map_D K K F F' f theorem pullbackAlong_smul (φ : F →ₐ[K] F') (f : F) (ω : Ω[F⁄K]) : pullbackAlong φ (f • ω) = φ f • pullbackAlong φ ω := by letI := algebraAlong φ haveI := isScalarTower_along φ show KaehlerDifferential.map K K F F' (f • ω) = _ rw [LinearMap.map_smul_of_tower] rfl open Classical in def traceAlong (φ : F →ₐ[K] F') : Ω[F'⁄K] →ₗ[K] Ω[F⁄K] := if h : SeparableAlong K φ then letI := algebraAlong φ haveI := isScalarTower_along φ haveI : Algebra.IsSeparable F F' := h haveI : Algebra.FormallyEtale F F' := Algebra.FormallyEtale.of_isSeparable F F' ((TensorProduct.lid F Ω[F⁄K]).toLinearMap ∘ₗ (Algebra.trace F F').rTensor Ω[F⁄K] ∘ₗ (KaehlerDifferential.tensorKaehlerEquivOfFormallyEtale K F F').symm.toLinearMap).restrictScalars K else 0 theorem traceAlong_smul_pullbackAlong (φ : F →ₐ[K] F') (h : SeparableAlong K φ) (u : F') (ω : Ω[F⁄K]) : traceAlong φ (u • pullbackAlong φ ω) = (letI := algebraAlong φ; Algebra.trace F F' u) • ω := by letI := algebraAlong φ haveI := isScalarTower_along φ haveI : Algebra.IsSeparable F F' := h haveI : Algebra.FormallyEtale F F' := Algebra.FormallyEtale.of_isSeparable F F' rw [traceAlong, dif_pos h] simp only [LinearMap.coe_restrictScalars, LinearMap.coe_comp, LinearEquiv.coe_coe, Function.comp_apply] have hsymm : (KaehlerDifferential.tensorKaehlerEquivOfFormallyEtale K F F').symm (u • pullbackAlong φ ω) = u ⊗ₜ ω := by rw [LinearEquiv.symm_apply_eq, KaehlerDifferential.tensorKaehlerEquivOfFormallyEtale_apply, KaehlerDifferential.mapBaseChange_tmul] rfl rw [hsymm, LinearMap.rTensor_tmul, TensorProduct.lid_tmul] theorem traceAlong_of_not (φ : F →ₐ[K] F') (h : ¬ SeparableAlong K φ) : traceAlong φ = 0 := by rw [traceAlong, dif_neg h] def correspondence (φ ψ : F →ₐ[K] F') : Ω[F⁄K] →ₗ[K] Ω[F⁄K] := traceAlong φ ∘ₗ pullbackAlong ψ theorem correspondence_apply (φ ψ : F →ₐ[K] F') (ω : Ω[F⁄K]) : correspondence φ ψ ω = traceAlong φ (pullbackAlong ψ ω) := rfl end Differential end AlgebraicCurve end
Statements phrased using this module (44)
- Correspondences preserve regular differentials
AlgebraicCurve.Differential.correspondence_mem_regularDifferentials0 below · depth 10 - Relations on Pic⁰ pass to regular differentials
AlgebraicCurve.Pic0.freeAlgebra_lift_differential_eq_zero_of_lift_correspondence_eq_zero148 below · depth 10 - Trace of differentials at a geometric point is a sum over lifts
AlgebraicCurve.Differential.pullbackAlong_traceAlong_eq_sum_lifts0 below · depth 11 - Differential form of Abel's theorem over a constant-field extension
AlgebraicCurve.Differential.sum_ord_smul_pullbackAlong_eq_zero81 below · depth 11 - Relations in Pic⁰ make geometric cycles principal
AlgebraicCurve.Pic0.exists_principal_geometricCycle_of_lift_correspondence_eq_zero140 below · depth 11 - Abel–Jacobi intertwines a correspondence with its differential matrix
AlgebraicCurve.abelJacobiDiv_correspondence_sub_vecMul_mem_pathPeriodLattice99 below · depth 17 - Hasse invariant intertwines the two Hecke operators at ℓ
ModularCurve.hasse_smul_traceAlong_smul_pullbackAlong_smul_D_jGeomGen_eq155 below · depth 17 - Dual compatibility of supersingular Hecke map with T_Ω
ModularCurve.theta_ssHeckeFun_eq_inv_smul_dualMap_of_forall_weilOfKaehler894 below · depth 17 - Local holomorphic lift of AJ∘ T modulo periods
AlgebraicCurve.exists_ball_abelJacobiDiv_correspondence_sub_sub_mem_pathPeriodLattice98 below · depth 18 - Row form of Hecke compatibility for the supersingular residue pairing
ModularCurve.ssResiduePairing_ssHeckeFun_eq_comp_traceAlong891 below · depth 18 - Correspondences on divisors and logarithmic differentials agree
AlgebraicCurve.Divisor.correspondence_eq_ord_norm_and_dlog_norm_eq_traceAlong_pullbackAlong3 below · depth 19 - Faithfulness of the cotangent representation of correspondences
AlgebraicCurve.Pic0.freeAlgebra_lift_correspondence_eq_zero_of_lift_differential_eq_zero279 below · depth 19 - Local primitive for the Abel–Jacobi vector pulled back along ψ
AlgebraicCurve.exists_ball_abelJacobiVec_restrictAlong_sub_sub_mem_pathPeriodLattice14 below · depth 19 - Fricke twist of δ lands in 𝔪-torsion differentials
ModularCurve.pullbackAlong_apply_mem_mTorsionDiffOf_of_mem_heckeTorsion_jZero_of_coe_eq_reductionModL1,021 below · depth 19 - Hecke compatibility of the supersingular residue pairing
ModularCurve.sum_kaehlerResidueTerm_liftFun_ssHeckeFun_eq890 below · depth 19 - Constant field extension: regular differentials and correspondences
AlgebraicCurve.Differential.map_correspondence_regularDifferentials_of_constantFieldExtension88 below · depth 20 - Swapping automorphism conjugates tr_αβ^* into tr_βα^*
AlgebraicCurve.Differential.pullbackAlong_traceAlong_pullbackAlong_eq_traceAlong_pullbackAlong_pullbackAlong_of_swap0 below · depth 20 - Trace along a separable map agrees with traceDiff
AlgebraicCurve.Differential.traceAlong_eq_traceDiff1 below · depth 20 - Faithfulness of the cotangent action of correspondences over ℂ
AlgebraicCurve.Pic0.freeAlgebra_lift_correspondence_eq_zero_of_lift_differential_eq_zero_complex221 below · depth 20 - Automorphisms preserve regular differentials on a curve
AlgebraicCurve.pullbackAlong_mem_regularDifferentials_of_mem_of_isCurveOver3 below · depth 20 - Serre's δ intertwines ̄ T_q with tr_α∘β^*
ModularCurve.apply_eq_traceAlong_pullbackAlong_of_coe_eq_heckePic0Fibre175 below · depth 20 - Degeneracy trace acts as formal T_q on q-expansions
ModularCurve.qExpansionDiffAlong_traceAlong_pullbackAlong_eq_heckeT231 below · depth 20 - Supersingular residue pairing against the degeneracy correspondence
ModularCurve.sum_kaehlerResidueTerm_eq_sum_kaehlerResidueTerm_traceAlong_of_ord_sub_traceFunAlong1 below · depth 20 - δ on Pic⁰[p] intertwines ψ_*φ^* with tr_ψφ^*
AlgebraicCurve.Pic0.torsion_apply_eq_traceAlong_pullbackAlong_of_correspondence5 below · depth 21 - Residue-pairing adjunction for a correspondence on a stable place set
AlgebraicCurve.sum_kaehlerResidueTerm_traceFunAlong_mul_eq_sum_kaehlerResidueTerm_traceAlong_smul_pullbackAlong0 below · depth 21 - Transport of a p-torsion dlog datum along equal subfields
ModularCurve.exists_addMonoidHom_torsion_recipe_qExpansionDiffAlong_congr_eq2 below · depth 21 - Correspondence adjunction for the Serre residue pairing
AlgebraicCurve.serrePairing_traceAlong_eq_serrePairing_traceAlong_pullbackAlong_of_cechH1ToH1_eq4 below · depth 25 - Degeneracy roof at the generic fibre: function-field Hecke correspondence
ModularCurve.exists_functionField_degeneracyRoof_kaehlerToFunctionField_eq_correspondence_of_res_eq_heckeDiffBar208 below · depth 25 - Regular differentials are preserved by a K-isomorphism of function fields
AlgebraicCurve.pullbackAlong_mem_regularDifferentials_of_mem_of_algEquiv4 below · depth 26 - Serre pairing is adjoint for pull-back and trace along φ
AlgebraicCurve.serrePairing_pullbackAlong_eq_serrePairing_traceAlong0 below · depth 26 - Trace of differentials is adjoint to pull-back of Čech classes
AlgebraicCurve.serrePairing_traceAlong_eq_serrePairing_pullbackAlong0 below · depth 26 - Degeneracy roof at q over the generic fibre
ModularCurve.exists_functionField_degeneracyRoof_lift_of_ratCurveModel4 below · depth 26 - Residue package for the two legs of the T_q degeneracy roof
ModularCurve.functionField_residuePackage_degeneracyRoof_of_finiteAlong85 below · depth 26 - Generic-fibre degeneracy roof for Hecke action on differentials
ModularCurve.kaehlerToFunctionField_eq_correspondence_degeneracyRoof_of_res_eq_heckeDiffBar161 below · depth 26 - Functoriality of pull-back of Kähler differentials
AlgebraicCurve.Differential.pullbackAlong_comp0 below · depth 27 - Naturality of the trace on differentials under isomorphisms of the pair
AlgebraicCurve.Differential.pullbackAlong_traceAlong_eq_traceAlong_pullbackAlong_of_algEquiv0 below · depth 27 - Integral pull-back preserves regular differentials
AlgebraicCurve.pullbackAlong_mem_regularDifferentials_of_isIntegral5 below · depth 27 - Differential correspondence commutes with constant field extension
AlgebraicCurve.Differential.map_correspondence_eq_correspondence_map_of_separableAlong_of_constantFieldExtension5 below · depth 30 - Automorphism pull-back preserves regularity, simple poles and residues
AlgebraicCurve.Place.isRegularAt_and_hasSimplePoleAt_and_hasSimpleResidue_smul_pullbackAlong_of_algEquiv52 below · depth 30 - Diamond pullback preserves supersingular-polar differentials and permutes residues
ModularCurve.diamondDiffModLH_mem_ssPolarDifferentials_and_residue_eq_residue_inv_smul1,244 below · depth 31 - Hecke correspondence preserves supersingular-polar differentials, transforming residues
ModularCurve.heckeDiffModLH_mem_ssPolarDifferentials_and_residue_eq_sum_fiberAlong_of_prime418 below · depth 31 - Residue transport along Frobenius for q-decimating differential operators
ModularCurve.mem_ssPolarDifferentials_and_residue_qExpFrobeniusPlaceModL_eq_of_isFrobPushDiff161 below · depth 31 - Pull-back of differentials scales simple residues by e
AlgebraicCurve.Place.isRegularAt_and_hasSimplePoleAt_and_hasSimpleResidue_mul_pullbackAlong_restrictAlong52 below · depth 32 - Trace of differentials preserves regularity, simple poles and residues
AlgebraicCurve.Place.isRegularAt_and_hasSimplePoleAt_and_hasSimpleResidue_sum_traceAlong_of_separableAlong_of_isAlgClosed55 below · depth 32