refactor(Algebra): replace RingEquivClass.toRingEquiv by structure-specific coercions#21031
refactor(Algebra): replace RingEquivClass.toRingEquiv by structure-specific coercions#21031YaelDillies wants to merge 1 commit intomasterfrom
RingEquivClass.toRingEquiv by structure-specific coercions#21031Conversation
PR summary b43655dfe2Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
4cf814d to
c03f676
Compare
Vierkantor
left a comment
There was a problem hiding this comment.
Overall I agree that the generic hom coercions didn't turn out to be particularly useful, so I would be in favour of the PR.
Could you also check that the documentation on how to set up FunLikes is appropriately updated?
|
I am not touching this PR for a while by lack of time. Feel free to take over if you feel like it! |
c03f676 to
f3abcc1
Compare
f3abcc1 to
3b3673c
Compare
|
This pull request has conflicts, please merge |
3b3673c to
5ec8b43
Compare
|
Please add some explanations to the commit message. |
It's a big issue that this coercion even exists, but it is difficult to remove at the moment, cf #21031.
It's a big issue that this coercion even exists, but it is difficult to remove at the moment, cf #21031. From Toric
It's a big issue that this coercion even exists, but it is difficult to remove at the moment, cf #21031. From Toric
…rover-community#24779) It's a big issue that this coercion even exists, but it is difficult to remove at the moment, cf leanprover-community#21031. From Toric
|
This pull request has conflicts, please merge |
|
This pull request has conflicts, please merge |
878c341 to
5360aeb
Compare
|
What is the status of this PR? Because this is work that we want to get into Mathlib at some point, but I've been holding off on reviewing because of the empty PR description and WIP tag. |
|
The status is that it needs a lot more work before it's reviewable. I'm expecting the final diff to be around +-3k lines. @j-loreaux suggested preliminary steps to this PR but I am not sure that one can actually take those steps before the whole PR. Concretely, he suggests to first remove uses of hom classes in definitions, and then remove the generic coercions. The issue I see is that this will change the syntactic form of a lot of lemmas, and simp won't yet have been upgraded to handle that. My suggestion instead is to do the refactor one type of morphisms at a time, starting from the leaves of the morphism hierarchy and working towards the roots. |
|
This pull request has conflicts, please merge |
5360aeb to
c44e862
Compare
|
This pull request has conflicts, please merge |
c44e862 to
762fa61
Compare
762fa61 to
307c025
Compare
RingEquivClass.toRingEquiv by structure-specific coercions
RingEquivClass.toRingEquiv by structure-specific coercions RingEquivClass.toRingEquiv by structure-specific coercions
|
This pull request has conflicts, please merge |
…specific coercions Remove the coercion from `E` to `RingEquiv` assuming `RingEquivClass E` and given by `RingEquivClass.toRingEquiv`. For each concrete type, reimplement this coercion through the relevant structure projection.
4822076 to
f0b9582
Compare
Remove the coercion from
EtoRingEquivassumingRingEquivClass Eand given byRingEquivClass.toRingEquiv. For each concrete type, reimplement this coercion through the relevant structure projection.