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] - chore: bump toolchain to v4.16.0-rc1, and merge bump/v4.16.0 #20464

Closed
wants to merge 4,196 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4196 commits
Select commit Hold shift + click to select a range
55507ee
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 12, 2024
bdc5e7e
Auto-resolved conflicts in lean-toolchain and lake-manifest.json
kim-em Dec 12, 2024
c60b9d5
chore: adaptations for nightly-2024-12-12
kim-em Dec 12, 2024
fa5450b
Auto-resolved conflicts in lean-toolchain and lake-manifest.json
kim-em Dec 12, 2024
b0d9f60
chore: adaptations for nightly-2024-12-12 (#19928)
kim-em Dec 12, 2024
216ab98
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
eb175a1
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
f22a173
chore: bump to nightly-2024-12-13
leanprover-community-mathlib4-bot Dec 13, 2024
6cbc66a
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
088bcb2
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
fea96c7
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
ae3165c
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
5591464
bump batteries
kim-em Dec 13, 2024
dd1695d
fixes
kim-em Dec 13, 2024
24a956e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 13, 2024
26f2f6a
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Dec 14, 2024
465b118
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
bd8410d
chore: bump to nightly-2024-12-14
leanprover-community-mathlib4-bot Dec 14, 2024
50347dc
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
aeabc65
bump aesop
kim-em Dec 14, 2024
efd0a4b
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
jcommelin Dec 14, 2024
4a41a48
chore: adaptations for nightly-2024-12-13
jcommelin Dec 14, 2024
ea50e39
Merge branch 'bump/nightly-2024-12-13' into nightly-testing
jcommelin Dec 14, 2024
facdb46
.
kim-em Dec 14, 2024
0e33f32
chore: adaptations for nightly-2024-12-13 (#19956)
jcommelin Dec 14, 2024
315188e
merge lean-pr-testing-6123
kim-em Dec 14, 2024
67dcde7
Merge branch 'nightly-testing' of github.com:leanprover-community/mat…
kim-em Dec 14, 2024
3c18fbe
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
d44476e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
01b5836
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
766c584
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 14, 2024
ddecb20
fixes for leanprover/lean4#6379
kim-em Dec 14, 2024
1dd80c1
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 15, 2024
528f0b8
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 15, 2024
0c72ff8
fixes for says
kim-em Dec 15, 2024
04a9bfb
Trigger CI for https://github.com/leanprover/lean4/pull/6379
leanprover-community-mathlib4-bot Dec 15, 2024
ddcb85b
fixes
kim-em Dec 15, 2024
f9128b5
Trigger CI for https://github.com/leanprover/lean4/pull/6379
leanprover-community-mathlib4-bot Dec 15, 2024
adcdc3a
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Dec 15, 2024
619952f
bump batteries
kim-em Dec 15, 2024
4497025
chore: bump to nightly-2024-12-15
leanprover-community-mathlib4-bot Dec 15, 2024
8288679
fixes for leanprover/lean4#6390
kim-em Dec 15, 2024
8fc6cb9
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
kim-em Dec 15, 2024
5235713
chore: adaptations for nightly-2024-12-14
kim-em Dec 15, 2024
beed7f5
Merge branch 'bump/nightly-2024-12-14' into nightly-testing
kim-em Dec 15, 2024
13dbab7
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 15, 2024
40951f6
fixes for leanprover/lean4#6390
kim-em Dec 15, 2024
a4415ed
chore: adaptations for nightly-2024-12-14 (#19975)
kim-em Dec 15, 2024
986c1ff
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 15, 2024
261ad34
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 15, 2024
5c17f7d
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
kim-em Dec 15, 2024
7aac459
chore: adaptations for nightly-2024-12-15
kim-em Dec 15, 2024
7521561
Merge branch 'bump/nightly-2024-12-15' into nightly-testing
kim-em Dec 15, 2024
0f51825
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
a0a9455
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
5e0fd16
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Dec 16, 2024
14ac3bb
Merge pull request #19984 from leanprover-community/bump/nightly-2024…
jcommelin Dec 16, 2024
e5de715
chore: bump to nightly-2024-12-16
leanprover-community-mathlib4-bot Dec 16, 2024
2199358
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
d6435d7
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
eea67d6
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
f7bdb89
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 16, 2024
b3cf09e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
cffd2be
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
4784068
chore: bump to nightly-2024-12-17
leanprover-community-mathlib4-bot Dec 17, 2024
35548b8
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
a05e716
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
4e6da47
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
b424634
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
6ecb3ee
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 17, 2024
aae3283
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
00b2db9
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
7f581d6
bump batteries
jcommelin Dec 18, 2024
e2c280a
chore: bump to nightly-2024-12-18
leanprover-community-mathlib4-bot Dec 18, 2024
b8b46e6
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
ecb1725
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
1541c10
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
bdfd3e4
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
0b3efc2
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 18, 2024
b4d0da5
chore: bump to nightly-2024-12-19
leanprover-community-mathlib4-bot Dec 19, 2024
3e9f341
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 19, 2024
e3440d0
bump
kim-em Dec 19, 2024
02515c0
.
kim-em Dec 19, 2024
da5521d
merge lean-pr-testing-6379
kim-em Dec 19, 2024
6949676
attempted to merge lean-pr-testing-6390
kim-em Dec 19, 2024
fd0f19b
fixes
kim-em Dec 19, 2024
149449e
fixes
kim-em Dec 19, 2024
05f6df4
fixes
kim-em Dec 19, 2024
1f8039e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 19, 2024
f2cac32
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 19, 2024
a37e81f
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 19, 2024
cf959c8
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 19, 2024
ca2e2af
bump batteries
kim-em Dec 20, 2024
4c2dfcd
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
d631eb6
terminal simp only
kim-em Dec 20, 2024
583f847
all other changes
kim-em Dec 20, 2024
c45549d
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
85d5a49
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
4576305
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
80872f5
Merge remote-tracking branch 'origin/master' into lean-pr-testing-6397
jcommelin Dec 20, 2024
a06f530
chore: bump to nightly-2024-12-20
leanprover-community-mathlib4-bot Dec 20, 2024
c3199ab
bump toolchain
kim-em Dec 20, 2024
fc68d86
Merge branch 'nightly-testing' of github.com:leanprover-community/mat…
kim-em Dec 20, 2024
2368556
cleanup
kim-em Dec 20, 2024
a5481be
lint
kim-em Dec 20, 2024
a9a866a
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
94099b2
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
67be069
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
c8d3f5d
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 20, 2024
18acae5
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 21, 2024
2979176
deprecation
kim-em Dec 21, 2024
96f9381
fix
kim-em Dec 21, 2024
a85b851
fixes
kim-em Dec 21, 2024
8a48774
fix
kim-em Dec 21, 2024
a126752
Auto-resolved conflicts in lean-toolchain and lake-manifest.json
kim-em Dec 21, 2024
ea35fc4
chore: adaptations for nightly-2024-12-20
kim-em Dec 21, 2024
660924c
chore: adaptations for nightly-2024-12-20 (#20148)
kim-em Dec 21, 2024
4d627b8
chore: bump to nightly-2024-12-21
leanprover-community-mathlib4-bot Dec 21, 2024
f6f84e1
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 21, 2024
b2e2839
bump
kim-em Dec 21, 2024
c7dc98e
merge lean-pr-testing-6397
kim-em Dec 21, 2024
0b40517
fix(TMToPartrec, Ordinal/Notation): broken proofs
digama0 Dec 21, 2024
ee373ab
feat: algebraic hierarchy on DirectLimit (#19893)
alreadydone Dec 21, 2024
f33047a
chore: tidy various files (#20130)
Ruben-VandeVelde Dec 21, 2024
97a0605
refactor: rename lemmas about `IsReduced` to work with dot notation (…
trivial1711 Dec 21, 2024
5dbc4f1
feat(CategoryTheory/SmallObject/Iteration): Functor.ofCocone (#19643)
joelriou Dec 21, 2024
528a61d
feat: analytic part of Lindemann-Weierstrass (#20092)
Ruben-VandeVelde Dec 21, 2024
eb8974a
feat(CategoryTheory/Abelian): Ext.{w} does not depend on the universe…
joelriou Dec 21, 2024
f5c2e78
chore: fix backticks in discover-lean-pr-testing.yml (#20152)
jcommelin Dec 21, 2024
3026fc8
feat(RingTheory/Nakayama): yet another version (#20035)
chrisflav Dec 21, 2024
c2a2d92
chore: rename theorems for consistency (#20127)
artie2000 Dec 21, 2024
e1fc981
chore: get rid of backticks in discover-lean-pr-testing.yml (#20153)
jcommelin Dec 21, 2024
ad7b5af
feat(LinearAlgebra/Projectivization): cardinality over finite fields …
chrisflav Dec 21, 2024
9c9c22b
chore: deprecate `UniformSpace.Completion.Continuous.mul` (#20145)
eric-wieser Dec 21, 2024
bbd8362
fix(norm_num): missing `withMainContext` (#20094)
eric-wieser Dec 21, 2024
b774a65
Merge remote-tracking branch 'origin/lean-pr-testing-6397' into night…
kim-em Dec 21, 2024
6f5f45e
Merge remote-tracking branch 'origin/master' into nightly-testing
jcommelin Dec 21, 2024
e66df3d
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 21, 2024
17e97eb
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
aa25690
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
3d288e9
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
kim-em Dec 22, 2024
4b2a373
chore: adaptations for nightly-2024-12-21
kim-em Dec 22, 2024
93fd8fc
Merge branch 'bump/nightly-2024-12-21' into nightly-testing
kim-em Dec 22, 2024
af7db4f
chore: adaptations for nightly-2024-12-21 (#20172)
kim-em Dec 22, 2024
6361863
chore: bump to nightly-2024-12-22
leanprover-community-mathlib4-bot Dec 22, 2024
c20ffbf
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
3908ff4
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
14f575e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
64fc616
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 22, 2024
93f7d0b
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
aa13397
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
ed546d8
chore: bump to nightly-2024-12-23
leanprover-community-mathlib4-bot Dec 23, 2024
5d133d8
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
6c76d91
Auto-resolved conflicts in lean-toolchain and lake-manifest.json
jcommelin Dec 23, 2024
32f4d9d
chore: adaptations for nightly-2024-12-23
jcommelin Dec 23, 2024
090daa0
Merge branch 'bump/nightly-2024-12-23' into nightly-testing
jcommelin Dec 23, 2024
dd6ef1b
chore: adaptations for nightly-2024-12-23 (#20196)
jcommelin Dec 23, 2024
c17ce3a
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
e457962
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
ec3d7fa
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 23, 2024
d3e5b9d
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 24, 2024
bb796cd
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 24, 2024
733d6d6
fix
jcommelin Dec 24, 2024
3449306
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 24, 2024
9a6b101
chore: bump to nightly-2024-12-24
leanprover-community-mathlib4-bot Dec 24, 2024
40062b4
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 24, 2024
60fcf04
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 24, 2024
8a3c011
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 25, 2024
8157db7
chore: bump to nightly-2024-12-25
leanprover-community-mathlib4-bot Dec 25, 2024
b8100fa
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 25, 2024
910df33
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 25, 2024
d97af69
chore: bump to nightly-2024-12-26
leanprover-community-mathlib4-bot Dec 26, 2024
007760f
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 26, 2024
5170ddc
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 26, 2024
b40340b
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 26, 2024
f514559
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 26, 2024
9cbdb85
chore: bump to nightly-2024-12-27
leanprover-community-mathlib4-bot Dec 27, 2024
233aca2
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 27, 2024
a12a12e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 27, 2024
f294f72
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 27, 2024
7faa1cb
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 27, 2024
f6741f1
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
8e86e49
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
cef87ba
chore: bump to nightly-2024-12-28
leanprover-community-mathlib4-bot Dec 28, 2024
7cb36e5
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
ee9f1bf
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
db82d29
fix
Ruben-VandeVelde Dec 28, 2024
70387e4
fix
Ruben-VandeVelde Dec 28, 2024
3ee7316
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
84397c9
fix
Ruben-VandeVelde Dec 28, 2024
2b610a8
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 28, 2024
6bba2de
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
ac42ad1
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
353f543
chore: bump to nightly-2024-12-29
leanprover-community-mathlib4-bot Dec 29, 2024
a66b604
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
002f627
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
007c833
deprecations
Ruben-VandeVelde Dec 29, 2024
386c866
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
2d06aab
revert
Ruben-VandeVelde Dec 29, 2024
e8282fd
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
767ebee
revert
Ruben-VandeVelde Dec 29, 2024
05f77de
revert
Ruben-VandeVelde Dec 29, 2024
d511755
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 29, 2024
9c2bf42
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Dec 29, 2024
2613d72
remove DeriveToExpr
kmill Dec 29, 2024
97d0e89
Trigger CI for https://github.com/leanprover/lean4/pull/6473
leanprover-community-mathlib4-bot Dec 30, 2024
6fd1a29
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
35f8c88
fix
Ruben-VandeVelde Dec 30, 2024
310c1aa
chore: bump to nightly-2024-12-30
leanprover-community-mathlib4-bot Dec 30, 2024
b35a75c
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
fe934b5
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
1737cea
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
0f75af8
Trigger CI for https://github.com/leanprover/lean4/pull/6473
leanprover-community-mathlib4-bot Dec 30, 2024
83b5b4e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
9b1ce08
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 30, 2024
b66f568
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 31, 2024
c3cb62f
chore: bump to nightly-2024-12-31
leanprover-community-mathlib4-bot Dec 31, 2024
f8ba9eb
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 31, 2024
cac8b1f
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 31, 2024
dbf1cdf
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 31, 2024
dcd478e
Merge master into nightly-testing
leanprover-community-mathlib4-bot Dec 31, 2024
4f50f57
chore: bump to nightly-2025-01-01
leanprover-community-mathlib4-bot Jan 1, 2025
69df861
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 1, 2025
df5bd5d
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 1, 2025
efc1332
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 1, 2025
1c381ab
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 1, 2025
b155613
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 1, 2025
247f3aa
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 2, 2025
f2ee7f5
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 2, 2025
2b7763d
chore: bump to nightly-2025-01-02
leanprover-community-mathlib4-bot Jan 2, 2025
14a6826
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 2, 2025
45e2596
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
jcommelin Jan 2, 2025
f11f187
chore: adaptations for nightly-2024-12-31
jcommelin Jan 2, 2025
ccace7e
Merge branch 'bump/nightly-2024-12-31' into nightly-testing
jcommelin Jan 2, 2025
becf431
merge lean-pr-testing-6473
jcommelin Jan 2, 2025
b2efb62
fix
jcommelin Jan 2, 2025
cc6cafa
Merge remote-tracking branch 'origin/master' into nightly-testing
jcommelin Jan 2, 2025
d0bd915
partial fix
jcommelin Jan 2, 2025
9cd1731
Merge master into nightly-testing
leanprover-community-mathlib4-bot Jan 2, 2025
c7c1e06
fix hopefully
jcommelin Jan 2, 2025
74674d5
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
jcommelin Jan 2, 2025
d54c176
Merge commit 'c7c1e06e17bc790c799baec988d32a7abaa51875' into bump/nig…
jcommelin Jan 2, 2025
816051e
chore: adaptations for nightly-2025-01-02
jcommelin Jan 2, 2025
8bb7d09
Merge pull request #20402 from leanprover-community/bump/nightly-2025…
jcommelin Jan 2, 2025
0b332ca
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
kim-em Jan 3, 2025
729eeb2
chore: adaptations for nightly-2025-01-03 (#20420)
kim-em Jan 3, 2025
2904e35
bump to v4.16.0-rc1
kim-em Jan 4, 2025
cd07455
merge main
kim-em Jan 4, 2025
10ddc30
Merge remote-tracking branch 'origin/master' into bump/v4.16.0
kim-em Jan 5, 2025
c100c8f
fix
kim-em Jan 5, 2025
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 Archive/Imo/Imo2024Q5.lean
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ lemma Path.tail_induction {motive : Path N → Prop} (ind : ∀ p, motive p.tail
case cons head tail hi =>
by_cases h : (p'.cells[1]'p'.one_lt_length_cells).1 = 0
· refine ind p' ?_
simp_rw [Path.tail, if_pos h, List.tail_cons]
simp_rw [Path.tail, if_pos h, p', List.tail_cons]
exact hi _ _ _ _
· exact base p' h

Expand Down
1 change: 0 additions & 1 deletion Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -4841,7 +4841,6 @@ import Mathlib.Tactic.DefEqTransformations
import Mathlib.Tactic.DeprecateTo
import Mathlib.Tactic.DeriveCountable
import Mathlib.Tactic.DeriveFintype
import Mathlib.Tactic.DeriveToExpr
import Mathlib.Tactic.DeriveTraversable
import Mathlib.Tactic.Eqns
import Mathlib.Tactic.Eval
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Algebra/BigOperators/Fin.lean
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ theorem prod_Ioi_succ {M : Type*} [CommMonoid M] {n : ℕ} (i : Fin n) (v : Fin

@[to_additive]
theorem prod_congr' {M : Type*} [CommMonoid M] {a b : ℕ} (f : Fin b → M) (h : a = b) :
(∏ i : Fin a, f (cast h i)) = ∏ i : Fin b, f i := by
(∏ i : Fin a, f (i.cast h)) = ∏ i : Fin b, f i := by
subst h
congr

Expand Down
5 changes: 0 additions & 5 deletions Mathlib/Algebra/BigOperators/Group/List.lean
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Authors: Johannes Hölzl, Floris van Doorn, Sébastien Gouëzel, Alex J. Best
-/
import Mathlib.Algebra.Divisibility.Basic
import Mathlib.Algebra.Group.Int
import Mathlib.Data.List.Lemmas
import Mathlib.Data.List.Dedup
import Mathlib.Data.List.Flatten
import Mathlib.Data.List.Pairwise
Expand Down Expand Up @@ -637,10 +636,6 @@ end MonoidHom

end MonoidHom

set_option linter.deprecated false in
@[simp, deprecated "No deprecation message was provided." (since := "2024-10-17")]
lemma Nat.sum_eq_listSum (l : List ℕ) : Nat.sum l = l.sum := rfl

namespace List

lemma length_sigma {σ : α → Type*} (l₁ : List α) (l₂ : ∀ a, List (σ a)) :
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ lemma schwartz_zippel_sup_sum :
calc
#{x₀ ∈ S 0 | eval (cons x₀ xₜ) p = 0} ≤ #pₓ.roots.toFinset := by
gcongr
simp (config := { contextual := true }) [subset_iff, eval_eq_eval_mv_eval', pₓ, hpₓ₀]
simp +contextual [subset_iff, eval_eq_eval_mv_eval', pₓ, hpₓ₀, p']
_ ≤ Multiset.card pₓ.roots := pₓ.roots.toFinset_card_le
_ ≤ pₓ.natDegree := pₓ.card_roots'
_ = k := hpₓdeg
Expand Down
3 changes: 2 additions & 1 deletion Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,8 @@ theorem toCharThreeNF_spec_of_b₂_ne_zero (hb₂ : W.b₂ ≠ 0) :
constructor
· simp
· simp
· field_simp [W.toShortNFOfCharThree_a₂ ▸ hb₂]
· have ha₂ : W'.a₂ ≠ 0 := W.toShortNFOfCharThree_a₂ ▸ hb₂
field_simp [ha₂]
linear_combination (W'.a₄ * W'.a₂ ^ 2 + W'.a₄ ^ 2) * CharP.cast_eq_zero F 3

theorem toCharThreeNF_spec_of_b₂_eq_zero (hb₂ : W.b₂ = 0) :
Expand Down
8 changes: 4 additions & 4 deletions Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean
Original file line number Diff line number Diff line change
Expand Up @@ -401,10 +401,10 @@ def extendMiddle (c : OrderedFinpartition n) (k : Fin c.length) : OrderedFinpart
rcases eq_or_ne (c.index i) k with rfl | hi
· have A : update c.partSize (c.index i) (c.partSize (c.index i) + 1) (c.index i) =
c.partSize (c.index i) + 1 := by simp
exact ⟨c.index i, cast A.symm (succ (c.invEmbedding i)), by simp⟩
exact ⟨c.index i, (succ (c.invEmbedding i)).cast A.symm , by simp⟩
· have A : update c.partSize k (c.partSize k + 1) (c.index i) = c.partSize (c.index i) := by
simp [hi]
exact ⟨c.index i, cast A.symm (c.invEmbedding i), by simp [hi]⟩
exact ⟨c.index i, (c.invEmbedding i).cast A.symm, by simp [hi]⟩

lemma index_extendMiddle_zero (c : OrderedFinpartition n) (i : Fin c.length) :
(c.extendMiddle i).index 0 = i := by
Expand Down Expand Up @@ -678,8 +678,8 @@ def extendEquiv (n : ℕ) :
· simp only [↓reduceDIte, comp_apply]
rcases eq_or_ne j 0 with rfl | hj
· simpa using c.emb_zero
· let j' := Fin.pred (cast B.symm j) (by simpa using hj)
have : j = cast B (succ j') := by simp [j']
· let j' := Fin.pred (j.cast B.symm) (by simpa using hj)
have : j = (succ j').cast B := by simp [j']
simp only [this, coe_cast, val_succ, cast_mk, cases_succ', comp_apply, succ_mk,
Nat.succ_eq_add_one, succ_pred]
rfl
Expand Down
3 changes: 2 additions & 1 deletion Mathlib/Analysis/Convex/Continuous.lean
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ lemma ConvexOn.lipschitzOnWith_of_abs_le (hf : ConvexOn ℝ (ball x₀ r) f) (h
ε * (f x - f y) ≤ ‖x - y‖ * (f z - f x) := by
rw [mul_sub, mul_sub, sub_le_sub_iff, ← add_mul]
have h := hf.2 hy' hz (by positivity) (by positivity) hab
field_simp [← hxyz, a, b, ← mul_div_right_comm] at h
rw [← hxyz] at h
field_simp [a, b, ← mul_div_right_comm] at h
rwa [← le_div_iff₀' (by positivity), add_comm (_ * _)]
_ ≤ _ := by
rw [sub_eq_add_neg (f _), two_mul]
Expand Down
10 changes: 6 additions & 4 deletions Mathlib/CategoryTheory/Galois/Decomposition.lean
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,14 @@ lemma connected_component_unique {X A B : C} [IsConnected A] [IsConnected B] (a
have : IsIso v := IsConnected.noTrivialComponent Y v hn
use (asIso u).symm ≪≫ asIso v
have hu : G.map u y = a := by
simp only [y, e, ← PreservesPullback.iso_hom_fst G, fiberPullbackEquiv, Iso.toEquiv_comp,
Equiv.symm_trans_apply, Iso.toEquiv_symm_fun, types_comp_apply, inv_hom_id_apply]
simp only [u, G, y, e, ← PreservesPullback.iso_hom_fst G, fiberPullbackEquiv,
Iso.toEquiv_comp, Equiv.symm_trans_apply, Iso.toEquiv_symm_fun, types_comp_apply,
inv_hom_id_apply]
erw [Types.pullbackIsoPullback_inv_fst_apply (F.map i) (F.map j)]
have hv : G.map v y = b := by
simp only [y, e, ← PreservesPullback.iso_hom_snd G, fiberPullbackEquiv, Iso.toEquiv_comp,
Equiv.symm_trans_apply, Iso.toEquiv_symm_fun, types_comp_apply, inv_hom_id_apply]
simp only [v, G, y, e, ← PreservesPullback.iso_hom_snd G, fiberPullbackEquiv,
Iso.toEquiv_comp, Equiv.symm_trans_apply, Iso.toEquiv_symm_fun, types_comp_apply,
inv_hom_id_apply]
erw [Types.pullbackIsoPullback_inv_snd_apply (F.map i) (F.map j)]
rw [← hu, ← hv]
show (F.toPrefunctor.map u ≫ F.toPrefunctor.map _) y = F.toPrefunctor.map v y
Expand Down
37 changes: 18 additions & 19 deletions Mathlib/Computability/TMToPartrec.lean
Original file line number Diff line number Diff line change
Expand Up @@ -1238,7 +1238,7 @@ theorem move_ok {p k₁ k₂ q s L₁ o L₂} {S : K' → List Γ'} (h₁ : k₁
swap
· rw [Function.update_of_ne h₁.symm, List.reverseAux_nil]
refine TransGen.head' rfl ?_
simp only [TM2.step, Option.mem_def, TM2.stepAux, Option.elim, ne_eq]
rw [tr]; simp only [pop', TM2.stepAux]
revert e; cases' S k₁ with a Sk <;> intro e
· cases e
rfl
Expand All @@ -1248,7 +1248,7 @@ theorem move_ok {p k₁ k₂ q s L₁ o L₂} {S : K' → List Γ'} (h₁ : k₁
simp only [e]
rfl
· refine TransGen.head rfl ?_
simp only [TM2.step, Option.mem_def, TM2.stepAux, Option.elim, ne_eq, List.reverseAux_cons]
rw [tr]; simp only [pop', Option.elim, TM2.stepAux, push']
cases' e₁ : S k₁ with a' Sk <;> rw [e₁, splitAtPred] at e
· cases e
cases e₂ : p a' <;> simp only [e₂, cond] at e
Expand All @@ -1273,16 +1273,15 @@ theorem move₂_ok {p k₁ k₂ q s L₁ o L₂} {S : K' → List Γ'} (h₁ : k
⟨some q, none, update (update S k₁ (o.elim id List.cons L₂)) k₂ (L₁ ++ S k₂)⟩ := by
refine (move_ok h₁.1 e).trans (TransGen.head rfl ?_)
simp only [TM2.step, Option.mem_def, TM2.stepAux, id_eq, ne_eq, Option.elim]
cases o <;> simp only [Option.elim, id]
· simp only [TM2.stepAux, Option.isSome, cond_false]
convert move_ok h₁.2.1.symm (splitAtPred_false _) using 2
cases o <;> simp only [Option.elim] <;> rw [tr]
<;> simp only [id, TM2.stepAux, Option.isSome, cond_true, cond_false]
· convert move_ok h₁.2.1.symm (splitAtPred_false _) using 2
simp only [Function.update_comm h₁.1, Function.update_idem]
rw [show update S rev [] = S by rw [← h₂, Function.update_eq_self]]
simp only [Function.update_of_ne h₁.2.2.symm, Function.update_of_ne h₁.2.1,
Function.update_of_ne h₁.1.symm, List.reverseAux_eq, h₂, Function.update_self,
List.append_nil, List.reverse_reverse]
· simp only [TM2.stepAux, Option.isSome, cond_true]
convert move_ok h₁.2.1.symm (splitAtPred_false _) using 2
· convert move_ok h₁.2.1.symm (splitAtPred_false _) using 2
simp only [h₂, Function.update_comm h₁.1, List.reverseAux_eq, Function.update_self,
List.append_nil, Function.update_idem]
rw [show update S rev [] = S by rw [← h₂, Function.update_eq_self]]
Expand All @@ -1293,7 +1292,7 @@ theorem clear_ok {p k q s L₁ o L₂} {S : K' → List Γ'} (e : splitAtPred p
Reaches₁ (TM2.step tr) ⟨some (Λ'.clear p k q), s, S⟩ ⟨some q, o, update S k L₂⟩ := by
induction' L₁ with a L₁ IH generalizing S s
· refine TransGen.head' rfl ?_
simp only [TM2.step, Option.mem_def, TM2.stepAux, Option.elim]
rw [tr]; simp only [pop', TM2.step, Option.mem_def, TM2.stepAux, Option.elim]
revert e; cases' S k with a Sk <;> intro e
· cases e
rfl
Expand All @@ -1303,7 +1302,7 @@ theorem clear_ok {p k q s L₁ o L₂} {S : K' → List Γ'} (e : splitAtPred p
rcases e with ⟨e₁, e₂⟩
rw [e₁, e₂]
· refine TransGen.head rfl ?_
simp only [TM2.step, Option.mem_def, TM2.stepAux, Option.elim]
rw [tr]; simp only [pop', TM2.step, Option.mem_def, TM2.stepAux, Option.elim]
cases' e₁ : S k with a' Sk <;> rw [e₁, splitAtPred] at e
· cases e
cases e₂ : p a' <;> simp only [e₂, cond] at e
Expand All @@ -1322,9 +1321,10 @@ theorem copy_ok (q s a b c d) :
· refine TransGen.single ?_
simp
refine TransGen.head rfl ?_
rw [tr]
simp only [TM2.step, Option.mem_def, TM2.stepAux, elim_rev, List.head?_cons, Option.isSome_some,
List.tail_cons, elim_update_rev, ne_eq, Function.update_of_ne, elim_main, elim_update_main,
elim_stack, elim_update_stack, cond_true, List.reverseAux_cons]
elim_stack, elim_update_stack, cond_true, List.reverseAux_cons, pop', push']
exact IH _ _ _

theorem trPosNum_natEnd : ∀ (n), ∀ x ∈ trPosNum n, natEnd x = false
Expand Down Expand Up @@ -1358,6 +1358,7 @@ theorem head_main_ok {q s L} {c d : List Γ'} :
(splitAtPred_eq _ _ (trNat L.headI) o (trList L.tail) (trNat_natEnd _) ?_)).trans
(TransGen.head rfl (TransGen.head rfl ?_))
· cases L <;> simp [o]
rw [tr]
simp only [TM2.step, Option.mem_def, TM2.stepAux, elim_update_main, elim_rev, elim_update_rev,
Function.update_self, trList]
rw [if_neg (show o ≠ some Γ'.consₗ by cases L <;> simp [o])]
Expand All @@ -1375,6 +1376,7 @@ theorem head_stack_ok {q s L₁ L₂ L₃} :
(move_ok (by decide)
(splitAtPred_eq _ _ [] (some Γ'.consₗ) L₃ (by rintro _ ⟨⟩) ⟨rfl, rfl⟩))
(TransGen.head rfl (TransGen.head rfl ?_))
rw [tr]
simp only [TM2.step, Option.mem_def, TM2.stepAux, ite_true, id_eq, trList, List.nil_append,
elim_update_stack, elim_rev, List.reverseAux_nil, elim_update_rev, Function.update_self,
List.headI_nil, trNat_default]
Expand Down Expand Up @@ -1428,7 +1430,8 @@ theorem succ_ok {q s n} {c d : List Γ'} :
simp [PosNum.succ, trPosNum]
rfl
· refine ⟨l₁, _, some Γ'.bit0, rfl, TransGen.single ?_⟩
simp only [TM2.step, TM2.stepAux, elim_main, elim_update_main, ne_eq, Function.update_of_ne,
simp only [TM2.step]; rw [tr]
simp only [TM2.stepAux, pop', elim_main, elim_update_main, ne_eq, Function.update_of_ne,
elim_rev, elim_update_rev, Function.update_self, Option.mem_def, Option.some.injEq]
rfl

Expand All @@ -1445,11 +1448,9 @@ theorem pred_ok (q₁ q₂ s v) (c d : List Γ') : ∃ s',
simp only [TM2.step, trList, trNat.eq_1, trNum, Nat.cast_succ, Num.add_one, Num.succ,
List.tail_cons, List.headI_cons]
cases' (n : Num) with a
· simp only [trPosNum, List.singleton_append, List.nil_append]
· simp only [trPosNum, Num.succ', List.singleton_append, List.nil_append]
refine TransGen.head rfl ?_
simp only [Option.mem_def, TM2.stepAux, elim_main, List.head?_cons, Option.some.injEq,
decide_false, List.tail_cons, elim_update_main, ne_eq, Function.update_of_ne, elim_rev,
elim_update_rev, natEnd, Function.update_self, cond_true, cond_false]
rw [tr]; simp only [pop', TM2.stepAux, cond_false]
convert unrev_ok using 2
simp
simp only [Num.succ']
Expand Down Expand Up @@ -1555,13 +1556,11 @@ theorem tr_ret_respects (k v s) : ∃ b₂,
by_cases h : v.headI = 0 <;> simp only [h, ite_true, ite_false] at this ⊢
· obtain ⟨c, h₁, h₂⟩ := IH v.tail (trList v).head?
refine ⟨c, h₁, TransGen.head rfl ?_⟩
simp only [Option.mem_def, TM2.stepAux, trContStack, contStack, elim_main, this, cond_true,
elim_update_main]
rw [trCont, tr]; simp only [pop', TM2.stepAux, elim_main, this, elim_update_main]
exact h₂
· obtain ⟨s', h₁, h₂⟩ := trNormal_respects f (Cont.fix f k) v.tail (some Γ'.cons)
refine ⟨_, h₁, TransGen.head rfl <| TransGen.trans ?_ h₂⟩
simp only [Option.mem_def, TM2.stepAux, elim_main, this.1, cond_false, elim_update_main,
trCont]
rw [trCont, tr]; simp only [pop', TM2.stepAux, elim_main, this.1]
convert clear_ok (splitAtPred_eq _ _ (trNat v.headI).tail (some Γ'.cons) _ _ _) using 2
· simp
convert rfl
Expand Down
11 changes: 6 additions & 5 deletions Mathlib/Computability/TuringMachine.lean
Original file line number Diff line number Diff line change
Expand Up @@ -1828,12 +1828,12 @@ theorem tr_respects : Respects (TM0.step M) (TM1.step (tr M)) fun a b ↦ trCfg
cases' s with d a <;> rfl
intro e
refine TransGen.head ?_ (TransGen.head' this ?_)
· simp only [TM1.step, TM1.stepAux]
· simp only [TM1.step, TM1.stepAux, tr]
rw [e]
rfl
cases e' : M q' _
· apply ReflTransGen.single
simp only [TM1.step, TM1.stepAux]
simp only [TM1.step, TM1.stepAux, tr]
rw [e']
rfl
· rfl
Expand Down Expand Up @@ -1926,7 +1926,6 @@ section
variable [DecidableEq K]

/-- The step function for the TM2 model. -/
@[simp]
def stepAux : Stmt₂ → σ → (∀ k, List (Γ k)) → Cfg₂
| push k f q, v, S => stepAux q v (update S k (f v :: S k))
| peek k f q, v, S => stepAux q (f v (S k).head?) S
Expand All @@ -1937,11 +1936,13 @@ def stepAux : Stmt₂ → σ → (∀ k, List (Γ k)) → Cfg₂
| halt, v, S => ⟨none, v, S⟩

/-- The step function for the TM2 model. -/
@[simp]
def step (M : Λ → Stmt₂) : Cfg₂ → Option Cfg₂
| ⟨none, _, _⟩ => none
| ⟨some l, v, S⟩ => some (stepAux (M l) v S)

attribute [simp] stepAux.eq_1 stepAux.eq_2 stepAux.eq_3
stepAux.eq_4 stepAux.eq_5 stepAux.eq_6 stepAux.eq_7 step.eq_1 step.eq_2

/-- The (reflexive) reachability relation for the TM2 model. -/
def Reaches (M : Λ → Stmt₂) : Cfg₂ → Cfg₂ → Prop :=
ReflTransGen fun a b ↦ b ∈ step M a
Expand Down Expand Up @@ -2292,7 +2293,7 @@ noncomputable def trStmts₁ : Stmt₂ → Finset Λ'₂₁

theorem trStmts₁_run {k : K} {s : StAct₂ k} {q : Stmt₂} :
trStmts₁ (stRun s q) = {go k s q, ret q} ∪ trStmts₁ q := by
cases s <;> simp only [trStmts₁]
cases s <;> simp only [trStmts₁, stRun]

theorem tr_respects_aux₂ [DecidableEq K] {k : K} {q : Stmt₂₁} {v : σ} {S : ∀ k, List (Γ k)}
{L : ListBlank (∀ k, Option (Γ k))}
Expand Down
20 changes: 10 additions & 10 deletions Mathlib/Data/Fin/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ This one instead uses a `NeZero n` typeclass hypothesis.
theorem pos_iff_ne_zero' [NeZero n] (a : Fin n) : 0 < a ↔ a ≠ 0 := by
rw [← val_fin_lt, val_zero', Nat.pos_iff_ne_zero, Ne, Ne, Fin.ext_iff, val_zero']

@[simp] lemma cast_eq_self (a : Fin n) : cast rfl a = a := rfl
@[simp] lemma cast_eq_self (a : Fin n) : a.cast rfl = a := rfl

@[simp] theorem cast_eq_zero {k l : ℕ} [NeZero k] [NeZero l]
(h : k = l) (x : Fin k) : Fin.cast h x = 0 ↔ x = 0 := by simp [← val_eq_val]
Expand Down Expand Up @@ -299,7 +299,7 @@ theorem revPerm_symm : (@revPerm n).symm = revPerm :=
rfl

theorem cast_rev (i : Fin n) (h : n = m) :
cast h i.rev = (i.cast h).rev := by
i.rev.cast h = (i.cast h).rev := by
subst h; simp

theorem rev_eq_iff {i j : Fin n} : rev i = j ↔ i = rev j := by
Expand Down Expand Up @@ -619,23 +619,23 @@ theorem coe_of_injective_castLE_symm {n k : ℕ} (h : n ≤ k) (i : Fin k) (hi)
rw [← coe_castLE h]
exact congr_arg Fin.val (Equiv.apply_ofInjective_symm _ _)

theorem leftInverse_cast (eq : n = m) : LeftInverse (cast eq.symm) (cast eq) :=
theorem leftInverse_cast (eq : n = m) : LeftInverse (Fin.cast eq.symm) (Fin.cast eq) :=
fun _ => rfl

theorem rightInverse_cast (eq : n = m) : RightInverse (cast eq.symm) (cast eq) :=
theorem rightInverse_cast (eq : n = m) : RightInverse (Fin.cast eq.symm) (Fin.cast eq) :=
fun _ => rfl

theorem cast_lt_cast (eq : n = m) {a b : Fin n} : cast eq a < cast eq b ↔ a < b :=
theorem cast_lt_cast (eq : n = m) {a b : Fin n} : a.cast eq < b.cast eq ↔ a < b :=
Iff.rfl

theorem cast_le_cast (eq : n = m) {a b : Fin n} : cast eq a ≤ cast eq b ↔ a ≤ b :=
theorem cast_le_cast (eq : n = m) {a b : Fin n} : a.cast eq ≤ b.cast eq ↔ a ≤ b :=
Iff.rfl

/-- The 'identity' equivalence between `Fin m` and `Fin n` when `m = n`. -/
@[simps]
def _root_.finCongr (eq : n = m) : Fin n ≃ Fin m where
toFun := cast eq
invFun := cast eq.symm
toFun := Fin.cast eq
invFun := Fin.cast eq.symm
left_inv := leftInverse_cast eq
right_inv := rightInverse_cast eq

Expand All @@ -656,12 +656,12 @@ a generic theorem about `cast`. -/
lemma _root_.finCongr_eq_equivCast (h : n = m) : finCongr h = .cast (h ▸ rfl) := by subst h; simp

@[simp]
theorem cast_zero {n' : ℕ} [NeZero n] {h : n = n'} : cast h (0 : Fin n) =
theorem cast_zero {n' : ℕ} [NeZero n] {h : n = n'} : (0 : Fin n).cast h =
by { haveI : NeZero n' := by {rw [← h]; infer_instance}; exact 0} := rfl

/-- While in many cases `Fin.cast` is better than `Equiv.cast`/`cast`, sometimes we want to apply
a generic theorem about `cast`. -/
theorem cast_eq_cast (h : n = m) : (cast h : Fin n → Fin m) = _root_.cast (h ▸ rfl) := by
theorem cast_eq_cast (h : n = m) : (Fin.cast h : Fin n → Fin m) = _root_.cast (h ▸ rfl) := by
subst h
ext
rfl
Expand Down
Loading
Loading