feat(CategoryTheory): pasting for kan extensions#41530
Conversation
PR summary 1a11b5fbf7Import changes exceeding 2%
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.CategoryTheory.Bicategory.Kan.IsKan | 449 | 474 | +25 (+5.57%) |
| Mathlib.CategoryTheory.Bicategory.Extension | 448 | 457 | +9 (+2.01%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.CategoryTheory.Bicategory.Kan.Adjunction |
4 |
Mathlib.CategoryTheory.Bicategory.Extension |
9 |
Mathlib.CategoryTheory.Bicategory.Kan.HasKan |
13 |
Mathlib.CategoryTheory.Bicategory.Kan.IsKan |
25 |
Declarations diff (regex)
+ IsAbsKan
+ fac
+ hom_ext
+ isKan
+ mk
+ ofIsoAbsKan
+ ofIsoKan
+ uniqueUpToIso
+ uniqueUpToIso_hom_left
+ uniqueUpToIso_inv_left
+ whisker
+ whiskerHom
+ whiskerIdCancel
+ whiskerIso
+ whiskerOfCommute
+ whiskerOfCompIdIsoSelf
+ whisker_counit
+ whisker_extension
+ whiskering
++ IsKan.ofIsKanTop_extension
++ IsKan.ofIsKanTop_lift
++ desc
++ homMk_left
++ homMk_right
++ ofCompId
++ ofIso_counit
++ ofIso_extension
++ ofIso_lift
++ ofIso_unit
++ paste_counit
++ paste_extension
++ paste_lift
++ paste_unit
++++ IsAbsKan.ofPaste
++++ IsAbsKan.paste
++++ IsKan.ofIsKanTop
++++ IsKan.ofIsKanTop_fac
++++ IsKan.ofPaste
++++ IsKan.paste
++++ isAbsKanEquivIsAbsKanPaste
++++ isKanEquivIsKanPaste
++++ mapIso
++++ paste
++++ pasteWhiskerIso
++++ whiskerOfIso
++++++++++++ ofIso
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.
Declarations diff (Lean)
✅ Lean-aware diff — post-build, computed from the Lean environment (commit
1a11b5f).
- +118 new declarations
- −0 removed declarations
+CategoryTheory.Bicategory.LeftExtension.IsAbsKan.ofIso
+CategoryTheory.Bicategory.LeftExtension.IsAbsKan.ofPaste
+CategoryTheory.Bicategory.LeftExtension.IsAbsKan.paste
+CategoryTheory.Bicategory.LeftExtension.IsKan.ofIsKanTop
+CategoryTheory.Bicategory.LeftExtension.IsKan.ofIsKanTop_extension
+CategoryTheory.Bicategory.LeftExtension.IsKan.ofIsKanTop_fac
+CategoryTheory.Bicategory.LeftExtension.IsKan.ofIso
+CategoryTheory.Bicategory.LeftExtension.IsKan.ofPaste
+CategoryTheory.Bicategory.LeftExtension.IsKan.paste
+CategoryTheory.Bicategory.LeftExtension.homMk_right
+CategoryTheory.Bicategory.LeftExtension.isAbsKanEquivIsAbsKanPaste
+CategoryTheory.Bicategory.LeftExtension.isKanEquivIsKanPaste
+CategoryTheory.Bicategory.LeftExtension.mapIso
+CategoryTheory.Bicategory.LeftExtension.ofIso
+CategoryTheory.Bicategory.LeftExtension.ofIso_extension
+CategoryTheory.Bicategory.LeftExtension.ofIso_unit
+CategoryTheory.Bicategory.LeftExtension.paste
+CategoryTheory.Bicategory.LeftExtension.pasteWhiskerIso
+CategoryTheory.Bicategory.LeftExtension.paste_extension
+CategoryTheory.Bicategory.LeftExtension.paste_unit
+CategoryTheory.Bicategory.LeftExtension.whiskerOfIso
+CategoryTheory.Bicategory.LeftLift.IsAbsKan.ofIso
+CategoryTheory.Bicategory.LeftLift.IsAbsKan.ofPaste
+CategoryTheory.Bicategory.LeftLift.IsAbsKan.paste
+CategoryTheory.Bicategory.LeftLift.IsKan.ofIsKanTop
+CategoryTheory.Bicategory.LeftLift.IsKan.ofIsKanTop_fac
+CategoryTheory.Bicategory.LeftLift.IsKan.ofIsKanTop_lift
+CategoryTheory.Bicategory.LeftLift.IsKan.ofIso
+CategoryTheory.Bicategory.LeftLift.IsKan.ofPaste
+CategoryTheory.Bicategory.LeftLift.IsKan.paste
+CategoryTheory.Bicategory.LeftLift.homMk_right
+CategoryTheory.Bicategory.LeftLift.isAbsKanEquivIsAbsKanPaste
+CategoryTheory.Bicategory.LeftLift.isKanEquivIsKanPaste
+CategoryTheory.Bicategory.LeftLift.mapIso
+CategoryTheory.Bicategory.LeftLift.ofIso
+CategoryTheory.Bicategory.LeftLift.ofIso_lift
+CategoryTheory.Bicategory.LeftLift.ofIso_unit
+CategoryTheory.Bicategory.LeftLift.paste
+CategoryTheory.Bicategory.LeftLift.pasteWhiskerIso
+CategoryTheory.Bicategory.LeftLift.paste_lift
+CategoryTheory.Bicategory.LeftLift.paste_unit
+CategoryTheory.Bicategory.LeftLift.whiskerOfIso
+CategoryTheory.Bicategory.RightExtension.IsAbsKan
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.desc
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.isKan
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.ofIso
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.ofIsoAbsKan
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.ofPaste
+CategoryTheory.Bicategory.RightExtension.IsAbsKan.paste
+CategoryTheory.Bicategory.RightExtension.IsKan.desc
+CategoryTheory.Bicategory.RightExtension.IsKan.fac
+CategoryTheory.Bicategory.RightExtension.IsKan.fac_assoc
+CategoryTheory.Bicategory.RightExtension.IsKan.hom_ext
+CategoryTheory.Bicategory.RightExtension.IsKan.mk
+CategoryTheory.Bicategory.RightExtension.IsKan.ofCompId
+CategoryTheory.Bicategory.RightExtension.IsKan.ofIsKanTop
+CategoryTheory.Bicategory.RightExtension.IsKan.ofIsKanTop_extension
+CategoryTheory.Bicategory.RightExtension.IsKan.ofIsKanTop_fac
+CategoryTheory.Bicategory.RightExtension.IsKan.ofIso
+CategoryTheory.Bicategory.RightExtension.IsKan.ofIsoKan
+CategoryTheory.Bicategory.RightExtension.IsKan.ofPaste
+CategoryTheory.Bicategory.RightExtension.IsKan.paste
+CategoryTheory.Bicategory.RightExtension.IsKan.uniqueUpToIso
+CategoryTheory.Bicategory.RightExtension.IsKan.uniqueUpToIso_hom_left
+CategoryTheory.Bicategory.RightExtension.IsKan.uniqueUpToIso_inv_left
+CategoryTheory.Bicategory.RightExtension.IsKan.whiskerOfCommute
+CategoryTheory.Bicategory.RightExtension.homMk.congr_simp
+CategoryTheory.Bicategory.RightExtension.homMk_left
+CategoryTheory.Bicategory.RightExtension.isAbsKanEquivIsAbsKanPaste
+CategoryTheory.Bicategory.RightExtension.isKanEquivIsKanPaste
+CategoryTheory.Bicategory.RightExtension.mapIso
+CategoryTheory.Bicategory.RightExtension.ofCompId
+CategoryTheory.Bicategory.RightExtension.ofCompId_hom
+CategoryTheory.Bicategory.RightExtension.ofCompId_left
+CategoryTheory.Bicategory.RightExtension.ofCompId_right_as
+CategoryTheory.Bicategory.RightExtension.ofIso
+CategoryTheory.Bicategory.RightExtension.ofIso_counit
+CategoryTheory.Bicategory.RightExtension.ofIso_extension
+CategoryTheory.Bicategory.RightExtension.paste
+CategoryTheory.Bicategory.RightExtension.pasteWhiskerIso
+CategoryTheory.Bicategory.RightExtension.paste_counit
+CategoryTheory.Bicategory.RightExtension.paste_extension
+CategoryTheory.Bicategory.RightExtension.whisker
+CategoryTheory.Bicategory.RightExtension.whiskerHom
+CategoryTheory.Bicategory.RightExtension.whiskerHom_left
+CategoryTheory.Bicategory.RightExtension.whiskerIdCancel
+CategoryTheory.Bicategory.RightExtension.whiskerIdCancel_left
+CategoryTheory.Bicategory.RightExtension.whiskerIso
+CategoryTheory.Bicategory.RightExtension.whiskerOfCompIdIsoSelf
+CategoryTheory.Bicategory.RightExtension.whiskerOfCompIdIsoSelf_hom_left
+CategoryTheory.Bicategory.RightExtension.whiskerOfCompIdIsoSelf_inv_left
+CategoryTheory.Bicategory.RightExtension.whiskerOfIso
+CategoryTheory.Bicategory.RightExtension.whisker_counit
+CategoryTheory.Bicategory.RightExtension.whisker_extension
+CategoryTheory.Bicategory.RightExtension.whiskering
+CategoryTheory.Bicategory.RightExtension.whiskering_map
+CategoryTheory.Bicategory.RightExtension.whiskering_obj
+CategoryTheory.Bicategory.RightLift.IsAbsKan.ofIso
+CategoryTheory.Bicategory.RightLift.IsAbsKan.ofPaste
+CategoryTheory.Bicategory.RightLift.IsAbsKan.paste
+CategoryTheory.Bicategory.RightLift.IsKan.ofIsKanTop
+CategoryTheory.Bicategory.RightLift.IsKan.ofIsKanTop_fac
+CategoryTheory.Bicategory.RightLift.IsKan.ofIsKanTop_lift
+CategoryTheory.Bicategory.RightLift.IsKan.ofIso
+CategoryTheory.Bicategory.RightLift.IsKan.ofPaste
+CategoryTheory.Bicategory.RightLift.IsKan.paste
+CategoryTheory.Bicategory.RightLift.homMk_left
+CategoryTheory.Bicategory.RightLift.isAbsKanEquivIsAbsKanPaste
+CategoryTheory.Bicategory.RightLift.isKanEquivIsKanPaste
+CategoryTheory.Bicategory.RightLift.mapIso
+CategoryTheory.Bicategory.RightLift.ofIso
+CategoryTheory.Bicategory.RightLift.ofIso_counit
+CategoryTheory.Bicategory.RightLift.ofIso_lift
+CategoryTheory.Bicategory.RightLift.paste
+CategoryTheory.Bicategory.RightLift.pasteWhiskerIso
+CategoryTheory.Bicategory.RightLift.paste_counit
+CategoryTheory.Bicategory.RightLift.paste_lift
+CategoryTheory.Bicategory.RightLift.whiskerOfIsoIncrease in strong tech debt: (relative, absolute) = (5.43, 0.00)
| Current number | Change | Type (strong) |
|---|---|---|
| 4516 | 1 | backward.defeqAttrib.useBackward |
| 5669 | 11 | backward.isDefEq.respectTransparency |
Current commit 1a11b5fbf7
Reference commit f0630767e5
This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
- The
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
|
This PR/issue depends on:
|
This PR constructs pasting for left lifts and shows the pasting lemma for (abs) left kan lifts. This is done for all four notions of left/right lifts/extensions.
This is needed for the oo-cosmos project.
AI disclosure. Claude was used in defining the API for the left lift case. After manually fixing its bad proofs/definitions/docstrings, Claude was later asked to replicate this for the other three cases, which I again finetuned.