-
Notifications
You must be signed in to change notification settings - Fork 260
[ refactor ] make contradiction and friends entirely definitionally proof-irrelevant
#2802
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
| length zs ≤⟨ ℕ.n≤1+n (length zs) ⟩ | ||
| length (z ∷ zs) ≤⟨ length-mono-≤ rs ⟩ | ||
| length ys₁ ∎) $ ℕ.<-irrefl ≡.refl | ||
| length ys₁ ∎) (ℕ.<-irrefl ≡.refl) |
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.
perhaps don't roll in such pure, non-breaking style changes in to something breaking and make a separate (if tiny) PR?
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.
Not a style change; it's yet another 'feature' of irrelevant function spaces: _$_ is no longer well-typed!
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.
So do we need a new variant for _$_ that would be?
|
Thanks @JacquesCarette for the speedy feedback (on a For most of your queries, eta-expansion is needed because there's no (contravariant) subtyping between As for the ones which seemingly contradict #2653 , see #2803 : don't use |
|
Reconsidering whether this is even worthwhile: logically it makes sense, but ergonomically, it's such a pain. |
|
Reading this code, I get the same impression: ergonomically, agda's proof irrelevance leaves much to be desired. Is there any conclusion from here that can be up-streamed? |
Perhaps, but in the interests of cleaning up my own cluttered brain, I'd probably rather punt this. I conjecture/suspect that much of the current effort being expended on modalities in Agda more generally might hint that the In any case, I think that I myself may have misconstrued how best to deploy these ideas (re: Whereas, if we have an irrelevant positive assumption ... conclusion: closing for now. |
The inevitable
breakingconsequence of #2785 , designed as a 'cleaning of the stables'.Cf. #2346 whose intention it follows.
Currently duplicates functionality from #2803 ; will tidy up once that is merged.
Downstream consequence:
contradictioninternally need eta-expansion (and this may be regarded as a UX failure...?)stdlibthat I can find)TODO:
contradiction-irrintroduced as consequences of [ refactor ] weaken type ofRelation.Nullary.Negation.Core.contradiction-irr#2785Consider also:
Relation.Nullary.Reflectsto make its various arguments definitionally proof-irrelevantRelation.Nullary.Negation.Core._¬-⊎_in favour ofcontradiction₂, or else change its type as well; its one use instdlibis inReflects, so could be refactored in any case via¬-recomputeand inlining...