Paper X · Lean source
QuadraticLocalGalois.lean
Declared contract recorded Coverage and evidence
The cited release explicitly reports completion of its registered formal contract, under its exact hypotheses.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (2)
PaperX/QuadraticLocalGalois.lean122 lines
Original source path
current_continuation/lean/PaperX/QuadraticLocalGalois.leanSkip declarations and read code
1 import PaperX.QuadraticGalois
2 import PaperX.GaloisComparisonCompletion
3
4 /-! The fixed quadratic global quotient restricted to actual absolute Galois
5 groups of characteristic-zero coefficient fields. The field restriction is
6 Mathlib's actual map, including its chosen algebraic-closure embedding. -/
7 set_option autoImplicit false
8 noncomputable section
9 namespace PaperX.QuadraticLocalGalois
10 open PaperX.ArithmeticCertificateExample PaperX.QuadraticGalois
11 open PaperX.CompletionExamples
12
13 variable (K : Type*) [Field K] [CharZero K]
14
15 def restriction : Field.absoluteGaloisGroup K →ₜ* Field.absoluteGaloisGroup ℚ :=
16 Field.absoluteGaloisGroup.map (algebraMap ℚ K)
17
18 def closureEmbedding : Qbar →ₐ[ℚ] AlgebraicClosure K := IsAlgClosed.lift
19
20 def localRoot : AlgebraicClosure K := closureEmbedding K imaginary
21
22 def localQuotient : Field.absoluteGaloisGroup K →* C2 :=
23 quotientMap.comp (restriction K).toMonoidHom
24
25 theorem localRoot_sq : localRoot K ^ 2 = -1 := by
26 rw [localRoot, ← map_pow, imaginary_sq, map_neg, map_one]
27
28 theorem restriction_commutes (σ : Field.absoluteGaloisGroup K) (x : Qbar) :
29 closureEmbedding K ((show GQ from restriction K σ) x) =
30 (show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ) (closureEmbedding K x) := by
31 let g : Qbar →ₐ[ℚ] AlgebraicClosure K := IsAlgClosed.lift
32 let : Algebra Qbar (AlgebraicClosure K) := g.toAlgebra
33 exact AlgEquiv.restrictNormal_commutes
34 ((show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ).restrictScalars ℚ)
35 Qbar x
36
37 theorem localQuotient_eq_one_iff (σ : Field.absoluteGaloisGroup K) :
38 localQuotient K σ = 1 ↔
39 (show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ) (localRoot K) = localRoot K := by
40 change quotientMap (restriction K σ) = 1 ↔ _
41 rw [quotientMap_eq_one_iff]
42 constructor
43 · intro h
44 exact (restriction_commutes K σ imaginary).symm.trans (congrArg (closureEmbedding K) h)
45 · intro h
46 apply (closureEmbedding K).injective
47 exact (restriction_commutes K σ imaginary).trans h
48
49 /-- The chosen image is rational over the local field exactly when minus one is a square. -/
50 theorem localRoot_mem_range_iff :
51 localRoot K ∈ Set.range (algebraMap K (AlgebraicClosure K)) ↔
52 ∃ x : K, x ^ 2 = -1 := by
53 constructor
54 · rintro ⟨x, hx⟩
55 refine ⟨x, (algebraMap K (AlgebraicClosure K)).injective ?_⟩
56 rw [map_pow, hx, localRoot_sq, map_neg, map_one]
57 · rintro ⟨x, hx⟩
58 have hs : localRoot K ^ 2 = (algebraMap K (AlgebraicClosure K) x) ^ 2 := by
59 rw [localRoot_sq, ← map_pow, hx, map_neg, map_one]
60 rcases sq_eq_sq_iff_eq_or_eq_neg.mp hs with h | h
61 · exact ⟨x, h.symm⟩
62 · exact ⟨-x, by rw [map_neg]; exact h.symm⟩
63
64 /-- A theorem about the actual field-induced Galois restriction map. -/
65 theorem localQuotient_trivial_iff :
66 localQuotient K = 1 ↔ ∃ x : K, x ^ 2 = -1 := by
67 rw [← localRoot_mem_range_iff K,
68 InfiniteGalois.mem_range_algebraMap_iff_fixed (localRoot K)]
69 constructor
70 · intro h σ
71 exact (localQuotient_eq_one_iff K σ).mp
72 (congrArg (fun f : Field.absoluteGaloisGroup K →* C2 => f σ) h)
73 · intro h
74 apply MonoidHom.ext
75 intro σ
76 exact (localQuotient_eq_one_iff K σ).mpr (h σ)
77
78 theorem localQuotient_hits_generator
79 (h : ¬ ∃ x : K, x ^ 2 = -1) :
80 ∃ σ : Field.absoluteGaloisGroup K, localQuotient K σ = generator := by
81 by_contra hn
82 apply h
83 apply (localQuotient_trivial_iff K).mp
84 apply MonoidHom.ext
85 intro σ
86 have hc : ∀ c : C2, c = 1 ∨ c = generator := by decide +kernel
87 rcases hc (localQuotient K σ) with hσ | hσ
88 · exact hσ
89 · exact False.elim (hn ⟨σ, hσ⟩)
90
91 theorem localQuotient_surjective
92 (h : ¬ ∃ x : K, x ^ 2 = -1) : Function.Surjective (localQuotient K) := by
93 intro c
94 have hc : ∀ c : C2, c = 1 ∨ c = generator := by decide +kernel
95 rcases hc c with rfl | rfl
96 · exact ⟨1, map_one _⟩
97 · exact localQuotient_hits_generator K h
98
99 theorem localQuotient_continuous : Continuous (localQuotient K) :=
100 absoluteQuadraticCharacter_continuous.comp (restriction K).continuous
101
102 /-- Fixing one square root is equivalent to fixing any other choice. -/
103 theorem localQuotient_eq_one_iff_fixed_root (y : AlgebraicClosure K)
104 (hy : y ^ 2 = -1) (σ : Field.absoluteGaloisGroup K) :
105 localQuotient K σ = 1 ↔
106 (show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ) y = y := by
107 have hs : y ^ 2 = localRoot K ^ 2 := by rw [hy, localRoot_sq]
108 rcases sq_eq_sq_iff_eq_or_eq_neg.mp hs with h | h
109 · rw [h]
110 exact localQuotient_eq_one_iff K σ
111 · rw [h]
112 have hn : (show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ)
113 (-localRoot K) =
114 -(show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ) (localRoot K) :=
115 map_neg (show AlgebraicClosure K ≃ₐ[K] AlgebraicClosure K from σ) _
116 rw [hn, neg_inj]
117 exact localQuotient_eq_one_iff K σ
118
119 theorem restriction_padic (p : ℕ) [Fact p.Prime] :
120 restriction ℚ_[p] = GaloisComparisonCompletion.localRestriction p := rfl
121
122 end PaperX.QuadraticLocalGalois
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: 6e61184de80ab8ed7156f6ec4a46b8841717984d575900e3ead4565301e011e1
Back to Paper X: Universal Residual Seeds and Conditional Occupied-System Completion