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

Infrastructure for homotopies between maps out of a suspension #924

Merged
merged 21 commits into from
Nov 24, 2023

Conversation

morphismz
Copy link
Contributor

@morphismz morphismz commented Nov 18, 2023

This pr builds upon the infrastructure for constrcting and working with homotopies between maps out of a suspension. This includes:

  • characterizing the inverse of the equivalence between homotopies of maps and homotopies of suspension structures
  • computing the value of a homotopy defined with this equivalence when applied to north-suspension and south-suspension
  • characterizing equalities in the type htyp-suspension-structure

It remains to compute the value of such a homotopy when applied to meridian-suspension. Additionally, it remains to construct a simplified version of the equivalence for maps of the form map-inv-up-suspension X Y c, for some c : suspension-structure X Y.

@morphismz
Copy link
Contributor Author

Would it make sense to have a file just for homotopies of suspension structures? Right now all code related to that subject is living in the suspensions file. But there are a fair amount of auxiliary lemmas and equivalences kinda crowding that file up. And there will likely be a few more that I need to add.

@fredrik-bakke
Copy link
Collaborator

fredrik-bakke commented Nov 18, 2023

Although I don't have the files in memory, that sounds very reasonable to me. We do a similar thing for many other concepts, and if that makes things more navigable in your opinion, then I say go ahead.

@morphismz
Copy link
Contributor Author

I had hoped to add a bit more code to this pr before marking it ready, But it seems that some refactoring and creating new files is necessary to make that work. Thus I'm going to clean up this pr by removing the unsolved goals and unfinished code, and then mark it as ready. Then I will subsequently sumbit a refactoring pr followed by a pr to finish off building up the infrastructure for homotopies. I hope this last pr will include some "proof of concept" code, showing that the infrastructure works and is easy to use.

@morphismz morphismz marked this pull request as ready for review November 18, 2023 23:18
Copy link
Collaborator

@fredrik-bakke fredrik-bakke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't taken the time to review the namings of all the definitions in this PR yet, but I'll say the quality of the PR looks excellent over all.

One remark: I noticed there is a recurring theme of misindented code where this would be easy to detect with rainbow parentheses (i.e. colorcoded parentheses). Have you looked into whether such a feature exists for your editor? I can highly recommend it. 👍

@morphismz
Copy link
Contributor Author

morphismz commented Nov 19, 2023

One remark: I noticed there is a recurring theme of misindented code where this would be easy to detect with rainbow parentheses (i.e. colorcoded parentheses). Have you looked into whether such a feature exists for your editor? I can highly recommend it. 👍

Thanks for the pointer, I should be able to get that set up in emacs! Sorry about all those formatting errors... Thank you for taking the time to look through this pr so closely

Co-authored-by: Fredrik Bakke <[email protected]>
@morphismz
Copy link
Contributor Author

Re @fredrik-bakke suggestion to move the computation of inverses of equiv-tot and equiv-Pi-equiv-family next to the the definitions of the respective equivalences: this works fine for equiv-Pi-equiv-family. But this causes cyclic module dependencies for equiv-tot since I have to import foundation-core.injective-maps into foundation-core.functoriality-dependent-pair-types. Specifically, I get the following:

cyclic module dependency:
  foundation-core.functoriality-dependent-pair-types
  foundation-core.injective-maps
  foundation-core.sets
  foundation.fundamental-theorem-of-identity-types
  foundation-core.functoriality-dependent-pair-types

I could leave the computation of the inverse of equiv-tot in foundation.functoriality-dependent-pair-types and just leave a note next to the definition of equiv-tot? Not sure whats best.

@EgbertRijke EgbertRijke enabled auto-merge (squash) November 24, 2023 04:53
@EgbertRijke EgbertRijke merged commit 4b021c0 into UniMath:master Nov 24, 2023
4 checks passed
@morphismz morphismz deleted the suspension-htpy branch November 26, 2023 00:20
fredrik-bakke pushed a commit to fredrik-bakke/agda-unimath that referenced this pull request Nov 29, 2023
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