Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
399 commits
Select commit Hold shift + click to select a range
9cf3fce
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 21, 2026
3d7d278
Revert "chore: more proof-level `irreducible_def` patches" and predec…
nomeata Apr 21, 2026
3373f60
chore: restore module-level `set_option backward.defeqAttrib.useBackw…
nomeata Apr 21, 2026
29bec3c
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 21, 2026
0777acc
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 22, 2026
eac921f
chore: bump to nightly-2026-04-22
mathlib-nightly-testing[bot] Apr 22, 2026
f46fb25
chore: strip all `set_option backward.defeqAttrib.useBackward true`
nomeata Apr 21, 2026
b3ee74e
chore: add scoped \`set_option backward.defeqAttrib.useBackward true\`
nomeata Apr 21, 2026
de2a59b
chore(scripts): thread --value through fix_nonlocal_set_option.py
nomeata Apr 21, 2026
125a60b
fix(Order/JordanHolder): restructure `Equivalent.snoc` proof
nomeata Apr 21, 2026
50b44ea
fix(RingTheory/TensorProduct/Maps): use `simpa` instead of `dsimp; ex…
nomeata Apr 21, 2026
fc5b905
fix(CategoryTheory/Equivalence): module-level \`set_option backward.d…
nomeata Apr 21, 2026
e656cb3
chore: 2nd round of scoped `set_option backward.defeqAttrib.useBackwa…
nomeata Apr 21, 2026
a0adce8
chore: file-level `set_option backward.defeqAttrib.useBackward true` …
nomeata Apr 22, 2026
b52090f
chore: 3rd iteration of scoped + file-level `set_option` additions
nomeata Apr 22, 2026
1a4ddc0
chore: 4th iteration of scoped `set_option backward.defeqAttrib.useBa…
nomeata Apr 22, 2026
6a8de2f
chore: file-level `set_option backward.defeqAttrib.useBackward true` …
nomeata Apr 22, 2026
1fefd78
chore: 5th iteration of scoped `set_option backward.defeqAttrib.useBa…
nomeata Apr 22, 2026
bb3dc3e
chore: file-level `set_option backward.defeqAttrib.useBackward true` …
nomeata Apr 22, 2026
973ed40
chore: 6th iteration scoped set_option additions (27 modules)
nomeata Apr 22, 2026
6befe17
fix(Tactic/Simps): run projection-lemma normalization with \`useBackw…
nomeata Apr 22, 2026
7dc9835
chore: add scoped `set_option backward.defeqAttrib.useBackward true`
nomeata Apr 22, 2026
10cedd5
chore: file-level `set_option backward.defeqAttrib.useBackward true` …
nomeata Apr 22, 2026
7740f44
fix(Tactic/DSimpPercent): elaborate `dsimp%` with `useBackward=true`
nomeata Apr 22, 2026
9d376b1
Revert "fix(Tactic/DSimpPercent): elaborate `dsimp%` with `useBackwar…
nomeata Apr 22, 2026
05c52ef
fix: scope useBackward=true around `extendRestrictScalarsAdj_counit_a…
nomeata Apr 22, 2026
695ba36
fix: proof-level adaptations for 2 files under stricter defeq
nomeata Apr 22, 2026
23e7296
fix: add `id_comp` to simp list in `CoGrothendieck.map.map_comp`
nomeata Apr 22, 2026
af17414
fix: spell out `ofIso`'s `s'_comp_ε` and `s₀_comp_δ₁` proofs
nomeata Apr 22, 2026
0077a67
fix: adapt `colimitLimitToLimitColimit_injective`/`_surjective` proofs
nomeata Apr 22, 2026
001bd00
chore: add `set_option backward.defeqAttrib.useBackward true` scoped …
nomeata Apr 22, 2026
ec24396
chore: add useBackward to failing decls (round 8)
nomeata Apr 22, 2026
d43f066
chore: add useBackward to failing decls (round 9, partial)
nomeata Apr 22, 2026
a1ce6af
fix: add useBackward to fix remaining failures in round 9
nomeata Apr 22, 2026
c4a60bd
chore: add useBackward to failing decls (round 10)
nomeata Apr 22, 2026
10156b9
chore: add useBackward to failing decls (round 11)
nomeata Apr 22, 2026
1962112
chore: add useBackward to failing decls (round 12)
nomeata Apr 22, 2026
44a4ee2
chore: add useBackward to failing decls (round 13)
nomeata Apr 22, 2026
cd43604
chore: partial adds in round 14 (4 files still need manual fix)
nomeata Apr 22, 2026
247c918
fix: scope useBackward at more decl sites (round 14 manual fixes)
nomeata Apr 22, 2026
caadb48
chore: useBackward on mapComp'_inv_naturality and pullHom_pullHom (do…
nomeata Apr 22, 2026
7444acb
chore: partial attempts in IsPrestack (remains broken)
nomeata Apr 22, 2026
5c760d3
chore: add useBackward to failing decls (round 15)
nomeata Apr 22, 2026
4759a0d
fix: Stalk.lean needs useBackward on 4 decls
nomeata Apr 22, 2026
ddaf12b
chore: add useBackward to failing decls (round 16)
nomeata Apr 22, 2026
aa5123d
fix: add useBackward to mapComp'₀₂₃_inv_comp_mapComp'₀₁₃_hom and vari…
nomeata Apr 22, 2026
cd3a1c7
chore: round 17 partial (DescentData still broken)
nomeata Apr 22, 2026
ae74cc7
chore: partial useBackward on DescentData (still broken)
nomeata Apr 22, 2026
c15cdcf
chore: partial DescentData fixes (still has cascading issues)
nomeata Apr 22, 2026
fb8eeab
chore: file-level useBackward on DescentData, minor proof edits
nomeata Apr 22, 2026
f9b1ef7
chore: OpenImmersion.lean useBackward
nomeata Apr 22, 2026
5a7002b
chore: partial DescentData - line 352 still has metavar issue
nomeata Apr 22, 2026
f740612
fix: DescentData + useBackward on mapComp'₀₂₃_hom
nomeata Apr 22, 2026
f376389
chore: round 18 partial
nomeata Apr 22, 2026
6bd7f4a
fix: Precoverage.lean file-level useBackward
nomeata Apr 22, 2026
d08e84d
chore: round 20
nomeata Apr 22, 2026
b97f7ea
fix: `add_set_option.py` skip `variable`/`include`/`omit`/`open` lines
nomeata Apr 22, 2026
c57b5b0
chore: round 21 (GammaSpecAdjunction, Gluing)
nomeata Apr 22, 2026
1f2094c
Revert "fix: `add_set_option.py` skip `variable`/`include`/`omit`/`op…
nomeata Apr 22, 2026
efdee48
chore: round 22
nomeata Apr 22, 2026
e777cce
chore: round 23
nomeata Apr 22, 2026
4fd6972
chore: script-fixed 36 more mathlib modules with useBackward
nomeata Apr 22, 2026
54e50ad
fix: add useBackward to 3 decls in Representability.lean
nomeata Apr 22, 2026
45f3ee4
chore: remove unused simp arguments (326 across 123 files)
nomeata Apr 22, 2026
4278b88
chore: fix long lines, `show` -> `change`, drop unused `- X` simp args
nomeata Apr 22, 2026
8ca5b7e
chore: one more long-line fix
nomeata Apr 22, 2026
a6acd94
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 22, 2026
147150d
chore: useBackward on 3 MathlibTest files for lake test
nomeata Apr 22, 2026
4decb39
Empty line
nomeata Apr 22, 2026
9ad120a
Bump batteries
nomeata Apr 22, 2026
f3bf1a6
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 22, 2026
8085259
doc(scripts): document new helpers (fix_unused_simp_args.py, fix_long…
nomeata Apr 22, 2026
418dd5c
chore: add `simpNF` nolints for 178 lemmas that simp can now prove
nomeata Apr 22, 2026
f2e6589
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 23, 2026
2d5b4c4
chore: bump to nightly-2026-04-23
mathlib-nightly-testing[bot] Apr 23, 2026
ec09924
cleanup
kim-em Apr 23, 2026
f0689d0
revert an unnecessary change
kim-em Apr 23, 2026
a6de9c2
revert unnecessary changes
kim-em Apr 23, 2026
c619ce1
add adaptation notes
kim-em Apr 24, 2026
4ab7318
minor fixes, whitespace and PR links
kim-em Apr 24, 2026
2eb2ebb
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 24, 2026
f0b67bf
adaptation notes
kim-em Apr 24, 2026
a1669dc
two improvements
kim-em Apr 24, 2026
46e62dc
fix
kim-em Apr 24, 2026
062cd37
fix FilteredColimitCommutesFiniteLimit
dagurtomas Apr 24, 2026
adaef65
.
dagurtomas Apr 24, 2026
e18473c
fix IsPrestack
dagurtomas Apr 24, 2026
5c1c60d
improvements
kim-em Apr 24, 2026
3e2d7ce
Merge branch 'lean-pr-testing-13492' of https://github.com/leanprover…
kim-em Apr 24, 2026
ad19764
improvements
kim-em Apr 24, 2026
bd1ea33
fix extra degeneracy
dagurtomas Apr 24, 2026
96954cc
Merge branch 'lean-pr-testing-13492' of github.com:leanprover-communi…
dagurtomas Apr 24, 2026
16f6f39
small improvement in DerivedCategory/Ext
dagurtomas Apr 24, 2026
6819973
slightly improve the proof in Limits/Shapes/Equalizers.lean
TwoFX Apr 24, 2026
7d4b2eb
removed adaptation note for DerivedCategory/Ext/Map
joelriou Apr 24, 2026
7f2aed1
More
TwoFX Apr 24, 2026
ea11aab
chore: bump to nightly-2026-04-24
mathlib-nightly-testing[bot] Apr 24, 2026
b5c35d6
adapt to lean4#13363: canUnfoldAtMatcher allowlist changes
nomeata Apr 24, 2026
354733e
chore: remove unused helper lemmas from Ordinal/Notation adaptation
nomeata Apr 24, 2026
6674d99
Merge branch 'nightly-testing-green' of https://github.com/leanprover…
nomeata Apr 24, 2026
227f9b9
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13363
Apr 24, 2026
e4ce4fe
more cleaningup
joelriou Apr 24, 2026
335001c
adapt Limits/Shapes/ConcreteCategory to lean4#13363
nomeata Apr 24, 2026
a76fdf7
Merge branch 'lean-pr-testing-13363' of https://github.com/leanprover…
nomeata Apr 24, 2026
ad1873b
Bump batteries
nomeata Apr 24, 2026
21286e9
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13363
Apr 24, 2026
8f54182
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 24, 2026
706a5a9
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 25, 2026
18ebfae
chore: bump to nightly-2026-04-25
mathlib-nightly-testing[bot] Apr 25, 2026
60da88c
merge lean-pr-testing-13363
mathlib-nightly-testing[bot] Apr 25, 2026
358f262
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 26, 2026
13acb47
Update lean-toolchain for testing https://github.com/leanprover/lean4…
Apr 26, 2026
c22b6cc
satisfy linter
kim-em Apr 26, 2026
e8acaed
fixes
kmill Apr 26, 2026
a43b364
archive and counterexamples
kmill Apr 26, 2026
5efa7dc
fix: round 30 - Pi/Basic + TensorProduct/Pi after nightly merge
nomeata Apr 26, 2026
f7196dc
chore: round 32 fixed by script
nomeata Apr 26, 2026
39258cb
chore: round 33 (5 of 6 fixed by script)
nomeata Apr 26, 2026
222989d
fix: Biproducts isoCoproduct simp leaves isTrue goal needing subst
nomeata Apr 26, 2026
0b72dc6
chore: round 34 (3 of 5 by script)
nomeata Apr 26, 2026
cc40992
fix: round 34 SequentialProduct + StdSimplex
nomeata Apr 26, 2026
bcb51fa
chore: round 35
nomeata Apr 26, 2026
7e99a9a
chore: round 36
nomeata Apr 26, 2026
ac59f87
chore: round 37
nomeata Apr 26, 2026
5f939f8
chore: round 37 - remove unused simp args
nomeata Apr 26, 2026
69cbc3c
chore: avoid 'adaptation note' substring in adaptation note bodies
nomeata Apr 26, 2026
f1fe074
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 27, 2026
23aa2cf
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13492
Apr 27, 2026
a663828
chore: round 41 (2 of 3 fixed by script)
nomeata Apr 27, 2026
fda4203
chore: resolve merge conflict in Sheaf/Free.lean
nomeata Apr 27, 2026
33bcb54
chore: nolint two simpNF auto-generated lemmas
nomeata Apr 27, 2026
1c9f879
Remove my custom scripts used for managing lean4#13492 migration
nomeata Apr 27, 2026
9fc131c
chore: bump to nightly-2026-04-27
mathlib-nightly-testing[bot] Apr 27, 2026
2cc71f2
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13528
Apr 27, 2026
e89a3fe
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 28, 2026
f21126d
chore: bump to nightly-2026-04-28
mathlib-nightly-testing[bot] Apr 28, 2026
cc70049
merge lean-pr-testing-13359
mathlib-nightly-testing[bot] Apr 28, 2026
5eeedb9
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13528
Apr 28, 2026
f977d54
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 29, 2026
c76bb1d
Merge branch 'lean-pr-testing-13492' of https://github.com/leanprover…
kim-em Apr 29, 2026
9a82400
chore: drop stale `DeprecatedModule` import in `RingTheory/Regular/De…
kim-em Apr 29, 2026
36a46a3
chore: extend `lean-pr-testing-13492` set_option pattern to remaining…
kim-em Apr 29, 2026
2ee6529
fix(AlgebraicTopology): repair `ε.naturality` under stricter defeq
kim-em Apr 29, 2026
411c1e5
chore: extend `useBackward` set_option to two more pushout-product files
kim-em Apr 29, 2026
cbee8e1
chore: remove redundant `@[expose]` attributes flagged by lean4#13359
kim-em Apr 29, 2026
4aadf4e
chore: add `@[expose] public section` to silence private-module warning
kim-em Apr 29, 2026
7ecd070
chore: drop redundant `@[simp]` from `Pretriangulated.{id,comp}_hom₁/…
kim-em Apr 29, 2026
1a0a9fa
chore: drop redundant `@[simp]` from `coe_id`/`coe_comp` in `Order.Ca…
kim-em Apr 29, 2026
234a440
chore: drop redundant `@[simp]` flagged by simpNF in CategoryTheory +…
kim-em Apr 29, 2026
adc20b0
chore: drop more `@[simp]` flagged by simpNF as 'LHS simplifies from'
kim-em Apr 29, 2026
223850f
chore: drop redundant `@[simp]` from `coe_id`/`coe_comp` in `Algebra.…
kim-em Apr 29, 2026
e18e7f9
chore: drop redundant `@[simps!]` on `WeierstrassCurve.{Affine,Jacobi…
kim-em Apr 29, 2026
2ea642e
chore: drop redundant `@[simps!]`/`@[simp]` in CategoryTheory bicateg…
kim-em Apr 29, 2026
9de5468
chore: trim more `@[simp]`/`@[simps]` flagged by simpNF
kim-em Apr 29, 2026
33c181f
chore: trim more `@[simps]`/`@[simp]` flagged by simpNF (batch 4)
kim-em Apr 29, 2026
356b280
chore: trim more `@[simps]`/`@[simp]` flagged by simpNF (batch 5, big)
kim-em Apr 29, 2026
54c67e3
chore: bump to nightly-2026-04-29
mathlib-nightly-testing[bot] Apr 29, 2026
20f3ba3
chore: fix namespace context in `attribute [-simp]` calls
kim-em Apr 29, 2026
1eb2b45
chore: trim more simpNF-flagged simp lemmas (batch 6)
kim-em Apr 29, 2026
8b29e60
chore: trim more simpNF-flagged simps via explicit projection lists
kim-em Apr 29, 2026
eb8f0c8
chore: drop redundant `@[simp]` from def equation lemmas
kim-em Apr 29, 2026
e73e4de
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13528
Apr 29, 2026
b421d1f
adaptation notes about nolint simpNF
kim-em Apr 30, 2026
a3dbe9e
chore: nolint simpNF on auto-generated equation lemmas
kim-em Apr 30, 2026
4a44e99
chore: add adaptation_note to each `attribute [nolint simpNF]`
kim-em Apr 30, 2026
7aa60c9
Merge master into nightly-testing
mathlib-nightly-testing[bot] Apr 30, 2026
0202a3b
lake update batteries
kim-em Apr 30, 2026
e318d04
chore: fix mutual instance + filtered closure rfl failures
kim-em Apr 30, 2026
074a3b8
chore: bump to nightly-2026-04-30
mathlib-nightly-testing[bot] Apr 30, 2026
bc95e57
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 1, 2026
8a5ba4c
chore: bump to nightly-2026-05-01
mathlib-nightly-testing[bot] May 1, 2026
e35ec4b
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 2, 2026
68bfddb
chore: bump to nightly-2026-05-02
mathlib-nightly-testing[bot] May 2, 2026
36139e3
Merge branch 'lean-pr-testing-13528' of https://github.com/leanprover…
kim-em May 2, 2026
15e2858
fix
kim-em May 2, 2026
2d81cae
adaptation note
kim-em May 2, 2026
1cf226f
fix bad merge
kim-em May 2, 2026
a19e131
adaptation notes
kim-em May 2, 2026
c76b942
fix
kim-em May 2, 2026
6904ef7
fixes
kim-em May 2, 2026
eaa02ab
attributes
kim-em May 2, 2026
36b1247
fixes
kim-em May 2, 2026
d919bc6
fixes via attributes
kim-em May 2, 2026
9cbc30f
fixes
kim-em May 2, 2026
b8ec21d
linter
kim-em May 2, 2026
76b8ecf
nolint
kim-em May 2, 2026
8ff5d78
Update lean-toolchain for testing https://github.com/leanprover/lean4…
May 2, 2026
dec1ad9
chore: bump to nightly-2026-05-03
mathlib-nightly-testing[bot] May 3, 2026
140aeda
remove unneeded simp
kim-em May 3, 2026
09f2810
Merge branch 'nightly-testing' of github.com:leanprover-community/mat…
kim-em May 3, 2026
71ad3f1
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13613
May 3, 2026
a58850c
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 4, 2026
af7cd4b
chore: bump to nightly-2026-05-04
mathlib-nightly-testing[bot] May 4, 2026
fa3662a
chore: adaptations for nightly-2026-05-03
kim-em May 4, 2026
516318b
fixes
kim-em May 4, 2026
a915409
Apply suggestions from code review
kim-em May 4, 2026
9d88bb1
fixes from nightly-testing
kim-em May 4, 2026
b138e19
lake-manifest
kim-em May 4, 2026
9b31753
Merge branch 'bump/v4.31.0' into bump/nightly-2026-05-03
kim-em May 4, 2026
4151e8d
lake-manifest
kim-em May 4, 2026
00b2942
merge bump/nightly-2026-05-03
kim-em May 4, 2026
5b941f5
fix from nightly-testing
kim-em May 5, 2026
47eaefe
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 5, 2026
274377a
merge upstream/master
kim-em May 5, 2026
485ff94
Emerge
kim-em May 5, 2026
a4ed6a0
Merge remote-tracking branch 'upstream/master' into nightly-testing
May 5, 2026
a66913a
fix test
kim-em May 5, 2026
9b5f2cd
chore: bump to nightly-2026-05-05
mathlib-nightly-testing[bot] May 5, 2026
d79879f
chore: restore @[to_additive (attr := simp)] symmetry
kim-em May 5, 2026
09055b0
Revert "chore: restore @[to_additive (attr := simp)] symmetry"
kim-em May 5, 2026
3be4aac
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13613
May 5, 2026
eb6f701
fix(to_additive): propagate @[defeq] symmetrically to additive transl…
kim-em May 5, 2026
9405f76
chore: restore @[to_additive (attr := simp)] symmetry
kim-em May 5, 2026
afa506e
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 6, 2026
c7c433c
chore: drop redundant @[simps!] on Mon.mkIso / AddMon.mkIso
kim-em May 6, 2026
05124db
deprecation
kim-em May 6, 2026
084301b
fix
kim-em May 6, 2026
e27262b
deprecation
kim-em May 6, 2026
f238619
Merge remote-tracking branch 'nightly-testing/bump/nightly-2026-05-03…
kim-em May 6, 2026
cc77eee
chore: restore lost content from #38972 merge in Cartesian/Mon.lean
kim-em May 6, 2026
9a7efec
add missing imports (as public)
Kha May 5, 2026
c68d62a
chore: bump to nightly-2026-05-06
mathlib-nightly-testing[bot] May 6, 2026
b85b550
Update lean-toolchain for https://github.com/leanprover/lean4/pull/13613
May 6, 2026
bd907b4
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 7, 2026
5176738
chore: bump to nightly-2026-05-07
mathlib-nightly-testing[bot] May 7, 2026
010b127
merge lean-pr-testing-13613
mathlib-nightly-testing[bot] May 7, 2026
c6c7e52
fix
kim-em May 8, 2026
2dc7f3c
remove `change` tactics flagged by unusedTactics linter
kim-em May 8, 2026
8f893cb
fix
kim-em May 8, 2026
6203e81
fix
kim-em May 8, 2026
fa05551
fix
kim-em May 8, 2026
81e9b52
fix
kim-em May 8, 2026
c34f13b
Merge master into nightly-testing
mathlib-nightly-testing[bot] May 8, 2026
954f789
fix
kim-em May 8, 2026
03370a8
Merge branch 'nightly-testing' of github.com:leanprover-community/mat…
kim-em May 8, 2026
abace82
fixes
kim-em May 8, 2026
cb919af
fixes
kim-em May 8, 2026
17bde92
fixes
kim-em May 8, 2026
ae87437
fixes
kim-em May 8, 2026
9295f09
adaptation note
kim-em May 8, 2026
f6071c1
linting
kim-em May 8, 2026
4899732
chore: adaptations for nightly-2026-05-07
kim-em May 9, 2026
aacaaef
Apply suggestions from code review
kim-em May 9, 2026
dac2e97
chore: revert spurious blank-line additions
kim-em May 10, 2026
3819811
chore: revert remaining spurious blank-line additions
kim-em May 10, 2026
fc1dbdf
chore: undo over-eager blank-line reverts (restore lines from PR base)
kim-em May 10, 2026
bb8b93e
Apply suggestions from code review
kim-em May 11, 2026
c11913a
fix: restore mapFreeIso_hom lemma from #38341
kim-em May 6, 2026
1c5de37
fix: drop stale Reorder defs re-added during merge
kim-em May 11, 2026
1cbe60e
chore(RingTheory/Bialgebra/TensorProduct): enable `backward.defeqAttr…
kim-em May 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cache/Requests.lean
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def findMathlibRemote (mathlibDepPath : FilePath) : IO String := do
let remoteUrl := parts[1]!.takeWhile (· != ' ') |>.copy -- Remove (fetch) or (push) suffix

-- Check if this remote points to leanprover-community/mathlib4
let isMathlibRepo := remoteUrl.containsSubstr "leanprover-community/mathlib4"
let isMathlibRepo := remoteUrl.contains "leanprover-community/mathlib4"

if isMathlibRepo then
if remoteName == "origin" then
Expand Down
7 changes: 3 additions & 4 deletions Mathlib/Algebra/Colimit/DirectLimit.lean
Original file line number Diff line number Diff line change
Expand Up @@ -613,10 +613,10 @@ lemma map₀_algebraMap (i : ι) (r : R) :
instance : Algebra R (DirectLimit G f) where
algebraMap := map₀RingHom (f := f).comp (algebraMap R (∀ i, G i))
commutes' r := DirectLimit.induction f fun i _ ↦ by
dsimp [Pi.algebraMap_def]
dsimp [Pi.algebraMap_def, map₀RingHom]
rw [map₀_algebraMap i, mul_def, mul_def, Algebra.commutes]
smul_def' r := DirectLimit.induction _ fun i _ => by
dsimp [Pi.algebraMap_def]
dsimp [Pi.algebraMap_def, map₀RingHom]
rw [smul_def, map₀_algebraMap i, mul_def, Algebra.smul_def']

lemma algebraMap_def (i : ι) (r : R) :
Expand Down Expand Up @@ -871,7 +871,6 @@ variable [Nonempty ι]

variable (G f) in
/-- The canonical map from a component to the direct limit. -/
@[simps]
def of (i) : G i →ₙₐ[R] DirectLimit G f where
toFun x := ⟦⟨i, x⟩⟧
__ := (DirectLimit.NonUnitalRing.of G f i)
Expand All @@ -886,7 +885,7 @@ variable (G f) in
that respect the directed system structure (i.e. make some diagram commute) give rise
to a unique map out of the direct limit.
-/
@[simps]
@[simps toFun]
def lift (g : ∀ i, G i →ₙₐ[R] P) (Hg : ∀ i j hij x, g j (f i j hij x) = g i x) :
DirectLimit G f →ₙₐ[R] P where
toFun := _root_.DirectLimit.lift _ (g · ·) fun i j h x ↦ (Hg i j h x).symm
Expand Down
1 change: 1 addition & 0 deletions Mathlib/Algebra/Group/Defs.lean
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public import Mathlib.Tactic.MkIffOfInductiveProp
public import Mathlib.Tactic.OfNat
public import Mathlib.Data.Nat.Notation
public import Mathlib.Tactic.Simps.Basic
public import Mathlib.Tactic.AdaptationNote

/-!
# Typeclasses for (semi)groups and monoids
Expand Down
1 change: 1 addition & 0 deletions Mathlib/Algebra/Group/Nat/Even.lean
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module
public import Mathlib.Algebra.Group.Even
public import Mathlib.Algebra.Group.Nat.Defs
public import Mathlib.Data.Nat.Sqrt
public import Mathlib.Tactic.Attr.Register

/-!
# `IsSquare` and `Even` for natural numbers
Expand Down
6 changes: 4 additions & 2 deletions Mathlib/Algebra/Homology/DerivedCategory/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -114,15 +114,17 @@ variable (C) in
def quotientCompQhIso : HomotopyCategory.quotient C (ComplexShape.up ℤ) ⋙ Qh ≅ Q :=
HomologicalComplexUpToQuasiIso.quotientCompQhIso C (ComplexShape.up ℤ)

#adaptation_note /-- Prior to nightly-2026-05-07, the LHS of these statements was guarded with
`dsimp%`; it now reports `made no progress`, so we write the (already-reduced) form directly. -/
@[reassoc (attr := simp)]
lemma quotientCompQhIso_hom_naturality {K L : CochainComplex C ℤ} (f : K ⟶ L) :
dsimp% Qh.map ((HomotopyCategory.quotient _ _).map f) ≫ (quotientCompQhIso C).hom.app L =
Qh.map ((HomotopyCategory.quotient _ _).map f) ≫ (quotientCompQhIso C).hom.app L =
(quotientCompQhIso C).hom.app K ≫ Q.map f :=
(quotientCompQhIso C).hom.naturality f

@[reassoc]
lemma quotientCompQhIso_inv_naturality {K L : CochainComplex C ℤ} (f : K ⟶ L) :
dsimp% Q.map f ≫ (quotientCompQhIso C).inv.app L =
Q.map f ≫ (quotientCompQhIso C).inv.app L =
(quotientCompQhIso C).inv.app K ≫ Qh.map ((HomotopyCategory.quotient _ _).map f) :=
(quotientCompQhIso C).inv.naturality f

Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/Homology/DerivedCategory/KInjective.lean
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ lemma quasiIso_iff {K L : CochainComplex C ℤ} [K.IsKInjective] [L.IsKInjective
obtain ⟨g, hg⟩ := (Qh_map_bijective _ _).surjective
((quotientCompQhIso C).hom.app L ≫ inv (Q.map f) ≫ (quotientCompQhIso C).inv.app K)
refine ⟨g, (Qh_map_bijective _ _).injective ?_, (Qh_map_bijective _ _).injective ?_⟩
· simp [hg]
· simp [hg, ← quotientCompQhIso_inv_naturality, -NatTrans.naturality]
· simp [hg]; rfl
· simp [hg, ← quotientCompQhIso_inv_naturality, -NatTrans.naturality]; rfl

end IsKInjective

Expand Down
4 changes: 2 additions & 2 deletions Mathlib/Algebra/Homology/DerivedCategory/KProjective.lean
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ lemma quasiIso_iff {K L : CochainComplex C ℤ} [K.IsKProjective] [L.IsKProjecti
obtain ⟨g, hg⟩ := (Qh_map_bijective _ _).surjective
((quotientCompQhIso C).hom.app L ≫ inv (Q.map f) ≫ (quotientCompQhIso C).inv.app K)
refine ⟨g, (Qh_map_bijective _ _).injective ?_, (Qh_map_bijective _ _).injective ?_⟩
· simp [hg]
· simp [hg, ← quotientCompQhIso_inv_naturality f, -NatTrans.naturality]
· simp [hg]; rfl
· simp [hg, ← quotientCompQhIso_inv_naturality f, -NatTrans.naturality]; rfl

end IsKProjective

Expand Down
11 changes: 8 additions & 3 deletions Mathlib/Algebra/Homology/Embedding/ExtendHomotopy.lean
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,12 @@ lemma HomologicalComplex.homotopyEquivalences_extendMap_iff
(e : ComplexShape.Embedding c c') [e.IsRelIff] :
homotopyEquivalences C c' (extendMap f e) ↔
homotopyEquivalences C c f := by
simp [← HomotopyCategory.inverseImage_quotient_isomorphisms,
#adaptation_note /-- Prior to nightly-2026-05-07, `dsimp%` was used directly inline as the last
argument to the original `simp`; it now reports `made no progress` so we apply
`NatIso.isIso_map_iff` via a `change` + `rw` after the rest of the simp set has done its work. -/
simp only [← HomotopyCategory.inverseImage_quotient_isomorphisms,
MorphismProperty.inverseImage_iff, MorphismProperty.isomorphisms.iff,
← isIso_iff_of_reflects_iso _ (e.extendHomotopyFunctor C),
dsimp% NatIso.isIso_map_iff (e.extendHomotopyFunctorFactors C) f]
← isIso_iff_of_reflects_iso _ (e.extendHomotopyFunctor C)]
change _ ↔ IsIso ((HomotopyCategory.quotient C c ⋙ e.extendHomotopyFunctor C).map f)
rw [NatIso.isIso_map_iff (e.extendHomotopyFunctorFactors C) f]
rfl
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean
Original file line number Diff line number Diff line change
Expand Up @@ -548,8 +548,8 @@ lemma isStableUnderBaseChange (hP : RingHom.IsStableUnderBaseChange Q) :
· rw [IsZariskiLocalAtSource.iff_of_openCover (P := P)
(Scheme.Pullback.openCoverOfRight Y.affineCover f g)]
intro i
simp only [Scheme.Pullback.openCoverOfRight_f,
limit.lift_π, PullbackCone.mk_π_app, Category.comp_id]
simp only [Scheme.Pullback.openCoverOfRight_f, limit.lift_π, PullbackCone.mk_π_app,
Category.comp_id]
apply this _ (comp_of_isOpenImmersion _ _ _ H) inferInstance
rw [iff_of_isAffine (P := P)] at H ⊢
exact hP.pullback_fst_appTop _ (isLocal_ringHomProperty P).respectsIso _ _ H
Expand Down
4 changes: 2 additions & 2 deletions Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Functor.lean
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,8 @@ an affine open cover of `Proj ℬ` consisting of `D(f(s))` for `s ∈ A` positiv
set_option backward.isDefEq.respectTransparency false in
theorem map_comp : map (g.comp f) (irrelevant_le_map_comp hf hg) = map g hg ≫ map f hf := by
refine (mapAffineOpenCover _ <| irrelevant_le_map_comp hf hg).openCover.hom_ext _ _ fun s ↦ ?_
simp only [Scheme.AffineOpenCover.openCover_f,
mapAffineOpenCover_f, awayι_comp_map (g.comp f) _ s.1.2 _ s.2.2]
simp only [Scheme.AffineOpenCover.openCover_f, mapAffineOpenCover_f,
awayι_comp_map (g.comp f) _ s.1.2 _ s.2.2]
simp [awayι_comp_map_assoc _ _ _ _ (map_mem f s.2.2), awayι_comp_map _ _ _ _ s.2.2]

set_option backward.isDefEq.respectTransparency false in
Expand Down
3 changes: 1 addition & 2 deletions Mathlib/AlgebraicGeometry/Restrict.lean
Original file line number Diff line number Diff line change
Expand Up @@ -767,8 +767,7 @@ set_option backward.isDefEq.respectTransparency false in
noncomputable def arrowResLEAppIso (f : X ⟶ Y) (U : Y.Opens) (V : X.Opens) (e : V ≤ f ⁻¹ᵁ U) :
Arrow.mk ((f.resLE U V e).appTop) ≅ Arrow.mk (f.appLE U V e) :=
Arrow.isoMk U.topIso V.topIso <| by
simp only [Scheme.Opens.topIso_hom,
eqToHom_op, Arrow.mk_hom, Scheme.Hom.map_appLE]
simp only [Scheme.Opens.topIso_hom, eqToHom_op, Arrow.mk_hom, Scheme.Hom.map_appLE]
rw [Scheme.Hom.appTop, ← Scheme.Hom.appLE_eq_app, Scheme.Hom.resLE_appLE, Scheme.Hom.appLE_map]

lemma Scheme.Hom.isPullback_resLE
Expand Down
1 change: 1 addition & 0 deletions Mathlib/CategoryTheory/Discrete/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@ def piEquivalenceFunctorDiscrete (J : Type u₂) (C : Type u₁) [Category.{v₁
obtain rfl : f = 𝟙 _ := rfl
simp))) (by cat_disch)

set_option backward.defeqAttrib.useBackward true in
/-- `piEquivalenceFunctorDiscrete` is compatible with `evaluation`. -/
@[simps!]
def piEquivalenceFunctorDiscreteCompEvaluationIso (C : Type*) [Category* C] {J : Type*} (j : J) :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ maps `k : ∀ i, I i` to `∏ᶜ fun (s : α) => (F s).obj (k s)`. -/
noncomputable abbrev pointwiseProduct : (∀ i, I i) ⥤ C :=
Functor.pi F ⋙ Pi.functor α

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
attribute [local simp] Functor.pi in
/-- `pointwiseProduct` is invariant under re-indexing. -/
@[simps!]
Expand All @@ -81,6 +83,8 @@ noncomputable def coconePointwiseProduct (c : ∀ i, Cocone (F i)) :
pt := ∏ᶜ fun i ↦ (c i).pt
ι := Functor.whiskerRight (NatTrans.pi fun i ↦ (c i).ι) _ ≫ (Pi.constCompPiIsoConst _).hom

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
/-- `coconePointwiseProduct` is invariant under isomorphisms of cocones. -/
noncomputable def coconePointwiseProductIso {c c' : ∀ i, Cocone (F i)} (e : ∀ i, c i ≅ c' i) :
coconePointwiseProduct c ≅ coconePointwiseProduct c' :=
Expand All @@ -99,6 +103,7 @@ noncomputable def colimitPointwiseProductToProductColimit [∀ i, HasColimit (F

variable [∀ i, HasColimit (F i)] [HasColimit (pointwiseProduct F)]

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
@[reassoc (attr := simp)]
theorem ι_colimitPointwiseProductToProductColimit_π (k : ∀ i, I i) (s : α) :
Expand Down Expand Up @@ -126,6 +131,8 @@ noncomputable def pointwiseProductCompEvaluation (d : D) :
NatIso.ofComponents (fun k => piObjIso _ _)
(fun f => Pi.hom_ext _ _ (by simp [Functor.pi, ← NatTrans.comp_app]))

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
/-- In a functor category, `coconePointwiseProduct` commutes with evaluation. -/
noncomputable def evaluationCoconePointwiseProductIso (X : D) (c : ∀ i, Cocone (F i)) :
((evaluation D C).obj X).mapCocone (coconePointwiseProduct c) ≅
Expand Down Expand Up @@ -199,6 +206,8 @@ lemma IsIPCOfShape.of_isIso
obtain ⟨_, h⟩ := H J F
rwa [IsColimit.nonempty_isColimit_iff_isIso_desc (colimit.isColimit _)]

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
attribute [local simp] Functor.pi in
lemma IsIPCOfShape.of_equiv {ι' : Type*} [HasProductsOfShape ι' C] [IsIPCOfShape.{w} ι C]
(e : ι ≃ ι') :
Expand Down
2 changes: 2 additions & 0 deletions Mathlib/CategoryTheory/Limits/HasLimits.lean
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,7 @@ def lim : (J ⥤ C) ⥤ C where
apply Limits.limit.hom_ext; intro j
simp [assoc]

set_option backward.isDefEq.respectTransparency false in
/-- The natural transformation induced by `limit.π`. -/
@[simps]
def lim.π (j : J) : lim ⟶ (evaluation J C).obj j where
Expand Down Expand Up @@ -1074,6 +1075,7 @@ def colim : (J ⥤ C) ⥤ C where
obj F := colimit F
map α := colimMap α

set_option backward.isDefEq.respectTransparency false in
/-- The natural transformation induced by `colimit.ι`. -/
@[simps]
def colim.ι (j : J) : (evaluation J C).obj j ⟶ colim where
Expand Down
2 changes: 2 additions & 0 deletions Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,8 @@ structure BinaryBicone.IsBilimit {P Q : C} (b : BinaryBicone P Q) where
attribute [inherit_doc BinaryBicone.IsBilimit] BinaryBicone.IsBilimit.isLimit
BinaryBicone.IsBilimit.isColimit

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
/-- If a binary bicone for `P` and `Q` is bilimit, then the binary bicone for `P'` and `Q'`
obtained using isomorphisms `P ≅ P'` and `Q ≅ Q'` is also bilimit. -/
def BinaryBicone.IsBilimit.ofIso {P Q P' Q' : C} {b : BinaryBicone P Q} (hb : b.IsBilimit)
Expand Down
8 changes: 8 additions & 0 deletions Mathlib/CategoryTheory/Limits/Shapes/Products.lean
Original file line number Diff line number Diff line change
Expand Up @@ -997,26 +997,30 @@ noncomputable def Pi.functor [HasProductsOfShape α C] : (α → C) ⥤ C where
obj f := ∏ᶜ f
map {f g} t := Pi.map t

set_option backward.defeqAttrib.useBackward true in
/-- The natural transformation induced by `Pi.π`. -/
@[simps]
def Pi.functorπ [HasProductsOfShape α C] (a : α) :
Pi.functor α ⟶ Pi.eval (fun _ ↦ C) a where
app f := Pi.π f a

set_option backward.defeqAttrib.useBackward true in
variable (α) in
/-- Up to pre-composing with an equivalence of categories, `Pi.functor` is isomorphic to `lim`. -/
@[simps!]
def piEquivalenceFunctorDiscreteCompLim [HasProductsOfShape α C] :
(piEquivalenceFunctorDiscrete α C).functor ⋙ lim ≅ Pi.functor _ :=
NatIso.ofComponents fun _ ↦ Iso.refl _

set_option backward.defeqAttrib.useBackward true in
@[reassoc]
lemma piEquivalenceFunctorDiscreteCompLim_comp_functorπ [HasProductsOfShape α C] (a : α) :
(piEquivalenceFunctorDiscreteCompLim (C := C) α).hom ≫ Pi.functorπ a =
Functor.whiskerLeft _ (lim.π <| Discrete.mk a) ≫
(piEquivalenceFunctorDiscreteCompEvaluationIso _ _).hom := by
cat_disch

set_option backward.defeqAttrib.useBackward true in
attribute [local simp] Functor.pi in
/-- The `∏ᶜ` functor composed with the pointwise constant functor `Π i, I i ⥤ (α → C)` is isomorphic
to the constant functor with value `∏ᶜ X`. -/
Expand All @@ -1034,12 +1038,14 @@ noncomputable def Sigma.functor [HasCoproductsOfShape α C] : (α → C) ⥤ C w
obj f := ∐ f
map {f g} t := Sigma.map t

set_option backward.defeqAttrib.useBackward true in
/-- The natural transformation induced by `Sigma.ι`. -/
@[simps]
def Sigma.functorι [HasCoproductsOfShape α C] (a : α) :
Pi.eval (fun _ ↦ C) a ⟶ Sigma.functor α where
app f := Sigma.ι f a

set_option backward.defeqAttrib.useBackward true in
variable (α) in
/-- Up to pre-composing with an equivalence of categories, `Sigma.functor` is isomorphic
to `colim`. -/
Expand All @@ -1048,6 +1054,7 @@ def piEquivalenceFunctorDiscreteCompColim [HasCoproductsOfShape α C] :
(piEquivalenceFunctorDiscrete α C).functor ⋙ colim ≅ Sigma.functor _ :=
NatIso.ofComponents fun _ ↦ Iso.refl _

set_option backward.defeqAttrib.useBackward true in
@[reassoc]
lemma piEquivalenceFunctorDiscreteCompColim_comp_functorι [HasCoproductsOfShape α C] (a : α) :
Functor.whiskerLeft _ (colim.ι <| .mk a) ≫ (piEquivalenceFunctorDiscreteCompColim α).hom =
Expand All @@ -1058,6 +1065,7 @@ lemma piEquivalenceFunctorDiscrete_functor_comp_colim [HasCoproductsOfShape α C
(piEquivalenceFunctorDiscrete α C).functor ⋙ colim = Sigma.functor _ :=
rfl

set_option backward.defeqAttrib.useBackward true in
attribute [local simp] Functor.pi in
/-- The `∐` functor composed with the pointwise constant functor `Π i, I i ⥤ (α → C)` is isomorphic
to the constant functor with value `∐ X`. -/
Expand Down
8 changes: 6 additions & 2 deletions Mathlib/CategoryTheory/MorphismProperty/Factorization.lean
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@ instance [HasFunctorialFactorization W₁ W₂] (J : Type*) [Category* J] :
HasFunctorialFactorization (W₁.functorCategory J) (W₂.functorCategory J) :=
⟨⟨(functorialFactorizationData W₁ W₂).functorCategory J⟩⟩

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
variable {W₁ W₂} in
/-- The term in `MapFactorizationData (W₁.inverseImage F) (W₂.inverseImage F) f`
deduced from `h : MapFactorizationData W₁ W₂ (F.map f)` when `F` is an equivalence
Expand All @@ -260,10 +262,12 @@ noncomputable def MapFactorizationData.ofIsEquivalence {F : D ⥤ C}
p := F.preimage ((F.objObjPreimageIso h.Z).hom ≫ h.p)
hi := by
refine (W₁.arrow_mk_iso_iff ?_).1 h.hi
exact Arrow.isoMk (Iso.refl _) (F.objObjPreimageIso h.Z).symm
refine Arrow.isoMk (Iso.refl _) (F.objObjPreimageIso h.Z).symm ?_
simp [F.map_preimage]
hp := by
refine (W₂.arrow_mk_iso_iff ?_).1 h.hp
exact Arrow.isoMk (F.objObjPreimageIso h.Z).symm (Iso.refl _)
refine Arrow.isoMk (F.objObjPreimageIso h.Z).symm (Iso.refl _) ?_
simp [F.map_preimage]
fac := F.map_injective (by simp)

instance (F : D ⥤ C) [F.IsEquivalence]
Expand Down
9 changes: 9 additions & 0 deletions Mathlib/CategoryTheory/MorphismProperty/LiftingProperty.lean
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,17 @@ lemma Functor.hasLiftingProperty_iff_of_isEquivalence
{A B X Y : C} (i : A ⟶ B) (p : X ⟶ Y) :
HasLiftingProperty (G.map i) (G.map p) ↔
HasLiftingProperty i p := by
#adaptation_note /-- Prior to nightly-2026-05-07, the next three lines were just
```
simp only [dsimp% G.asEquivalence.toAdjunction.hasLiftingProperty_iff,
← MorphismProperty.rlp_ofHoms_iff_hasLiftingProperty Unit]
```
This is a temporary repair, and authors/maintainers are encouraged to either find a better repair,
or identify a minimal example of an underlying problem in Lean.
-/
change HasLiftingProperty (G.asEquivalence.functor.map i) (G.asEquivalence.functor.map p) ↔ _
rw [G.asEquivalence.toAdjunction.hasLiftingProperty_iff]
simp only [← MorphismProperty.rlp_ofHoms_iff_hasLiftingProperty Unit]
exact MorphismProperty.arrow_mk_iso_iff _
(Arrow.isoMk (G.asEquivalence.unitIso.symm.app _)
(G.asEquivalence.unitIso.symm.app _)
Expand Down
1 change: 1 addition & 0 deletions Mathlib/CategoryTheory/ObjectProperty/Opposite.lean
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ lemma unop_isoClosure (P : ObjectProperty Cᵒᵖ) :
P.isoClosure.unop = P.unop.isoClosure := by
rw [← op_injective_iff, P.unop.op_isoClosure, op_unop, op_unop]

set_option backward.defeqAttrib.useBackward true in
/-- Given `P : ObjectProperty C`, this is the equivalence between `P.op.FullSubcategory`
and `P.FullSubcategoryᵒᵖ`. -/
@[simps]
Expand Down
1 change: 1 addition & 0 deletions Mathlib/CategoryTheory/Opposites.lean
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ set_option backward.defeqAttrib.useBackward true in
protected def FullyFaithful.op {F : C ⥤ D} (hF : F.FullyFaithful) : F.op.FullyFaithful where
preimage {X Y} f := .op <| hF.preimage f.unop

set_option backward.defeqAttrib.useBackward true in
/-- A functor is fully faithful when its opposite is fully faithful. -/
protected def FullyFaithful.unop {F : Cᵒᵖ ⥤ Dᵒᵖ} (hF : F.FullyFaithful) :
F.unop.FullyFaithful where
Expand Down
5 changes: 5 additions & 0 deletions Mathlib/CategoryTheory/Shift/SingleFunctorsLift.lean
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ noncomputable def shiftIso (n a a' : A) (h : n + a = a') :
isoWhiskerLeft _ (G.commShiftIso n) ≪≫ (Functor.associator _ _ _).symm ≪≫
isoWhiskerRight (hΦ a') _ ≪≫ F.shiftIso n a a' h ≪≫ (hΦ a).symm)

set_option backward.defeqAttrib.useBackward true in
private lemma map_shiftIso_hom_app (n a a' : A) (h : n + a = a') (X : C) :
dsimp% G.map ((lift.shiftIso hΦ n a a' h).hom.app X) =
(G.commShiftIso n).hom.app _ ≫ (shiftFunctor E n).map ((hΦ a').hom.app X) ≫
Expand All @@ -54,6 +55,7 @@ private lemma map_shiftIso_hom_app (n a a' : A) (h : n + a = a') (X : C) :

end lift

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
/-- Let `C`, `D` and `E` be categories. Let `A` be an additive monoid.
Assume that `D` and `E` have shifts by `A` and that we have
Expand All @@ -78,13 +80,15 @@ noncomputable def lift : SingleFunctors C D A where
rw [F.shiftIso_add n m a a' a'' ha' ha'']
simp [commShiftIso_add, ← Functor.map_comp_assoc, -Functor.map_comp]

set_option backward.defeqAttrib.useBackward true in
@[reassoc]
lemma map_lift_shiftIso_hom_app (n a a' : A) (h : n + a = a') (X : C) :
dsimp% G.map (((lift F G Φ hΦ).shiftIso n a a' h).hom.app X) =
(G.commShiftIso n).hom.app _ ≫ (shiftFunctor E n).map ((hΦ a').hom.app X) ≫
(F.shiftIso n a a' h).hom.app X ≫ (hΦ a).inv.app X :=
lift.map_shiftIso_hom_app ..

set_option backward.defeqAttrib.useBackward true in
set_option backward.isDefEq.respectTransparency false in
/-- After postcomposition with the fully faithful functor `G`,
`lift F G Φ hΦ` becomes isomorphic to `F`. -/
Expand All @@ -96,6 +100,7 @@ noncomputable def liftPostcompIso : (lift F G Φ hΦ).postcomp G ≅ F :=
dsimp at this
simp [map_lift_shiftIso_hom_app, this])

set_option backward.defeqAttrib.useBackward true in
instance [Preadditive C] [Preadditive D] [Preadditive E] [G.Additive] (a : A)
[(F.functor a).Additive] : ((lift F G Φ hΦ).functor a).Additive := by
have : ((lift F G Φ hΦ).functor a ⋙ G).Additive := by
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/CategoryTheory/Sites/ConcreteSheafification.lean
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ theorem equiv_symm_eq_apply {X : C} {P : Cᵒᵖ ⥤ D} {S : J.Cover X} [HasMult
-- We can hint `ConcreteCategory.hom (Y := P.obj (op I.Y))` below to put it into `simp`-normal
-- form, but that doesn't seem to fix the `erw`s below...
(Multiequalizer.ι (S.index P) I) ((Meq.equiv P S).symm x) = x I := by
simp [← equiv_apply]
simp [- GrothendieckTopology.Cover.index_left, ← equiv_apply]

end Meq

Expand Down
Loading
Loading