Skip to content

Some extra support for homogeneous n-ary products #2736

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

MatthewDaggitt
Copy link
Contributor

Lately my students and I have been writing a lot of code with N-ary products where all elements either belong to types with the same universe level or belong to the same types. This adds some extra infrastructure to make this all a little bit nicer.

If (which acts as a fold) took a level for the n = zero case instead of defaulting to Level.zero then we could prove that HomoProduct n A : Set a instead of HomoProduct n A : Set (lconst n a). However, a) that is a breaking change and b) there's no nice way that I can see to make that cast so that the other n-ary functions over n-ary products can see through the cast. Therefore leaving as is in order to make incremental progress

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants