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

Additions for coherently invertible maps #1024

Merged
merged 55 commits into from
Feb 19, 2024

Conversation

fredrik-bakke
Copy link
Collaborator

@fredrik-bakke fredrik-bakke commented Feb 7, 2024

I'm just adding a little some infrastructure about coherently invertible maps ref. our discussions yesterday the other day. Don't worry, I'm not starting a huge refactoring project.

Relevant to #946 and #1021.

Summary

  • Add mirror file about coherence squares of homotopies after coherence squares of identifications
  • Add some core files for more streamlined proofs in other core files.
  • Refactor some proofs for coherently invertible maps
    • is-emb-is-equiv was actually a proof about coherently invertible maps
    • slightly improve readability of is-coherently-invertible-is-invertible
  • Prove the following (and corollaries) without "coherent replacement":
    • a coherently invertible map is transpose coherently invertible
    • the inverse of a coherently invertible map is coherently invertible
    • composites of coherently invertible maps are coherently invertible
    • coherently invertible maps are closed under homotopies

@fredrik-bakke fredrik-bakke changed the title Small tidying work for coherently invertible maps Tidying work for coherently invertible maps Feb 8, 2024
@fredrik-bakke
Copy link
Collaborator Author

fredrik-bakke commented Feb 10, 2024

Okay, so this is like the n'th time the past few months that we undo each others work with regards to avoiding cyclic dependencies, so I think we should sit down and agree on a common decision procedure.

@fredrik-bakke
Copy link
Collaborator Author

fredrik-bakke commented Feb 10, 2024

I think it is very useful to have a few more core files, and think we should try to have more results in them that don't add more dependencies. This allows us to have more conceptual proofs for core constructions such as, for instance, equivalences. For this to work, however, it is absolutely paramount that the core files try to avoid "junction" files as much as possible, like equivalences and embeddings. For instance, I think it should be possible to reason with squares of homotopies in all the ways I would want to in foundation-core.coherently-invertible-maps. This hinges on the fact that foundation-core.commuting-squares-of-identifications does not import foundation-core.equivalences, but does have the common constructs like pasting and inversions.

@fredrik-bakke
Copy link
Collaborator Author

Maybe one heuristic to go for is that, we should be more inclined to rewrite short proofs to avoid extra dependencies, such as the constructions on commuting squares of identifications, and prioritize making it possible to make the more complicated proofs conceptual, such as showing that the inverse of a coherently invertible map is coherently invertible.

@EgbertRijke
Copy link
Collaborator

Damn... :(

What was the original problem that caused you to do this?

@fredrik-bakke
Copy link
Collaborator Author

I want to prove lemma 4.2.2 in the HoTT/UF book by pasting diagrams

@fredrik-bakke
Copy link
Collaborator Author

I don't think foundation/(-core).commuting-squares-of-identifications is that bad

@EgbertRijke
Copy link
Collaborator

I think making foundation-core.coherently-invertible-maps dependent on commuting squares is not great. foundation-core.coherently-invertible-maps should have very minimal dependencies, because it is so fundamental in the hierarchy of our library. On top of that, it would have really been easy for you to do that one pasting square by hand.

@fredrik-bakke
Copy link
Collaborator Author

It's three pastings, no? And I must disagree. I think commuting squares come lower in the hierarchy than coherently invertible maps. Indeed, the constructions for commuting diagrams generally tend to depend only on the most basic things, and making them available to the other basic files will allow us to write lots of proofs more conceptually.

@EgbertRijke
Copy link
Collaborator

In #1014 I literally worked towards minimizing the dependencies of foundation-core.coherently-invertible-maps. That eased a lot of the tension that generated cyclic dependencies. So I am not at all convinced that the approach that you're taking in this PR is the right one, or an acceptable one.

@fredrik-bakke
Copy link
Collaborator Author

My proposal will not add any more dependencies to foundation-core.coherently-invertible-maps. But it will allow us to write better proofs in this file.

@fredrik-bakke
Copy link
Collaborator Author

Essentially by making most of commuting-squares-of-identifications not depend on equivalences.

@fredrik-bakke
Copy link
Collaborator Author

Of course, I don't mean "doesn't change the import statements" when I say "doesn't add dependencies"

@EgbertRijke EgbertRijke merged commit ae3b787 into UniMath:master Feb 19, 2024
4 checks passed
@fredrik-bakke fredrik-bakke deleted the coherent-inv branch February 19, 2024 10:03
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