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

Wildcat improvements #1766

Merged
merged 8 commits into from
Sep 27, 2023
Merged

Conversation

jdchristensen
Copy link
Collaborator

A bunch of additions to the WildCat library, as well as various simplifications to existing proofs. Many of these are for WIP that I hope to PR soon.

Comment on lines +80 to +83
Definition equiv_postcompose_cat_equiv {A : Type} `{HasEquivs A} `{!HasMorExt A}
{x y z : A} (f : y $<~> z)
: (x $-> y) <~> (x $-> z)
:= emap (opyon x) f.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This used to be in another file with a long proof, but now it has a one-line proof.

Comment on lines +85 to +88
Definition equiv_precompose_cat_equiv {A : Type} `{HasEquivs A} `{!HasMorExt A}
{x y z : A} (f : x $<~> y)
: (y $-> z) <~> (x $-> z)
:= @equiv_postcompose_cat_equiv A^op _ _ _ _ _ _ z y x f.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

And this was proved with a separate long proof, even though it is just the dual result.

exact ((cat_eissect f x)^$ $@ fmap (equiv_fun_0gpd f^-1$) h $@ cat_eissect f y).
Defined.

(** This is one example of many things that could be ported from Basics/Equivalences.v. *)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thinking out loud here: It would be nice if we could derive all path. equiv (and maybe even group) lemmas from common wildcat ones.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, I think a lot of what we currently prove about Type is a special case of WildCat results, but there's a challenge about avoiding circularity, since the WildCat library uses some concepts about types. In any case, I'm seeing more and more ways that the WildCat library can have a real impact on other results, and also internal simplifications as more fundamental things get added.

Copy link
Collaborator

@Alizter Alizter Sep 26, 2023

Choose a reason for hiding this comment

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

I think the circularity issues are a non-issue. We can always prove what we need in wildcat in the library. In fact, we could fully cut the dependency on Types as a result. and have Types depend on Wildcat. We shouldn't need much of Types to prove results about wildcats. On the other hand, we would gain a lot using wildcat in Types.

@Alizter Alizter self-requested a review September 26, 2023 00:16
@Alizter
Copy link
Collaborator

Alizter commented Sep 26, 2023

Looks great! I haven't had a chance to step through the proofs myself, but reading it all seems fine. Let's give this a few days before we merge in case I find anything. If you however wish to press on, I have no issue merging it now.

@jdchristensen
Copy link
Collaborator Author

Is it ok if we merge this tomorrow rather than in a few days? And if it's going to be tomorrow, I'll add one more commit.

@Alizter
Copy link
Collaborator

Alizter commented Sep 26, 2023

@jdchristensen That's fine. If I have any further comments we can continue after the merge no problem.

@jdchristensen
Copy link
Collaborator Author

Ok, I just added one new commit. I'll wait until tomorrow before merging.

@jdchristensen jdchristensen merged commit a3bde18 into HoTT:master Sep 27, 2023
23 checks passed
@jdchristensen jdchristensen deleted the wildcat-improvements branch September 27, 2023 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants