[ add ] syntax for antisym equality reasoning in Relation.Binary.Reasoning.PartialOrder #3047#3057
[ add ] syntax for antisym equality reasoning in Relation.Binary.Reasoning.PartialOrder #3047#3057jamesmckinna wants to merge 4 commits into
antisym equality reasoning in Relation.Binary.Reasoning.PartialOrder #3047#3057Conversation
….Reasoning.PartialOrder`
| using (_<_) | ||
|
|
||
| antisym-syntax = antisym | ||
| syntax antisym-syntax x≤y y≤x = x≤y ⟨⟩ y≤x |
There was a problem hiding this comment.
So... I suppose something like
| syntax antisym-syntax x≤y y≤x = x≤y ⟨⟩ y≤x | |
| syntax antisym-syntax x≤y y≤x = x≤y ≤≥ y≤x |
might achieve greater consensus?
|
I now doubly don't like it. Seeing it in use, it seems to disappear and become just another argument to everything that is already there. I'm worried that ≤≥ may also not act very well as a visually distinctive divider. Looking through the available symbols: ⋛ ? ⨇ ? ⋈ ? ▦ ? ✹ ? |
Well, this is strictly 'new' functionality that occurred to me in the course of the #3031 refactoring, so should be consider super low-priority until we've cleared everything else off the v3.0 docket. But I am grateful for the prompt to think again about symbols, and the observation that if punctuation is too silent/invisible/... then it's perhaps not earning its place properly. |
|
I am going to be annoying but I don't like this syntax (anything pushing I could not find a good syntax for it, but I was wondering whether something Something like this: k ≈⟨ proof of k ≈ l ⟩
l ≈⟨ proof of l ≈ m ⟩
m up⟨ proof of m ≤ n ⟩ -- we're starting to go up
n ≤⟨ proof of n ≤ p ⟩
p ≤⟨ proof of p ≤ q ⟩
q down⟨ proof of r ≤ q ⟩ -- q is our peak altitude
r ≥⟨ proof of s ≤ r ⟩
s ≥⟨ proof of s ≤ m ⟩
m done⟨⟩ -- we've made it back, we know start ≈ peak i.e. m ≈ q!
q ∎
-- Overall, we get `k ≈ q` |
|
I'm delighted that this has sparked so much debate/thinking about the issue, esp. wrt the ergonomics. As I've said above, there's no rush, and I hope that if/when we merge this in some form or other, we'll have achieved a good consensus. So for now: thanks for all the additional commentary/input! |
Tackles the
PartialOrder/antisymquestion in #3047 , with specimen usage illustrated inAlgebra.Properties.KleeneAlgebra(which prompted the question in the first place).The nice thing is that it was a (very) easy add-on, once I'd figured out what the parser was doing/failing to do. But maybe too easy, see the second point below.
TODO: currently
lemmainKleeneAlgebrafor examples.