Skip to content
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

chore: add a non-tactic version of injection→extensional! #308

Merged
merged 1 commit into from
Dec 11, 2023

Conversation

favonia
Copy link
Contributor

@favonia favonia commented Dec 10, 2023

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 in injection→extensional!, unfortunately, did not work because it would see (x y : A) -> is-prop (Path A x y) instead of is-set A at that point.) While I could specify the implicit argument of injection→extensional! using {sb = ...}, I felt this is a bit fragile and maybe it's cleaner to have a non-tactical version of injection→extensional. Thus this PR.

Checklist

Before submitting a merge request, please check the items below:

  • I've read the contributing guidelines.
  • The imports of new modules have been sorted with support/sort-imports.hs.
  • All new code blocks have "agda" as their language.

@plt-amy plt-amy merged commit 2272186 into the1lab:main Dec 11, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants