[Merged by Bors] - feat(RingTheory/ClassGroup): prove mulEquiv#35535
[Merged by Bors] - feat(RingTheory/ClassGroup): prove mulEquiv#35535mariainesdff wants to merge 18 commits intomasterfrom
Conversation
PR summary cc9c9b7838Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
| rfl | ||
|
|
||
| /-- A ring isomorphism `P ≃+* P'` induces an isomorphism on their class groups. -/ | ||
| noncomputable def RingEquiv.classGroupEquiv {P P' : Type*} [CommRing P] [IsDomain P] [CommRing P'] |
There was a problem hiding this comment.
To match QuotientGroup.congr this should perhaps be ClassGroup.congr
There was a problem hiding this comment.
I could change it, but why not rename QuotientGroup.congr to QuotientGroup.mulEquiv instead (and this to ClassGroup.mulEquiv? That seems more discoverable to me than congr.
| ← FractionalIdeal.ringEquivOfRingEquiv_symm_eq, hu] | ||
| rfl | ||
|
|
||
| /-- A ring isomorphism `P ≃+* P'` induces an isomorphism on their class groups. -/ |
There was a problem hiding this comment.
Can you characterize via a lemma what this isomorphism does to ClassGroup.mk?
There was a problem hiding this comment.
I don't think there is a nice formula for this.
|
This pull request has conflicts, please merge |
| have : RingHomCompTriple f (g : S →+* T) (f.trans g : R →+* T) := ⟨rfl⟩ | ||
| apply RingHom.ext | ||
| intro I | ||
| rw [Subtype.ext_iff] | ||
| simp only [ringHomOfRingEquiv, RingEquiv.coe_ringHom_trans, val_eq_coe, RingHom.coe_mk, | ||
| MonoidHom.coe_mk, OneHom.coe_mk, coe_mk, RingHom.coe_comp, Function.comp_apply] | ||
| rw [← Submodule.map_comp, IsFractionRing.semilinearEquivOfRingEquiv_comp K L f M] | ||
| rfl |
There was a problem hiding this comment.
| have : RingHomCompTriple f (g : S →+* T) (f.trans g : R →+* T) := ⟨rfl⟩ | |
| apply RingHom.ext | |
| intro I | |
| rw [Subtype.ext_iff] | |
| simp only [ringHomOfRingEquiv, RingEquiv.coe_ringHom_trans, val_eq_coe, RingHom.coe_mk, | |
| MonoidHom.coe_mk, OneHom.coe_mk, coe_mk, RingHom.coe_comp, Function.comp_apply] | |
| rw [← Submodule.map_comp, IsFractionRing.semilinearEquivOfRingEquiv_comp K L f M] | |
| rfl | |
| ext1 I | |
| simp [FractionalIdeal.coe_ext_iff, LinearEquiv.coe_trans, | |
| IsFractionRing.semilinearEquivOfRingEquiv_comp (K := K) (L := L), Submodule.map_comp] |
There was a problem hiding this comment.
This did not work.
| rw [Subtype.ext_iff] | ||
| simp only [ringHomOfRingEquiv_apply, RingEquiv.coe_ringHom_refl, RingEquiv.symm_refl, val_eq_coe, | ||
| coe_mk, RingHom.id_apply] | ||
| convert Submodule.map_id _ | ||
| ext x | ||
| simp [IsFractionRing.semilinearEquivOfRingEquiv] |
There was a problem hiding this comment.
Can you add a ringHomOfRingEquiv_refl lemma to make this proof simp [FractionalIdeal.coe_ext_iff]? Thanks.
There was a problem hiding this comment.
What do you mean?
|
✌️ mariainesdff can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors r+ |
We prove that isomorphic rings have isomorphic class groups. Co-authored by: @xgenereux. Co-authored-by: mariainesdff <mariaines.dff@gmail.com>
|
Pull request successfully merged into master. Build succeeded: |
We prove that isomorphic rings have isomorphic class groups. Co-authored by: @xgenereux. Co-authored-by: mariainesdff <mariaines.dff@gmail.com>
We prove that isomorphic rings have isomorphic class groups.
Co-authored by: @xgenereux.