Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
93c35c4
doc(Geometry): ensure only a single H1 header per file (#31520)
harahu Nov 15, 2025
7b2070a
doc(LinearAlgebra): ensure only a single H1 header per file (#31522)
harahu Nov 15, 2025
c63395e
doc(RepresentationTheory): ensure only a single H1 header per file (#…
harahu Nov 15, 2025
55116f9
doc(Probability): ensure only a single H1 header per file (#31659)
harahu Nov 15, 2025
fe51f22
chore: add deprecation (#31636)
dupuisf Nov 15, 2025
b8d4bc6
feat(Combinatorics): generating function for partitions (#30567)
wwylele Nov 15, 2025
aff69c9
chore(Analysis/InnerProductSpace/{Dual, LinearMap}): some renames (#3…
themathqueen Nov 15, 2025
01c9c6d
feat: add AffineEquiv.ofLinearEquiv (#30950)
jessealama Nov 15, 2025
22f65ec
Merge master into nightly-testing
leanprover-community-mathlib4-bot Nov 16, 2025
9361c45
feat(Analysis/SpecialFunctions/Trigonometric): tangent half-angle sub…
ShreckYe Nov 16, 2025
e417d08
feat(Topology/Sets): `Unique`, `Nontrivial`, etc. instances for `(Non…
gasparattila Nov 16, 2025
2116c7f
feat(Combinatorics/SimpleGraph/Connectivity/Connected): `IsBridge` is…
SnirBroshi Nov 16, 2025
0d5b200
doc(Analysis/Fourier): correct module doc-string (#31684)
mcdoll Nov 16, 2025
7991745
chore(scripts): update nolints.json (#31681)
leanprover-community-bot-assistant Nov 16, 2025
d082f96
feat(Combinatorics/SimpleGraph/Subgraph): only bot has no vertices (#…
SnirBroshi Nov 16, 2025
34b4f60
feat: removing leaves from a connected graph keeps it connected (#31103)
YaelDillies Nov 16, 2025
c88b18c
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Nov 16, 2025
97873b8
chore: bump to nightly-2025-11-16
leanprover-community-mathlib4-bot Nov 16, 2025
99b10b6
doc(Combinatorics): ensure only a single H1 header per file (#31423)
harahu Nov 16, 2025
1730550
Fix
TwoFX Nov 16, 2025
dbd84d8
Lake update
TwoFX Nov 16, 2025
db9dae8
feat(Topology/Sets): add `Compacts.toCloseds` (#31159)
gasparattila Nov 16, 2025
ad50da1
ci: more robust step for finding branch SHA (#31647)
bryangingechen Nov 16, 2025
9634967
fix(Tactic/FunProp): fix "loose bvar in expression" error (#31001)
gasparattila Nov 16, 2025
1fb8d95
chore: adaptations for batteries#1486 (#31182)
fgdorais Nov 16, 2025
dfb0855
doc(Logic/Equiv/Fintype): fix typos (#31524)
harahu Nov 16, 2025
89db666
chore(Probability/ProbabilityMassFunction): golf entire `support_bind…
euprunin Nov 16, 2025
51f09f3
doc(Analysis): tidy backticks (#31694)
harahu Nov 16, 2025
028cefa
doc(Algebra): tidy backticks (#31695)
harahu Nov 16, 2025
3a22c8b
doc(CategoryTheory): tidy backticks (#31698)
harahu Nov 16, 2025
bd39cb5
doc: tidy backticks in misc. subdirectories (#31699)
harahu Nov 16, 2025
caa8925
doc(Data): tidy backticks (#31700)
harahu Nov 16, 2025
205c4cb
doc(GroupTheory): tidy backticks (#31701)
harahu Nov 16, 2025
1334fbb
doc(LinearAlgebra): tidy backticks (#31702)
harahu Nov 16, 2025
83fdfab
doc(MeasureTheory): tidy backticks (#31703)
harahu Nov 16, 2025
41c8cd5
chore: restore and deprecate Mathlib.Combinatorics.Enumerative.Partit…
wwylele Nov 16, 2025
984810d
feat(LinearAlgebra/SpecialLinearGroup): special linear group of a mod…
AntoineChambert-Loir Nov 16, 2025
26cb699
feat(Tactic/Order): translate linear orders to `Int` (#26580)
vasnesterov Nov 16, 2025
3c8c732
feat(Algebra/Category/ModuleCat): a functorial projective resolution …
joelriou Nov 16, 2025
7984668
chore(CategoryTheory): adding grind annotations for `op_comp` and `Qu…
joelriou Nov 16, 2025
5db10f3
chore(RingTheory): golf `RingTheory/` using `order` (#31371)
euprunin Nov 16, 2025
d398db5
feat: add `MeasureTheory.Measure.integrable_comp_iff` (#31544)
RemyDegenne Nov 16, 2025
0a20708
chore: move CategoryTheory.ComposableArrows (#31584)
joelriou Nov 16, 2025
2628d8c
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is …
xroblot Nov 16, 2025
19f3ff9
chore: deprecate `monoidalOfHasFiniteProducts` (#30684)
YaelDillies Nov 16, 2025
48d5afe
feat(CategoryTheory/Sites): categories of sheaves on Over categories,…
joelriou Nov 16, 2025
c52adaf
feat: recursion principle for `Mᵐ⁰` (#31199)
YaelDillies Nov 16, 2025
a4e4423
chore(RingTheory): golf `isPrimary_decomposition_pairwise_ne_radical`…
euprunin Nov 16, 2025
d6e93c2
feat(LinearAlgebra/AffineSpace/Combination): `affineCombination_mem_a…
jsm28 Nov 16, 2025
e291855
chore: remove use of `erw` in `AlgebraicGeometry.EllipticCurve.Jacobi…
euprunin Nov 16, 2025
2a0fb7f
feat(Algebra/ModuleCat/Presheaf): composition of pushforwards and pul…
joelriou Nov 16, 2025
4682615
feat(Topology): every compact metric space is image of Cantor set (…
vasnesterov Nov 16, 2025
2b20716
chore(RingTheory): golf entire `single_one_eq_pow` using `simp`. depr…
euprunin Nov 16, 2025
9f0dc8c
feat(RingTheory): `Module.Invertible.tmul_comm` (#31308)
alreadydone Nov 16, 2025
f17d16e
feat(CategoryTheory): deriving functors using a right derivability st…
joelriou Nov 16, 2025
8d0f752
feat: monoid algebras commute with base change (#29539)
YaelDillies Nov 16, 2025
ae0080b
feat(to_additive): improve error messages when re-tagging a tagged co…
JovanGerb Nov 16, 2025
2536bec
chore: rename `foo_of_norm_one` to `foo_of_norm_eq_one` (#31674)
themathqueen Nov 16, 2025
9baa797
feat(Order/Category): `PartOrdEmb` has filtered colimits (#30696)
joelriou Nov 16, 2025
e45a9c6
feat(CategoryTheory): description of the type WalkingMultispan (#31424)
joelriou Nov 16, 2025
6238886
feat(Algebra/Group): semigroup ideals (#31497)
staroperator Nov 16, 2025
45368db
feat(RingTheory/SimpleModule): kill 4 proof_wanted on semisimple ring…
alreadydone Nov 16, 2025
015b41b
feat(LinearAlgebra/AffineSpace/Simplex/Basic): more `reindex` lemmas …
jsm28 Nov 16, 2025
2bc300c
merge master
kim-em Nov 16, 2025
7678c27
deprecation
kim-em Nov 16, 2025
c44a09b
feat: bounded distance implies bounded space (#31555)
EtienneC30 Nov 16, 2025
1ccd71f
chore: move ProofWidgets to v0.0.79 (#31720)
kim-em Nov 16, 2025
948878b
Auto-resolved conflicts in lean-toolchain and lake-manifest.json
Nov 16, 2025
3da1479
chore: adaptations for nightly-2025-11-16
Nov 16, 2025
303b700
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic…
Sebi-Kumar Nov 17, 2025
a2f7a8f
feat(CategoryTheory): dense functors (#29565)
joelriou Nov 17, 2025
e6df210
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` (#30214)
SnirBroshi Nov 17, 2025
9e5cdbf
chore(CategoryTheory/Limits/Types): split Shapes.lean (#31258)
joelriou Nov 17, 2025
dc6387b
refactor(CategoryTheory/Shift): export Functor.CommShift.commShiftIso…
joelriou Nov 17, 2025
69415be
feat(CategoryTheory/Triangulated): basic lemmas for t-structures (#31…
joelriou Nov 17, 2025
b22f001
doc(overview): add convex geometry node (#31657)
bjornsolheim Nov 17, 2025
dba5de8
chore(Algebra/Polynomial/Basic) : replace `monomial_add` with `map_ad…
SuccessMoses Nov 17, 2025
61abd2f
feat: Add next_getLast_eq_head (#31714)
metakunt Nov 17, 2025
95f13e5
Merge master into nightly-testing
leanprover-community-mathlib4-bot Nov 17, 2025
fff5a28
chore: CI detects ProofWidgets toolchain mismatch (#31723)
kim-em Nov 17, 2025
f8cd90e
chore: remove use of `erw` in `Algebra.Homology.ShortComplex.Exact` (…
euprunin Nov 17, 2025
e62bef8
chore: remove some uses of `erw` introduced in relation to lean4 PR #…
euprunin Nov 17, 2025
4a5073f
feat(CategoryTheory/MorphismProperty): generalize to CategoryStructs …
callesonne Nov 17, 2025
6a73927
chore(RingSeminorm): use `grw` and `positivity` (#31685)
urkud Nov 17, 2025
d2330fe
chore: golf proofs involving permutations (#31389)
YaelDillies Nov 17, 2025
04559d2
feat(CategoryTheory/Triangulated): the category of triangles is pread…
joelriou Nov 17, 2025
c244ad2
Merge pull request #118 from leanprover-community/bump/nightly-2025-1…
kbuzzard Nov 17, 2025
c878df9
feat(Integral): remove some completeness assumptions and generallize …
EtienneC30 Nov 17, 2025
4c16d40
feat(AlgebraicTopology): inductive construction of StrictSegal struct…
joelriou Nov 17, 2025
b541525
feat(Geometry/Euclidean/Sphere/SecondInter): `eq_or_eq_secondInter_if…
jsm28 Nov 17, 2025
da2bffe
chore: bump to nightly-2025-11-17
leanprover-community-mathlib4-bot Nov 17, 2025
7ae3b6f
merge lean-pr-testing-11154
invalid-email-address Nov 17, 2025
e6a0ede
feat: miscellaneous root system lemmas (#29147)
ocfnash Nov 17, 2025
dff942c
lake update
kim-em Nov 17, 2025
de24f50
bump ProofWidgets4
kim-em Nov 17, 2025
cb781a2
feat(LinearAlgebra/AffineSpace/FiniteDimensional): add lemma preservi…
zcyemi Nov 17, 2025
f885331
feat(CategoryTheory/Abelian): construction of reduced left resolution…
joelriou Nov 17, 2025
eda6b96
fix grind failure
kim-em Nov 17, 2025
b9a6c14
feat(Algebra/BigOperators): finite product is top iff ... (#31734)
felixpernegger Nov 17, 2025
da9aeab
Merge remote-tracking branch 'upstream/master' into bump/v4.26.0
kim-em Nov 17, 2025
258313f
chore: adaptations for nightly-2025-11-17
kim-em Nov 17, 2025
a059fc5
feat(Mathlib/Geometry/Euclidean/Incenter): excenters do not lie in fa…
jsm28 Nov 17, 2025
ecb25d3
feat(CategoryTheory/ObjectProperty): generalize `ObjectProperty` to `…
callesonne Nov 17, 2025
0e528d8
doc: ensure only a single H1 header per file (#31741)
harahu Nov 17, 2025
cf9ef82
feat(RingTheory): API for valuative rel (#30423)
erdOne Nov 17, 2025
87400f5
feat: MeasurableSet.iff (#31546)
RemyDegenne Nov 17, 2025
411a252
Merge pull request #119 from leanprover-community/bump/nightly-2025-1…
kbuzzard Nov 17, 2025
2df2702
fix: run second mk_all only if first one ran (#31743)
adomani Nov 17, 2025
77bb8d0
feat(DedekindDomain/AdicValuation): `le_one` lemmas for `HeightOneSpe…
smmercuri Nov 17, 2025
8261ce1
feat: convergence in probability implies convergence in distribution …
RemyDegenne Nov 17, 2025
9a94141
feat(FieldTheory): prime fields (#31655)
xroblot Nov 17, 2025
647a101
feat: lemmas on the stopped process and stopped value (#31557)
kex-y Nov 17, 2025
50b21b3
refactor(CategoryTheory/Presentable): cleaning up HasCardinalFiltered…
joelriou Nov 17, 2025
c316eae
feat: add a version of Bernoulli's inequality (#31502)
urkud Nov 17, 2025
99a7a7a
feat(RingTheory/RootsOfUnity): `exp(π i q)` is a root of unity for ra…
SnirBroshi Nov 17, 2025
b6ead3d
feat(RingTheory): some lemmas about the irrelevant ideal (#30336)
kckennylau Nov 17, 2025
8da6dc5
feat(RingTheory): miscellaneous lemmas about etale (#30857)
erdOne Nov 17, 2025
dbaa152
feat(RingTheory): lemmas about scaleRoots (#30984)
erdOne Nov 17, 2025
fe1548c
chore(Normed/Operator): add `smulRightL_apply_apply` (#31642)
urkud Nov 17, 2025
32485e7
feat(LinearAlgebra/AffineSpace/AffineSubspace/Basic): `map_mk'` (#31727)
jsm28 Nov 17, 2025
ecf19aa
feat(Analysis/InnerProductSpace/Orthogonal): `map_orthogonal` (#31728)
jsm28 Nov 17, 2025
7043967
feat(Analysis/Polynomial/MahlerMeasure): the Mahler measure of a line…
fbarroero Nov 17, 2025
e803639
chore: Add simp lemmas for OrderIso.dual (#31641)
kckennylau Nov 17, 2025
a5199cf
chore(CategoryTheory/Monoidal): improve automation around `Adjunction…
dagurtomas Nov 17, 2025
5752ec4
chore: fix defeq abuse in IsGalois.intermediateFieldEquivSubgroup (#3…
kckennylau Nov 17, 2025
58fc417
feat(Nat/Factorial): use binary splitting for `ascFactorial`/`descFac…
yury-harmonic Nov 17, 2025
f302095
feat: approximate continuous functions by smooth functions (#31278)
ADedecker Nov 17, 2025
d84b749
feat(NumberTheory/NumberField/InfinitePlace): A few easy lemmas about…
Paul-Lez Nov 17, 2025
b0acada
doc(NumberTheory): tidy backticks (#31752)
harahu Nov 17, 2025
79c8606
doc(RingTheory): tidy backticks (#31753)
harahu Nov 17, 2025
780cbe2
Merge master into nightly-testing
leanprover-community-mathlib4-bot Nov 18, 2025
0df2e3c
chore: bump toolchain to v4.25.1 (#31759)
kim-em Nov 18, 2025
b8b34ba
feat(AlgebraicTopology): the model category structure on Over categor…
joelriou Nov 18, 2025
5b44658
feat(Algebra/QuadraticAlgebra/NormDeterminant): norm = det of left-mu…
SnirBroshi Nov 18, 2025
6681005
Merge branch 'master' into bump/v4.26.0
kim-em Nov 18, 2025
ec1e4cd
bump to v4.26.0-rc1
kim-em Nov 18, 2025
7f17921
Merge branch 'bump/v4.26.0' into nightly-testing
kim-em Nov 18, 2025
b6524e5
chore: bump to nightly-2025-11-18
leanprover-community-mathlib4-bot Nov 18, 2025
5061ed1
chore: remove use of `erw` in `CategoryTheory.GlueData` (#31761)
euprunin Nov 18, 2025
5c47337
chore: remove use of `erw` in `Geometry.RingedSpace.OpenImmersion` (#…
euprunin Nov 18, 2025
3c2e99b
feat(RingTheory): coeffs of a poly is integral if it divides an integ…
erdOne Nov 18, 2025
a635f4a
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Nov 18, 2025
5c7b749
feat(CategoryTheory): constructors for monoidal functors after pre/po…
dagurtomas Nov 18, 2025
cd099a1
feat(Algebra): five lemma for vanishing of certain components (#31696)
Thmoas-Guan Nov 18, 2025
5c955f0
feat(Topology): separability of `Sum` (#31704)
gasparattila Nov 18, 2025
1988a78
chore: bump toolchain to v4.26.0-rc1 (#31763)
kim-em Nov 18, 2025
9e00cef
changed signature
kim-em Nov 18, 2025
5e26797
feat: extra `Module.IsTorsionFree` instances (#25887)
eric-wieser Nov 18, 2025
3a774ed
feat(Analysis/Distribution/ContDiffMapSupportedIn): add TopologicalSp…
luigi-massacci Nov 18, 2025
344e305
feat(Data/Set/Image): add Option.range lemmas for elim function (#30940)
jessealama Nov 18, 2025
0939636
chore(CategoryTheory): `IsRegularEpi` and its `MorphismProperty` (#31…
FernandoChu Nov 18, 2025
1c10ceb
chore(LinearAlgebra/Matrix): import less analysis (#31518)
YaelDillies Nov 18, 2025
c995288
A few fixes
TwoFX Nov 18, 2025
c7415b1
Update lean-toolchain for https://github.com/leanprover/lean4/pull/11232
leanprover-community-mathlib4-bot Nov 18, 2025
3cbf374
Update lean-toolchain for testing https://github.com/leanprover/lean4…
leanprover-community-mathlib4-bot Nov 18, 2025
f9532ff
feat: grind golfing in Topology/Path (#31305)
kim-em Nov 18, 2025
e16997e
feat: define test functions in the sense of distribution theory (#31470)
ADedecker Nov 18, 2025
885688d
feat: lemmas for paths-up-to-homotopy (#31574)
kim-em Nov 18, 2025
f710fe1
feat: `splitOn_nil` to use `BEq` instead of `DecidableEq` (#31679)
BoltonBailey Nov 18, 2025
7756012
fix(to_dual): also store `reorder` for the reverse translation (#31716)
JovanGerb Nov 18, 2025
7dfb695
feat(Data/Fintype/Sets): `Subsingleton s.toFinset ↔ s.Subsingleton` (…
SnirBroshi Nov 18, 2025
cddd86f
lake update
TwoFX Nov 18, 2025
00ab180
Fix
TwoFX Nov 18, 2025
a14e51d
feat(contrapose): cancel negations, and support `↔` (#31510)
JovanGerb Nov 18, 2025
379a70a
Fixed Cli
TwoFX Nov 18, 2025
32d9eed
feat(NumberTheory/Niven): `exp/sin/cos/tan(q π i)` are integral/algeb…
SnirBroshi Nov 18, 2025
e066c70
feat: locally contractible spaces (#31453)
kim-em Nov 18, 2025
a742c4f
chore: Fix notation in ValuativeRel so that they print correctly. (#3…
kckennylau Nov 18, 2025
002a76d
feat(Topology): separability of the domain of an open inducing map (#…
gasparattila Nov 18, 2025
5e1991c
style: remove redundant `<|` and `|>.` (#31769)
JovanGerb Nov 18, 2025
2c7b874
chore: update Mathlib dependencies 2025-11-18 (#31770)
mathlib4-update-dependencies-bot Nov 18, 2025
2cc9448
chore: remove use of `erw` in `CategoryTheory.Adhesive` (#31772)
euprunin Nov 18, 2025
ad7c22c
chore: remove use of `erw` in `CategoryTheory.Idempotents.Basic` (#31…
euprunin Nov 18, 2025
de1cd1d
Fix cache and tests
TwoFX Nov 18, 2025
312df88
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and la…
robin-carlier Nov 18, 2025
0b39919
feat(CategoryTheory): the universal property of localized monoidal ca…
dagurtomas Nov 18, 2025
6002bc1
feat(Computability/Language): add subtraction notation (#30913)
eric-wieser Nov 18, 2025
fd6ea04
feat: characterise regular elements of type synonyms (#31739)
YaelDillies Nov 18, 2025
7dae8d6
chore: deprecate `BundledHom` and `UnbundledHom` (#31764)
callesonne Nov 18, 2025
413bbbb
feat(NNReal): `AddCancelCommMonoid` instance (#31765)
YaelDillies Nov 18, 2025
08d8b08
feat(CategoryTheory): a category with a terminal object is κ-filtered…
joelriou Nov 18, 2025
f46fa2e
chore: remove use of `erw` in `AlgebraicGeometry.EllipticCurve.Projec…
euprunin Nov 18, 2025
58e94a9
chore: remove use of `erw` in `SetTheory.Cardinal.Arithmetic` (#31774)
euprunin Nov 18, 2025
0a4116e
chore: remove use of `erw` in `LinearAlgebra.RootSystem.Defs` (#31775)
euprunin Nov 18, 2025
9d82d22
feat: more API on tsupport and operations on functions (#31549)
ADedecker Nov 18, 2025
f9a7e90
chore: remove use of `erw` in `CategoryTheory.Limits.Shapes.RegularMo…
euprunin Nov 18, 2025
fba9163
feat: `WithLp.{fst,snd}` as a `(Continuous)LinearMap` (#31776)
gasparattila Nov 18, 2025
e64a336
feat: small lemma about InnerProductSpace.toDual (#31563)
EtienneC30 Nov 18, 2025
bcdf2b7
chore(Analysis/Fourier): rename theorems (#31687)
mcdoll Nov 18, 2025
ff68c4b
chore(LinearAlgebra/Matrix/PosDef): rename `Matrix.InnerProductSpace.…
themathqueen Nov 18, 2025
4140c51
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): the path of a …
LLaurance Nov 18, 2025
2c2974e
feat(Analysis/SpecialFunctions/Gamma/BohrMollerup): Gamma is strictly…
SnirBroshi Nov 18, 2025
84671ef
chore: remove use of `erw` in `CategoryTheory.Sites.DenseSubsite.Shea…
euprunin Nov 18, 2025
48d1fe2
refactor: make `⇑e⁻¹ = ⇑e.symm` simp (#27433)
YaelDillies Nov 18, 2025
9eed4ce
chore: update Mathlib dependencies 2025-11-18 (#31787)
mathlib4-update-dependencies-bot Nov 18, 2025
5940fe3
feat(Analysis): the norm squared and the identity are of temperate gr…
mcdoll Nov 19, 2025
ddfe933
feat(Topology/Algebra): the equivalence of continuous linear maps and…
mcdoll Nov 19, 2025
c292560
Merge master into nightly-testing
leanprover-community-mathlib4-bot Nov 19, 2025
e7bdabd
feat(Analysis/LocallyConvex): basics of Montel spaces (#30524)
mcdoll Nov 19, 2025
370d970
chore: disable `shake` in preparation for the module system (#31792)
kim-em Nov 19, 2025
1e783fb
feat(Analysis): the topology of pointwise convergence is locally conv…
mcdoll Nov 19, 2025
de9311c
move toolchain back to a nightly
kim-em Nov 19, 2025
43e541b
Merge branch 'master' into nightly-testing
kim-em Nov 19, 2025
6a54a80
chore: move Mathlib to the module system (#31786)
kim-em Nov 19, 2025
3163fdc
Merge remote-tracking branch 'upstream/master' into bump/v4.27.0
kim-em Nov 19, 2025
8e02724
chore: adaptations for nightly-2025-11-18
kim-em Nov 19, 2025
8a7b126
Merge branch 'bump/nightly-2025-11-18' into nightly-testing
kim-em Nov 19, 2025
b7543c7
chore: use fast_instance% in (continuous) multilinear/alternating map…
ADedecker Nov 19, 2025
d05defb
doc(Topology): tidy backticks (#31798)
harahu Nov 19, 2025
8ece86d
chore: bump to nightly-2025-11-19
leanprover-community-mathlib4-bot Nov 19, 2025
c1eeffd
merge lean-pr-testing-11232
invalid-email-address Nov 19, 2025
66b2a65
feat(push_neg): tag `not_frequently` and `not_eventually` (#31403)
JovanGerb Nov 19, 2025
1d2373e
feat(to_additive): allow referring to arguments by name (#31748)
JovanGerb Nov 19, 2025
5db554c
feat: local frame induced by a vector bundle trivialisation (#31788)
grunweg Nov 19, 2025
e50bed5
lake update
kim-em Nov 19, 2025
ea06c44
deprecations
kim-em Nov 19, 2025
27ac745
merge lean-pr-testing-11180
kim-em Nov 19, 2025
42d605e
fix merge
kim-em Nov 19, 2025
8a4ce71
lake update proofwidgets
kim-em Nov 19, 2025
4b37540
lake update aesop
kim-em Nov 19, 2025
5745066
some `grind +revert`
kim-em Nov 19, 2025
17d529c
chore: use fast_instance% for BoundedContinuousFunction (#31790)
ADedecker Nov 19, 2025
5231898
chore(Linter/TextBased): remove dead code (#31800)
grunweg Nov 19, 2025
2da5710
doc: tidy backticks (#31804)
harahu Nov 19, 2025
86eaade
improved R-linearity to A-linearity in the PushForward of Derivations…
Ljon4ik4 Nov 19, 2025
be5e7c6
feat: describe the logarithmic counting function in terms of circle a…
kebekus Nov 19, 2025
e12f733
feat: check for PR titles which do not start with "feat" etc. (#29512)
grunweg Nov 19, 2025
0856a89
feat: power series over a noetherian ring is noetherian (#31149)
riccardobrasca Nov 19, 2025
2a03d8a
feat(RingTheory/AdicCompletion): `IsAdicComplete.lift` APIs for `Ring…
jjdishere Nov 19, 2025
631f0c1
feat: dualize Pseudofunctor.CoGrothendieck results to Pseudofunctor.G…
Jlh18 Nov 19, 2025
b6580c4
feat(Topology/Sets): add `NonemptyCompacts.map` (#31166)
gasparattila Nov 19, 2025
3f3cd98
feat(Dynamics/Ergodic): add `ergodic_of_ergodic_semiconj` (#31793)
lua-vr Nov 19, 2025
7ce4a4b
feat(CategoryTheory/Presentable): presentable objects in `Type` (#30727)
joelriou Nov 19, 2025
108169d
chore: clean up FiveWheelLike (#31813)
thorimur Nov 19, 2025
b7f101a
chore: add a forgotten public section (#31815)
riccardobrasca Nov 19, 2025
26b1003
chore: remove use of `erw` in `CategoryTheory.Limits.{Cones,{Construc…
euprunin Nov 19, 2025
b9fc957
fix(unfold?): improved implementation of `isUserFriendly` (#31608)
JovanGerb Nov 19, 2025
17991a0
ci(check_pr_titles.yaml): fix conditional, skip bors title edits (#31…
bryangingechen Nov 19, 2025
6187636
perf(Data.Real.Sqrt): make Real.sqrt irreducible (#25856)
MichaelStollBayreuth Nov 19, 2025
e808764
chore: add `@[expose] public section` in Mathlib.RingTheory.AdicCompl…
thorimur Nov 19, 2025
6ff93aa
ci(check_pr_titles.yaml): fix handling of labels (#31827)
bryangingechen Nov 19, 2025
5db9169
chore(Order/Defs/LinearOrder): use `@[to_dual]` (#31709)
JovanGerb Nov 19, 2025
8068277
Merge master into nightly-testing
leanprover-community-mathlib4-bot Nov 20, 2025
d98fdec
chore: bump to nightly-2025-11-20
leanprover-community-mathlib4-bot Nov 20, 2025
37c4d0a
lake update batteries
kim-em Nov 20, 2025
3dc572b
grind +revert
kim-em Nov 20, 2025
a17cf8f
stuff
kim-em Nov 20, 2025
da0c70b
merge nightly-testing-2025-11-20
kim-em Nov 20, 2025
14b70bc
module
kim-em Nov 21, 2025
393dc77
cleanup
kim-em Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
61 changes: 54 additions & 7 deletions .github/build.in.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
lint-outcome: ${{ steps.lint.outcome }}
mk_all-outcome: ${{ steps.mk_all.outcome }}
noisy-outcome: ${{ steps.noisy.outcome }}
shake-outcome: ${{ steps.shake.outcome }}
# shake-outcome: ${{ steps.shake.outcome }}
test-outcome: ${{ steps.test.outcome }}
defaults: # On Hoskinson runners, landrun is already installed.
run: # note that .pr-branch/.lake must be created in a step below before we use this
Expand Down Expand Up @@ -238,6 +238,51 @@ jobs:
echo "✅ All inputRevs in lake-manifest.json are valid"
fi

- name: verify ProofWidgets lean-toolchain matches on versioned releases
# Only enforce this on the main mathlib4 repository, not on nightly-testing
if: github.repository == 'leanprover-community/mathlib4'
shell: bash
run: |
cd pr-branch

# Read the lean-toolchain file
TOOLCHAIN=$(cat lean-toolchain | tr -d '[:space:]')
echo "Lean toolchain: $TOOLCHAIN"

# Check if toolchain matches the versioned release pattern: leanprover/lean4:vX.Y.Z (with optional suffix like -rc1)
if [[ "$TOOLCHAIN" =~ ^leanprover/lean4:v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?$ ]]; then
echo "✓ Detected versioned Lean release: $TOOLCHAIN"
echo "Verifying ProofWidgets lean-toolchain matches..."

# Check if ProofWidgets lean-toolchain exists
if [ ! -f .lake/packages/proofwidgets/lean-toolchain ]; then
echo "❌ Error: .lake/packages/proofwidgets/lean-toolchain does not exist"
echo "This file should be created by 'lake env' during dependency download."
exit 1
fi

# Read ProofWidgets lean-toolchain
PROOFWIDGETS_TOOLCHAIN=$(cat .lake/packages/proofwidgets/lean-toolchain | tr -d '[:space:]')
echo "ProofWidgets toolchain: $PROOFWIDGETS_TOOLCHAIN"

# Compare the two
if [ "$TOOLCHAIN" != "$PROOFWIDGETS_TOOLCHAIN" ]; then
echo "❌ Error: Lean toolchain mismatch!"
echo " Main lean-toolchain: $TOOLCHAIN"
echo " ProofWidgets lean-toolchain: $PROOFWIDGETS_TOOLCHAIN"
echo ""
echo "When using a versioned Lean release (leanprover/lean4:vX.Y.Z),"
echo "the ProofWidgets dependency must use the same toolchain."
echo "Please update the ProofWidgets dependency to use $TOOLCHAIN"
exit 1
else
echo "✅ ProofWidgets lean-toolchain matches: $TOOLCHAIN"
fi
else
echo "ℹ Lean toolchain is not a versioned release (pattern: leanprover/lean4:vX.Y.Z)"
echo "Skipping ProofWidgets toolchain verification."
fi

- name: get cache (1/3 - setup and initial fetch)
id: get_cache_part1_setup
shell: bash # only runs `cache get` from `master-branch`, so doesn't need to be inside landrun
Expand Down Expand Up @@ -412,7 +457,7 @@ jobs:
MATHLIB_CACHE_SAS_RAW: ${{ secrets.MATHLIB_CACHE_SAS }}

- name: Check {Mathlib, Tactic, Counterexamples, Archive}.lean
if: always()
if: ${{ always() && steps.mk_all.outcome != 'skipped' }}
run: |
if [[ "${{ steps.mk_all.outcome }}" != "success" ]]; then
echo "Please run 'lake exe mk_all' to regenerate the import all files"
Expand Down Expand Up @@ -443,11 +488,13 @@ jobs:
action: add # In order to be able to run a multiline script, we need to add/remove the problem matcher before and after.
linters: gcc

- name: check for unused imports
id: shake
run: |
cd pr-branch
env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style
# With the arrival of the module system, the old `shake` is no longer functional.
# This will be replaced soon.
# - name: check for unused imports
# id: shake
# run: |
# cd pr-branch
# env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style

- name: lint mathlib
if: ${{ always() && steps.build.outcome == 'success' || steps.build.outcome == 'failure' }}
Expand Down
61 changes: 54 additions & 7 deletions .github/workflows/bors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
lint-outcome: ${{ steps.lint.outcome }}
mk_all-outcome: ${{ steps.mk_all.outcome }}
noisy-outcome: ${{ steps.noisy.outcome }}
shake-outcome: ${{ steps.shake.outcome }}
# shake-outcome: ${{ steps.shake.outcome }}
test-outcome: ${{ steps.test.outcome }}
defaults: # On Hoskinson runners, landrun is already installed.
run: # note that .pr-branch/.lake must be created in a step below before we use this
Expand Down Expand Up @@ -248,6 +248,51 @@ jobs:
echo "✅ All inputRevs in lake-manifest.json are valid"
fi

- name: verify ProofWidgets lean-toolchain matches on versioned releases
# Only enforce this on the main mathlib4 repository, not on nightly-testing
if: github.repository == 'leanprover-community/mathlib4'
shell: bash
run: |
cd pr-branch

# Read the lean-toolchain file
TOOLCHAIN=$(cat lean-toolchain | tr -d '[:space:]')
echo "Lean toolchain: $TOOLCHAIN"

# Check if toolchain matches the versioned release pattern: leanprover/lean4:vX.Y.Z (with optional suffix like -rc1)
if [[ "$TOOLCHAIN" =~ ^leanprover/lean4:v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?$ ]]; then
echo "✓ Detected versioned Lean release: $TOOLCHAIN"
echo "Verifying ProofWidgets lean-toolchain matches..."

# Check if ProofWidgets lean-toolchain exists
if [ ! -f .lake/packages/proofwidgets/lean-toolchain ]; then
echo "❌ Error: .lake/packages/proofwidgets/lean-toolchain does not exist"
echo "This file should be created by 'lake env' during dependency download."
exit 1
fi

# Read ProofWidgets lean-toolchain
PROOFWIDGETS_TOOLCHAIN=$(cat .lake/packages/proofwidgets/lean-toolchain | tr -d '[:space:]')
echo "ProofWidgets toolchain: $PROOFWIDGETS_TOOLCHAIN"

# Compare the two
if [ "$TOOLCHAIN" != "$PROOFWIDGETS_TOOLCHAIN" ]; then
echo "❌ Error: Lean toolchain mismatch!"
echo " Main lean-toolchain: $TOOLCHAIN"
echo " ProofWidgets lean-toolchain: $PROOFWIDGETS_TOOLCHAIN"
echo ""
echo "When using a versioned Lean release (leanprover/lean4:vX.Y.Z),"
echo "the ProofWidgets dependency must use the same toolchain."
echo "Please update the ProofWidgets dependency to use $TOOLCHAIN"
exit 1
else
echo "✅ ProofWidgets lean-toolchain matches: $TOOLCHAIN"
fi
else
echo "ℹ Lean toolchain is not a versioned release (pattern: leanprover/lean4:vX.Y.Z)"
echo "Skipping ProofWidgets toolchain verification."
fi

- name: get cache (1/3 - setup and initial fetch)
id: get_cache_part1_setup
shell: bash # only runs `cache get` from `master-branch`, so doesn't need to be inside landrun
Expand Down Expand Up @@ -422,7 +467,7 @@ jobs:
MATHLIB_CACHE_SAS_RAW: ${{ secrets.MATHLIB_CACHE_SAS }}

- name: Check {Mathlib, Tactic, Counterexamples, Archive}.lean
if: always()
if: ${{ always() && steps.mk_all.outcome != 'skipped' }}
run: |
if [[ "${{ steps.mk_all.outcome }}" != "success" ]]; then
echo "Please run 'lake exe mk_all' to regenerate the import all files"
Expand Down Expand Up @@ -453,11 +498,13 @@ jobs:
action: add # In order to be able to run a multiline script, we need to add/remove the problem matcher before and after.
linters: gcc

- name: check for unused imports
id: shake
run: |
cd pr-branch
env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style
# With the arrival of the module system, the old `shake` is no longer functional.
# This will be replaced soon.
# - name: check for unused imports
# id: shake
# run: |
# cd pr-branch
# env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style

- name: lint mathlib
if: ${{ always() && steps.build.outcome == 'success' || steps.build.outcome == 'failure' }}
Expand Down
61 changes: 54 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
lint-outcome: ${{ steps.lint.outcome }}
mk_all-outcome: ${{ steps.mk_all.outcome }}
noisy-outcome: ${{ steps.noisy.outcome }}
shake-outcome: ${{ steps.shake.outcome }}
# shake-outcome: ${{ steps.shake.outcome }}
test-outcome: ${{ steps.test.outcome }}
defaults: # On Hoskinson runners, landrun is already installed.
run: # note that .pr-branch/.lake must be created in a step below before we use this
Expand Down Expand Up @@ -255,6 +255,51 @@ jobs:
echo "✅ All inputRevs in lake-manifest.json are valid"
fi

- name: verify ProofWidgets lean-toolchain matches on versioned releases
# Only enforce this on the main mathlib4 repository, not on nightly-testing
if: github.repository == 'leanprover-community/mathlib4'
shell: bash
run: |
cd pr-branch

# Read the lean-toolchain file
TOOLCHAIN=$(cat lean-toolchain | tr -d '[:space:]')
echo "Lean toolchain: $TOOLCHAIN"

# Check if toolchain matches the versioned release pattern: leanprover/lean4:vX.Y.Z (with optional suffix like -rc1)
if [[ "$TOOLCHAIN" =~ ^leanprover/lean4:v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?$ ]]; then
echo "✓ Detected versioned Lean release: $TOOLCHAIN"
echo "Verifying ProofWidgets lean-toolchain matches..."

# Check if ProofWidgets lean-toolchain exists
if [ ! -f .lake/packages/proofwidgets/lean-toolchain ]; then
echo "❌ Error: .lake/packages/proofwidgets/lean-toolchain does not exist"
echo "This file should be created by 'lake env' during dependency download."
exit 1
fi

# Read ProofWidgets lean-toolchain
PROOFWIDGETS_TOOLCHAIN=$(cat .lake/packages/proofwidgets/lean-toolchain | tr -d '[:space:]')
echo "ProofWidgets toolchain: $PROOFWIDGETS_TOOLCHAIN"

# Compare the two
if [ "$TOOLCHAIN" != "$PROOFWIDGETS_TOOLCHAIN" ]; then
echo "❌ Error: Lean toolchain mismatch!"
echo " Main lean-toolchain: $TOOLCHAIN"
echo " ProofWidgets lean-toolchain: $PROOFWIDGETS_TOOLCHAIN"
echo ""
echo "When using a versioned Lean release (leanprover/lean4:vX.Y.Z),"
echo "the ProofWidgets dependency must use the same toolchain."
echo "Please update the ProofWidgets dependency to use $TOOLCHAIN"
exit 1
else
echo "✅ ProofWidgets lean-toolchain matches: $TOOLCHAIN"
fi
else
echo "ℹ Lean toolchain is not a versioned release (pattern: leanprover/lean4:vX.Y.Z)"
echo "Skipping ProofWidgets toolchain verification."
fi

- name: get cache (1/3 - setup and initial fetch)
id: get_cache_part1_setup
shell: bash # only runs `cache get` from `master-branch`, so doesn't need to be inside landrun
Expand Down Expand Up @@ -429,7 +474,7 @@ jobs:
MATHLIB_CACHE_SAS_RAW: ${{ secrets.MATHLIB_CACHE_SAS }}

- name: Check {Mathlib, Tactic, Counterexamples, Archive}.lean
if: always()
if: ${{ always() && steps.mk_all.outcome != 'skipped' }}
run: |
if [[ "${{ steps.mk_all.outcome }}" != "success" ]]; then
echo "Please run 'lake exe mk_all' to regenerate the import all files"
Expand Down Expand Up @@ -460,11 +505,13 @@ jobs:
action: add # In order to be able to run a multiline script, we need to add/remove the problem matcher before and after.
linters: gcc

- name: check for unused imports
id: shake
run: |
cd pr-branch
env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style
# With the arrival of the module system, the old `shake` is no longer functional.
# This will be replaced soon.
# - name: check for unused imports
# id: shake
# run: |
# cd pr-branch
# env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style

- name: lint mathlib
if: ${{ always() && steps.build.outcome == 'success' || steps.build.outcome == 'failure' }}
Expand Down
61 changes: 54 additions & 7 deletions .github/workflows/build_fork.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
lint-outcome: ${{ steps.lint.outcome }}
mk_all-outcome: ${{ steps.mk_all.outcome }}
noisy-outcome: ${{ steps.noisy.outcome }}
shake-outcome: ${{ steps.shake.outcome }}
# shake-outcome: ${{ steps.shake.outcome }}
test-outcome: ${{ steps.test.outcome }}
defaults: # On Hoskinson runners, landrun is already installed.
run: # note that .pr-branch/.lake must be created in a step below before we use this
Expand Down Expand Up @@ -252,6 +252,51 @@ jobs:
echo "✅ All inputRevs in lake-manifest.json are valid"
fi

- name: verify ProofWidgets lean-toolchain matches on versioned releases
# Only enforce this on the main mathlib4 repository, not on nightly-testing
if: github.repository == 'leanprover-community/mathlib4'
shell: bash
run: |
cd pr-branch

# Read the lean-toolchain file
TOOLCHAIN=$(cat lean-toolchain | tr -d '[:space:]')
echo "Lean toolchain: $TOOLCHAIN"

# Check if toolchain matches the versioned release pattern: leanprover/lean4:vX.Y.Z (with optional suffix like -rc1)
if [[ "$TOOLCHAIN" =~ ^leanprover/lean4:v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?$ ]]; then
echo "✓ Detected versioned Lean release: $TOOLCHAIN"
echo "Verifying ProofWidgets lean-toolchain matches..."

# Check if ProofWidgets lean-toolchain exists
if [ ! -f .lake/packages/proofwidgets/lean-toolchain ]; then
echo "❌ Error: .lake/packages/proofwidgets/lean-toolchain does not exist"
echo "This file should be created by 'lake env' during dependency download."
exit 1
fi

# Read ProofWidgets lean-toolchain
PROOFWIDGETS_TOOLCHAIN=$(cat .lake/packages/proofwidgets/lean-toolchain | tr -d '[:space:]')
echo "ProofWidgets toolchain: $PROOFWIDGETS_TOOLCHAIN"

# Compare the two
if [ "$TOOLCHAIN" != "$PROOFWIDGETS_TOOLCHAIN" ]; then
echo "❌ Error: Lean toolchain mismatch!"
echo " Main lean-toolchain: $TOOLCHAIN"
echo " ProofWidgets lean-toolchain: $PROOFWIDGETS_TOOLCHAIN"
echo ""
echo "When using a versioned Lean release (leanprover/lean4:vX.Y.Z),"
echo "the ProofWidgets dependency must use the same toolchain."
echo "Please update the ProofWidgets dependency to use $TOOLCHAIN"
exit 1
else
echo "✅ ProofWidgets lean-toolchain matches: $TOOLCHAIN"
fi
else
echo "ℹ Lean toolchain is not a versioned release (pattern: leanprover/lean4:vX.Y.Z)"
echo "Skipping ProofWidgets toolchain verification."
fi

- name: get cache (1/3 - setup and initial fetch)
id: get_cache_part1_setup
shell: bash # only runs `cache get` from `master-branch`, so doesn't need to be inside landrun
Expand Down Expand Up @@ -426,7 +471,7 @@ jobs:
MATHLIB_CACHE_SAS_RAW: ${{ secrets.MATHLIB_CACHE_SAS }}

- name: Check {Mathlib, Tactic, Counterexamples, Archive}.lean
if: always()
if: ${{ always() && steps.mk_all.outcome != 'skipped' }}
run: |
if [[ "${{ steps.mk_all.outcome }}" != "success" ]]; then
echo "Please run 'lake exe mk_all' to regenerate the import all files"
Expand Down Expand Up @@ -457,11 +502,13 @@ jobs:
action: add # In order to be able to run a multiline script, we need to add/remove the problem matcher before and after.
linters: gcc

- name: check for unused imports
id: shake
run: |
cd pr-branch
env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style
# With the arrival of the module system, the old `shake` is no longer functional.
# This will be replaced soon.
# - name: check for unused imports
# id: shake
# run: |
# cd pr-branch
# env LEAN_ABORT_ON_PANIC=1 lake exe shake --gh-style

- name: lint mathlib
if: ${{ always() && steps.build.outcome == 'success' || steps.build.outcome == 'failure' }}
Expand Down
Loading
Loading