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(algebra/homology): projective resolutions #7486

Closed
wants to merge 129 commits into from

Conversation

semorrison
Copy link
Collaborator

@semorrison semorrison commented May 4, 2021

Projective resolutions

A projective resolution P : ProjectiveResolution Z of an object Z : C consists of
a -indexed chain complex P.complex of projective objects,
along with a chain map P.π from C to the chain complex consisting just of Z in degree zero,
so that the augmented chain complex is exact.

When C is abelian, this exactness condition is equivalent to π being a quasi-isomorphism.
It turns out that this formulation allows us to set up the basic theory derived functors
without even assuming C is abelian.

(Typically, however, to show has_projective_resolutions C
one will assume enough_projectives C and abelian C.
This construction appears in category_theory.abelian.projectives.)

We show that give P : ProjectiveResolution X and Q : ProjectiveResolution Y,
any morphism X ⟶ Y admits a lift to a chain map P.complex ⟶ Q.complex.
(It is a lift in the sense that
the projection maps P.π and Q.π intertwine the lift and the original morphism.)

Moreover, we show that any two such lifts are homotopic.

As a consequence, if every object admits a projective resolution,
we can construct a functor projective_resolutions C : C ⥤ homotopy_category C.


Open in Gitpod

semorrison and others added 28 commits May 4, 2021 19:55
@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label May 17, 2021
@github-actions github-actions bot added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label May 17, 2021
@github-actions github-actions bot added merge-conflict Please `git merge origin/master` then a bot will remove this label. and removed merge-conflict Please `git merge origin/master` then a bot will remove this label. blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels May 18, 2021
@github-actions
Copy link

🎉 Great news! Looks like all the dependencies have been resolved:

💡 To add or remove a dependency please update this issue/PR description.

Brought to you by Dependent Issues (:robot: ). Happy coding!

@github-actions github-actions bot removed the merge-conflict Please `git merge origin/master` then a bot will remove this label. label May 20, 2021
@semorrison semorrison added the awaiting-review The author would like community review of the PR label May 20, 2021
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

I think my biggest question is whether in practical situations we won't get annoyed by the fact that Z is stuck into this single\0 complex.
Do you think it makes sense to write some machinery to go back and forth between "map of complexes to single\0" and "map from obj in degree 0 to Z"?

src/category_theory/preadditive/projective_resolution.lean Outdated Show resolved Hide resolved
@semorrison
Copy link
Collaborator Author

semorrison commented May 23, 2021

Do you think it makes sense to write some machinery to go back and forth between "map of complexes to single\0" and "map from obj in degree 0 to Z"?

We already have this machinery, see to_single₀_equiv in algebra.homology.single.

Moreover, I think later we may be happy to have this formulation, as it's closer to the "(co)fibrant replacement" picture.

Co-authored-by: Johan Commelin <johan@commelin.net>
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks 🎉

bors merge

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels May 31, 2021
bors bot pushed a commit that referenced this pull request May 31, 2021
# Projective resolutions

A projective resolution `P : ProjectiveResolution Z` of an object `Z : C` consists of
a `ℕ`-indexed chain complex `P.complex` of projective objects,
along with a chain map `P.π` from `C` to the chain complex consisting just of `Z` in degree zero,
so that the augmented chain complex is exact.

When `C` is abelian, this exactness condition is equivalent to `π` being a quasi-isomorphism.
It turns out that this formulation allows us to set up the basic theory derived functors
without even assuming `C` is abelian.

(Typically, however, to show `has_projective_resolutions C`
one will assume `enough_projectives C` and `abelian C`.
This construction appears in `category_theory.abelian.projectives`.)

We show that give `P : ProjectiveResolution X` and `Q : ProjectiveResolution Y`,
any morphism `X ⟶ Y` admits a lift to a chain map `P.complex ⟶ Q.complex`.
(It is a lift in the sense that
the projection maps `P.π` and `Q.π` intertwine the lift and the original morphism.)

Moreover, we show that any two such lifts are homotopic.

As a consequence, if every object admits a projective resolution,
we can construct a functor `projective_resolutions C : C ⥤ homotopy_category C`.



Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Co-authored-by: Johan Commelin <johan@commelin.net>
@bors
Copy link

bors bot commented May 31, 2021

Build failed (retrying...):

bors bot pushed a commit that referenced this pull request May 31, 2021
# Projective resolutions

A projective resolution `P : ProjectiveResolution Z` of an object `Z : C` consists of
a `ℕ`-indexed chain complex `P.complex` of projective objects,
along with a chain map `P.π` from `C` to the chain complex consisting just of `Z` in degree zero,
so that the augmented chain complex is exact.

When `C` is abelian, this exactness condition is equivalent to `π` being a quasi-isomorphism.
It turns out that this formulation allows us to set up the basic theory derived functors
without even assuming `C` is abelian.

(Typically, however, to show `has_projective_resolutions C`
one will assume `enough_projectives C` and `abelian C`.
This construction appears in `category_theory.abelian.projectives`.)

We show that give `P : ProjectiveResolution X` and `Q : ProjectiveResolution Y`,
any morphism `X ⟶ Y` admits a lift to a chain map `P.complex ⟶ Q.complex`.
(It is a lift in the sense that
the projection maps `P.π` and `Q.π` intertwine the lift and the original morphism.)

Moreover, we show that any two such lifts are homotopic.

As a consequence, if every object admits a projective resolution,
we can construct a functor `projective_resolutions C : C ⥤ homotopy_category C`.



Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
Co-authored-by: Johan Commelin <johan@commelin.net>
@bors
Copy link

bors bot commented May 31, 2021

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(algebra/homology): projective resolutions [Merged by Bors] - feat(algebra/homology): projective resolutions May 31, 2021
@bors bors bot closed this May 31, 2021
@bors bors bot deleted the projective_resolution3 branch May 31, 2021 14:35
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

4 participants