-
Notifications
You must be signed in to change notification settings - Fork 297
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
[Merged by Bors] - refactor(algebra/ring_quot.lean): make ring_quot irreducible #7120
Conversation
@@ -71,7 +71,7 @@ by simp [reverse] | |||
by simp [reverse] | |||
|
|||
@[simp] lemma reverse.map_one : reverse (1 : clifford_algebra Q) = 1 := | |||
reverse.commutes 1 | |||
by convert reverse.commutes (1 : R); simp |
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.
This scares me a little - it sounds like algebra_map R 1 (clifford_algebra Q)
is no longer defeq to 1
, which seems like a useful property to have.
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.
defeqness is nice when you can have it, but not really important IMHO: there are many situations where algebra_map R 1 S
is not defeq to 1
, but it is not a problem since you can rewrite it away.
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.
For instance, I just checked and algebra_map ℕ ℝ 1 = 1
is not definitional.
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.
Sure, but that's because the reals just underwent the same refactor! From reading the source alone, I think that both matrix_algebra
and triv_sq_zero_ext
satisfy this.
While this is true, in principle On the other hand, the performance is obviously a real issue now, but the definitional transparency is at worst a slight inconvenience, |
I'd say ideal.quotient should also be irreducible for the same reasons. |
@Vierkantor, what was the original motivation for the refactor that made |
The motivation was the following: the previous |
For this PR, I'm willing to accept the non-defeqness, since it looks like you still have that one expression |
Ah, so the previous problem was a diamond which required control of definitional equality, whereas here there's no diamond to introduce. |
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.
Looks good to me, and let's get this merged before it breaks again.
bors d+
✌️ sgouezel can now approve this pull request. To approve and merge a pull request, simply reply with |
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
bors r+ |
The quotient of a ring by an equivalence relation which is compatible with the operations is still a ring. This is used to define several objects such as tensor algebras, exterior algebras, and so on, but the details of the construction are irrelevant. This PR makes `ring_quot` irreducible to keep the complexity down.
Pull request successfully merged into master. Build succeeded: |
The quotient of a ring by an equivalence relation which is compatible with the operations is still a ring. This is used to define several objects such as tensor algebras, exterior algebras, and so on, but the details of the construction are irrelevant. This PR makes
ring_quot
irreducible to keep the complexity down.