-
Notifications
You must be signed in to change notification settings - Fork 193
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
redefine DPath as transport and cleanup proofs #1880
redefine DPath as transport and cleanup proofs #1880
Conversation
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.
This looks great! This will also make it easier to use features of dependent paths even when one is working with transports.
24a23f2
to
6e8f460
Compare
I also noticed that the changes here change the type of DPath (fun t : a0 = a1 => DPath P t b0 b1) (concat_p1 p) (dp @Dp 1) dp to DPath (fun t : a0 = a1 => DPath P t b0 (transport P 1 b1)) (concat_p1 p) (dp @Dp 1) dp It's probably worth explicitly writing the type family here (and for nearby results) to the simpler form. (It also wasn't clear to me what the type of |
6639836
to
f9a2f79
Compare
<!-- ps-id: e95c9c51-ece7-47b7-992a-bef485325328 --> Signed-off-by: Ali Caglayan <[email protected]>
Signed-off-by: Ali Caglayan <[email protected]> <!-- ps-id: e12ec7f6-b65a-4db5-a8b7-f6e8cd31df43 -->
Signed-off-by: Ali Caglayan <[email protected]> <!-- ps-id: ee39da89-314b-47d6-a116-cd4e859334fc -->
Co-authored-by: Dan Christensen <[email protected]> <!-- ps-id: dbc06a57-122f-4d38-9fda-64ef2f4fe581 -->
f9a2f79
to
4ecfbcb
Compare
@jdchristensen I wasn't able to see the difference in my editor but I will mention that it is the same definitionally. I've gone ahead and added the type annotations now. |
LGTM! |
Sorry to not notice this before this PR was merged, but I don't think this change is semantically compatible with how we would have to deal with |
@mikeshulman This PR doesn't actually really change how we define DPath "semantically" just that we use I agree that having an "atomic" |
@mikeshulman Just to make sure I understand: even the previous definition of I guess the question is whether we are going to trying using rewrite rules to make maps from HITs compute on path constructors. On the one hand, having more things compute will certainly save us work, especially when you need to prove things about the proofs that currently use beta rules (and this has been troublesome for me, e.g. in work on joins). On the other hand, adding rewrite rules and changing the definitions of |
@Alizter @mikeshulman But maybe I'm wrong about reverting this PR. E.g. if we try #1868, then maybe lots of the things that changed in this PR (e.g. various beta rules for paths) won't be needed at all. (And I definitely like this PR.) |
Yes, @jdchristensen's first paragraph was my point. There are three possibilities. This PR changes from the current possibility (A) to a different possibility (B), whereas #1868 would require a third possibility (C), and I suspect that the change from (A) directly to (C) would be easier than from (B) to (C), since (A) is already more opaque. I'm not sure what my opinion is about whether we should do #1868. If it were up to me, I think I would probably keep things as they are, so that as Dan says this repository could be said roughly speaking to be a formalization of Book HoTT. But personally, I'm not working on this repository much any more -- I'm more invested in HOTT and the new proof assistant for it that I'm developing (where I hope the analogous rules ought to hold definitionally in a less ad hoc way, similar to how they do in cubical type theory) -- and the decisions about this repository should be made by the people who are more invested in it. |
Thanks for your input @mikeshulman, your thoughts are definitely appreciated. I think a change like #1868 won't happen tomorrow. So I'm not particularly worried if we are in (A) or (B) as there seem to be larger concerns with that proposal. So it should be relatively easy work to adapt to an atomic form of DPath if that's what we choose to do. |
I'm ok with keeping this PR in place and delaying any decision on #1868 until the future. |
We redefine DPath as transport. This simplifies many things in the library. We go through and remove many superfluous lemmas and proof steps. I've also simplified various proofs as I've seen fit especially in Smash.v.