Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fill in v_adicCompletionComapAlgHom #245

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 28 additions & 9 deletions FLT/DedekindDomain/FiniteAdeleRing/BaseChange.lean
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ def comap (w : HeightOneSpectrum B) : HeightOneSpectrum A where
isPrime := Ideal.comap_isPrime (algebraMap A B) w.asIdeal
ne_bot := mt Ideal.eq_bot_of_comap_eq_bot w.ne_bot

open scoped algebraMap
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this only causes trouble (e.g. the show (r : adicCompletion K (comap A w)) = @UniformSpace.Completion.coe' K this r from rfl below) and we don't really use it anyway.


lemma mk_count_factors_map
(hAB : Function.Injective (algebraMap A B))
(w : HeightOneSpectrum B) (I : Ideal A) [DecidableEq (Associates (Ideal A))]
Expand Down Expand Up @@ -219,22 +217,43 @@ noncomputable def adicCompletionComapAlgHom
subst hvw
simp only [RingHom.toMonoidHom_eq_coe, OneHom.toFun_eq_coe, MonoidHom.toOneHom_coe,
MonoidHom.coe_coe]
have : (adicCompletionComapRingHom A K _ w rfl) (r : adicCompletion K (comap A w)) =
have : (adicCompletionComapRingHom A K _ w rfl) (algebraMap _ _ r) =
(algebraMap L (adicCompletion L w)) (algebraMap K L r) := by
letI : UniformSpace L := w.adicValued.toUniformSpace
letI : UniformSpace K := (comap A w).adicValued.toUniformSpace
rw [adicCompletionComapRingHom, UniformSpace.Completion.mapRingHom]
rw [show (r : adicCompletion K (comap A w)) = @UniformSpace.Completion.coe' K this r from rfl]
apply UniformSpace.Completion.extensionHom_coe
rw [this, ← IsScalarTower.algebraMap_apply K L]
cont := sorry -- #235
cont :=
letI : UniformSpace K := v.adicValued.toUniformSpace;
letI : UniformSpace L := w.adicValued.toUniformSpace;
UniformSpace.Completion.continuous_extension

omit [IsIntegralClosure B A L] [FiniteDimensional K L] [Algebra.IsSeparable K L] in
lemma adicCompletionComapAlgHom_coe
(v : HeightOneSpectrum A) (w : HeightOneSpectrum B) (hvw : v = comap A w) (x : K) :
adicCompletionComapAlgHom A K L B v w hvw x = algebraMap K L x :=
(adicCompletionComapAlgHom A K L B v w hvw).commutes _

-- this name is surely wrong
open WithZeroTopology in
lemma v_adicCompletionComapAlgHom
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the right name according to the naming convention.
We could probably rename adicCompletionComapAlgHom to adicCompletionComap.

Copy link
Collaborator

@kbuzzard kbuzzard Nov 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am totally confused by your comment. How can w(x)=v(x)^e be called v_adicCompletionComapAlgHom? Where's the AlgHom in the statement?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your statement does not typecheck because $w$ is a valuation on $\hat{L}$ while $v$ is a valuation on $\hat{K}$.
So the statement is $w(f(x)) = v(x)^e$ where $f : \hat{K} \to \hat{L}$ is the map you called adicCompletionComap

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough!

(v : HeightOneSpectrum A) (w : HeightOneSpectrum B) (hvw : v = comap A w) (x) :
Valued.v (adicCompletionComapAlgHom A K L B v w hvw x) ^
(Ideal.ramificationIdx (algebraMap A B) (comap A w).asIdeal w.asIdeal) = Valued.v x := sorry
-- #234
Valued.v (adicCompletionComapAlgHom A K L B v w hvw x) = Valued.v x ^
Ideal.ramificationIdx (algebraMap A B) (comap A w).asIdeal w.asIdeal := by
revert x
apply funext_iff.mp
symm
letI : UniformSpace K := v.adicValued.toUniformSpace
letI : UniformSpace L := w.adicValued.toUniformSpace
apply UniformSpace.Completion.ext
· exact Valued.continuous_valuation.pow _
· exact Valued.continuous_valuation.comp (adicCompletionComapAlgHom ..).cont
intro a
simp only [Valued.valuedCompletion_apply, adicCompletionComapAlgHom_coe]
show v.valuation a ^ _ = (w.valuation _)
subst hvw
rw [← valuation_comap A K L B w a]

noncomputable def adicCompletionComapAlgHom' (v : HeightOneSpectrum A) :
(HeightOneSpectrum.adicCompletion K v) →ₐ[K]
Expand All @@ -245,7 +264,7 @@ noncomputable def adicCompletionContinuousComapAlgHom (v : HeightOneSpectrum A)
(HeightOneSpectrum.adicCompletion K v) →A[K]
(∀ w : {w : HeightOneSpectrum B // v = comap A w}, HeightOneSpectrum.adicCompletion L w.1) where
__ := adicCompletionComapAlgHom' A K L B v
cont := sorry -- #236
cont := continuous_pi fun w ↦ (adicCompletionComapAlgHom A K L B v _ w.2).cont

open scoped TensorProduct -- ⊗ notation for tensor product

Expand Down