chore: add a non-tactic version of injection→extensional! #308
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I encountered a case where set-ness has to be passed as an (instance or implicit) argument to Extensional because I could not find a clean and usable way to bundle setness with other types. The best solution I found is to use an implicit argument with a tactic to get the set-ness "intelligently", and then pass the set-ness proof to
injection→extensional
. (The tactic ininjection→extensional!
, unfortunately, did not work because it would see(x y : A) -> is-prop (Path A x y)
instead ofis-set A
at that point.) While I could specify the implicit argument ofinjection→extensional!
using{sb = ...}
, I felt this is a bit fragile and maybe it's cleaner to have a non-tactical version ofinjection→extensional
. Thus this PR.Checklist
Before submitting a merge request, please check the items below:
support/sort-imports.hs
.