Skip to content

[Merged by Bors] - feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z))#35436

Closed
daniel-carranza wants to merge 14 commits into
leanprover-community:masterfrom
daniel-carranza:internal-currying-isomorphism
Closed

[Merged by Bors] - feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z))#35436
daniel-carranza wants to merge 14 commits into
leanprover-community:masterfrom
daniel-carranza:internal-currying-isomorphism

Conversation

@daniel-carranza
Copy link
Copy Markdown
Collaborator

@daniel-carranza daniel-carranza commented Feb 17, 2026

Prove the currying-uncurrying isomorphism C(x \otimes y, z) \iso C(y, C(x, z)) between internal hom objects of a closed monoidal category C.


This result is connected to the infinity-cosmos project, and is used to prove that a closed monoidal category enriched in itself admits all cotensors.

Line 81 currently contains a one-line proof in tactics mode exact rfl. When trying to use rfl outside of tactics mode, an error is thrown (Fixed, thank you @robin-carlier!). Any help with this (or any other aspect of the formalization) is greatly appreciated!

Open in Gitpod

@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Feb 17, 2026
@github-actions
Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 17, 2026

PR summary 7bdf4031a0

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.CategoryTheory.Monoidal.Closed.InternalCurrying (new file) 462

Declarations diff

+ ihomCurry
+ ihomCurryIso
+ ihomCurry_ihomUncurry
+ ihomUncurry
+ ihomUncurry_ihomCurry
+ uncurry_ihomCurry
+ uncurry_ihomUncurry
+ uncurry_uncurry_ihomCurry

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

@github-actions github-actions Bot added the t-category-theory Category theory label Feb 17, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 17, 2026

✅ PR Title Formatted Correctly

The title of this PR has been updated to match our commit style conventions.
Thank you!

@daniel-carranza daniel-carranza changed the title feat<CategoryTheory/Monoidal/Closed>: Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)). feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)). Feb 17, 2026
@daniel-carranza daniel-carranza changed the title feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)). feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)) Feb 17, 2026
@daniel-carranza daniel-carranza added the infinity-cosmos This PR is associated with Infinity Cosmos project label Feb 17, 2026
Comment thread Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean Outdated
Comment thread Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean Outdated
Comment thread Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean Outdated
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 20, 2026
@robin-carlier
Copy link
Copy Markdown
Contributor

robin-carlier commented Feb 20, 2026

Can you please add a TODO to show the naturality properties in each variable of the morphisms you define here?

I tried looking into it, and it opens a bit of a can of worms that we have missing instances for closed objects in the opposite category. So we can’t readily talk about things like pre (f.op) which would be necessary to state naturality properties. This might be outside of the scope of this PR, but eventually Mathlib will want these kind of things.

@daniel-carranza
Copy link
Copy Markdown
Collaborator Author

Can you please add a TODO to show the naturality properties in each variable of the morphisms you define here?

I tried looking into it, and it opens a bit of a can of worms that we have missing instances for closed objects in the opposite category. So we can’t readily talk about things like pre (f.op) which would be necessary to state naturality properties. This might be outside of the scope of this PR, but eventually Mathlib will want these kind of things.

ihomCurry and ihomUncurry now have comments above them describing the TODO mentioned here. Does this seem correct?

@daniel-carranza daniel-carranza removed the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 20, 2026
Comment thread Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean Outdated
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 24, 2026
@daniel-carranza daniel-carranza removed the awaiting-author A reviewer has asked the author a question or requested changes. label Feb 25, 2026
Copy link
Copy Markdown
Contributor

@dagurtomas dagurtomas left a comment

Choose a reason for hiding this comment

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

Thanks!

maintainer merge

Comment thread Mathlib/CategoryTheory/Monoidal/Closed/InternalCurrying.lean Outdated
@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by dagurtomas.

@mathlib-triage mathlib-triage Bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Feb 26, 2026
@riccardobrasca
Copy link
Copy Markdown
Member

Thanks!

bors d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented Feb 26, 2026

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

@mathlib-triage mathlib-triage Bot added delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Feb 26, 2026
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
@daniel-carranza
Copy link
Copy Markdown
Collaborator Author

bors r+

mathlib-bors Bot pushed a commit that referenced this pull request Mar 6, 2026
…al hom objects C(x \otimes y, z) and C(y, C(x, z)) (#35436)

Prove the currying-uncurrying isomorphism `C(x \otimes y, z) \iso C(y, C(x, z))` between internal hom objects of a closed monoidal category `C`.

Co-authored-by: daniel-carranza <carranzajdaniel@gmail.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented Mar 6, 2026

Build failed:

@dagurtomas
Copy link
Copy Markdown
Contributor

bors retry

@adomani
Copy link
Copy Markdown
Contributor

adomani commented May 7, 2026

Thanks!

bors merge

@bryangingechen
Copy link
Copy Markdown
Contributor

bors r+

2 similar comments
@bryangingechen
Copy link
Copy Markdown
Contributor

bors r+

@bryangingechen
Copy link
Copy Markdown
Contributor

bors r+

@mathlib-triage mathlib-triage Bot added the ready-to-merge This PR has been sent to bors. label May 7, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 7, 2026

Already running a review

1 similar comment
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 7, 2026

Already running a review

mathlib-bors Bot pushed a commit that referenced this pull request May 7, 2026
…al hom objects C(x \otimes y, z) and C(y, C(x, z)) (#35436)

Prove the currying-uncurrying isomorphism `C(x \otimes y, z) \iso C(y, C(x, z))` between internal hom objects of a closed monoidal category `C`.

Co-authored-by: daniel-carranza <carranzajdaniel@gmail.com>
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 7, 2026

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors Bot changed the title feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)) [Merged by Bors] - feat(CategoryTheory/Monoidal/Closed): Prove the isomorphism of internal hom objects C(x \otimes y, z) and C(y, C(x, z)) May 7, 2026
@mathlib-bors mathlib-bors Bot closed this May 7, 2026
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 7, 2026

Already running a review

1 similar comment
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors Bot commented May 7, 2026

Already running a review

gasparattila pushed a commit to gasparattila/mathlib4 that referenced this pull request May 9, 2026
…al hom objects C(x \otimes y, z) and C(y, C(x, z)) (leanprover-community#35436)

Prove the currying-uncurrying isomorphism `C(x \otimes y, z) \iso C(y, C(x, z))` between internal hom objects of a closed monoidal category `C`.

Co-authored-by: daniel-carranza <carranzajdaniel@gmail.com>
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
yuanyi-350 pushed a commit to yuanyi-350/yuanyi_mathlib4 that referenced this pull request May 18, 2026
…al hom objects C(x \otimes y, z) and C(y, C(x, z)) (leanprover-community#35436)

Prove the currying-uncurrying isomorphism `C(x \otimes y, z) \iso C(y, C(x, z))` between internal hom objects of a closed monoidal category `C`.

Co-authored-by: daniel-carranza <carranzajdaniel@gmail.com>
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). infinity-cosmos This PR is associated with Infinity Cosmos project new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! ready-to-merge This PR has been sent to bors. t-category-theory Category theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants