Skip to content

Commit 1e5eb39

Browse files
Prove prodAdicCompletionComap_isModuleTopology (#353)
* Prove prodAdicCompletionComap_isModuleTopology Fixes #327. * Finite Co-authored-by: Yakov Pechersky <[email protected]> * Update blueprint --------- Co-authored-by: Yakov Pechersky <[email protected]>
1 parent f9bca0d commit 1e5eb39

File tree

2 files changed

+38
-6
lines changed

2 files changed

+38
-6
lines changed

FLT/DedekindDomain/FiniteAdeleRing/BaseChange.lean

+37-6
Original file line numberDiff line numberDiff line change
@@ -246,23 +246,54 @@ lemma v_adicCompletionComapSemialgHom
246246
subst hvw
247247
rw [← valuation_comap A K L B w a]
248248

249+
def noZeroSMulDivisors : NoZeroSMulDivisors A B := by
250+
constructor
251+
intro r x h
252+
suffices (algebraMap A K r) • (algebraMap B L x) = 0 by
253+
rw [smul_eq_zero] at this
254+
simpa using this
255+
have ht : Algebra.linearMap B L (r • x) = r • algebraMap B L x := by
256+
simp [LinearMap.map_smul_of_tower]
257+
rw [IsScalarTower.algebraMap_smul, ← ht, h, map_zero]
258+
259+
def finite (v : HeightOneSpectrum A) : Finite {w : HeightOneSpectrum B // v = comap A w} := by
260+
have := noZeroSMulDivisors A K L B
261+
rw [← Set.coe_setOf]
262+
rw [@Set.finite_coe_iff]
263+
have := primesOver_finite v.asIdeal B
264+
refine Set.Finite.of_finite_image (f := HeightOneSpectrum.asIdeal) ?_ ?_
265+
· refine Set.Finite.subset this ?_
266+
simp only [Set.subset_def, Set.mem_image, Set.mem_setOf_eq, forall_exists_index, and_imp,
267+
forall_apply_eq_imp_iff₂]
268+
rintro w rfl
269+
simp only [Ideal.primesOver, Set.mem_setOf_eq, isPrime, true_and]
270+
constructor
271+
simp [Ideal.under_def, comap]
272+
· intro x hx y hy hxy
273+
rwa [← @HeightOneSpectrum.ext_iff] at hxy
274+
249275
/-- The canonical map `K_v → ∏_{w|v} L_w` extending K → L. -/
250276
noncomputable def adicCompletionComapSemialgHom' (v : HeightOneSpectrum A) :
251277
(HeightOneSpectrum.adicCompletion K v) →ₛₐ[algebraMap K L]
252278
(∀ w : {w : HeightOneSpectrum B // v = comap A w}, HeightOneSpectrum.adicCompletion L w.1) :=
253279
Pi.semialgHom _ _ fun i ↦ adicCompletionComapSemialgHom A K L B v i.1 i.2
254280

255-
lemma prodAdicCompletionComap_isModuleTopology
256-
(v : HeightOneSpectrum A) (w : HeightOneSpectrum B) (hvw : v = comap A w) :
281+
lemma prodAdicCompletionComap_isModuleTopology (v : HeightOneSpectrum A) :
257282
-- temporarily make ∏_w L_w a K_v-algebra
258-
let inst_alg : Algebra (HeightOneSpectrum.adicCompletion K v)
283+
letI inst_alg : Algebra (HeightOneSpectrum.adicCompletion K v)
259284
(∀ w : {w : HeightOneSpectrum B // v = comap A w}, HeightOneSpectrum.adicCompletion L w.1) :=
260-
RingHom.toAlgebra <|
261-
Pi.ringHom (fun w : {w : HeightOneSpectrum B // v = comap A w} ↦ adicCompletionComapSemialgHom A K L B v w.1 w.2)
285+
RingHom.toAlgebra <| adicCompletionComapSemialgHom' A K L B v
262286
-- the claim that L_w has the module topology.
263287
IsModuleTopology (HeightOneSpectrum.adicCompletion K v)
264288
(∀ w : {w : HeightOneSpectrum B // v = comap A w}, HeightOneSpectrum.adicCompletion L w.1) := by
265-
sorry -- FLT#327
289+
let _ (w : { w : HeightOneSpectrum B // v = comap A w }) :
290+
Module (adicCompletion K v) (adicCompletion L w.1) :=
291+
@Algebra.toModule _ _ _ _ <| RingHom.toAlgebra <| adicCompletionComapSemialgHom A K L B v w.1 w.2
292+
let _ (w : { w : HeightOneSpectrum B // v = comap A w }) :
293+
IsModuleTopology (adicCompletion K v) (adicCompletion L w.1) :=
294+
adicCompletionComap_isModuleTopology A K L B v w.1 w.2
295+
let _ := finite A K L B v
296+
infer_instance
266297

267298
open scoped TensorProduct -- ⊗ notation for tensor product
268299

blueprint/src/chapter/AdeleMiniproject.tex

+1
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ \subsection{Base change for finite adeles}
225225
topology.
226226
\end{theorem}
227227
\begin{proof}
228+
\leanok
228229
This is a finite product of $K_v$-modules each of which has the $K_v$-module topology
229230
by~\ref{IsDedekindDomain.HeightOneSpectrum.adicCompletionComap_isModuleTopology},
230231
and the product topology is the module topology for a finite product of modules each of which

0 commit comments

Comments
 (0)