Zulip Chat Archive
Stream: Is there code for X?
Topic: canonical isomorphism between localizations
Nikolas Kuhn (Jun 30 2022 at 20:11):
What is the slickest way to give the canonical isomorphism between two localizations of a ring at the same sub-monoid? Concretely, I'd like to prove something along these lines
example (R S : Type) [comm_ring R] [comm_ring S] (a: R →+* S) (r : R) :
localization.away (a r) ≃+* localization (submonoid.map ⟨a.1, a.2, a.3⟩ (submonoid.powers r)) :=
sorry
(I believe that the isomorphism is in fact secretely an equality.)
Ultimately, I want to identify the two maps obtained from localizing R at r along this isomorphism, but it would be helpful to construct it first.
Adam Topaz (Jun 30 2022 at 20:39):
docs#is_localization.alg_equiv gives the isomorphism between two localizations at the same submonoid.
Adam Topaz (Jun 30 2022 at 20:41):
So if you prove that, say, the RHS has a is_localization
instance of the right shape, that would give it to you.
Adam Topaz (Jun 30 2022 at 20:43):
This would give an isomorphism of algebras, which you can then covert to a ring isomorphism if absolutely necessary
Adam Topaz (Jun 30 2022 at 20:44):
If the two sides are really defeq, then you should be able to use docs#ring_equiv.refl
Nikolas Kuhn (Jun 30 2022 at 21:34):
Thanks! I could make something work:
import ring_theory.localization.basic
example (R S : Type) [comm_ring R] [comm_ring S] (a: R →+* S) (f: R) :
localization (submonoid.map ⟨a.1, a.2, a.3⟩ (submonoid.powers f)) ≃ₐ[S] localization.away (a f):=
begin
have h₁ : submonoid.map ↑a (submonoid.powers f) = submonoid.powers (a f) :=
submonoid.map_powers _ _,
have h₂: is_localization (submonoid.powers (a f)) (localization.away (a f)), by apply_instance,
rw ← congr_arg is_localization h₁ at h₂,
exact @localization.alg_equiv _ _
(submonoid.map ↑a (submonoid.powers f)) (localization.away (a f)) _ _ h₂,
end
Yakov Pechersky (Jun 30 2022 at 23:02):
Your have h2 should be a haveI and that way you won't have to use the @ at the end
Nikolas Kuhn (Jul 01 2022 at 07:36):
Ah, great. I was wondering how to add instances.
Nikolas Kuhn (Jul 01 2022 at 07:47):
Although I seem to still have to introduce h_2 in order to rewrite it...
Eric Wieser (Jul 01 2022 at 08:57):
⟨a.1, a.2, a.3⟩
should be a.to_monoid_hom
or maybe just a
Last updated: Dec 20 2023 at 11:08 UTC