-
Notifications
You must be signed in to change notification settings - Fork 257
Proofs of some linearity axioms. #1767
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
Conversation
Looking at this, I'm not convinced that this is the right design.
|
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 agree with @Taneb 's comments, and added a few more.
This really should be done 'on top of' homomorphism definitions.
Thank you, both, for your thoughtful responses! I'm new to Agda and, particularly, to its standard library. @Taneb ,
I'll respond to your requested changes, individually, to preserve focused context. Thanks, |
No worries, glad to have y
The
I think this should be a bigger discussion, honestly. I'm going to make another issue about this. (as an aside, I think I was wrong when I said that your |
Thank you for the great first PR, we'd definitely welcome the content! I agree with the comments given by @Taneb and @JacquesCarette above though. Looking forward to seeing the updated version 👍 |
Ah, okay. So, it sounds like what you're proposing is:
Or, were you suggesting that I add my proofs to the existing definition of Thanks, |
Okay, @Taneb & @MatthewDaggitt , I think I've addressed all your concerns. Thanks, again, for your helpful guidance! |
A question, regarding Git protocol: Am I supposed to click the Resolve Conversation button when I think I've addressed the concern, or is it for the requestor to click only when they're satisfied that their concern has actually been addressed? |
I think it's fine either way. If you have doubts about whether you've addressed properly then I'd leave it open, otherwise feel free to hit "Resolve" 👍 |
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.
You haven't picked the simplest first PR @capn-freako, thank you for sticking it out 😄
The module structure now looks pretty good to me, so I've left some comments about the style.
Just a heads up that there'll probably be one more lot of comments after this round.
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.
Thanks! Here's another round of comments!
Hi all, I'm wondering what I can do, to bring this to closure. Also, I've got a third PR waiting in the wings. (It's dependent upon both this one and my second.) Anything I can do, to help close this? Thanks, |
Keeping my fork in sync., while awaiting PR acceptance.
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.
A friend suggested that the large number of commits coming in through this PR may be an impediment to its acceptance.
Would you all prefer that I squash those?
(I'm somewhere in the Journeyman phase of my Git learning and never quite sure when it's appropriate to squash commits.)
Your friend is right in that the commit history is messy and we don't want to add it to the main branch, but don't worry, we will squash all the commits down automatically when it's merged in!
Anything I can do, to help close this?
Apologies for the delay, I'm back from travelling and will try and be more prompt to replying to it now. Once the latest round of comments are addressed should be pretty close to being ready to merge in 👍 Thanks for your patience!
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.
Completed my responses to Matthew's comments.
Will push code changes shortly.
open import Relation.Nullary.Negation using (contraposition) | ||
open import Relation.Binary.Reasoning.Setoid ≈ᴹ-setoid | ||
|
||
s≈0⇒s*v≈0 : ∀ {s} {v} → s ≈ 0# → s *ₗ v ≈ᴹ 0ᴹ |
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.
But, doesn't it need to apply to, at least, a semimodule?
That is, isn't left zero a (semi)module-centric concept?
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.
A few more minor comments.
Okay so once the module parameters change is made, this is ready 👍 |
Thanks, Matthew! Changes have been pushed. |
Merged in. Thanks for the great PR @capn-freako, and for your patience! |
Thanks, Matthew! And thank you, all, for your helpful guidance and patience during my first attempt to contribute. :) |
Revisiting this, I don't think this PR should have been merged. In particular, the module
For the other additions:
NotInKernel : A → Set ℓm
NotInKernel x = f x B.≉ᴹ B.0ᴹ
NotInKernel⇒NonTrivial : ∀ x → NotInKernel x → NonTrivial x
NotInKernel⇒NonTrivial x x∉K = 1# , x , A.*ₗ-identityˡ x , x∉K
NonTrivial⇒NotInKernel : ∀ x → NonTrivial x → NotInKernel x
NonTrivial⇒NotInKernel x (s , y , s*x≈y , y∉K) x∈K = y∉K y∈K
where
y∈K : f y B.≈ᴹ B.0ᴹ
y∈K = begin⟨ B.≈ᴹ-setoid ⟩
f y ≈˘⟨ ⟦⟧-cong s*x≈y ⟩
f (s A.*ₗ x) ≈⟨ *ₗ-homo s x ⟩
s B.*ₗ f x ≈⟨ B.*ₗ-congˡ x∈K ⟩
s B.*ₗ B.0ᴹ ≈⟨ B.*ₗ-zeroʳ s ⟩
B.0ᴹ ∎ |
Luckily, this is so new that I don't think anything relies on it yet. So fixing it shouldn't be a big deal, as there's nothing to deprecate! |
(or am I wrong and this made it out in 1.7?) |
@JacquesCarette you were correct, this is not in any released branch |
That helps a lot - fix away! I agree with all the suggestions you made. |
Yup, @Taneb if you have a PR going to fix these then great. Otherwise can you open an issue under the |
A definition of "linear map" along w/ some proofs of a few axioms of linearity.