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

[Merged by Bors] - feat(category_theory): wide pullbacks and limits in the over category #2461

Closed
wants to merge 7 commits into from

Conversation

b-mehta
Copy link
Collaborator

@b-mehta b-mehta commented Apr 19, 2020

This PR introduces wide pullbacks.
Ordinary pullbacks are then defined as a special case of wide pullbacks, which simplifies some of the definitions and proofs there.
Finally we show that the existence of wide pullbacks in C gives products in the slice C/B, and in fact gives all limits.

TO CONTRIBUTORS:

This PR may break some downstream code using pullbacks, but only slightly (as can be seen in pullbacks.lean). In particular, the only thing that used to work that doesn't any more would be applying cases to a walking_cospan - but thanks to the super helpful pullback_cone.is_limit.mk and pullback_cone.equalizer_ext, one shouldn't need to take cases on a walking_cospan anyway.

I haven't done the dual construction - of course before this PR is merged it should probably be included.

The new proof would of course follow by not changing the definition of pullback the same and showing an equivalence of categories between wide_pullback_shape walking_pair and walking_cospan, but since the change does simplify some proofs I've kept it for now.

The docs linter complains about

abbreviation walking_cospan.left : walking_cospan := some walking_pair.left
abbreviation walking_cospan.right : walking_cospan := some walking_pair.right
abbreviation walking_cospan.one : walking_cospan := none

and I'd appreciate suggestions of what sort of docs would be helpful here.

Make sure you have:

  • reviewed and applied the coding style: coding, naming
  • reviewed and applied the documentation requirements
  • make sure definitions and lemmas are put in the right files
  • make sure definitions and lemmas are not redundant

For reviewers: code review check list

If you're confused by comments on your PR like bors r+ or bors d+, please see our notes on bors for information on our merging workflow.

@b-mehta b-mehta added the awaiting-review The author would like community review of the PR label Apr 19, 2020
@semorrison
Copy link
Collaborator

Regarding how to document the abbreviation, just write something

/-- The left point of the walking cospan. -/
abbreviation walking_cospan.left : walking_cospan := some walking_pair.left

@semorrison
Copy link
Collaborator

Do you think you could add some larger scale documentation, in the module doc-strings in these files, explaining the motivation for introducing wide pullbacks in the first place:

  • That/if they actually make life easier talking about binary pullbacks?
  • Constructing arbitrary limits in slice categories.

@semorrison semorrison added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Apr 20, 2020
@b-mehta b-mehta added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Apr 20, 2020
@b-mehta
Copy link
Collaborator Author

b-mehta commented Apr 20, 2020

I mentioned this linter warning on zulip here: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Linter.20rejects.20automatic.20instance - not sure how to fix this.

@semorrison
Copy link
Collaborator

Okay, I think I'm happy with this. Do you want to add the dual statements to this PR?

@semorrison semorrison added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Apr 21, 2020
@b-mehta b-mehta added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Apr 21, 2020
@b-mehta b-mehta requested a review from semorrison April 22, 2020 11:53
@semorrison
Copy link
Collaborator

bors merge

@github-actions github-actions bot added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Apr 23, 2020
@github-actions github-actions bot removed the awaiting-review The author would like community review of the PR label Apr 23, 2020
bors bot pushed a commit that referenced this pull request Apr 23, 2020
…#2461)

This PR introduces [wide pullbacks](https://ncatlab.org/nlab/show/wide+pullback). 
Ordinary pullbacks are then defined as a special case of wide pullbacks, which simplifies some of the definitions and proofs there. 
Finally we show that the existence of wide pullbacks in `C` gives products in the slice `C/B`, and in fact gives all limits.



Co-authored-by: Keeley Hoek <keeley@hoek.io>
@bors
Copy link

bors bot commented Apr 23, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(category_theory): wide pullbacks and limits in the over category [Merged by Bors] - feat(category_theory): wide pullbacks and limits in the over category Apr 23, 2020
@bors bors bot closed this Apr 23, 2020
@bors bors bot deleted the wide-pullbacks branch April 23, 2020 02:52
anrddh pushed a commit to anrddh/mathlib that referenced this pull request May 15, 2020
…leanprover-community#2461)

This PR introduces [wide pullbacks](https://ncatlab.org/nlab/show/wide+pullback). 
Ordinary pullbacks are then defined as a special case of wide pullbacks, which simplifies some of the definitions and proofs there. 
Finally we show that the existence of wide pullbacks in `C` gives products in the slice `C/B`, and in fact gives all limits.



Co-authored-by: Keeley Hoek <keeley@hoek.io>
anrddh pushed a commit to anrddh/mathlib that referenced this pull request May 16, 2020
…leanprover-community#2461)

This PR introduces [wide pullbacks](https://ncatlab.org/nlab/show/wide+pullback). 
Ordinary pullbacks are then defined as a special case of wide pullbacks, which simplifies some of the definitions and proofs there. 
Finally we show that the existence of wide pullbacks in `C` gives products in the slice `C/B`, and in fact gives all limits.



Co-authored-by: Keeley Hoek <keeley@hoek.io>
cipher1024 pushed a commit to cipher1024/mathlib that referenced this pull request Mar 15, 2022
…leanprover-community#2461)

This PR introduces [wide pullbacks](https://ncatlab.org/nlab/show/wide+pullback). 
Ordinary pullbacks are then defined as a special case of wide pullbacks, which simplifies some of the definitions and proofs there. 
Finally we show that the existence of wide pullbacks in `C` gives products in the slice `C/B`, and in fact gives all limits.



Co-authored-by: Keeley Hoek <keeley@hoek.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants