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

Infinitely and finitely coherent equivalences and infinitely and finitely coherently invertible maps #1028

Merged
merged 24 commits into from
Feb 23, 2024

Conversation

EgbertRijke
Copy link
Collaborator

@EgbertRijke EgbertRijke commented Feb 11, 2024

This PR is part of the diploma project of @maybemabeline.

We add some new definitions to the library, and we found some ways to express infinite coherence.

@EgbertRijke EgbertRijke marked this pull request as draft February 11, 2024 19:18
@fredrik-bakke
Copy link
Collaborator

fredrik-bakke commented Feb 11, 2024

This is super cool! I will review it when I have a little more energy. Did you consider the definition of ∞-path-split maps also?

@EgbertRijke
Copy link
Collaborator Author

Sure, it is very unfinished at the moment, so there is absolutely no rush with a review.

@fredrik-bakke
Copy link
Collaborator

Ah, okay. I will hold off on a review then 🙂

@EgbertRijke EgbertRijke marked this pull request as ready for review February 11, 2024 21:00
@EgbertRijke
Copy link
Collaborator Author

I'm gonna need limits of inverse sequential diagrams to make progress, but I don't want to do that now. So I declare this PR ready for review.

@fredrik-bakke
Copy link
Collaborator

...we do have them

@fredrik-bakke
Copy link
Collaborator

but maybe there's something more you had in mind?

@EgbertRijke
Copy link
Collaborator Author

I know that we have them, but this PR is becoming a serious amount of work if I want to formalize everything that I am ready to claim informally. It will be a longer project, and it is better keep this PR short. I should work on spans too.

@fredrik-bakke
Copy link
Collaborator

Okey dokey.

@fredrik-bakke
Copy link
Collaborator

Here are some things one can prove about the transpose-eq hypothesis. Indeed, it is equivalent to having a retraction. Maybe one can prove this without funext?

module _
  {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A  B) (g : B  A)
  where

  transpose-eq-is-retraction :
    g ∘ f ~ id  {x : B} {y : A}  x = f y  g x = y
  transpose-eq-is-retraction H {.(f y)} {y} refl = H y

  transpose-eq-is-retraction' :
    g ∘ f ~ id  {x : A} {y : B}  f x = y  x = g y
  transpose-eq-is-retraction' H {x} {.(f x)} refl = inv (H x)

  is-retraction-transpose-eq :
    ({x : B} {y : A}  x = f y  g x = y)  g ∘ f ~ id
  is-retraction-transpose-eq H x = H refl

  is-retraction-transpose-eq' :
    ({x : A} {y : B}  f x = y  x = g y)  g ∘ f ~ id
  is-retraction-transpose-eq' H x = inv (H refl)

  is-injective-has-transpose-eq :
    ({x : B} {y : A}  x = f y  g x = y)  is-injective f
  is-injective-has-transpose-eq H =
    is-injective-retraction f (g , is-retraction-transpose-eq H)

  is-retraction-is-retraction-transpose-eq :
    is-retraction-transpose-eq ∘ transpose-eq-is-retraction ~ id
  is-retraction-is-retraction-transpose-eq H = refl

  is-section-is-retraction-transpose-eq :
    transpose-eq-is-retraction ∘ is-retraction-transpose-eq ~ id
  is-section-is-retraction-transpose-eq H =
    eq-multivariable-htpy-implicit 2 (λ x y  eq-htpy (λ where refl  refl))

@EgbertRijke
Copy link
Collaborator Author

That's a separate good idea, but it was not what I was asking for when I suggested to simply put the entries you already formalised in files analogous to transposition-identifications-along-equivalences.

@EgbertRijke
Copy link
Collaborator Author

But yes, I like that idea :)

@EgbertRijke
Copy link
Collaborator Author

I addressed all the comments. Thank you for the thorough review @fredrik-bakke!

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.

Looks good to me!

@fredrik-bakke
Copy link
Collaborator

Since this is part of @maybemabeline's diploma project, do you intend to add her as a co-author on this PR?

@EgbertRijke
Copy link
Collaborator Author

Sure! Could you do that?:)

@EgbertRijke
Copy link
Collaborator Author

Thanks for thinking about that!

@fredrik-bakke
Copy link
Collaborator

Usually, it requires the co-author's e-mail I think. We can see if it works by using the GitHub handle, e.g.

Co-authored-by: maybemabeline <maybemabeline>

Or, if you have the e-mail she uses with her GitHub account, simply add

Co-authored-by: maybemabeline <[email protected]>

to the commit message.

@maybemabeline
Copy link
Contributor

maybemabeline commented Feb 23, 2024

Thank you for thinking of me :) I didn't have anything to do with this specific PR, but this hierarchy of coherence conditions was something that me and Egbert were thinking about a few months ago. The email I use with this account is [email protected].

@fredrik-bakke fredrik-bakke enabled auto-merge (squash) February 23, 2024 10:41
@fredrik-bakke fredrik-bakke merged commit 18bc065 into UniMath:master Feb 23, 2024
4 checks passed
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