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: more API for Function.Exact #14520

Closed
wants to merge 6 commits into from

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Jul 8, 2024

If two diagrams involving additive maps are isomorphic, one is exact (in the sense of Function.Exact) iff the other is. In this PR, we also relate Function.Exact and ShortComplex.Exact in the categories of abelian groups and modules over a ring.


This shall be used in the (draft) PR #14515 which constructs the covariant long exact sequence of Ext-groups: even though this is phrased in terms of ShortComplex.Exact, proofs use Function.Exact because I need to change universes.

Open in Gitpod

@joelriou joelriou added t-category-theory Category theory t-algebra Algebra (groups, rings, fields, etc) labels Jul 8, 2024
Copy link

github-actions bot commented Jul 8, 2024

PR summary 889da084dd

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Algebra.Homology.ShortComplex.Ab 1141 1142 +1 (+0.09%)
Mathlib.Algebra.Homology.ShortComplex.ModuleCat 1157 1158 +1 (+0.09%)
Import changes for all files
Files Import difference
13 files Mathlib.Algebra.Homology.ShortComplex.Ab Mathlib.RepresentationTheory.GroupCohomology.Hilbert90 Mathlib.Algebra.Category.Grp.AB5 Mathlib.Topology.Category.Profinite.Nobeling Mathlib.Algebra.Homology.ShortComplex.ModuleCat Mathlib.Algebra.Category.ModuleCat.Biproducts Mathlib.GroupTheory.FiniteAbelian Mathlib.Algebra.Module.PID Mathlib.RepresentationTheory.GroupCohomology.LowDegree Mathlib.Algebra.Homology.ShortComplex.ConcreteCategory Mathlib.Algebra.Category.ModuleCat.Free Mathlib.CategoryTheory.Triangulated.Yoneda Mathlib.Algebra.Homology.ConcreteCategory
1

Declarations diff

+ LinearEquiv.conj_exact_iff_exact
+ ShortExact.ab_exact_iff_function_exact
+ ShortExact.moduleCat_exact_iff_function_exact
+ addMonoidHom_comp_eq_zero
+ addMonoidHom_ker_eq
+ apply_apply_eq_zero
+ comp_eq_zero
+ comp_injective
+ iff_of_ladder_addEquiv
+ of_comp_eq_zero_of_ker_in_range
+ of_comp_of_mem_range
+ of_ladder_addEquiv_of_exact
+ of_ladder_addEquiv_of_exact'
++ exact_iff
++ exact_of_comp_eq_zero_of_ker_le_range
++ exact_of_comp_of_mem_range
- Exact.apply_apply_eq_zero
- Exact.comp_eq_zero
- Exact.comp_injective
- Exact.of_comp_eq_zero_of_ker_in_range
- Exact.of_comp_of_mem_range
- _root_.LinearEquiv.conj_exact_iff_exact
- _root_.LinearMap.exact_iff
- _root_.LinearMap.exact_of_comp_eq_zero_of_ker_le_range
- _root_.LinearMap.exact_of_comp_of_mem_range

You can run this locally as follows
## summary with just the declaration names:
./scripts/no_lost_declarations.sh short <optional_commit>

## more verbose report:
./scripts/no_lost_declarations.sh <optional_commit>

@AntoineChambert-Loir
Copy link
Collaborator

I have no serious comment to make except questions about the way mathlib is supposed to handle namespaces. The multiple invocations of _root_. (lines 78ff of Exact.lean) make me feel one should organize the code slightly differently (for readability, and also to minimize risks of giving functions an incorrect/inconsistent namespace), but I have no idea of what to do. (It has to do with the organization of a file in sections, and the behaviour of namespace, habits seem to differ.)

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jul 9, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Jul 10, 2024
@joelriou
Copy link
Collaborator Author

I have no serious comment to make except questions about the way mathlib is supposed to handle namespaces. The multiple invocations of _root_. (lines 78ff of Exact.lean) make me feel one should organize the code slightly differently

I had just replicated the same organization which was already in this file in the LinearMap part. I have slightly reorganized the file so that there are no longer _root_.

Copy link
Member

@riccardobrasca riccardobrasca 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 d+

Mathlib/Algebra/Exact.lean Outdated Show resolved Hide resolved
Mathlib/Algebra/Exact.lean Show resolved Hide resolved
Mathlib/Algebra/Exact.lean Show resolved Hide resolved
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jul 10, 2024

✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

joelriou and others added 2 commits July 10, 2024 15:52
Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com>
@joelriou
Copy link
Collaborator Author

Thanks!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Jul 10, 2024
mathlib-bors bot pushed a commit that referenced this pull request Jul 10, 2024
If two diagrams involving additive maps are isomorphic, one is exact (in the sense of `Function.Exact`) iff the other is. In this PR, we also relate `Function.Exact` and `ShortComplex.Exact` in the categories of abelian groups and modules over a ring.



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Jul 10, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: more API for Function.Exact [Merged by Bors] - feat: more API for Function.Exact Jul 10, 2024
@mathlib-bors mathlib-bors bot closed this Jul 10, 2024
@mathlib-bors mathlib-bors bot deleted the function-exact-addequiv branch July 10, 2024 15:15
@adomani adomani mentioned this pull request Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated ready-to-merge This PR has been sent to bors. t-algebra Algebra (groups, rings, fields, etc) t-category-theory Category theory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants