-
Notifications
You must be signed in to change notification settings - Fork 12
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
non-dependent recursors for HITs #214
Comments
Very interesting observation! |
I am worried that this would lead to incoherent results after we allow users to make something opaque. It seems possible for an opaque operator to create a "false" dependency that results in a different value. |
|
I see! Alright, then this is not (too) difficult to support. |
What we do in cubicaltt for opaque/transparent is not safe and was never meant to be. It is easy to see that you can break subject reduction using it. It was mainly added to be able to typecheck some examples which were too slow with everything transparent and this was the easiest way to do it. For a proper proof assistant something more carefully designed is necessary. What they do in Coq is not very satisfactory either and I have some ideas on how to make it better behaved (I think there should be different levels of opacity that the typechecker can take into account, with modes like "transparent", "unfold only if necessary", "completely opaque forever"...). Anyway this discussion is orthogonal to the ticket opened by Evan so let's continue in another thread if you plan to add opacity to the system. |
Oops, I wrote something stupid in a comment that I deleted. Sorry for the noise. |
Back to the main topic of this ticket, I say let's try it out! It sounds like a good idea. |
The eliminator for a HIT takes
fhcom
s tocom
s in the target type. When the motive is non-dependent, the outputcom
is in a constant line, so the desired behavior could be accomplished more efficiently with anhcom
. It might then be useful to have a separate non-dependent recursor which useshcom
instead ofcom
. (Note that the two options are not even equal, because we don't have regularity.)I don't know how much of a difference it would make, but synthetic homotopy proofs involve plenty of non-dependent functions between / out of HITs.
The text was updated successfully, but these errors were encountered: