-
Notifications
You must be signed in to change notification settings - Fork 195
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
opposite rings #1940
opposite rings #1940
Conversation
<!-- ps-id: 4377567b-f2e2-437c-aae2-02b81f1b088c --> Signed-off-by: Ali Caglayan <[email protected]>
884c11c
to
b0c83eb
Compare
Signed-off-by: Ali Caglayan <[email protected]>
Mystery solved: Coq makes the #[universes(polymorphic=yes)] Definition ReverseCoercionSource (T : Type) := T.
#[universes(polymorphic=yes)] Definition ReverseCoercionTarget (T : Type) := T.
#[warning="-uniform-inheritance", reversible=no, universes(polymorphic=yes)]
Coercion reverse_coercion {T' T} (x' : T') (x : ReverseCoercionSource T)
: ReverseCoercionTarget T' := x'.
Register reverse_coercion as core.coercion.reverse_coercion. In this case, our I believe this is unintentional for this coercion to be marked as reversible and has been fixed upstream. coq/coq#18705 Edit: actually this won't fix this, but We should add the code above so that Thanks @SkySkimmer for explaining the behaviour on Zulip. |
Signed-off-by: Ali Caglayan <[email protected]>
Ok, that's interesting. In any case, I still think we want to define |
Signed-off-by: Ali Caglayan <[email protected]>
Signed-off-by: Ali Caglayan <[email protected]>
I simplified the theory of ideals using the opposite ring. However in doing so I redefined the quotient/colon ideal as an intersection of the "left" and "right" versions. This has made the entire thing much more complicated so I don't know what to do with it. I have scoured all the literature I know on noncommutative rings and I couldn't find anything about colon ideals in this generality. It only seems to appear in commutative algebra/algebraic geometry, in fact this was my original motivation for adding them as they describe complements in the Zariski topology. I'm tempted to just move all the colon ideal stuff to |
That turned out quite well!
I don't know much about this, but specializing to commutative rings seems fine to me, if that's all you can find written about this. |
Signed-off-by: Ali Caglayan <[email protected]>
theories/Algebra/Rings/Ring.v
Outdated
- exact (fun x y z => mult_assoc_opp z y x). | ||
- exact ri. | ||
- exact li. | ||
- exact (fun x y z => rd y z x). | ||
- exact (fun x y z => ld z x y). | ||
- exact (fun x y z => mult_assoc z y x). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we have mult_assoc_opp
take its arguments in the reverse order, then lines 428 and 433 will become simpler, and so rng_op
will be slightly smaller. Probably worth it. For Is1Cat too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same for the distributivity laws (which also comes up in my last commit, where I needed a fun x y => ...
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've changed mult_assoc_opp
like you've suggested but I don't think its worth touching the distributivity laws in general. Your specific case isn't actually using the mathclasses distributivity but the ring law version.
However changing the order of those arguments will be confusing during use. The opp field isn't supposed to actually be used by anybody anyway.
Do you still want to simplify colon ideals? It's ok with me either way. |
I think I won't touch it for the moment. |
Signed-off-by: Ali Caglayan <[email protected]>
LGTM |
This is a start on #1921. I've opened it now so I can get some comments before starting ideals.
TODO