Definitions/Def_GaloisRep_ComplexConjugation.lean
Complex conjugation in the absolute Galois group of
Working with \overline{\mathbb{Q}} realised as AlgebraicClosure ℚ, this module fixes an embedding into \mathbb{C} and the resulting involution in \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}). First, complexEmbedding is a \mathbb{Q}-algebra homomorphism \overline{\mathbb{Q}} \to \mathbb{C}, obtained by lifting along the algebraic extension \overline{\mathbb{Q}}/\mathbb{Q} into the algebraically closed field \mathbb{C}; it is in general not canonical, so a choice is made once and for all and all later statements refer to it. Via this embedding, \mathbb{C} is regarded as an \overline{\mathbb{Q}}-algebra, with the tower \mathbb{Q} \subseteq \overline{\mathbb{Q}} \subseteq \mathbb{C}. Next, complexConjAlgEquiv is complex conjugation z \mapsto \bar z on \mathbb{C}, packaged as a \mathbb{Q}-algebra automorphism of \mathbb{C} (conjugation fixes the rational numbers); it satisfies complexConjAlgEquiv * complexConjAlgEquiv = 1. Since \overline{\mathbb{Q}} is normal over \mathbb{Q}, restriction of \mathbb{Q}-automorphisms of \mathbb{C} to \overline{\mathbb{Q}} is a group homomorphism, and complexConjugation is defined as the image of complexConjAlgEquiv under it: the element c \in \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) characterised by complexEmbedding_complexConjugation, namely that the chosen embedding intertwines c with conjugation on \mathbb{C}, \iota(c x) = \overline{\iota(x)} for all x \in \overline{\mathbb{Q}}. That c is an involution is recorded in three forms: c \cdot c = 1, c^2 = 1 and c^{-1} = c.
The ExtCitation namespace supplies the archimedean local datum: archimedeanDecomposition is the subgroup \langle c \rangle of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) generated by c (as the subgroup of integer powers), archimedeanGen is c viewed as an element of that subgroup, and archimedeanLoc is the inclusion homomorphism of the subgroup into the absolute Galois group, sending archimedeanGen to complexConjugation.
Relation to Mathlib
Mathlib provides the ingredients — AlgebraicClosure ℚ, the lift of an algebraic extension into an algebraically closed field, the conjugation automorphism starRingAut of \mathbb{C}, and restriction of automorphisms along a normal subextension — but no named complex conjugation element of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}); the fixed embedding complexEmbedding and the element complexConjugation are this project's choices.
Where it is used
The element c is the archimedean ingredient of the Galois-theoretic input to the proof: it gives the decomposition group at the real place, used for the oddness of the mod p representation attached to a Frey curve (the cyclotomic character takes the value -1 at c) and for parity computations of H^0 at the real place.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- J.-P. Serre, Propriétés galoisiennes des points d'ordre fini des courbes elliptiques, Inventiones Mathematicae 15 (1972), 259–331
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 63 lines
- 13 declarations
- used in the statements of 34 theorems and imported by 46 proofs
- imports 0 definition modules
Source file: Definitions/Def_GaloisRep_ComplexConjugation.lean
Imports
- only Mathlib
Imported by
Declarations
- def
complexEmbedding - def
complexConjAlgEquiv - lemma
complexConjAlgEquiv_apply - lemma
complexConjAlgEquiv_mul_self - def
complexConjugation - theorem
complexEmbedding_complexConjugation - theorem
complexConjugation_mul_self - theorem
complexConjugation_sq - theorem
complexConjugation_inv - def
ExtCitation.archimedeanDecomposition - def
ExtCitation.archimedeanGen - def
ExtCitation.archimedeanLoc - lemma
ExtCitation.archimedeanLoc_archimedeanGen
Source
import Mathlib set_option autoImplicit false local instance isAlgebraicQbar_cc : Algebra.IsAlgebraic ℚ (AlgebraicClosure ℚ) := AlgebraicClosure.isAlgebraic ℚ local instance isAlgClosureQbar_cc : IsAlgClosure ℚ (AlgebraicClosure ℚ) := ⟨inferInstance, inferInstance⟩ local instance normalQbar_cc : Normal ℚ (AlgebraicClosure ℚ) := IsAlgClosure.normal ℚ (AlgebraicClosure ℚ) noncomputable local instance instDecEqQbar_cc : DecidableEq (AlgebraicClosure ℚ) := Classical.decEq _ noncomputable def complexEmbedding : AlgebraicClosure ℚ →ₐ[ℚ] ℂ := IsAlgClosed.lift noncomputable local instance instAlgebraQbarComplex : Algebra (AlgebraicClosure ℚ) ℂ := complexEmbedding.toRingHom.toAlgebra local instance instTowerQbarComplex : IsScalarTower ℚ (AlgebraicClosure ℚ) ℂ := IsScalarTower.of_algebraMap_eq' (Subsingleton.elim _ _) noncomputable def complexConjAlgEquiv : ℂ ≃ₐ[ℚ] ℂ := AlgEquiv.ofRingEquiv (f := starRingAut) fun x => map_ratCast (starRingEnd ℂ) x @[simp] lemma complexConjAlgEquiv_apply (z : ℂ) : complexConjAlgEquiv z = starRingEnd ℂ z := rfl lemma complexConjAlgEquiv_mul_self : complexConjAlgEquiv * complexConjAlgEquiv = 1 := AlgEquiv.ext fun z => Complex.conj_conj z noncomputable def complexConjugation : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ := AlgEquiv.restrictNormalHom (F := ℚ) (K₁ := ℂ) (AlgebraicClosure ℚ) complexConjAlgEquiv theorem complexEmbedding_complexConjugation (x : AlgebraicClosure ℚ) : complexEmbedding (complexConjugation x) = starRingEnd ℂ (complexEmbedding x) := AlgEquiv.restrictNormal_commutes complexConjAlgEquiv (AlgebraicClosure ℚ) x theorem complexConjugation_mul_self : complexConjugation * complexConjugation = 1 := by rw [complexConjugation, ← map_mul, complexConjAlgEquiv_mul_self, map_one] theorem complexConjugation_sq : complexConjugation ^ 2 = 1 := by rw [sq]; exact complexConjugation_mul_self theorem complexConjugation_inv : complexConjugation⁻¹ = complexConjugation := inv_eq_of_mul_eq_one_right complexConjugation_mul_self namespace ExtCitation noncomputable def archimedeanDecomposition : Subgroup (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) := Subgroup.zpowers complexConjugation noncomputable def archimedeanGen : archimedeanDecomposition := ⟨complexConjugation, Subgroup.mem_zpowers complexConjugation⟩ noncomputable def archimedeanLoc : archimedeanDecomposition →* (AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) := archimedeanDecomposition.subtype @[simp] lemma archimedeanLoc_archimedeanGen : archimedeanLoc archimedeanGen = complexConjugation := rfl end ExtCitation
Statements phrased using this module (34)
- Deligne–Serre: weight-one form with tame level exponents
DeligneSerre.exists_weightOne_cuspForm_tameConductor_of_qCoeff_eq_trace438 below · depth 9 - Deligne–Serre: Euler factors and tame level exponents for weight one
DeligneSerre.eulerFactor_eq_and_tameLevel_of_weightOne_newform_qCoeff_eq_trace385 below · depth 10 - Descent of Deligne–Serre output to a ℤ[√-2]-valued eigensystem
LanglandsTunnell.exists_isWeightOneChiNegThreeRealized_of_deligneSerre_output8 below · depth 10 - Complex conjugation on E[p] has trace 0, determinant -1
WeierstrassCurve.galoisTrace_complexConjugation_eq_zero_and_det_eq_neg_one47 below · depth 10 - Functional equation for odd two-dimensional Artin L-functions
ArtinL.exists_completedLSeries_functionalEquation_of_odd377 below · depth 11 - Determinant of the lifted mod 3 representation at Frobenius
LanglandsTunnell.det_map_comp_lift_eq_chiNegThree_of_isFrobeniusAt0 below · depth 11 - Frobenius trace on inertia invariants lies in ι(ℤ[√-2])
LanglandsTunnell.trace_restrict_invariants_mem_range_of_lift0 below · depth 11 - Cyclotomic determinant forces detρ̄(c)=-1
ResidualGaloisRep.det_complexConjugation_eq_neg_one_of_detIsCyclotomic0 below · depth 13 - Mod-p cyclotomic character of complex conjugation is -1
ExtCitation.cycloChar_complexConjugation_eq_neg_one0 below · depth 16 - Dual Galois module for localised H¹(Γ_H(M)) with Eichler–Shimura relation
CohCarrier.exists_galoisModule_H1_to_dual_charInvolution_frobenius_of_isAbsolutelyIrreducible1,257 below · depth 18 - Twisted mod p cyclotomic character: Frobenius and conjugation values
MonoidHom.exists_galoisCharacter_apply_complexConjugation_eq_apply_frobenius_eq_natCast_mul3 below · depth 18 - Eichler–Shimura duality mod p for parabolic H¹ of Γ_H(M)
CohCarrier.exists_galoisModule_parabolicHoms_to_dual_charInvolution_frobenius1,231 below · depth 19 - Archimedean local bridge in degree one at a complex place
NumberField.InfPlaceDecomp.exists_isLocalBridge1_archimedean5 below · depth 19 - Injective archimedean local bridge at an infinite place
NumberField.InfPlaceDecomp.exists_isLocalBridge2_archimedean4 below · depth 19 - Complex conjugation generates decomposition groups at infinite places
NumberField.InfPlaceDecomp.exists_restrictNormalHom_conj_complexConjugation_mem_decomp0 below · depth 19 - Archimedean local-bridge hypotheses: level, divisibility, degree-one acyclicity
NumberField.InfPlaceDecomp.localBridge_hypotheses_archimedean1 below · depth 19 - Existence of a degree-one local bridge at a finite place
NumberField.PlaceDecomp.exists_isLocalBridge1_padicAlgCl17 below · depth 19 - q-adic coordinates for a completion at a finite place
NumberField.PlaceDecomp.exists_ringHom_adicCompletion_padicAlgCl_extends_padicEmbedding1 below · depth 19 - Arithmetic hypotheses of the local bridge at a finite place
NumberField.PlaceDecomp.localBridge_hypotheses_padicAlgCl13 below · depth 19 - Hecke-equivariant Abel–Jacobi isomorphism for X_H(M) over ℂ
ModularCurve.exists_bijective_heckeEquivariant_addMonoidHom_pic0_complex_xH_quotient_periodLatticeOf490 below · depth 20 - Hecke-equivariant map from parabolic cohomology to the dual Tate module
ModularCurve.exists_heckeEquivariant_parabolicHoms_to_dual_tateModule_jH_charInvolution531 below · depth 20 - Base change of J_H(M) to ℂ: injectivity, torsion, Hecke
ModularCurve.exists_injective_heckeEquivariant_addMonoidHom_jH_pic0_complex97 below · depth 20 - Unit groups of complex completions are divisible
NumberField.InfinitePlace.exists_pow_eq_of_isTotallyComplex0 below · depth 20 - Divisible lift to ℚ̄_q^× fixed by a finite global level
NumberField.PlaceDecomp.exists_extension_fixed_of_injective_padicAlgCl5 below · depth 20 - Level-constant cocycles into ℚ̄_q^× are level-fixed coboundaries
NumberField.PlaceDecomp.exists_fixed_d01_eq_of_isLevelConstant1_padicAlgCl9 below · depth 20 - Each σ cuts out a place of F above q
NumberField.PlaceDecomp.exists_forall_mem_asIdeal_iff_norm_padicEmbedding_lt_one0 below · depth 20 - q-adic coordinates of F_w for a prescribed σ
NumberField.PlaceDecomp.exists_ringHom_adicCompletion_padicAlgCl_of_forall_mem_asIdeal_iff2 below · depth 20 - Units fixed by the kernel lie in Φ(F_w^×)
NumberField.PlaceDecomp.exists_unit_map_eq_of_forall_apply_eq_padicAlgCl1 below · depth 20 - A continuous q-adic embedding of F_w recovers w
NumberField.PlaceDecomp.mem_asIdeal_iff_norm_padicEmbedding_lt_one_of_continuous0 below · depth 20 - Coefficientwise conjugation sends pt(τ) to pt(-τ̄)
ModularCurve.ComplexPlaceDictionaryOf.arithmeticGalois_complexConjAlgEquiv_smul_pt2 below · depth 21 - Tate module of J_H(M) versus the period lattice
ModularCurve.exists_heckeEquivariant_linearEquiv_tateModule_jH_padicInt_tensor_periodLatticeOf_charInvolution528 below · depth 21 - Equivariant Abel–Jacobi bijection for X_H(M) over ℂ
ModularCurve.exists_bijective_heckeEquivariant_addMonoidHom_pic0_complex_xH_quotient_periodLatticeOf_slash490 below · depth 22 - Uniformisation of J_H(M) with Hecke and conjugation compatibility
ModularCurve.exists_injective_heckeEquivariant_addMonoidHom_jH_quotient_periodLatticeOf_complexConjugation520 below · depth 22 - Archimedean continuous H²: finite, of order at most two
groupCohomology.finite_continuousH2_inf_map_conj_range_archimedeanLoc_and_natCard_le_two0 below · depth 23