Welcome to the mathlib review page. Everybody's help with reviewing is appreciated. Reviewing contributions is important, and everybody is welcome to review pull requests! If you're not sure how, the pull request review guide is there to help you.
This page is the main reviewer-facing queue: if a PR is ready for review, it belongs here. The triage page contains additional triage-oriented views, but it is not the primary review queue.
This page contains tables of
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
| 35535 |
mariainesdff author:mariainesdff |
feat(RingTheory/ClassGroup): prove mulEquiv |
We prove that isomorphic rings have isomorphic class groups.
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
233/9 |
Mathlib/Algebra/Ring/CompTypeclasses.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/LocalProperties/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
6 |
29 |
['erdOne', 'eric-wieser', 'github-actions', 'mariainesdff', 'mathlib-merge-conflicts', 'tb65536'] |
mattrobball assignee:mattrobball |
21-54237 21 days ago |
29-3577 29 days ago |
36-47841 36 days |
| 36329 |
rwst author:rwst |
feat(PowerSeries): add barebones Log.lean |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
67/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Log.lean |
2 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
21-54226 21 days ago |
27-76637 27 days ago |
27-76406 27 days |
| 34728 |
j-loreaux author:j-loreaux |
feat: continuous linear equivalence between continuous `ℝ`- and `𝕜`-linear functionals (in either the strong or weak-⋆ topologies) |
This realizes the map `StrongDual.extendRCLikeₗ`, after pre- and post-composing so that it is an equivalence between the weak duals, as a *continuous* linear equivalence.
In addition, when the space is a topological vector space, we realize `StrongDual.extendRCLikeₗ` as a *continuous* linear equivalence between the strong duals.
---
- [x] depends on: #34543
The placement in `Analysis/Normed/Module/WeakDual` seems suboptimal because this has nothing to do with the norm. This is because `WeakDual.toStrongDual` is already in this file, which should probably be moved to `Topology/Algebra/Module/WeakDual`. However, even if that moves, the declarations added in this PR cannot easily go with it because they involve `RCLike`. Potentially, they could move to `Analysis/RCLike/Extend` if that file gained the `Topology/Algebra/Module/WeakDual` import.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
87/2 |
Mathlib/Analysis/Normed/Module/RCLike/Extend.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean |
2 |
8 |
['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
20-54061 20 days ago |
25-78014 25 days ago |
25-80199 25 days |
| 35285 |
SnirBroshi author:SnirBroshi |
feat(Algebra/LinearRecurrence): define a standard basis for the solution space of a linear recurrence |
Also `mkSol` is injective.
---
The hard work was already done by the existing equivalence `toInit`; this defines the basis that the equivalence provides and uses it to simplify a couple of proofs.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
24/12 |
Mathlib/Algebra/LinearRecurrence.lean |
1 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
20-54058 20 days ago |
49-42585 49 days ago |
49-42354 49 days |
| 36442 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2/Card): cardinality theorems about `Sym2 α` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
95/0 |
Mathlib.lean,Mathlib/Data/Sym/Sym2/Card.lean |
2 |
1 |
['github-actions'] |
joneugster assignee:joneugster |
20-54044 20 days ago |
25-3453 25 days ago |
25-3222 25 days |
| 36443 |
Fieldnote-Echo author:Fieldnote-Echo |
feat(Combinatorics/SimpleGraph): add SimpleGraph.ball (open metric ball) |
Add `SimpleGraph.ball`, the open ball in the graph extended metric.
## Design decisions
- **Open ball** (strict `<`, not `≤`): `ball c ⊤` coincides with the connected
component of `c`, whereas a closed ball would give `closedBall c ⊤ = univ`.
- **Named `SimpleGraph.ball`** (not `eball`): since `dist`-valued balls are less
natural for disconnected graphs, the `e` prefix is unnecessary.
- **Graph-specific** (not via `PseudoEMetricSpace`): avoids importing `ℝ`.
AI assistance: Claude (Opus 4.6) helped draft and iterate on the implementation. I reviewed the code line by line and vouch for the final contents.
Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/SimpleGraph.20metric.20balls/with/577846803).
---
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
59/3 |
Mathlib/Combinatorics/SimpleGraph/Metric.lean |
1 |
36 |
['Fieldnote-Echo', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'lauramonk', 'vlad902'] |
nobody |
19-3349 19 days ago |
25-1861 25 days ago |
25-1630 25 days |
| 35826 |
quangvdao author:quangvdao |
feat(Probability/ProbabilityMassFunction): total variation distance and MetricSpace instance |
Define total variation distance on probability mass functions, provide
a `MetricSpace` instance, and prove the data processing inequality.
The extended TV distance `PMF.etvDist` is defined in `ℝ≥0∞` as
`(1/2) ∑ x, absDiff (p x) (q x)`, using a new symmetric absolute
difference `ENNReal.absDiff`. The real-valued `PMF.tvDist` is its
`toReal`.
New definitions:
- `ENNReal.absDiff`: symmetric absolute difference `(a - b) + (b - a)`
- `PMF.etvDist`: extended total variation distance
- `PMF.tvDist`: real-valued total variation distance
- `PMF.instMetricSpace`: `MetricSpace` instance on `PMF α`
Main results:
- `ENNReal.absDiff_triangle`: triangle inequality for `absDiff`
- `ENNReal.absDiff_tsum_le`: subadditivity over infinite sums
- `PMF.etvDist_le_one`: TV distance is at most 1
- `PMF.etvDist_map_le`: data processing inequality (deterministic maps)
- `PMF.etvDist_bind_right_le`: data processing inequality (Markov kernels)
- `PMF.etvDist_option_punit`: closed form for binary distributions
Supersedes #33680 with a complete, sorry-free implementation.
See Zulip discussion:
This PR was authored with the support of Claude (Cursor IDE).
---
This PR provides a complete formalization of total variation distance for PMFs, including:
1. **`ENNReal.absDiff`** (`Mathlib/Data/ENNReal/AbsDiff.lean`): A symmetric absolute difference
for `ℝ≥0∞` with triangle inequality, connection to real absolute value, and algebraic properties.
The tsum-related lemmas (`absDiff_tsum_le`, `tsum_fiber`) are placed in the TV distance file
to avoid pulling topology imports into `Data.ENNReal`.
2. **`PMF.etvDist` / `PMF.tvDist`** (`Mathlib/Probability/ProbabilityMassFunction/TotalVariation.lean`):
Total variation distance with a `MetricSpace` instance, data processing inequality for both
deterministic maps and Markov kernels, and a closed form for binary distributions.
Compared to #33680, this PR:
- Has no `sorry`s
- Defines the distance in `ℝ≥0∞` first (following Mathlib convention for `edist`/`dist`)
- Includes the data processing inequality
- Has full documentation and passes all Mathlib linters
Made with [Cursor](https://cursor.com) |
t-measure-probability
LLM-generated
|
459/0 |
Mathlib.lean,Mathlib/Data/ENNReal/AbsDiff.lean,Mathlib/Probability/ProbabilityMassFunction/TotalVariation.lean |
3 |
6 |
['BoltonBailey', 'EtienneC30', 'github-actions', 'joneugster', 'quangvdao'] |
RemyDegenne assignee:RemyDegenne |
19-3123 19 days ago |
28-67447 28 days ago |
28-67997 28 days |
| 36314 |
JovanGerb author:JovanGerb |
feat(gcongr): support `rintro` patterns |
This PR adds support for `rintro` patterns in the `with` clause of `gcongr`. This makes it consistent with `congr!`.
I've only found one case in mathlib where this could actually be used to shorten a proof.
I split the gcongr `elab` into a separate `syntax` and `elab_rules`, which makes it easier to deal with the syntax.
I noticed that the implementation of `congr!` was unnecessarily converting back and forth between `rintroPat` and `rcasesPat`, so I changed it to simply only use `rintroPat`, and then did the same in `gcongr`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
41/28 |
Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Tactic/CongrExclamation.lean,Mathlib/Tactic/Convert.lean,Mathlib/Tactic/Core.lean,Mathlib/Tactic/GCongr/Core.lean |
5 |
2 |
['dupuisf', 'github-actions'] |
dwrensha assignee:dwrensha |
18-54199 18 days ago |
28-17246 28 days ago |
28-17143 28 days |
| 36545 |
yuanyi-350 author:yuanyi-350 |
feat(ProbabilityTheory): Add Kolmogorov's inequality |
ref: https://en.wikipedia.org/wiki/Kolmogorov%27s_inequality
---
- [x] depends on: #36542
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
|
147/0 |
Mathlib.lean,Mathlib/Probability/CondVar.lean,Mathlib/Probability/Martingale/Kolmogorov.lean,Mathlib/Probability/Martingale/OptionalStopping.lean |
4 |
3 |
['CoolRmal', 'github-actions', 'mathlib-dependent-issues'] |
RemyDegenne assignee:RemyDegenne |
17-54209 17 days ago |
22-19181 22 days ago |
22-20739 22 days |
| 36786 |
SproutSeeds author:SproutSeeds |
feat(DoubleCounting): parity of odd-degree vertices in bipartite incidence |
Adds `odd_card_filter_odd_bipartiteAbove_iff_odd_card_filter_odd_bipartiteBelow` to
`Mathlib.Combinatorics.Enumerative.DoubleCounting`.
This is the small parity-helper first step for #25231.
Validation:
- `lake build Mathlib.Combinatorics.Enumerative.DoubleCounting`
Supersedes closed #36077 after replaying the helper cleanly on current `master`.
AI usage: used Codex for branch recovery, replay onto current `master`, and draft wording;
final code choices and verification by me.
|
new-contributor
t-combinatorics
large-import
|
17/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean |
1 |
2 |
['github-actions'] |
nobody |
17-48708 17 days ago |
17-48791 17 days ago |
17-48560 17 days |
| 28685 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem |
Proves the minimal degree-version of the Erdős-Stone theorem:
If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`.
The double-counting construction from the proof is available in `namespace ErdosStone`.
---
- [x] depends on: #25843
- [x] depends on: #27597
- [x] depends on: #27599
- [x] depends on: #28443
- [x] depends on: #28445
- [x] depends on: #28446
- [x] depends on: #28447
This is the first of several pull requests towards the full Erdős-Stone(-Simonovits) theorem, hence the name of the file.
[](https://gitpod.io/from-referrer/) |
t-combinatorics |
323/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
YaelDillies assignee:YaelDillies |
16-54227 16 days ago |
33-33720 33 days ago |
33-33535 33 days |
| 35963 |
Parcly-Taxel author:Parcly-Taxel |
refactor: review Kleene algebra axioms |
Derive
```lean
one_add_mul_kstar (a : α) : 1 + a * a∗ = a∗
one_add_kstar_mul (a : α) : 1 + a∗ * a = a∗
```
which is Proposition 2 in Kozen's 1994 paper.
We also remove the `bot` and `bot_le` fields in `IdemSemiring`, since the remaining axioms already show `0 ≤ a` for all `a`. |
t-algebra label:t-algebra$ |
82/81 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean |
3 |
13 |
['Parcly-Taxel', 'dagurtomas', 'github-actions', 'plp127', 'vihdzp'] |
mattrobball assignee:mattrobball |
16-54219 16 days ago |
22-38604 22 days ago |
32-62245 32 days |
| 36472 |
EtienneC30 author:EtienneC30 |
feat: finite dimensional distribution of Brownian motion |
Define `gaussianProjectiveFamily : (I : Finset ℝ≥0) → Measure (I → ℝ)`. Each `gaussianProjectiveFamily I` is the centered Gaussian measure over `I → ℝ` with covariance matrix given by `brownianCovMatrix I s t := min s t`.
Prove that these measures satisfy `IsProjectiveMeasureFamily`, which means that they can be extended into a measure over `ℝ≥0 → ℝ` thanks to the Kolmogorov's extension theorem (not in Mathlib yet). The obtained measure is a measure over the set of real processes indexed by `ℝ≥0` and is the law of the Brownian motion.
---
- [x] depends on: #36143
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
226/1 |
Mathlib.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/Probability/BrownianMotion/GaussianProjectiveFamily.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Moments/Basic.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
kex-y assignee:kex-y |
16-30456 16 days ago |
19-18639 19 days ago |
19-18409 19 days |
| 36736 |
loefflerd author:loefflerd |
feat(NumberTheory/Modular): strengthen 2nd Fundamental-Domain Lemma |
Strengthen the results on the fundamental domain for the modular group, by proving that the interior of the fundamental domain is disjoint from any translate of the fundamental domain.
Proof closely follows Serre _A Course in Arithmetic_ (although Serre also proves that S, T generate the modular group at the same time, which we do not do, since this is proved by a different method in `FixedDetMatrices`).
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
385/56 |
Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/NumberTheory/Modular.lean,docs/references.bib |
5 |
14 |
['CBirkbeck', 'github-actions', 'loefflerd', 'tb65536'] |
tb65536 assignee:tb65536 |
16-3139 16 days ago |
18-70988 18 days ago |
19-2107 19 days |
| 36856 |
harahu author:harahu |
doc(Geometry): tidy bibliography entry |
Use canonical author names and rename the bib key to match the corrected ASCII transcription of Domínguez. Sources: https://fama.iff.csic.es/personas/margalef/margalef.html ; https://produccioncientifica.ucm.es/investigadores/166066/tesis
Normalize the title and move the translation information into a note phrased as 'Translated from the Spanish original'. Sources: https://books.google.com/books/about/Differential_Topology.html?id=gexAr04vRT4C ; https://books.google.com/books/about/Topolog%C3%ADa_diferencial.html?id=0PRMy3ffm4QC
Use the conventional publisher form 'North-Holland Publishing Co., Amsterdam' instead of the imported catalog-style field. Sources: https://search.worldcat.org/title/Differential-topology/oclc/25713102 ; https://www.ams.org/tran/2010-362-08/S0002-9947-10-05073-7/
Prepared with assistance from Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
LLM-generated
|
8/7 |
Mathlib/Geometry/Manifold/Immersion.lean,docs/references.bib |
2 |
4 |
['github-actions', 'grunweg', 'harahu'] |
PatrickMassot assignee:PatrickMassot |
15-54214 15 days ago |
15-70195 15 days ago |
15-81185 15 days |
| 36210 |
vbeffara author:vbeffara |
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor |
A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph.
This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean |
3 |
7 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vbeffara'] |
YaelDillies assignee:YaelDillies |
14-85844 14 days ago |
16-7371 16 days ago |
29-33730 29 days |
| 35622 |
SnirBroshi author:SnirBroshi |
feat(Logic/Function/Basic): `onFun` and `swap` preserve relation properties |
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
141/19 |
Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WithBot.lean |
8 |
7 |
['SnirBroshi', 'github-actions', 'leanprover-radar', 'vihdzp'] |
awainverse assignee:awainverse |
14-54252 14 days ago |
29-44669 29 days ago |
41-28289 41 days |
| 36334 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve): add notation and pretty printer for points |
Co-authored-by: Kenny Lau
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-meta
|
41/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
3 |
11 |
['CBirkbeck', 'Multramate', 'erdOne', 'github-actions', 'riccardobrasca'] |
kim-em assignee:kim-em |
14-54247 14 days ago |
27-70797 27 days ago |
27-70566 27 days |
| 34797 |
vlad902 author:vlad902 |
feat(SimpleGraph): `cycleGraph.cycle` is a cycle |
(A follow-up PR will show that `cycleGraph.cycle` is also hamiltonian.)
---
- [x] depends on: #35360
- [x] depends on: #34766
- [x] depends on: #34796
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
32/1 |
Mathlib/Combinatorics/SimpleGraph/Circulant.lean |
1 |
7 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
13-83695 13 days ago |
15-80098 15 days ago |
17-22386 17 days |
| 34805 |
DavidLedvinka author:DavidLedvinka |
feat(Tactic): generalize ofScientific NormNum extension to `DivisionSemiring` |
Co-authored-by: @hrmacbeth |
t-meta |
68/20 |
Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/OfScientific.lean,MathlibTest/norm_num.lean |
3 |
26 |
['DavidLedvinka', 'JovanGerb', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'thorimur'] |
JovanGerb assignee:JovanGerb |
13-71191 13 days ago |
13-71192 13 days ago |
34-25973 34 days |
| 34315 |
LessnessRandomness author:LessnessRandomness |
feat(Combinatorics/SimpleGraph/Bipartite): Prove upper bound of edge set cardinality of bipartite graph |
Two ways to express upper bound of the edge set of bipartite graph:
1) If the cardinalities of both parts/sets, that make bipartite graph, are known, then the upper bound is equal to product of the cardinalities of both parts;
2) Four times of the cardinality of the edge set is less or equal to squared cardinality of vertex set.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
54/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
56 |
['LessnessRandomness', 'SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
awainverse assignee:awainverse |
13-70228 13 days ago |
13-70298 13 days ago |
65-62017 65 days |
| 35413 |
joneugster author:joneugster |
fix(Util/CountHeartbeats): move elaboration in #count_heartbeats inside a namespace |
This PR continues the work from #21182.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21182 |
t-meta |
73/6 |
Mathlib/Util/CountHeartbeats.lean,MathlibTest/CountHeartbeats.lean |
2 |
3 |
['github-actions', 'joneugster', 'mathlib-bors'] |
alexjbest and dwrensha assignee:dwrensha assignee:alexjbest |
13-54243 13 days ago |
46-83878 46 days ago |
46-83647 46 days |
| 35414 |
joneugster author:joneugster |
feat(Cache): Allow arguments of the form `Mathlib.Data.+` which correspond to a folder but not a file |
This PR continues the work from #21838.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21838 |
CI
t-meta
|
74/31 |
Cache/IO.lean,Cache/Main.lean |
2 |
2 |
['github-actions', 'joneugster'] |
nobody |
13-54229 13 days ago |
46-83806 46 days ago |
46-83575 46 days |
| 36783 |
wwylele author:wwylele |
feat(RingTheory/Localization): R ⧸ pⁿ ≃+* Rₚ ⧸ (maximalIdeal Rₚ)ⁿ |
This extends the existing `def equivQuotMaximalIdeal : R ⧸ p ≃+* Rₚ ⧸ maximalIdeal Rₚ` to powers of maximal ideals.
---
Disclosure of AI usage: I chat with AI for a sketch of the proof. The code is entirely written by me.
I didn't state the simp lemma for the symm direction because I am not sure how to state it. Following the analog of equivQuotMaximalIdeal_symm_apply_mk, this should be
```
theorem equivQuotMaximalIdealPow_symm_apply_mk (x : R) (s : p.primeCompl) :
(equivQuotMaximalIdealPow p Rₚ n).symm (Ideal.Quotient.mk _ (IsLocalization.mk' Rₚ x s)) =
(Ideal.Quotient.mk (p ^ n) x) * (Ideal.Quotient.mk (p ^ n) s)⁻¹ := by
```
But `(Ideal.Quotient.mk (p ^ n) s)⁻¹` is taking inverse in a non-field ring. Here the inverse always exists because s is not in p. What is the mathlib way to say this?
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
53/0 |
Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean |
3 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
13-54221 13 days ago |
17-54186 17 days ago |
17-53955 17 days |
| 36626 |
SnirBroshi author:SnirBroshi |
feat(Order/UpperLower/Basic): an injective function constrained by the identity function using a well-order is the identity |
---
(yes I know `IsLowerSet` is bundled but I need the theorems for unbundled relations 🙈)
[](https://gitpod.io/from-referrer/)
|
t-order |
30/0 |
Mathlib/Order/UpperLower/Basic.lean |
1 |
6 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
13-27218 13 days ago |
21-54215 21 days ago |
21-53984 21 days |
| 36785 |
hommmmm author:hommmmm |
feat(RingTheory/Localization): Nagata's criterion for primality in localization away |
## Summary
- Add `dvd_of_mem_span_singleton_localization`: if `p` is prime and `p ∤ x`, then
membership in the span of the image of `x` in `R[1/p]` implies divisibility by `x`.
- Add `prime_of_prime_in_localization` (Nagata's criterion): if `p` is prime, `x` is
irreducible, and the image of `x` in `R[1/p]` is prime, then `x` is prime.
## References
- [Stacks Project, Tag 0AFU](https://stacks.math.columbia.edu/tag/0afu)
## AI Disclosure
This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
72/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Away/Prime.lean |
2 |
4 |
['chrisflav', 'github-actions', 'hommmmm'] |
chrisflav assignee:chrisflav |
12-72011 12 days ago |
12-72011 12 days ago |
17-12001 17 days |
| 35655 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): strongly regular graphs have diameter 2 |
A strongly regular graph with positive `μ` must have diameter 2, as long as the vertex set is nontrivial and it is not complete.
---
- [x] depends on: #35657
This statement is useful in the literature, I wanted to add it after seeing it being used in the proof of the Hoffman-Singleton theorem.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
18/0 |
Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
12-69069 12 days ago |
12-70668 12 days ago |
12-85955 12 days |
| 33143 |
wwylele author:wwylele |
feat(PowerSeries): pentagonal number theorem |
The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part.
---
- [ ] depends on: #30436
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
427/1 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml |
4 |
43 |
['copilot-pull-request-reviewer', 'github-actions', 'jcommelin', 'mathlib4-dependent-issues-bot', 'tb65536', 'urkud', 'vihdzp', 'wwylele'] |
eric-wieser assignee:eric-wieser |
12-54193 12 days ago |
52-5801 52 days ago |
98-31590 98 days |
| 34092 |
staroperator author:staroperator |
feat(SetTheory/ZFC): properties of `ZFSet.omega` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
77/10 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean |
3 |
25 |
['Komyyy', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
12-54187 12 days ago |
64-76154 64 days ago |
76-34938 76 days |
| 34809 |
YaelDillies author:YaelDillies |
feat: induced subgraphs of complete multipartite graphs are complete multipartite |
From ProofBench
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
4/2 |
Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean |
1 |
1 |
['github-actions'] |
kmill assignee:kmill |
12-54179 12 days ago |
59-68862 59 days ago |
59-68631 59 days |
| 34875 |
banrovegrie author:banrovegrie |
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula |
Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap.
- Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}`
- Add `Matrix.inv_sub_vecMulVec`: subtraction variant
- Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses
## Test plan
- [x] `lake build` passes
- [x] Lines within 100 char limit
- [x] All declarations have docstrings |
t-algebra
new-contributor
label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean |
2 |
11 |
['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
eric-wieser assignee:eric-wieser |
12-54176 12 days ago |
58-2543 58 days ago |
58-2312 58 days |
| 34963 |
Parcly-Taxel author:Parcly-Taxel |
feat(Archive): proof of the Robbins conjecture |
Cf. [#mathlib4 > Alternative axiomatization of boolean algebras @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Alternative.20axiomatization.20of.20boolean.20algebras/near/558900960) and #31924. |
t-algebra label:t-algebra$ |
610/0 |
Archive.lean,Archive/Robbins.lean |
2 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
12-54175 12 days ago |
55-46801 55 days ago |
55-48222 55 days |
| 34994 |
bwangpj author:bwangpj |
feat: Countable.of_module_finite |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
FLT
label:t-algebra$ |
7/0 |
Mathlib/LinearAlgebra/Countable.lean |
1 |
3 |
['bwangpj', 'eric-wieser', 'github-actions'] |
kim-em assignee:kim-em |
12-54174 12 days ago |
54-72315 54 days ago |
54-72084 54 days |
| 35365 |
wwylele author:wwylele |
feat(LinearAlgebra/Simplex): closedInterior = interior + face.closedInterior |
Intermediate lemma towards #34826. This will be used to show the measure on `interior` and `closedInterior` are equal, as the difference is a zero-measure set.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
53/0 |
Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean |
1 |
4 |
['copilot-pull-request-reviewer', 'github-actions'] |
eric-wieser assignee:eric-wieser |
12-54172 12 days ago |
37-3801 37 days ago |
47-85115 47 days |
| 36308 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Subgraph): a couple of `subgraphOfAdj` lemmas |
---
Also golfed a lemma (it's one line longer but it looks simpler to me).
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
14/5 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
1 |
['github-actions'] |
kmill assignee:kmill |
12-54166 12 days ago |
28-33443 28 days ago |
28-33212 28 days |
| 36787 |
hommmmm author:hommmmm |
feat(RingTheory/LocalRing): Krull dimension results for maximal ideal of local ring |
## Summary
This PR adds two results connecting the Krull dimension of a local ring to its maximal ideal:
* `IsLocalRing.ringKrullDim_eq_zero_of_maximalIdeal_eq_bot`: A local ring whose maximal ideal is `⊥` has Krull dimension zero.
* `IsLocalRing.exists_mem_maximalIdeal_not_mem_sq`: In a Noetherian local ring of positive Krull dimension, there exists an element in the maximal ideal that is not in its square.
The second result follows from Nakayama's lemma: if every element of the maximal ideal `𝔪` were in `𝔪²`, then `𝔪 = 𝔪²`, and Nakayama gives `𝔪 = ⊥`, contradicting positive dimension.
## New file
* `Mathlib/RingTheory/LocalRing/MaximalIdeal/KrullDimension.lean`
## Acknowledgements
Thanks to Dora Kassabova and Leopold Mayer for edit suggestions.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
|
57/0 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/KrullDimension.lean |
2 |
10 |
['NoahW314', 'github-actions', 'hommmmm', 'tb65536', 'wwylele'] |
chrisflav assignee:chrisflav |
12-54160 12 days ago |
16-71484 16 days ago |
17-47028 17 days |
| 36789 |
hommmmm author:hommmmm |
feat(RingTheory/Ideal/Height): prime ideal determined by height among overideals |
## Summary
- Add `Ideal.eq_of_le_of_height_eq`: a prime ideal of finite height is equal to any ideal of the same height that contains it.
## Notes
This is a direct consequence of `Ideal.height_strict_mono_of_is_prime`: if `I` were strictly contained in `J`, their heights would differ.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
10/0 |
Mathlib/RingTheory/Ideal/Height.lean |
1 |
7 |
['github-actions', 'hommmmm', 'tb65536'] |
erdOne assignee:erdOne |
12-54159 12 days ago |
17-46196 17 days ago |
17-45965 17 days |
| 36970 |
astrainfinita author:astrainfinita |
chore: redefine `Nat.div2` `Nat.bodd` |
---
This PR continues the work from #13649.
Original PR: https://github.com/leanprover-community/mathlib4/pull/13649 |
t-data |
54/72 |
Mathlib/Computability/Primrec/Basic.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Nat.lean |
7 |
2 |
['astrainfinita', 'github-actions'] |
TwoFX assignee:TwoFX |
12-54152 12 days ago |
13-43286 13 days ago |
13-48444 13 days |
| 35627 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Finite): min/max degrees of top/bot |
And a couple of lemmas about `IsRegularOfDegree`, e.g. the empty graph is regular of any degree.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
30/1 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean |
2 |
15 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
12-29996 12 days ago |
13-50418 13 days ago |
38-84890 38 days |
| 34633 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define the Zarankiewicz function |
Defines the Zarankiewicz function $z(m, n; s, t)$ in terms of bipartite graphs.
---
- [x] depends on: #34632
This comes from splitting up #25841 into smaller PRs.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
156/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
3 |
5 |
['b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] |
nobody |
12-24092 12 days ago |
12-24157 12 days ago |
12-29507 12 days |
| 35880 |
astrainfinita author:astrainfinita |
feat(Order/Defs/LinearOrder): `min_ind` |
It will be used to simplify the proofs of other lemmas in a subsequent PR.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
11/0 |
Mathlib/Order/Defs/LinearOrder.lean |
1 |
3 |
['astrainfinita', 'bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
12-13545 12 days ago |
12-13545 12 days ago |
34-85078 34 days |
| 36642 |
tb65536 author:tb65536 |
feat(NumberTheory/ArithmeticFunction/LFunction): arithmetic functions from power series |
This PR constructs arithmetic functions from power series. See #36189 for how this will ultimately be used to construct L-functions.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
t-algebra
label:t-algebra$ |
139/0 |
Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/LFunction.lean,Mathlib/NumberTheory/Divisors.lean |
3 |
8 |
['github-actions', 'riccardobrasca', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
11-85227 11 days ago |
11-85227 11 days ago |
21-6284 21 days |
| 37055 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `OreLocalization.smul'_char`: unchanged 🎉
* `Equiv.Perm.cycleOf_mem_cycleFactorsFinset_iff`: unchanged 🎉
* `StrictMono.ite'`: unchanged 🎉
* `Mathlib.Meta.NormNum.isInt_ediv`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
4/21 |
Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Tactic/NormNum/DivMod.lean |
4 |
1 |
['github-actions'] |
nobody |
11-75172 11 days ago |
11-75242 11 days ago |
11-75011 11 days |
| 34702 |
pfaffelh author:pfaffelh |
feat(Data/FinsetPowerset): The set `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k` |
Show that `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k`.
The proof builds on `powersetCard k s` (the subsets of `s : Finset _` with cardinality `k`), and an equivalence to the above set.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-data
|
52/1 |
Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Logic/Equiv/Fintype.lean |
3 |
25 |
['DavidLedvinka', 'b-mehta', 'eric-wieser', 'github-actions', 'joneugster', 'pfaffelh'] |
TwoFX assignee:TwoFX |
11-64019 11 days ago |
57-57751 57 days ago |
60-70946 60 days |
| 36585 |
vihdzp author:vihdzp |
feat: order type of `Iio o` is `lift o` |
Downstreamed from the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
19/17 |
Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Family.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/VonNeumann.lean |
5 |
5 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
alreadydone assignee:alreadydone |
11-63759 11 days ago |
11-63819 11 days ago |
21-9294 21 days |
| 36693 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉
* `Filter.hasBasis_biInf_of_directed'`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
2/15 |
Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Order/Filter/Bases/Basic.lean |
2 |
1 |
['artie2000', 'github-actions'] |
nobody |
11-57409 11 days ago |
19-71524 19 days ago |
19-71293 19 days |
| 36774 |
euprunin author:euprunin |
chore: replace long terminal `rw […]`:s (≥4 lemmas) with bare `simp`:s |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Finset.lcm_union`: unchanged 🎉
* `Finset.gcd_union`: unchanged 🎉
* `Polynomial.derivative_eval₂_C`: unchanged 🎉
* `Polynomial.expand_pow`: unchanged 🎉
* `Cardinal.mk_real`: unchanged 🎉
* `Real.log_zpow`: unchanged 🎉
* `Matroid.eRank_le_encard_add_eRk_compl`: unchanged 🎉
* `DFinsupp.single_tsub`: unchanged 🎉
* `EReal.inv_neg`: unchanged 🎉
* `Finsupp.toMultiset_map`: unchanged 🎉
* `Finsupp.single_tsub`: unchanged 🎉
* `Multiset.countP_map`: unchanged 🎉
* `Nat.ascFactorial_eq_factorial_mul_choose'`: unchanged 🎉
* `Real.sign_intCast`: unchanged 🎉
* `Real.volume_eball`: unchanged 🎉
* `Real.volume_closedEBall`: unchanged 🎉
* `LFunction_ne_zero_of_not_quadratic_or_ne_one`: 295 ms before, 152 ms after 🎉
* `hasSum_one_div_nat_pow_mul_cos`: unchanged 🎉
* `inv_eq_of_aeval_divX_ne_zero`: unchanged 🎉
* `AlgebraicIndependent.aeval_comp_mvPolynomialOptionEquivPolynomialAdjoin`: unchanged 🎉
* `Ordinal.deriv_mul_eq_opow_omega0_mul`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
22/24 |
Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean |
19 |
1 |
['artie2000', 'github-actions'] |
nobody |
11-56677 11 days ago |
17-82487 17 days ago |
17-82256 17 days |
| 34477 |
spanning-tree author:spanning-tree |
refactor(Order): make CompletePartialOrder extend OrderBot |
Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly.
Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor.
See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization).
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
15/1 |
Mathlib/Order/CompletePartialOrder.lean |
1 |
3 |
['Citronhat', 'github-actions', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
11-54246 11 days ago |
34-7145 34 days ago |
54-68471 54 days |
| 35610 |
IvanRenison author:IvanRenison |
feat(Data/Fin): add several lemmas about subtraction of `Fin.{castLT, castAdd, castSucc, castPred}` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
79/0 |
Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/SuccPred.lean |
2 |
3 |
['github-actions', 'wwylele'] |
joneugster assignee:joneugster |
11-54242 11 days ago |
41-17754 41 days ago |
41-32029 41 days |
| 36720 |
YanYablonovskiy author:YanYablonovskiy |
feat(Order): `OrderType.lift` and more order type API |
Adding the universe lifting operation to `OrderType` , addresses a 'TODO' .
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
41/2 |
Mathlib/Order/Types/Defs.lean |
1 |
23 |
['YaelDillies', 'YanYablonovskiy', 'github-actions', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
11-54236 11 days ago |
12-23725 12 days ago |
13-73450 13 days |
| 36840 |
SnirBroshi author:SnirBroshi |
feat(SetTheory/Ordinal/Arithmetic): a few ordinal division lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
27/8 |
Mathlib/SetTheory/Ordinal/Arithmetic.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
alreadydone assignee:alreadydone |
11-54232 11 days ago |
16-51778 16 days ago |
16-51547 16 days |
| 36990 |
JovanGerb author:JovanGerb |
fix(RefinedDiscrTree/Lookup): improve the matching score heuristic |
This PR improves the order in which results come out of the `RefinedDiscrTree`. I've explained the motivation in the doc-string. This is probably not the most principled fix, but it is the least disruptive solution I could think of.
For an example, try clicking on `|0|` in
```
import Mathlib
example : |(0 : ℝ)| = 1 := by
rw??
```
And notice that the obvious result `abs_zero` is not the first result.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
44/8 |
Mathlib/Lean/Meta/RefinedDiscrTree/Lookup.lean |
1 |
1 |
['github-actions'] |
eric-wieser assignee:eric-wieser |
11-54230 11 days ago |
12-84726 12 days ago |
12-84495 12 days |
| 36999 |
themathqueen author:themathqueen |
feat(Analysis/RCLike): lifting `C(X, ℝ)` to `C(X, 𝕜)` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
69/0 |
Mathlib.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean |
2 |
1 |
['github-actions'] |
urkud assignee:urkud |
11-54229 11 days ago |
12-73910 12 days ago |
12-73679 12 days |
| 36958 |
JovanGerb author:JovanGerb |
chore(Topology/Order/Basic): use `Preorder.topology` in `OrderTopology` |
This PR addresses the comment:
```
TODO: define `Preorder.topology` before `OrderTopology` and reuse the def
```
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
22/19 |
Mathlib/Topology/Instances/Discrete.lean,Mathlib/Topology/Order/Basic.lean |
2 |
1 |
['github-actions', 'vihdzp'] |
PatrickMassot assignee:PatrickMassot |
11-26597 11 days ago |
13-46376 13 days ago |
13-46480 13 days |
| 35084 |
edegeltje author:edegeltje |
feat(Combinatorics/SimpleGraph): Cayley graph for structures with `Mul`/`Add` |
This pr:
- adds the definition `SimpleGraph.mulCayley`, where `x` is adjacent to a distinct `y` when there is `g` such that `x * g = y` or `x = y * g`,
- proves various lemmas about the above,
- adds/proves the additive versions of all of the above
some related zulip conversation: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Cayley.20and.20circulant.20graph/with/572839048
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
141/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cayley.lean |
2 |
44 |
['SnirBroshi', 'YaelDillies', 'edegeltje', 'github-actions', 'vihdzp', 'vlad902'] |
kmill assignee:kmill |
11-6773 11 days ago |
13-85193 13 days ago |
50-70830 50 days |
| 37109 |
zeekmartin author:zeekmartin |
feat(SimpleGraph): card of common neighbors equals card of triangles containing edge |
Adds `SimpleGraph.card_commonNeighbors_eq_card_triangles_containing_edge`
to `Mathlib/Combinatorics/SimpleGraph/Clique.lean`.
For adjacent vertices `u v` in a finite simple graph, establishes the bijection
between common neighbors and 3-cliques containing the edge `{u, v}`:
```lean
theorem card_commonNeighbors_eq_card_triangles_containing_edge
{u v : α} (huv : G.Adj u v) :
(G.commonNeighbors u v).toFinset.card =
((G.cliqueFinset 3).filter fun s => {u, v} ⊆ s).card
```
This connects `commonNeighbors` (defined in `Basic.lean`) with `cliqueFinset` —
a gap not previously covered in `Clique.lean`.
**AI disclosure**: Claude (Anthropic) was used as an assistant during the development of this proof. It helped with the initial proof structure and tactic suggestions. The proof was reviewed and validated step by step by the author, who can vouch for all the content. The mathematical idea originates from the author's prior Lean 4 work on spectral graph theory (github.com/zeekmartin/topostability-lean4).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
LLM-generated
new-contributor
|
61/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'zeekmartin'] |
nobody |
10-79667 10 days ago |
11-426 11 days ago |
11-195 11 days |
| 36948 |
Parcly-Taxel author:Parcly-Taxel |
feat: subtraction and ±1 lemmas for `IsCoprime, IsRelPrime` |
From my Redhill PhD project. |
t-ring-theory |
84/0 |
Mathlib/RingTheory/Coprime/Basic.lean |
1 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
10-54226 10 days ago |
14-17917 14 days ago |
14-17686 14 days |
| 36018 |
wwylele author:wwylele |
feat(LinearAlgebra/AffineSpace): shifting a subspace towards a point |
This is preparing to calculate the volume of a simplex by integrating the cross-section created by shifting the base plane. Part of #34826.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
293/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean |
3 |
7 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-bors'] |
kim-em assignee:kim-em |
10-50073 10 days ago |
23-58639 23 days ago |
23-58424 23 days |
| 36667 |
NoneMore author:NoneMore |
feat(ModelTheory): add `exClosure` definition for first-order formulas |
Prepare for moving realizations between elementarily equivalent structures.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
37/0 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions'] |
awainverse assignee:awainverse |
10-28762 10 days ago |
20-38462 20 days ago |
20-38231 20 days |
| 32744 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas |
This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas.
The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable.
There are also some tool lemmas derived by the preimage lemma.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
147/0 |
Mathlib/ModelTheory/Definability.lean |
1 |
60 |
['NoneMore', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'staroperator'] |
nobody |
10-26637 10 days ago |
10-26618 10 days ago |
105-71021 105 days |
| 36202 |
vihdzp author:vihdzp |
feat: more theorems on the Cantor normal form |
We also remove some redundant assumptions.
Used in the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
68/17 |
Mathlib/SetTheory/Ordinal/CantorNormalForm.lean |
1 |
16 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
b-mehta assignee:b-mehta |
10-23989 10 days ago |
10-24013 10 days ago |
29-17602 29 days |
| 36922 |
SnirBroshi author:SnirBroshi |
feat(Data/List/Chain): generalize `WellFounded.asymmetric₃` to chains |
The existing `WellFounded.asymmetric` shows `r a b → ¬r b a`,
and `WellFounded.asymmetric₃` shows `r a b → r b c → ¬r c a`.
This adds `WellFounded.asymmetricₙ` which shows `l.IsChain r → ¬r l.getLast l.head`.
---
Also adds a couple of `IsChain` lemmas which might be useful.
[](https://gitpod.io/from-referrer/)
|
t-data |
29/8 |
Mathlib/Data/List/Chain.lean |
1 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
joneugster assignee:joneugster |
10-7850 10 days ago |
10-7873 10 days ago |
14-43718 14 days |
| 36850 |
whocares-abt author:whocares-abt |
feat(Combinatorics/SimpleGraph/Acyclic): add delete leaf from tree gives tree |
Added theorem stating Deleting a leaf from a tree produces a tree. |
t-combinatorics
new-contributor
|
5/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
7 |
['github-actions', 'vlad902'] |
nobody |
10-6408 10 days ago |
14-31396 14 days ago |
16-14021 16 days |
| 37026 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Data/Nat/Perm): add two lemmas |
If a finite type has at most two elements, then its permutation group is cyclic and commutative.
---
- [x] depends on: #36983
[](https://gitpod.io/from-referrer/)
|
large-import |
34/1 |
Mathlib/Data/Finite/Perm.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'tb65536'] |
nobody |
10-5690 10 days ago |
10-5700 10 days ago |
11-67749 11 days |
| 37170 |
tb65536 author:tb65536 |
feat(RingTheory/Artinian/Module): add `pow` version of `quotNilradicalEquivPi` |
This PR upgrades `IsArtinianRing.quotNilradicalEquivPi` and adds a `pow` version.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
large-import
label:t-algebra$ |
33/12 |
Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Spectrum/Maximal/Basic.lean |
2 |
2 |
['github-actions', 'tb65536'] |
nobody |
9-82090 9 days ago |
9-82090 9 days ago |
9-81860 9 days |
| 36760 |
SnirBroshi author:SnirBroshi |
feat(GroupTheory/Subgroup): basic API for set normalizers |
---
Since `@[to_additive]` [doesn't work](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MulAut.20and.20to_additive/with/577355267) on `MulAut` (because `AddAut` wants to use multiplicative syntax) I've had to translate 2 theorems manually.
~~FWIW I think that `setNormalizer` should replace `normalizer`, as this old TODO says:~~
https://github.com/leanprover-community/mathlib4/blob/34ad346d5509066e2d41dc59c6a92a917ba55661/Mathlib/Algebra/Group/Subgroup/Defs.lean#L674
~~This will join `Subgroup.centralizer` which is already defined on sets rather than subgroups (and subgroups can use it thanks to their `SetLike`).~~
~~If you agree I'll create a separate PR that does it. Though it shouldn't block this PR.~~
- [x] depends on: #36852
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
115/33 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/GroupTheory/Subgroup/Centralizer.lean |
8 |
11 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'tb65536'] |
tb65536 assignee:tb65536 |
9-80079 9 days ago |
12-7591 12 days ago |
16-30190 16 days |
| 36664 |
SnirBroshi author:SnirBroshi |
feat(SetTheory/Ordinal/Commute): characterize when ordinal addition commutes |
---
The proof is from ["Cardinal and Ordinal Numbers"](https://en.wikipedia.org/wiki/Cardinal_and_Ordinal_Numbers).
A similar fact for multiplication is mentioned on [Wikipedia](https://en.wikipedia.org/wiki/Ordinal_arithmetic).
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
51/0 |
Mathlib.lean,Mathlib/SetTheory/Ordinal/Commute.lean,docs/references.bib |
3 |
20 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
alreadydone and vihdzp assignee:alreadydone assignee:vihdzp |
9-75764 9 days ago |
19-47626 19 days ago |
20-16110 20 days |
| 36676 |
euprunin author:euprunin |
chore: replace long terminal `simp only […]`:s (≥3 lemmas) with bare `simp`:s |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Polynomial.map_comp`: unchanged 🎉
* `AlgebraicGeometry.IsClosedImmersion.Spec_iff`: 152 ms before, 107 ms after 🎉
* `nnnorm_pow_le`: unchanged 🎉
* `norm_pow_le`: unchanged 🎉
* `integral_sin`: unchanged 🎉
* `SimpleGraph.Subgraph.le_induce_union`: unchanged 🎉
* `ENNReal.iSup_add_iSup`: unchanged 🎉
* `ENat.iSup_add_iSup`: unchanged 🎉
* `ENat.mul_epow`: unchanged 🎉
* `EReal.abs_eq_zero_iff`: unchanged 🎉
* `Finset.disjoint_biUnion_left`: unchanged 🎉
* `List.splitOnP.go_acc`: unchanged 🎉
* `Multiset.count_map_eq_count`: unchanged 🎉
* `Nat.toDigitsCore_length`: unchanged 🎉
* `PartENat.pos_iff_one_le`: unchanged 🎉
* `Rat.intCast_div_self`: unchanged 🎉
* `Set.biUnion_empty_finset`: unchanged 🎉
* `Quot.subsingleton_iff`: unchanged 🎉
* `Equiv.Perm.support_closure_subset_union`: unchanged 🎉
* `Module.Basis.reindexRange_repr'`: unchanged 🎉
* `MeasureTheory.mul_le_addHaar_image_of_lt_det`: unchanged 🎉
* `MeasureTheory.memLp_finset_sum`: unchanged 🎉
* `MeasureTheory.exists_lt_lowerSemicontinuous_integral_lt`: 450 ms before, 404 ms after 🎉
* `BoundedContinuousFunction.toReal_lintegral_coe_eq_integral`: unchanged 🎉
* `nullMeasurableSet_region_between_oc`: unchanged 🎉
* `nullMeasurableSet_region_between_co`: unchanged 🎉
* `nullMeasurableSet_region_between_cc`: unchanged 🎉
* `MeasureTheory.integral_le_liminf_integral_of_forall_isOpen_measure_le_liminf_measure`: unchanged 🎉
* `padicValNat.pow_add_pow`: unchanged 🎉
* `Monotone.biUnion_Ico_Ioc_map_succ`: unchanged 🎉
* `ProbabilityTheory.condIndepSets_singleton_iff`: unchanged 🎉
* `ProbabilityTheory.sum_variance_truncation_le`: unchanged 🎉
* `IsLocalRing.CotangentSpace.span_image_eq_top_iff`: unchanged 🎉
* `galRestrict'_galLift`: 163 ms before, 48 ms after 🎉
* `Valuation.ne_zero_of_isUnit`: unchanged 🎉
* `hasProd_prod`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
36/36 |
Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Rat/Lemmas.lean,Mathlib/Data/Set/Constructions.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/Portmanteau.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/Order/SuccPred/IntervalSucc.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
31 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-62595 9 days ago |
9-62619 9 days ago |
18-17145 18 days |
| 36794 |
vihdzp author:vihdzp |
doc(SetTheory/Ordinal/Principal): improve documentation |
The module docstring now contains a description of what an `op`-principal actually is. I've also added some additional names for discoverability.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
documentation
|
26/20 |
Mathlib/SetTheory/Ordinal/Principal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean |
2 |
8 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
alreadydone assignee:alreadydone |
9-54119 9 days ago |
14-54593 14 days ago |
16-73565 16 days |
| 35600 |
yisiox author:yisiox |
feat(Computability): add Kleene's algorithm to prove regular languages have regex matching |
This PR adds a proof that every regular language has some regular expression matching it.
This was achieved by the following constructions and proofs of their correctness
- Define `toSingleεNFA` to transform any epsilon-NFA to an equivalent one with only a single start and accept state (and the type is `ExtendedState`)
- Define a bijection between `ExtendedState` and `Fin (FinEnum.card (ExtendedState σ))` to index the states
- Define `pathRegex` which implements Kleene's algorithm
- Define `toRegex` which takes an epsilon-NFA, applies `toSingleεNFA` on it, and computes the corresponding regex using `pathRegex`
The proofs of correctness chain together to yield `(toRegex M).matches' = M.accepts` which asserts the direction of Kleene's theorem required.
---
As in [#mathlib4 > Regular languages: the review queue @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/near/573958148), this overlaps with #15654, which uses GNFA instead but has been inactive.
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
|
492/0 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
15 |
['YaelDillies', 'github-actions', 'yisiox'] |
YaelDillies assignee:YaelDillies |
9-30268 9 days ago |
11-11432 11 days ago |
30-13384 30 days |
| 33520 |
NoneMore author:NoneMore |
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input |
There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
91/0 |
Mathlib/ModelTheory/ElementarySubstructures.lean |
1 |
3 |
['Citronhat', 'NoneMore', 'github-actions'] |
fpvandoorn assignee:fpvandoorn |
9-22821 9 days ago |
9-22885 9 days ago |
91-14669 91 days |
| 35394 |
HugLycan author:HugLycan |
feat(Tactic/Positivity): make positivity work for types that are not partial orders |
Make positivity work for types that are not partial orders
Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR.
`Strictness` now does not depend `Q(PartialOrder $α)`, and the constructors of `Strictness` now have their order typeclass arguments. In order to help `Qq` synth instances property, we have to move `assertInstancesCommute` to inner branch, manually add `haveI'` or explicitly pass the order typeclass instance into `.positive`/`.nonnegative`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
|
611/322 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
37 |
23 |
['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster'] |
JovanGerb assignee:JovanGerb |
9-20875 9 days ago |
16-24612 16 days ago |
16-27499 16 days |
| 35828 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/GradedAlgebra/Homogeneous/Hom): homogeneous algebra maps and evaluation |
Define the notion of homogeneous algebra morphism between algebra maps.
Prove that the evaluation of a (weighted) homogeneous multivariate polynomial at adequate elements
of a graded algebra define a homogeneous algebra morphism.
co-authored with @mariainesdff
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
74/0 |
Mathlib.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Hom.lean |
3 |
5 |
['github-actions', 'joneugster', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
9-19832 9 days ago |
36-58781 36 days ago |
36-59174 36 days |
| 36955 |
NoneMore author:NoneMore |
chore(ModelTheory/Types): expose `T` in `typesWith` and move it to `Theory` |
Make the `T : L.Theory` argument explicit in `typesWith` and place the definition in `FirstOrder.Language.Theory` to enable dot notation.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
24/19 |
Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean |
2 |
2 |
['github-actions'] |
nobody |
9-10051 9 days ago |
14-416 14 days ago |
14-185 14 days |
| 37247 |
yuma-mizuno author:yuma-mizuno |
feat(GroupTheory/MonoidLocalization): add prime transport lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
75/7 |
Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
3 |
1 |
['github-actions'] |
nobody |
8-65228 8 days ago |
8-65306 8 days ago |
8-65075 8 days |
| 36891 |
vihdzp author:vihdzp |
feat(SetTheory/Ordinal/Exponential): characterization of `a ^ b = 1` |
Used in the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
12/0 |
Mathlib/SetTheory/Ordinal/Exponential.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
alreadydone assignee:alreadydone |
8-54095 8 days ago |
10-60031 10 days ago |
15-28608 15 days |
| 37235 |
gasparattila author:gasparattila |
chore: do not tag `Measurable.prod` with `fun_prop` |
This avoids relying on the bug where `fun_prop` unfolds semireducible definitions in the presence of projections (see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20sometimes.20unfolds.20semireducible.20definitions/with/574596569) of the bug).
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
6/1 |
Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean |
2 |
1 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
8-54083 8 days ago |
8-74429 8 days ago |
8-74198 8 days |
| 37131 |
IvanRenison author:IvanRenison |
doc(Combinatorics/SimpleGraph/Partition): improve docstrings in `SimpleGraph.Partition` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
11/16 |
Mathlib/Combinatorics/SimpleGraph/Partition.lean |
1 |
1 |
['github-actions'] |
nobody |
8-40534 8 days ago |
10-59545 10 days ago |
10-59314 10 days |
| 36938 |
kebekus author:kebekus |
feat: Poisson Integral Formula for the circle average of `log ‖· - ρ‖` |
Establish an analogue of the **Poisson Integral Formula** for the circle average of `log ‖· - ρ‖` along the circle with radius `‖ρ‖`.
The result will be used to establish Poisson's generalization of the classic Jensen formula in complex analysis.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
234/0 |
Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/Poisson.lean |
2 |
9 |
['github-actions', 'kebekus', 'sgouezel'] |
sgouezel assignee:sgouezel |
8-33436 8 days ago |
8-33436 8 days ago |
13-78774 13 days |
| 37022 |
vihdzp author:vihdzp |
feat(SetTheory/Cardinal/Cofinality): cof (a * b) = cof b |
We also tag `isSuccLimit_omega0` as simp, so that simp can solve goals like `(ω_ ω).cof = ω` or `cof (x * ω) = ω`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
12/3 |
Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
3 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
8-24799 8 days ago |
10-24864 10 days ago |
12-27503 12 days |
| 37244 |
tb65536 author:tb65536 |
chore(Algebra/Algebra/Basic): add `IsLocalHom (algebraMap R R)` |
Experimentally, this seems to speed things up.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
3/0 |
Mathlib/Algebra/Algebra/Basic.lean |
1 |
4 |
['github-actions', 'leanprover-radar', 'tb65536'] |
nobody |
8-22608 8 days ago |
8-64943 8 days ago |
8-64714 8 days |
| 32245 |
erdOne author:erdOne |
feat(RingTheory): the `coassoc_simps` simp set |
From Toric
Co-authored-by: Yaël Dillies
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
t-meta
|
781/0 |
Mathlib.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/Tactic/Attr/Register.lean,MathlibTest/RingTheory/CoassocSimps.lean |
4 |
26 |
['Paul-Lez', 'YaelDillies', 'b-mehta', 'erdOne', 'github-actions', 'joneugster', 'riccardobrasca'] |
b-mehta assignee:b-mehta |
8-20245 8 days ago |
9-21410 9 days ago |
41-25769 41 days |
| 36989 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(NumberTheory/Height/EllipticCurve): new file |
This PR defines the "addition-and-subtraction map" on x-coordinates of pairs of points on elliptic curves and proves an inequality for the logarithmic height of the image.
In a later PR, we will show that the map thus defined indeed comes from addition and subtraction on an elliptic curve.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
214/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/AddSubMap.lean,Mathlib/NumberTheory/Height/EllipticCurve.lean |
3 |
20 |
['MichaelStollBayreuth', 'Multramate', 'github-actions', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
8-1639 8 days ago |
8-21132 8 days ago |
11-11334 11 days |
| 33010 |
xgenereux author:xgenereux |
feat: localizations of primes in Dedekind domains are valuation subrings |
The goal of this PR is the theorem `valuationSubringAtPrime_eq_valuationSubring` which states that the localization at a nonzero prime in a Dedekind domain is precisely the valuation subring of the valuation associated with that same prime.
Given a Dedekind domain `R` in its field of fractions `K`, we define `IsDedekindDomain.valuationSubringAtPrime`, which is the localization of `R` at a nonzero prime, viewed as valuation subring of `K`.
We show that `valuationSubringAtPrime K v ≤ (valuation K v).valuationSubring` and use maximality to show that they must be equal.
Other small note:
- added a variant of `intValuation_exists_uniformizer` in terms of `valuation` (instead of intValuation).
Co-authored-by: María Inés de Frutos Fernández <[[email protected]](mailto:[email protected])>
---
- [ ] depends on: #33631
- [ ] depends on: #33634
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
68/6 |
Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
1 |
11 |
['erdOne', 'github-actions', 'mathlib-dependent-issues', 'xgenereux'] |
nobody |
7-73900 7 days ago |
7-73870 7 days ago |
10-21359 10 days |
| 37291 |
IvanRenison author:IvanRenison |
refactor(Combinatorics/SimpleGraph): move `chromaticNumber_le_two_iff_isBipartite` and `chromaticNumber_eq_two_iff` to `Bipartite` file |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
10/12 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
2 |
1 |
['github-actions'] |
nobody |
7-60988 7 days ago |
7-61075 7 days ago |
7-60844 7 days |
| 36544 |
xroblot author:xroblot |
feat(RingTheory/Ideal): restriction maps on decomposition and inertia groups in a Galois tower |
Adds a new file `Mathlib/RingTheory/Ideal/Galois.lean` with results on the action of `Gal(L/K)` on ideals of a ring `B ⊆ L` for a Galois subextension `F/K` of `L/K`. The main results are the surjectivity and kernel descriptions of the natural maps from the decomposition (resp. inertia) group of `P` in `Gal(L/K)` to the decomposition (resp. inertia) group of `p` in `Gal(F/K)`, induced by restriction.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
213/0 |
Mathlib.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/RingTheory/Ideal/Galois.lean |
3 |
8 |
['github-actions', 'riccardobrasca', 'tb65536', 'xroblot'] |
erdOne and riccardobrasca assignee:riccardobrasca assignee:erdOne |
7-60206 7 days ago |
22-80167 22 days ago |
22-79936 22 days |
| 37191 |
artie2000 author:artie2000 |
chore(Geometry/Convex/Cone/Pointed): clean up variables |
* Remove variable overwrites by changing `variable` declarations and renaming variables
* Rename variables to maintain rough type-consistency within the file
* Reorganise sections in order of increasing typeclass strength
* Bring explicit/implicit variables in line with convention
This PR doesn't change any declarations beyond changing variable explicitness.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
134/114 |
Mathlib/Geometry/Convex/Cone/Pointed.lean |
1 |
4 |
['artie2000', 'github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
7-56293 7 days ago |
7-56316 7 days ago |
8-62889 8 days |
| 37053 |
artie2000 author:artie2000 |
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem |
Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
15/12 |
Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
3 |
['YaelDillies', 'github-actions'] |
nobody |
7-56204 7 days ago |
9-47421 9 days ago |
10-20834 10 days |
| 31892 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/PolePolar): poles and polars |
Define poles and polars for spheres in Euclidean affine spaces, and set up some basic API, including in particular La Hire's theorem (`p₁` lies on the polar of `p₂` if and only if `p₂` lies on the polar of `p₁`).
Poles and polars are actually meaningful for any quadric in a projective space over any field, but I think it's reasonable to set up this theory for spheres in the Euclidean context and potentially link it in future to more general projective geometry.
---
- [ ] depends on: #31891
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
159/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean |
2 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
7-54234 7 days ago |
7-78186 7 days ago |
7-78715 7 days |
| 32294 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): distance from second intersection with circumcircle |
Add the following lemma: given a triangle ABC, suppose an angle bisector from A through the incenter or excenter I meets the circumcircle again at X (including the case of an external bisector at A tangent to the circle, in which case X = A). Then XB = XI (= XC, by applying this lemma again). This is a standard configuration: https://en.wikipedia.org/wiki/Incenter%E2%80%93excenter_lemma
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32023
- [ ] depends on: #32270
- [ ] depends on: #32290
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
189/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
5 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'peakpoint'] |
JovanGerb assignee:JovanGerb |
7-54233 7 days ago |
7-78200 7 days ago |
7-78759 7 days |
| 34909 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2): `fromRel` equivalence with `Sigma` over a `Quotient` |
Add a non-dependent recursor on members of a `fromRel` set, and the following `Equiv`s:
- The `fromRel` set of a symmetric relation `r` is equivalent to summing that set restricted to fibers of `f`.
- For a relation homomorphism `r →r r'` where `r` is symmetric, the `fromRel` set of `r` is equivalent to summing that set restricted to equivalence classes of `r'` using a `Subtype`.
---
I find this recursor pretty useful when dealing with `fromRel`, the idea came from a suggestion by @kmill [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Eq.2Erec.20with.20a.20constant.20does.20nothing.3A.20h.20.E2.96.B8.20c.20.3D.20c/near/565176948) for another `Sym2` conundrum.
[](https://gitpod.io/from-referrer/)
|
t-data |
43/0 |
Mathlib/Data/Sym/Sym2.lean |
1 |
8 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
TwoFX and pechersky assignee:TwoFX assignee:pechersky |
7-54231 7 days ago |
14-58827 14 days ago |
57-18288 57 days |
| 37251 |
plp127 author:plp127 |
fix(Tactic/DepRewrite): `conv` mode |
Add tests for `rewrite!` and `rw!` in `conv` mode. Fix a bug where `rw!` always produces type-incorrect terms when rewriting the goal in `conv` mode. Remove support for `rw! [...] at h` in `conv` mode, for consistency with `rw`, which does not have this feature, and because it's usually not what you want to do anyways.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
46/15 |
Mathlib/Tactic/DepRewrite.lean,MathlibTest/depRewrite.lean |
2 |
1 |
['Vtec234', 'github-actions'] |
dwrensha assignee:dwrensha |
7-54215 7 days ago |
8-57919 8 days ago |
8-57688 8 days |
| 37293 |
peabrainiac author:peabrainiac |
feat(Order/Partition): finite meets of partitions of frames |
For any frame `α`, `Partition α` has finite meets: the meet of two partitions `P`, `Q` can be constructed as the partition consisting of all meets `p ⊓ q` with `p ∈ P`, `q ∈ Q` and `p ⊓ q ≠ ⊥`.
Note that even for frames `Partition α` does not have arbitrary meets: for example, there is no finest partition on the frame of open subsets of the Cantor space. We thus have to construct the remaining operations by hand instead of e.g. just transporting a `CompleteLattice` instance along some Galois connection.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
44/2 |
Mathlib/Order/Partition/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
7-49414 7 days ago |
7-58985 7 days ago |
7-58754 7 days |
| 37214 |
Kha author:Kha |
perf(Tactic/Abel): use `mkAuxTheorem` for proof term |
Removes some duplication from types of nested proofs |
t-meta |
4/1 |
Mathlib/Tactic/Abel.lean |
1 |
5 |
['JovanGerb', 'Kha', 'github-actions', 'leanprover-radar'] |
thorimur assignee:thorimur |
7-17355 7 days ago |
9-2726 9 days ago |
9-2495 9 days |
| 37311 |
CoolRmal author:CoolRmal |
feat: lemmas about liminf multiplied by a constant |
Add some analogues of [ENNReal.limsup_const_mul_of_ne_top](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Filter/ENNReal.html#ENNReal.limsup_const_mul_of_ne_top) for liminf.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
34/5 |
Mathlib/Order/Filter/ENNReal.lean |
1 |
1 |
['github-actions'] |
nobody |
7-14069 7 days ago |
7-14025 7 days ago |
7-14136 7 days |
| 31242 |
plp127 author:plp127 |
feat: express filter as supremum of principal filter and free filter |
Prove a filter is free iff it is smaller than the cofinite filter. Prove that every filter decomposes as the disjoint supremum of a principal filter and a free filter.
---
- [x] depends on: #31264
[](https://gitpod.io/from-referrer/)
|
t-order |
78/4 |
Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/Lattice.lean |
4 |
8 |
['github-actions', 'jcommelin', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
bryangingechen assignee:bryangingechen |
6-86018 6 days ago |
6-86036 6 days ago |
31-22252 31 days |
| 35753 |
Vilin97 author:Vilin97 |
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation |
Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods.
Follow-up PR: #35755 (forward Euler method convergence).
I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. |
t-topology
new-contributor
LLM-generated
|
269/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/Floor.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
3 |
8 |
['Vilin97', 'copilot-pull-request-reviewer', 'dagurtomas', 'github-actions', 'wwylele'] |
PatrickMassot assignee:PatrickMassot |
6-85126 6 days ago |
7-85992 7 days ago |
16-29442 16 days |
| 37047 |
gasparattila author:gasparattila |
chore(Data/Finset/Lattice/Fold): use `to_dual` |
This PR uses the `@[to_dual]` attribute to generate dual lemmas about `Finset.sup`. The lemmas about `sdiff` and `himp` are skipped, as `HeytingAlgebra` is not yet tagged with `@[to_dual]`.
To improve the consistency between dual lemmas, several changes are made:
- tag `inf_insert` with `@[grind =]`
- rename `le_inf_const_le` to `le_inf_const`
- tag `inf_union` with `@[grind _=_]`
- tag `inf_mono_fun` with `@[grind ←]`
- tag `inf_mono` with `@[grind ←]`
- tag `inf_attach` with `@[simp]`
- add `le_inf_of_directed_le`
- add `inf_eq_top_of_isEmpty`
- add `inf_mem_of_nonempty`
- add `inf'_mono_fun`
- rename `comp_sup_eq_sup_comp_of_nonempty` to `apply_sup_eq_sup_comp_of_nonempty` and add `apply_inf_eq_inf_comp_of_nonempty`
---
[](https://gitpod.io/from-referrer/)
|
t-data |
126/477 |
Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Lattice/Fold.lean |
4 |
14 |
['JovanGerb', 'gasparattila', 'github-actions', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
6-54003 6 days ago |
7-66511 7 days ago |
11-77992 11 days |
| 37084 |
SnirBroshi author:SnirBroshi |
feat(Order/PropInstances): relations and `Subsingleton` |
`r = ⊤ ↔ Refl r` and `r = ⊥ ↔ Irrefl r` given `Subsingleton`
---
[](https://gitpod.io/from-referrer/)
|
t-order |
7/1 |
Mathlib/Order/PropInstances.lean |
1 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
6-54002 6 days ago |
11-24273 11 days ago |
11-24042 11 days |
| 37160 |
vihdzp author:vihdzp |
feat: product of Coxeter matrices |
The Coxeter matrix `A * B` is the block matrix `!![A, 2; 2, B]`.
---
I've used multiplication to denote this under the logic that the product of Coxeter groups has a Coxeter matrix given by this construction. Perhaps this isn't desirable, considering it doesn't match matrix multiplication. I'm open to suggestions.
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
13/3 |
Mathlib/GroupTheory/Coxeter/Matrix.lean |
1 |
3 |
['github-actions', 'tb65536', 'vihdzp'] |
tb65536 assignee:tb65536 |
6-38034 6 days ago |
10-15640 10 days ago |
10-15409 10 days |
| 34507 |
metakunt author:metakunt |
feat(NumberTheory/AKSPrimality): Adds the AKS primality test |
Adds the completed proof for the AKS primality test.
Everything except the final theorem is marked private as it's only needed for the final proof.
Also everything except the final theorem is namespaced with AKS.
----
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Aks.20primality.20Theorem.206.2E1.20Claim.20.28i.29.20proven |
t-number-theory |
645/0 |
Mathlib.lean,Mathlib/NumberTheory/AKSPrimality.lean |
2 |
51 |
['github-actions', 'jcommelin', 'kim-em', 'metakunt', 'qawbecrdtey', 'tb65536', 'vihdzp'] |
tb65536 assignee:tb65536 |
6-35010 6 days ago |
6-35010 6 days ago |
36-27540 36 days |
| 34808 |
YaelDillies author:YaelDillies |
feat(Combinatorics/SimpleGraph): isolated vertices |
From ProofBench
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
37/1 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
3 |
5 |
['YaelDillies', 'b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
6-31252 6 days ago |
6-31303 6 days ago |
58-7544 58 days |
| 35613 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Clique): use `IsContained` instead of an explicit embedding from top |
This makes theorems require only a proof that a `Copy` exists rather than provide an explicit `Embedding`.
Also tag monotonicity lemmas with `@[gcongr]`, and add `Copy.isContained` / `Embedding.isIndContained` / `Embedding.isContained` / `Iso.isContained'`.
---
This isn't a generalization per-se since one could use choice plus `Copy.topEmbedding` to upgrade the `IsContained` to an embedding, but `IsContained` makes more sense in theorems.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
65/55 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
4 |
21 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
awainverse assignee:awainverse |
6-16650 6 days ago |
12-9029 12 days ago |
35-77491 35 days |
| 37278 |
SnirBroshi author:SnirBroshi |
chore(Order/Defs/Unbundled): deprecate `def Reflexive` in favor of `class Std.Refl` |
Also adds definitional lemmas `std*_def` for the relation classes, and cleans up things nearby, especially in `Logic/Relation.lean`.
---
[Mathlib's `def Reflexive`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#Reflexive)
[Core's `class Std.Refl`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Std.Refl)
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relation.20properties.20duplication/near/544638270)
[](https://gitpod.io/from-referrer/)
|
|
229/171 |
Mathlib/Algebra/Group/Semiconj/Defs.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Pairwise.lean,Mathlib/Logic/Relation.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Directed.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/ScottContinuity.lean,Mathlib/Order/SuccPred/Relation.lean,MathlibTest/abel.lean |
20 |
3 |
['SnirBroshi', 'github-actions', 'leanprover-radar'] |
nobody |
6-15490 6 days ago |
7-75040 7 days ago |
7-76610 7 days |
| 34952 |
joneugster author:joneugster |
feat(scripts/autolabel): use `Cli` and integrate `curl` call into `autolabel` |
- use `Cli` for `lake exe autolabel`
- add arguments `--pr xxx --gh` and `--pr xxx --curl ` to chose between different interaction methods with github
- add `--force` to skip the check whether labels are already present. (note: the current `curl` setup doesn't perform this step and neither does the refactor, so I added a `Todo` to remember this. )
- make CI-workflow simpler and more robust by removing current stdout-parsing of the debug-messages which `autolabel` emits.
### Testing
Make some local changes and commit them. Ensure your local `origin/master` is in sync with `upstream/master` if you are on a fork.
- `lake exe autolabel`: prints the labels which would be applicable
- `lake exe autolabel --pr 34952 --gh --force` adds these labels to this PR using `gh`.
- `lake exe autolabel --pr 34952 --gh` adds these labels to this PR using `gh` if no topic labels are present.
- `lake exe autolabel --pr 34952 --curl ` adds these labels to this PR using `curl`. This requires a github access token for authentication
---
[](https://gitpod.io/from-referrer/)
|
CI |
87/73 |
.github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
adomani assignee:adomani |
6-14563 6 days ago |
6-14846 6 days ago |
38-55955 38 days |
| 35976 |
Phelixh author:Phelixh |
feat: add add Liu's uncertainty theory foundations (core/distribution/process modules) |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
2374/0 |
Mathlib.lean,Mathlib/Uncertainty/Base.lean,Mathlib/Uncertainty/BaseCore.lean,Mathlib/Uncertainty/BaseDistribution.lean,Mathlib/Uncertainty/BaseProcess.lean,Mathlib/Uncertainty/Uncertainty.lean |
6 |
26 |
['Phelixh', 'copilot-pull-request-reviewer', 'github-actions'] |
nobody |
6-6668 6 days ago |
6-6735 6 days ago |
6-11801 6 days |
| 36773 |
adomasbaliuka author:adomasbaliuka |
feat(Tactic/Linter): lint unwanted unicode |
Add a text-based style linter that checks all unicode characters. Provides automatic replacements for some disallowed characters.
Unicode is very versatile and useful for Lean and Mathlib.
However, it is also very complex and few people have a thorough understanding of all its pitfalls (I don't claim to be one of them).
In order to avoid unpleasant surprises going forward, both accidental and malicious, we should keep track of which Unicode characters are allowed in Mathlib.
In programming and cybersecurity, there are many known [issues and attacks concerning unicode](https://en.wikipedia.org/wiki/Unicode#Security_issues).
Many open source repositories have been hit by such attacks, which are becoming ever more frequent due to the use of automation using e.g. large language models.
Some notable ones:
- [homograph attacks](https://en.wikipedia.org/wiki/IDN_homograph_attack): confusion caused by use of distinct characters which look the same (we probably don't want to fully address this and this PR does not attempt to)
- [Trojan Source](https://en.wikipedia.org/wiki/Trojan_Source): abuse of bidirectional characters. Characters used by languages with right-to-left reading direction can cause code to be displayed differently than it is parsed. (This PR tries to address this)
- Exploits involving Private Use Area characters, e.g. [GlassWorm](https://abit.ee/en/cybersecurity/viruses-trojans-and-other-malware/glassworm-github-supply-chain-attack-unicode-solana-malware-npm-vs-code-2026-en). (This PR tries to address this)
Co-authored-by: Michael Rothgang @grunweg
Co-authored-by: Jon Eugster @joneugster
---
Continues work from #16215 (due to PRs now being made from forks).
Discussed at [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F/near/448721083)
Note: the script was added due to reviewer comment in #16215. Perhaps that is overkill here.
- [x] depends on: #36811
[](https://gitpod.io/from-referrer/)
|
t-linter |
252/75 |
Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,MathlibTest/LintStyle.lean,scripts/README.md,scripts/extract-unique-nonascii.lean |
6 |
24 |
['adomasbaliuka', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
joneugster assignee:joneugster |
6-2367 6 days ago |
6-2368 6 days ago |
10-63272 10 days |
| 35569 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` |
This PR:
* Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas.
* Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean.
No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files.
The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done.
This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633).
---
- [ ] depends on: #35567
- [ ] depends on: #35568
Deprecations:
- injectiveSeminorm
- dualSeminorms_bounded
- injectiveSeminorm_apply
- norm_eval_le_injectiveSeminorm
- injectiveSeminorm_le_projectiveSeminorm
- injectiveSeminorm_tprod_le
Preliminary work toward a reimplementation is at #33969.
I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module.
Co-authored-by: Davood H. T. Tehrani
[](https://gitpod.io/from-referrer/)
|
new-contributor |
221/232 |
Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean |
2 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
6-1565 6 days ago |
6-1589 6 days ago |
7-33574 7 days |
| 37344 |
vihdzp author:vihdzp |
feat: monotone function `Cardinal → α` is eventually constant |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
|
57/0 |
Mathlib.lean,Mathlib/Logic/Small/Basic.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean |
3 |
3 |
['github-actions', 'vihdzp', 'wwylele'] |
nobody |
5-71972 5 days ago |
5-74517 5 days ago |
5-76445 5 days |
| 32282 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): unoriented angle bisection |
Add lemmas giving unoriented angles involving the incenter and excenters of a triangle as expressions involving dividing angles of the triangle by 2, deduced from oriented bisection lemmas.
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #31205
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32259
- [ ] depends on: #32260
- [ ] depends on: #32270
- [ ] depends on: #32273
- [ ] depends on: #32278
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
98/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
8 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] |
JovanGerb assignee:JovanGerb |
5-70666 5 days ago |
7-78197 7 days ago |
7-78702 7 days |
| 35069 |
A-M-Berns author:A-M-Berns |
feat(Geometry/Polygon): simple polygons and boundary map |
This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution.
- [x] depends on: #34598
---
|
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
jsm28 assignee:jsm28 |
5-70536 5 days ago |
37-80099 37 days ago |
40-27754 40 days |
| 33928 |
jsm28 author:jsm28 |
feat(Combinatorics/Tiling/TileSet): indexed families of tiles |
Define the type `TileSet` for indexed families of tiles (in a discrete context), and some associated definitions (including `symmetryGroup`) and API lemmas.
`TileSet` can be used for tilings of the whole space; for tilings of part of the space; for patches of tiles (extracted from a tiling by considering tiles meeting some set of points, or considered on their own without extracting from a tiling); for multiple tilings (covering the space more than once). In particular, the fact that people study multiple tilings provides a clear justification for using indexed families rather than sets of tiles, and basic definitions and API lemmas generally work for all these different uses of `TileSet` (sometimes with weak constraints such as tiles being finite, nonempty and only having finitely many tiles meeting any point of the space).
Definitions for saying e.g. "this `TileSet` is a tiling of the whole space" are to be included in subsequent files in subsequent PRs.
From AperiodicMonotilesLean.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
460/0 |
Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean |
2 |
23 |
['Parcly-Taxel', 'b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] |
b-mehta assignee:b-mehta |
5-69396 5 days ago |
80-71351 80 days ago |
80-71120 80 days |
| 37006 |
hakii6 author:hakii6 |
feat(LinearAlgebra/Matrix/Block, Analysis/Normed/Algebra/MatrixExponential): add BlockTriangular.pow and BlockTriangular.exp |
# Summary
Add BlockTriangular.pow and BlockTriangular.exp for proving "det (exp A) = exp (trace A)"
# Which part using LLM
The part I used LLM is for
1. Searching duplicated theorems and lemmas I may missed (I already search them myself first).
2. Help me handle the "variables and signatures", the "letI" part, some of lemmas and theorems trivial but hard to find the true one.
3. After I finished, let them helped me check the structure match the disciplines of mathlib.
4. Check the steps PR match the disciplines of mathlib
Most things above are done by me first, then let them to make sure I'm not missing something.
# More context
More context can be found in a topic in "# new member" in Zulip
[#new members > (Matrix and NormedSpace.exp) | det (exp A) = exp (trace A)](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/.28Matrix.20and.20NormedSpace.2Eexp.29.20.7C.20det.20.28exp.20A.29.20.3D.20exp.20.28trace.20A.29/with/580964688)
|
new-contributor
LLM-generated
|
54/1 |
Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/Topology/Instances/Matrix.lean |
3 |
59 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'hakii6', 'wwylele'] |
nobody |
5-60065 5 days ago |
7-63033 7 days ago |
12-54027 12 days |
| 37299 |
XC0R author:XC0R |
feat(NumberTheory): Chebyshev's lower bound on primorial |
## Summary
Prove `primorial(n) ≥ 2^(n/2)` for all `n ≥ 2` (Chebyshev's 1852 lower bound). This is the lower bound complement to `primorial_le_four_pow`. Addresses the TODO at `Chebyshev.lean` line 50: "Prove Chebyshev's lower bound."
### New file: `Mathlib/NumberTheory/PrimorialLowerBound.lean`
**Main theorems:**
- `two_pow_le_primorial`: `2 ^ n ≤ primorial (2 * n)` for `n ≥ 29`
- `two_pow_div_two_le_primorial`: `2 ^ (n / 2) ≤ primorial n` for `n ≥ 2`
**Key intermediates:**
- `centralBinom_le_pow_mul_primorial`: `C(2n,n) ≤ (2n)^{π(√(2n)+1)} * primorial(2n)`
- `eight_mul_sq_add_le_two_pow`: `8u² + 16u + 8 ≤ 2^u` for `u ≥ 10`
### Proof technique
Central binomial decomposition: from `four_pow_lt_mul_centralBinom` and `factorization_choose_le_log`, bound `C(2n,n)` above by `(2n)^{π(√(2n)+1)} * primorial(2n)`. Rearranging gives `primorial(2n) ≥ 2^n` for `n ≥ 29`. Base cases by `norm_num` + `decide`, large `n` analytically via `√n` factoring.
### AI disclosure
Claude (Anthropic) was used as a coding assistant for Lean tactic exploration, file structuring, and CI debugging. All proof strategy, mathematical content, and final code have been reviewed and are understood by the author. |
t-number-theory
new-contributor
|
234/0 |
Mathlib.lean,Mathlib/NumberTheory/PrimorialLowerBound.lean,Mathlib/NumberTheory/SmoothNumbers.lean |
3 |
21 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
5-49676 5 days ago |
7-51573 7 days ago |
7-51457 7 days |
| 37353 |
SnirBroshi author:SnirBroshi |
feat(Order/WellFounded): characterize `WellFoundedLT` and `IsWellOrder` in terms of nonempty sets |
---
Both of these use the existing characterization of `WellFounded`.
[](https://gitpod.io/from-referrer/)
|
t-order |
19/0 |
Mathlib/Order/WellFounded.lean |
1 |
1 |
['github-actions'] |
nobody |
5-47150 5 days ago |
5-46903 5 days ago |
5-48569 5 days |
| 37354 |
SnirBroshi author:SnirBroshi |
feat(Order/Defs/PartialOrder): `(a < b ↔ b < a) ↔ (a ≤ b ↔ b ≤ a)` in `Preorder`s |
Relate the predicates {`a < b`, `b < a`, `a ≤ b`, `b ≤ a`}.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
12/0 |
Mathlib/Order/Defs/PartialOrder.lean |
1 |
1 |
['github-actions'] |
nobody |
5-47003 5 days ago |
5-46757 5 days ago |
5-48209 5 days |
| 36764 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `DirectSum.lequivCongrLeft_lof`: unchanged 🎉
* `AnalyticOnNhd.preimage_mem_codiscreteWithin`: unchanged 🎉
* `mem_permsOfList_of_mem`: unchanged 🎉
* `PNat.mod_le`: unchanged 🎉
* `Computation.map_parallel`: unchanged 🎉
* `Sigma.curry_update`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
10/42 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Sigma/Basic.lean |
6 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
5-27498 5 days ago |
5-27523 5 days ago |
18-3057 18 days |
| 37343 |
xgenereux author:xgenereux |
feat: add coe instances for spectrums |
This PR adds `Coe` instances for the type `PrimeSpectrum` and similar.
For `P: PrimeSpectrum`, this means that when lean expects `Ideal A`, we can directly write `P : Ideal A` instead of `P.asIdeal`. The `.asIdeal` gets inserted automatically.
At the moment, I haven't set up the `@[coe]` to make delab into `↑P` - it simply shows `P.asIdeal` in the infoview. If we want the `↑P` I can add it.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
9/0 |
Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Spectrum/Maximal/Defs.lean,Mathlib/RingTheory/Spectrum/Prime/Defs.lean |
3 |
2 |
['faenuccio', 'github-actions'] |
faenuccio assignee:faenuccio |
5-12347 5 days ago |
5-76889 5 days ago |
5-76658 5 days |
| 36979 |
Komyyy author:Komyyy |
feat: `↑(Nat.log m n) = Ordinal.log ↑m ↑n` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
12/3 |
Mathlib/SetTheory/Ordinal/Exponential.lean |
1 |
18 |
['Komyyy', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
nobody |
5-10386 5 days ago |
11-14574 11 days ago |
12-67005 12 days |
| 36592 |
Vierkantor author:Vierkantor |
chore(Tactic): rewrite `introv` tactic docstring |
This PR rewrites the docstrings for the `introv` tactic, to consistently match the official style guide, to make sure they are complete while not getting too long.
In particular, I wanted to clarify exactly what `introv` does and does not introduce, depending on the list of names given to it.
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-meta
|
22/19 |
Mathlib/Tactic/Basic.lean |
1 |
10 |
['Vierkantor', 'dwrensha', 'github-actions', 'joneugster'] |
dwrensha assignee:dwrensha |
5-5788 5 days ago |
5-5788 5 days ago |
19-17781 19 days |
| 37373 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Sum): add `LocallyFinite (G ⊕g H)` instance |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
11/0 |
Mathlib/Combinatorics/SimpleGraph/Sum.lean |
1 |
3 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
5-2649 5 days ago |
5-6132 5 days ago |
5-5901 5 days |
| 36283 |
Vierkantor author:Vierkantor |
chore(Tactic/GRewrite): rewrite `grw` family tactic docstrings |
This PR rewrites the docstrings for tactics in the `grw` family: `grw`, `grewrite`, `apply_rw`, `apply_rewrite`, `nth_rw` and `nth_rewrite`, to consistently match the official style guide, to make sure they are complete while not getting too long.
The `grw` tactic docstring was nice and complete, but the others were very brief and needed expansion (especially since it took me quite some time to understand the motivation behind `apply_rw`).
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-meta
|
150/23 |
Mathlib/Tactic/GRewrite/Elab.lean |
1 |
20 |
['JovanGerb', 'Vierkantor', 'github-actions', 'joneugster'] |
adamtopaz assignee:adamtopaz |
4-79931 4 days ago |
5-8071 5 days ago |
26-1074 26 days |
| 35830 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Data/Nat/Choose/Multinomial): multinomial coefficients |
Define the multinomial coefficients, a variant of `Nat.multinomial`.
- redefine `Multiset.multinomial`.
Given a multiset `m` of natural numbers, `m.multinomial` is the
multinomial coefficient defined by (m.sum) ! / ∏ i ∈ m, m i !.
As an example, `Multiset.multinomial {1, 2, 2} = 30`.
This is the exponent of $x y^2 z^2$ in $(x+y+z)^5$.
This should not be confused with the existing `Multiset.multinomial` which gives a different answer,
for example, `Multiset.multinomial {1, 2, 2} = 3`. This function is renamed as `Multiset.countPerms`.
- `Multiset.multinomial_cons` proves that
`(x ::ₘ m).multinomial = Nat.choose (x + m.sum) x * m.multinomial`
- `Multiset.multinomial_add` proves that
`(m + m').multinomial = Nat.choose (m + m').sum m.sum * m.multinomial * m'.multinomial`
co-authored with @mariainesdff
---
- [x] depends on: #36611
[](https://gitpod.io/from-referrer/)
|
t-data
blocked-by-core-release
|
122/1 |
Mathlib/Data/List/ToFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean |
2 |
25 |
['AntoineChambert-Loir', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
joneugster assignee:joneugster |
4-73913 4 days ago |
5-19083 5 days ago |
25-59052 25 days |
| 36604 |
JovanGerb author:JovanGerb |
feat(Translate): reorder universes |
This PR improves the heuristic for reordering of universes in `to_dual`/`to_additive`. The previous heuristic worked well when the first two universes had to be swapped. For example for translating `a ^ n` to `n • a`, and for dualizing `GaloisConnection`. However, in Category theory we sometimes need to swap more universes because a category instance comes with 2 universes which both need to be swapped. In particular, the comma category, and adjunctions both need this feature.
This PR doesn't add any syntax for specifying the reordering of universes. It is assumed that the universe reordering can always be inferred from the normal reordering and from the type.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
204/91 |
Mathlib/CategoryTheory/Comma/Basic.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/Reorder.lean,MathlibTest/ToDual.lean |
4 |
7 |
['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
4-55397 4 days ago |
4-55456 4 days ago |
10-51157 10 days |
| 36239 |
plp127 author:plp127 |
feat(FieldTheory/KrullTopology): define uniform group structure on galois group |
Endow the galois group of a field extension `Gal(L/K)` with the structure of a uniform group. Use this to prove some properties of the galois group earlier, for example, that the galois group is compact is immediate, and in more generality than the version proved in `FieldTheory/Galois/Profinite`. Deprecate some material which used to be used to define the krull topology, but is now unused since the krull topology comes out of the uniform structure.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
271/177 |
Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean |
4 |
17 |
['github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
joelriou assignee:joelriou |
4-54086 4 days ago |
6-44938 6 days ago |
6-44707 6 days |
| 36745 |
EtienneC30 author:EtienneC30 |
feat: a process with independent increments and Gaussian marginals is Gaussian |
The new file only provides one public declaration that corresponds to the title of the PR. The rest of the file is an implementation detail to show that the finite dimensional marginals of a process can be written as a linear map of the increments.
---
- [x] depends on: #36674
- [x] depends on: #36718
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
file-removed
|
160/1 |
Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Independence/Process/HasIndepIncrements/Basic.lean,Mathlib/Probability/Independence/Process/HasIndepIncrements/IsGaussianProcess.lean |
5 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
RemyDegenne assignee:RemyDegenne |
4-54083 4 days ago |
5-23581 5 days ago |
5-23684 5 days |
| 37175 |
tb65536 author:tb65536 |
chore(GroupTheory/Nilpotent): move declarations into namespace |
This PR moves the declarations of `GroupTheory/Nilpotent` from the root namespace to either the `Subgroup` namespace or the `Group` namespace.
I also switched over to the commutator element notation in a few places.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
194/34 |
Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean |
4 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
4-54077 4 days ago |
9-73799 9 days ago |
9-73570 9 days |
| 34742 |
Brian-Nugent author:Brian-Nugent |
feat(SheafCohomology): add API for Sheaf Cohomology |
Defines the long exact sequence on cohomology associated to a short exact sequence of sheaves `H.longSequence`. Also defines `H.equiv₀`, the additive equivalence between `H F 0` and `((sheafSections J AddCommGrpCat).obj (op T)).obj F` when the category has a terminal object `T`.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
87/3 |
Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean |
3 |
33 |
['Brian-Nugent', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster', 'mathlib-merge-conflicts'] |
adamtopaz assignee:adamtopaz |
4-45938 4 days ago |
13-77198 13 days ago |
52-38022 52 days |
| 37355 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory): refactor `smulShortComplex` |
Use `LinearMap.lsmul` for the `f` of `ModuleCat.smulShortComplex`, also providing new APIs for it.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
40/20 |
Mathlib/RingTheory/Regular/Category.lean |
1 |
1 |
['github-actions'] |
nobody |
4-41113 4 days ago |
5-46372 5 days ago |
5-46141 5 days |
| 36926 |
vihdzp author:vihdzp |
chore: golf `Cardinal.lt_power_cof` |
We rewrite the proof so as to avoid working with unbundled relations, and golf it somewhat in the process.
---
- [x] depends on: #36927
- [x] depends on: #36928
- [x] depends on: #36929
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
|
21/22 |
Mathlib/SetTheory/Cardinal/Cofinality.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-33734 4 days ago |
4-33761 4 days ago |
4-82117 4 days |
| 35865 |
vihdzp author:vihdzp |
chore: review `Cardinal.ord` API |
This PR does the following:
- Mark `Cardinal.ord` as no expose.
- Prove the defining property `gciOrdCard` earlier.
- Deprecate the unused `ord.orderEmbedding` (it simply restates that the function is strictly monotonic).
- Rename `ord_nat` → `ord_natCast`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
41/37 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
3 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
alreadydone assignee:alreadydone |
4-33224 4 days ago |
4-33123 4 days ago |
31-66157 31 days |
| 37413 |
Paul-Lez author:Paul-Lez |
feat(Combinatorics/Enumerative/Composition): add lemma about products of embeddings |
Co-authored-by: Xavier Genereux [[email protected]](mailto:[email protected])
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
4/0 |
Mathlib/Combinatorics/Enumerative/Composition.lean |
1 |
1 |
['github-actions'] |
nobody |
4-29048 4 days ago |
4-29124 4 days ago |
4-28893 4 days |
| 37025 |
vihdzp author:vihdzp |
feat: supremum of countably many countable ordinals is countable |
This theorem already existed, but we clean it up by using ω₁ and generalize its universes.
---
- [x] depends on: #37015
- [x] depends on: #37020
- [x] depends on: #37024
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
11/22 |
Mathlib/SetTheory/Cardinal/Regular.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
4-20094 4 days ago |
4-24995 4 days ago |
4-25482 4 days |
| 37432 |
mariainesdff author:mariainesdff |
feat(Algebra/BigOperators/NatAntidiagonal): add ofAdd_antidiagonal |
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
27/0 |
Mathlib/Algebra/BigOperators/NatAntidiagonal.lean |
1 |
1 |
['github-actions'] |
nobody |
4-13512 4 days ago |
4-13596 4 days ago |
4-13365 4 days |
| 37437 |
mariainesdff author:mariainesdff |
feat(Algebra/SkewPolynomial/Basic): add API |
We add API for `SkewPolynomial`, including `monomial`, `coeff`, `C` and `X`.
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
307/19 |
Mathlib/Algebra/SkewPolynomial/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
4-11516 4 days ago |
4-11605 4 days ago |
4-11374 4 days |
| 37317 |
vihdzp author:vihdzp |
feat: a topology with a basis of clopens is completely regular |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/0 |
Mathlib/Topology/Separation/CompletelyRegular.lean |
1 |
4 |
['felixpernegger', 'github-actions', 'themathqueen', 'vihdzp'] |
urkud assignee:urkud |
4-8861 4 days ago |
7-2323 7 days ago |
7-2092 7 days |
| 35316 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart.lean |
2 |
12 |
['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mkaratarakis'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-8233 4 days ago |
4-8288 4 days ago |
8-26514 8 days |
| 35402 |
samueloettl author:samueloettl |
feat(Dynamics/BirkhoffSum): birkhoffAverage const |
---
I think this is useful and one of these should be a simp lemma.
I'm not really sure if I got the naming of the theorems correct.
When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
|
22/0 |
Mathlib/Dynamics/BirkhoffSum/Average.lean |
1 |
6 |
['Maldooor', 'github-actions'] |
ADedecker assignee:ADedecker |
4-6073 4 days ago |
40-63905 40 days ago |
47-10562 47 days |
| 36378 |
EtienneC30 author:EtienneC30 |
refactor: define the geometric distribution via a sum of Dirac masses |
Change the definition of `geometricMeasure p` to be
`Measure.sum (fun n ↦ ENNReal.ofReal ((1 - p) ^ n * p)) • (.dirac n))`
instead of using `PMF`. This allows to directly use API for measures instead of having to develop an API for `PMF`, which anyway is defined as a sum of Dirac masses.
Also add some results about integrals against the geometricMeasure.
---
- [x] depends on: #36355
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
large-import
|
138/25 |
Mathlib/Probability/Distributions/Geometric.lean |
1 |
40 |
['DavidLedvinka', 'EtienneC30', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pfaffelh'] |
RemyDegenne assignee:RemyDegenne |
4-5033 4 days ago |
4-10075 4 days ago |
26-5113 26 days |
| 37441 |
lecopivo author:lecopivo |
fix(FunProp): be less strict about the shape of morphism theorems |
Don't be so restrictive about the shape of morphism theorems
Right now, `fun_prop` has a problem with a bundled morphism `Foo α` that coerces to `α → α → α` . The coerced function has two arguments and there is an unnecessary restriction about this. This PR lifts that restriction.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20in.20.60FunLike.60.20with.20multiple.20arguments/with/582731349)
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
42/14 |
Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Theorems.lean,MathlibTest/fun_prop_dev.lean |
3 |
1 |
['github-actions'] |
nobody |
4-4271 4 days ago |
4-4681 4 days ago |
4-4498 4 days |
| 37183 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): map attribute |
Adding `@[map]` to a lemma named `H` of shape `∀ .., f = g`, where `f` and `g` are morphisms
in some category `C`, creates a new lemma named `H_map` of the form
`∀ .. {D} (func : C ⥤ D), F.map f = F.map g` and then applies
`simp only [Functor.map_comp, Functor.map_id]`.
---
[](https://gitpod.io/from-referrer/)
|
LLM-generated
t-meta
t-category-theory
|
253/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean,MathlibTest/CategoryTheory/MapSimpCheck.lean |
6 |
5 |
['adamtopaz', 'dagurtomas', 'github-actions', 'joelriou'] |
adamtopaz assignee:adamtopaz |
4-2872 4 days ago |
4-2933 4 days ago |
9-38453 9 days |
| 37138 |
dtumad author:dtumad |
feat(Data/FinEnum): instances for standard signed and unsigned integer types |
Adds `FinEnum` instances for `UIntN`/`IntN` for various `N`, and for platform sized integers.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
45/0 |
Mathlib/Data/FinEnum.lean |
1 |
8 |
['dtumad', 'github-actions', 'joneugster', 'linesthatinterlace'] |
joneugster assignee:joneugster |
4-1935 4 days ago |
4-1935 4 days ago |
8-37937 8 days |
| 30551 |
smmercuri author:smmercuri |
feat: `NumberField.InfinitePlace.sum_inertiaDeg_eq_finrank` |
If `L/K` are number fields number fields and `v : InfinitePlace K`, then the sum of inertia degrees of `w : InfinitePlace L` lying over `v` is the degree of `L` over `K`.
---
- [x] depends on: #27978
- [x] depends on: #27974
- [x] depends on: #29942
- [x] depends on: #29946
- [x] depends on: #36132
- [x] depends on: #36257
- [x] depends on: #36268
- [x] depends on: #36353
- [x] depends on: #36393
[](https://gitpod.io/from-referrer/)
|
t-number-theory
t-algebra
label:t-algebra$ |
196/7 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/LiesOverInstances.lean,Mathlib/NumberTheory/NumberField/Completion/Ramification.lean |
4 |
10 |
['Multramate', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-1049 4 days ago |
4-1104 4 days ago |
14-24892 14 days |
| 35820 |
smmercuri author:smmercuri |
feat: unit lemmas and embedding for `FiniteAdeleRing` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
42/4 |
Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean |
1 |
10 |
['Multramate', 'github-actions', 'smmercuri'] |
mattrobball assignee:mattrobball |
4-1023 4 days ago |
4-1079 4 days ago |
36-77189 36 days |
| 35653 |
pepamontero author:pepamontero |
feat: add ChartedSpace structure on orbit space |
Add topological preliminaries for properly discontinuous group actions, and use them to equip the orbit space `orbitRel.Quotient G M` with a `ChartedSpace` structure.
In particular:
- Show that the quotient map `Quotient.mk _ : M → orbitRel.Quotient G M` is a covering map and hence a local homeomorphism.
- Construct chosen local inverses of the quotient map and establish properties over them.
- Define a `ChartedSpace` instance on the quotient by composing these local inverses with charts of M.
This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it.
---
|
new-contributor
t-differential-geometry
|
186/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/OrbitSpace.lean,Mathlib/Topology/Algebra/OrbitSpace.lean |
3 |
13 |
['Rida-Hamadani', 'github-actions'] |
PatrickMassot, grunweg, ocfnash, sgouezel assignee:ocfnash assignee:grunweg assignee:sgouezel assignee:PatrickMassot |
4-148 4 days ago |
40-73274 40 days ago |
40-73718 40 days |
| 37374 |
NoneMore author:NoneMore |
feat(Topology/DerivedSet): add relative derived set lemmas |
Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
17/0 |
Mathlib/Topology/DerivedSet.lean |
1 |
6 |
['NoneMore', 'github-actions', 'plp127', 'vihdzp'] |
PatrickMassot assignee:PatrickMassot |
4-139 4 days ago |
4-2293 4 days ago |
4-55476 4 days |
| 31662 |
edwin1729 author:edwin1729 |
feat(Topology/Order): topological basis of scott topology on Complete… |
…PartialOrder
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR.
(1/2) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober.
The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
This first PR proves two prerequisites, namely:
- the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- [x] depends on: #33061
**The next PR is here:** #31670
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
235/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
66 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
urkud assignee:urkud |
4-46 4 days ago |
28-8983 28 days ago |
34-61469 34 days |
| 37438 |
mariainesdff author:mariainesdff |
feat(Algebra/SkewPolynomial/Basic): add more API |
We add API for `SkewPolynomial`, including the definitions `erase` and `update` and results about coefficients and supports.
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
602/22 |
Mathlib/Algebra/SkewPolynomial/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-85735 3 days ago |
4-11015 4 days ago |
4-10784 4 days |
| 36739 |
mbkybky author:mbkybky |
feat(RingTheory): UFD criteria via height `1` prime ideals and localization |
We prove the following UFD criteria via height `1` prime ideals and localization:
1. Let `R` be a Noetherian domain. Then `R` is a UFD if and only if every height `1` prime ideal is principal.
2. Let `R` be a Noetherian domain, `x ∈ R` be a prime element. If `Rₓ` is a UFD, then `R` is also a UFD.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
117/2 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/UFD.lean,Mathlib/RingTheory/Localization/Away/Basic.lean |
4 |
2 |
['github-actions', 'tb65536'] |
mattrobball assignee:mattrobball |
3-85525 3 days ago |
3-85582 3 days ago |
18-83220 18 days |
| 37336 |
mbkybky author:mbkybky |
feat(RingTheory/Polynomial): some lemmas about `Ideal.leadingCoeff` |
Add some lemmas about [Ideal.leadingCoeff](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Polynomial/Basic.html#Ideal.leadingCoeff).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
54/1 |
Mathlib/RingTheory/Polynomial/Basic.lean |
1 |
3 |
['github-actions', 'wwylele'] |
nobody |
3-85514 3 days ago |
5-51485 5 days ago |
6-2810 6 days |
| 37388 |
xgenereux author:xgenereux |
feat(FunctionField): constant extensions are finite |
Let `F` be a function field over `Fq`. If `E` is an algebraic extension of `Fq` which is contained in `F` then it is finite over `Fq`.
To implement this, we model the following tower of extensions:
```
E(X) - F
/ \ |
E[X] Fq(X)
/ \ /
E Fq[X]
\ /
Fq
```
by assuming algebra hypotheses on the level of `Fq[X]` and `E[X]` and use
```
attribute [local instance] Polynomial.algebra
```
together with the scoped `RatFunc` instances `RatFunc.liftAlgebra` and `RatFunc.isScalarTower_liftAlgebra` to obtain the appropriate algebra instances from `RatFunc Fq/E`.
One annoying thing is that using these instances creates a diamond with `RatFunc.instSMulOfFractionRingPolynomial`, I am working on trying to find a fix but don't have anything at the moment. I am open to suggestions!
Here are some details on this diamond:
Since both `RatFunc E` and `FractionRing E[X]` (which are not defeq) have an `IsFractionRing E[X]` instance we get two maps coming from `RatFunc.liftAlgebra`:
1. (RatFunc.liftAlgebra Fq (FractionRing E[X]))
2. (RatFunc.liftAlgebra Fq (RatFunc E))
Where the first one is transported back to `RatFunc E` via `RatFunc.instSMulOfFractionRingPolynomial`. Analyzing
```
@RatFunc.instSMulOfFractionRingPolynomial _ _ (RatFunc Fq) (RatFunc.liftAlgebra Fq (FractionRing E[X])).toSMul
= (RatFunc.liftAlgebra Fq (RatFunc E)).toSMul
```
we see that this boils down to
`{ toFractionRing := (IsLocalization.lift ⋯) x } = (IsFractionRing.lift ⋯) x` not being defeq.
Co-authored-by: María Inés de Frutos Fernández <[[email protected]](mailto:[email protected])>
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
64/0 |
Mathlib/NumberTheory/FunctionField.lean,docs/references.bib |
2 |
1 |
['github-actions'] |
tb65536 assignee:tb65536 |
3-82028 3 days ago |
4-69687 4 days ago |
4-69733 4 days |
| 36788 |
hommmmm author:hommmmm |
feat(RingTheory): height of span of a prime element is one |
## Summary
- Add `Ideal.height_span_singleton_eq_one_of_prime`: in a Noetherian integral domain, the ideal generated by a prime element has height one.
## Notes
The new theorem follows directly from `height_le_one_of_isPrincipal_of_mem_minimalPrimes` (upper bound) and the fact that `span {p} ≠ ⊥` for `p` prime (lower bound).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
12/1 |
Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean |
1 |
5 |
['Multramate', 'github-actions', 'hommmmm'] |
mattrobball assignee:mattrobball |
3-64630 3 days ago |
3-65650 3 days ago |
17-46254 17 days |
| 36754 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): Sobolev distributions |
This is the first part of the definition of the Sobolev space. Here we only define the predicate `MemSobolev`, the subsequent PR will define the space of all Sobolev functions with the correct topology.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
344/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/Sobolev.lean |
2 |
9 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mcdoll'] |
j-loreaux assignee:j-loreaux |
3-64444 3 days ago |
4-40732 4 days ago |
17-30344 17 days |
| 37295 |
wwylele author:wwylele |
feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map |
This is the volume factor of a linear map
---
I have encountered the expression `sqrt(det(T' * T))` a few times in various places but it doesn't look like it has a standard name and entry in mathlib, so this adds it.
Zulip thread [#Is there code for X? > (norm of) "determinant" of map between inner product spaces](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.28norm.20of.29.20.22determinant.22.20of.20map.20between.20inner.20product.20spaces/with/581776873)
One motivation to define this is to state volume formula under transformations. From *Measure theory and fine properties of functions*:
- Lemma 3.1: for linear map $L : \mathbb{R}^n \to \mathbb{R}^m$, we have $\mathcal{H}^n(L(A)) = [ L ] \mathcal{L}^n(A)$, or in Lean, `μHE[n] (L '' A) = L.normDet * volume A`
- Theorem 3.8, for (not necessarily linear) $f : \mathbb{R}^n \to \mathbb{R}^m$ ($n \le m$) and $\mathcal{L}^n$-measurable set $A \subset \mathbb{R}^n$, we have $\int_A J f dx = \int_{\mathbb{R}^m} \mathcal{H}^0(A \cap f\^{-1}\{y\}) d\mathcal{H}^n(y)$, where $J f$ is the `normDet` of the rectangular Jacobian matrix
AI usage disclosure: AI was used in the following parts
- searching for related literature for an appropriate name
- generate draft proofs for some lemma to verify their correctness, though the final code has been completely rewritten by me.
[](https://gitpod.io/from-referrer/)
|
t-analysis
large-import
|
408/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramMatrix.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib |
4 |
7 |
['copilot-pull-request-reviewer', 'github-actions', 'wwylele'] |
ADedecker assignee:ADedecker |
3-62183 3 days ago |
7-54547 7 days ago |
7-54316 7 days |
| 37466 |
xgenereux author:xgenereux |
feat(Torsion/PrimaryComponent): direct sum of primaryComponent on primes is the whole module |
Let `M(P)` be the `primaryComponent` for `P : HeightOneSpectrum A`, we have $$M \cong \bigoplus_{P} M(P).$$
This is implemented as `DirectSum.IsInternal`.
Co-authored-by: María Inés de Frutos Fernández <[[email protected]](mailto:[email protected])>
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
68/1 |
Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean |
1 |
1 |
['github-actions'] |
nobody |
3-57682 3 days ago |
3-57759 3 days ago |
3-57528 3 days |
| 33715 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Projectivization/Action): prove that the action is 2-transitive and primitive |
Define the action of the special linear group on the projectivization.
Prove that it is 2-transitive and primitive.
---
- [ ] depends on: #33387
- [ ] depends on: #33347
- [ ] depends on: #32757
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
259/4 |
Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean |
6 |
8 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
3-53780 3 days ago |
5-18149 5 days ago |
5-21335 5 days |
| 36501 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/GradedAlgebra/Homogeneous/RingQuot): graded structure on the quotient of a graded ring by a homogeneous ideal |
Define the graded structure on the quotient of a graded ring by a homogeneous ideal
Co-authored with: @mariainesdff
(This is WIP because it still needs some `erw`, various instances do not seem to match,
and the overall structure has to be cleaned-up.
- Maybe define the graded structure on the quotient of a graded module by a homogeneous submodule.
- There is also an issue of working with ring congruences rather than with ideals. )
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
600/2 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/RingQuot.lean |
5 |
9 |
['AntoineChambert-Loir', 'chrisflav', 'eric-wieser', 'github-actions'] |
ocfnash assignee:ocfnash |
3-53772 3 days ago |
5-7776 5 days ago |
5-7558 5 days |
| 36781 |
hommmmm author:hommmmm |
feat(RingTheory/UniqueFactorizationDomain): UFD iff height one primes are principal |
We prove that a Noetherian integral domain is a UFD if and only if every prime ideal of height one is principal (`UniqueFactorizationMonoid.iff_height_one_prime_principal`).
## New declarations
* `UniqueFactorizationMonoid.exists_height_one_le_of_finite_height`: given a prime of finite height ≥ 1, there exists a height one prime contained in it.
* `UniqueFactorizationMonoid.ne_bot_of_height_one`: an ideal of height one is nonzero.
* `UniqueFactorizationMonoid.height_ge_one_of_prime_ne_bot`: the height of a nonzero prime ideal in a domain is at least one.
* `UniqueFactorizationMonoid.height_one_prime_principal`: in a UFD, every height one prime is principal.
* `UniqueFactorizationMonoid.of_height_one_prime_principal`: every height one prime being principal implies UFD (Noetherian case).
* `UniqueFactorizationMonoid.iff_height_one_prime_principal`: the full iff statement.
## References
See https://stacks.math.columbia.edu/tag/0AFT
## AI Disclosure
This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
large-import
|
102/1 |
Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean |
1 |
8 |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'hommmmm', 'tb65536'] |
mattrobball assignee:mattrobball |
3-53771 3 days ago |
12-72012 12 days ago |
17-20988 17 days |
| 36892 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/MvPowerSeries/NoZeroDivisors): simplify the proof by adding two instances |
Add two instances proposed by @eric-wieser :
- `WellFoundedLT.wellOrderingRel` : `WellOrderingRel.isWellOrder` satisfies `WellFoundedLT`
- `WellFoundedGT.swap` : If a linear order `l` satisfies `WellFoundedLT`, then `l.swap` satisfies `WellFoundedGT`.
They clarify the proof of `MvPowerSeries.NoZeroDivisors` that the power series rings over a ring without zero divisors has no zero divisors.
Ref. [#mathlib4 > help in RingTheory.MvPowerSeries.NeZeroDivisors](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/help.20in.20RingTheory.2EMvPowerSeries.2ENeZeroDivisors/with/580586392)
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
10/3 |
Mathlib/Order/RelClasses.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/SetTheory/Cardinal/Order.lean |
3 |
3 |
['JovanGerb', 'github-actions', 'vihdzp'] |
mariainesdff assignee:mariainesdff |
3-53770 3 days ago |
15-28446 15 days ago |
15-28215 15 days |
| 37274 |
JovanGerb author:JovanGerb |
chore(Order/Hom/WithTopBot): use `to_dual` |
Use `to_dual` on `WithBot`/`WithTop` morphism definitions. This removes one `backward.isDefEq.respectTransparency` option.
Intentionally remove `simps!` from `LatticeHom.withTopWithBot` and `LatticeHom.withTop'`, instead putting `simp` on the equivalent manual lemma`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
55/205 |
Mathlib/Order/Hom/WithTopBot.lean |
1 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
3-53767 3 days ago |
7-81129 7 days ago |
7-83458 7 days |
| 37349 |
kim-em author:kim-em |
feat(Analysis/Polynomial/MahlerMeasure): Landau's inequality and Mignotte bound |
This PR extracts Landau's inequality as a standalone theorem and adds the
Mignotte coefficient bound for polynomial factors.
Landau's inequality (`mahlerMeasure_le_sqrt_sum_sq_norm_coeff`) states that
the Mahler measure of a polynomial is at most `√(∑ ‖coeff i‖²)`. This was
previously buried as an intermediate step inside the proof of
`mahlerMeasure_le_sqrt_natDegree_add_one_mul_supNorm`, which is now a short
corollary.
The Mignotte bound (`norm_coeff_le_choose_mul_mahlerMeasure_mul`) says that
if `f = g * h` with `M(h) ≥ 1`, then `‖g.coeff n‖ ≤ C(deg g, n) · M(f)`.
The hypothesis `M(h) ≥ 1` holds in particular for nonzero integer polynomials
(via `one_le_mahlerMeasure`, also added here). This is the classical bound
used in Berlekamp–Zassenhaus polynomial factorization.
New declarations:
- `one_le_mahlerMeasure`
- `mahlerMeasure_le_sqrt_sum_sq_norm_coeff`
- `le_mahlerMeasure_mul_right` / `le_mahlerMeasure_mul_left`
- `norm_coeff_le_choose_mul_mahlerMeasure_mul`
The ℓ² norm is stated explicitly as `√(∑ i ∈ p.support, ‖p.coeff i‖ ^ 2)`
with a TODO to restate using a dedicated polynomial ℓ² norm once one is
defined (cf. the TODO in `Mathlib.Analysis.Polynomial.Norm`).
🤖 Prepared with [Claude Code](https://claude.ai/code) |
t-analysis |
58/20 |
Mathlib/Analysis/Polynomial/MahlerMeasure.lean |
1 |
3 |
['github-actions', 'khwilson', 'mathlib-bors'] |
j-loreaux assignee:j-loreaux |
3-53765 3 days ago |
5-53290 5 days ago |
5-53363 5 days |
| 37430 |
RemyDegenne author:RemyDegenne |
feat: lemmas about predictablePart |
Co-authored-by: Etienne Marion @EtienneC30
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
19/0 |
Mathlib/Probability/Martingale/Centering.lean |
1 |
3 |
['github-actions', 'kex-y'] |
kex-y assignee:kex-y |
3-53759 3 days ago |
4-17066 4 days ago |
4-16835 4 days |
| 37452 |
mathlib-splicebot author:mathlib-splicebot |
chore(Mathlib/Condensed/Light/Epi.lean): automated extraction |
This PR was automatically created from PR #37449 by @dagurtomas via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37449#discussion_r3017308832) by @dagurtomas. |
t-condensed |
19/0 |
Mathlib/Condensed/Light/Epi.lean |
1 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
3-53756 3 days ago |
3-81061 3 days ago |
3-80830 3 days |
| 37454 |
mathlib-splicebot author:mathlib-splicebot |
chore(Mathlib/Topology/Category/LightProfinite/Limits.lean): automated extraction |
This PR was automatically created from PR #37449 by @dagurtomas via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37449#discussion_r3017310641) by @dagurtomas. |
t-topology |
7/0 |
Mathlib/Topology/Category/LightProfinite/Limits.lean |
1 |
1 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
3-53756 3 days ago |
3-81028 3 days ago |
3-80797 3 days |
| 36968 |
NoahW314 author:NoahW314 |
feat: add missing IndiscreteTopology instances |
Add several instances for the IndiscreteTopology. These instances are chosen as they have short proofs and imply many of the more common instances like `NormalSpace` and `LocPathConnectedSpace`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
21/0 |
Mathlib/Topology/AlexandrovDiscrete.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/Metrizable/Basic.lean |
4 |
3 |
['felixpernegger', 'github-actions'] |
PatrickMassot assignee:PatrickMassot |
3-46133 3 days ago |
3-46187 3 days ago |
13-26093 13 days |
| 37222 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/ConjTranspose): `conjTranspose` as an `AlgEquiv` |
Wrap `Matrix.conjTranspose` as a `StarAlgEquiv` to the opposite ring.
Also upgrade the existing `RingEquiv` to a `StarRingEquiv`.
---
This relies on `TrivialStar R` (the matrix has entries in `α` which is an `R`-algebra) because an `AlgEquiv` requires `f (r • M) = r • (f M)` but `conjTranspose` gives `(r • M)ᴴ = (star r) • Mᴴ`.
Unlike `LinearEquiv` there doesn't seem to be a ["semilinear" variant of it over `starRingEnd`](https://github.com/leanprover-community/mathlib4/blob/3871d9aa5a510dda9dcf837fbb6ba30d6927d504/Mathlib/Algebra/Module/LinearMap/Star.lean#L25).
- [x] depends on: #37178
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/27 |
Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-43233 3 days ago |
3-43294 3 days ago |
3-43639 3 days |
| 37171 |
SnirBroshi author:SnirBroshi |
chore(Data/Int/Init): generalize `le_induction` from `Prop` to `Sort*` + def lemmas |
---
[Zulip 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Add.20note.20to.20help.20search.20similar.20thms/near/535331432)
[](https://gitpod.io/from-referrer/)
|
t-data
large-import
|
56/48 |
Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Init.lean,Mathlib/GroupTheory/CoprodI.lean |
3 |
5 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
3-42977 3 days ago |
3-43007 3 days ago |
4-50478 4 days |
| 37193 |
JJYYY-JJY author:JJYYY-JJY |
doc(metric): add main results sections for metric spaces |
Add Main results sections to metric-space definition modules
This PR improves discoverability in the metric-space definition modules by adding curated Main results sections and by fixing a stale internal file reference.
Add a Main results section to the pseudo-metric definitions module, highlighting key constructions and foundational lemmas.
Add a Main results section to the metric-space definitions module, highlighting core constructions and distance-based characterization lemmas.
Update the implementation note to point to the current pseudo-metric definitions path, clarifying where elementary pseudometric facts live.
This is a docstring-only change:
No declarations, theorem names, imports, instances, or proofs are changed;
only module docstrings in the two metric-space definition files are edited.
---
[](https://gitpod.io/from-referrer/) |
t-topology
new-contributor
|
17/3 |
Mathlib/Topology/MetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
2 |
6 |
['copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] |
j-loreaux assignee:j-loreaux |
3-35070 3 days ago |
3-35132 3 days ago |
4-35230 4 days |
| 36451 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Matching): `edgeSet` is injective and strictly monotonic on matchings, and more API |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
41/10 |
Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-31856 3 days ago |
3-31882 3 days ago |
20-27872 20 days |
| 26645 |
erdOne author:erdOne |
feat(RingTheory/PowerSeries): Construction of `Q` such that `P(Q(X)) = X` |
Co-authored-by: Junnosuke Koizumi
Co-authored-by: Hyeon, Seung-Hyeon
Co-authored-by: Yuichiro Taguchi
This contribution was created as part of the ZMC conference 2025 "Anabelian Geometry and its Computer Formalization".
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
130/0 |
Mathlib/RingTheory/PowerSeries/Substitution.lean |
1 |
9 |
['chrisflav', 'erdOne', 'github-actions', 'kckennylau'] |
kbuzzard assignee:kbuzzard |
3-29727 3 days ago |
3-29727 3 days ago |
51-59356 51 days |
| 37461 |
grunweg author:grunweg |
chore: golf using the field tactic |
---
In the spirit of #31314.
[](https://gitpod.io/from-referrer/)
|
|
32/43 |
Counterexamples/NowhereDifferentiable.lean,Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/PowerSeries/Exp.lean,Mathlib/Topology/UnitInterval.lean |
20 |
4 |
['github-actions', 'grunweg', 'j-loreaux'] |
nobody |
3-28545 3 days ago |
3-29847 3 days ago |
3-36088 3 days |
| 37419 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): introduce `MultiseriesExpansion.Approximates` |
* Introduce `MultiseriesExpansion.Approximates` predicate meaning that a multiseries can be used to obtain
an asymptotical approximations of its attached function.
* Provide constructors (`nil`, `cons`), a coinductive principle, and basic constructions for `Approximates`.
---
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-meta
large-import
|
132/2 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
3-28448 3 days ago |
4-26121 4 days ago |
4-25890 4 days |
| 37418 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): introduce `Multiseries.Sorted` |
* Introduce `Multiseries.leadingExp` - the leading exponent of a multiseries, along with a few structural lemmas.
* Introduce `Multiseries.Sorted` predicate stating that exponents in a multiseries as a list are strictly decreasing.
* Provide constructors (`nil`, `cons`), a coinductive principle, and basic constructions for `Sorted`.
---
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-meta |
208/0 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
3-28429 3 days ago |
4-26884 4 days ago |
4-26653 4 days |
| 37346 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉
* `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉
* `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉
* `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉
* `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
6/38 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean |
4 |
1 |
['FernandoChu', 'github-actions'] |
nobody |
3-26870 3 days ago |
5-64172 5 days ago |
5-63941 5 days |
| 37414 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): predicates for `Monomial` |
Introduce `FirstNonzeroIsPos`, `FirstNonzeroIsNeg` and `AllZero` predicates on lists of real numbers.
When applied to a list of exponents of a monomial in a well-formed basis, this trichotomy
determines its asymptotic behaviour: `FirstNonzeroIsPos` means it tends to infinity,
`FirstNonzeroIsNeg` means it tends to zero and `AllZero` means it tends to a constant.
---
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/) |
t-meta |
92/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/Predicates.lean |
3 |
5 |
['WilliamCoram', 'github-actions', 'vasnesterov'] |
JovanGerb assignee:JovanGerb |
3-26848 3 days ago |
4-25968 4 days ago |
4-26422 4 days |
| 33662 |
Pjotr5 author:Pjotr5 |
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants |
### Summary
- Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`.
The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`).
This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`).
- Add strict-inequality variants:
`expect_lt_expect`, `expect_lt`, `lt_expect`.
- Add existence lemmas:
`exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`,
and `exists_lt_of_expect_lt_expect`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
46/16 |
Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean |
2 |
7 |
['Pjotr5', 'b-mehta', 'felixpernegger', 'github-actions'] |
b-mehta assignee:b-mehta |
3-26678 3 days ago |
12-69286 12 days ago |
88-24195 88 days |
| 36686 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `List.prod_map_ite`: unchanged 🎉
* `Path.Homotopy.trans_assoc_reparam`: 2938 ms before, 717 ms after 🎉
* `SimplexCategory.δ_comp_δ`: 522 ms before, 316 ms after 🎉
* `Finsupp.ext_iff'`: unchanged 🎉
* `Computation.bind_assoc`: unchanged 🎉
* `Set.piecewise_insert`: unchanged 🎉
* `ZMod.valMinAbs_mem_Ioc`: unchanged 🎉
* `Matrix.det_eq_of_forall_row_eq_smul_add_pred_aux`: 2141 ms before, 2004 ms after 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
10/51 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean |
8 |
1 |
['artie2000', 'github-actions', 'ooovi'] |
nobody |
3-25186 3 days ago |
20-2048 20 days ago |
20-1817 20 days |
| 37382 |
tb65536 author:tb65536 |
feat(RingTheory/TensorProduct/Quotient): add flipped version of `tensorQuotientEquiv` |
This PR adds the isomorphism
`(A ⧸ I) ⊗[R] T ≃ₐ[S] (A ⊗[R] T) ⧸ I.map (algebraMap A (A ⊗[R] T))`
which is just the flipped version of the existing isomorphism
`A ⊗[R] (T ⧸ I) ≃ₐ[S] (A ⊗[R] T) ⧸ I.map includeRight`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
19/0 |
Mathlib/RingTheory/TensorProduct/Quotient.lean |
1 |
2 |
['WenrongZou', 'github-actions'] |
nobody |
3-25030 3 days ago |
4-80073 4 days ago |
4-79844 4 days |
| 37482 |
grunweg author:grunweg |
chore: test two consecutive simps in the flexible linter |
They are not linted, and should not be --- let's add a test to document this. Found when reviewing #36728.
---
[](https://gitpod.io/from-referrer/)
|
easy |
9/1 |
MathlibTest/FlexibleLinter.lean |
1 |
1 |
['github-actions'] |
nobody |
3-23574 3 days ago |
3-23639 3 days ago |
3-23408 3 days |
| 37486 |
sgouezel author:sgouezel |
chore: fix instance diamond in `Order.Ideal` |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
6/4 |
Mathlib/Order/Ideal.lean |
1 |
1 |
['github-actions'] |
nobody |
3-16912 3 days ago |
3-16987 3 days ago |
3-16756 3 days |
| 37448 |
SnirBroshi author:SnirBroshi |
chore(Algebra): use `IsMulCommutative` to spell `Std.Commutative (· * ·)` |
and use `IsAddCommutative` to spell `Std.Commutative (· + ·)`.
Also makes `Is{Mul/Add}Commutative.is_comm` instances so that core lemmas (or `grind`) can synthesize `Std.Commutative`.
---
Hopefully this is useful since #36549 was merged.
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
116/151 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/CategoryTheory/Center/Basic.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean,Mathlib/GroupTheory/Subgroup/Centralizer.lean,Mathlib/RepresentationTheory/Irreducible.lean |
21 |
17 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'leanprover-radar', 'vihdzp'] |
tb65536 assignee:tb65536 |
3-16457 3 days ago |
3-21471 3 days ago |
3-31670 3 days |
| 37179 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add lemmas about left and right elements of `SimpleGraph.sum` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
18/0 |
Mathlib/Combinatorics/SimpleGraph/Sum.lean |
1 |
3 |
['WilliamCoram', 'github-actions'] |
nobody |
3-16207 3 days ago |
9-69138 9 days ago |
9-68907 9 days |
| 37488 |
sgouezel author:sgouezel |
chore: fix instance diamond for order on `Subtype (IsPartition)` |
We introduce a type synonym to avoid the diamond.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
23/8 |
Mathlib/Data/Setoid/Partition.lean |
1 |
1 |
['github-actions'] |
nobody |
3-14899 3 days ago |
3-14967 3 days ago |
3-14736 3 days |
| 36863 |
artie2000 author:artie2000 |
feat(Algebra/Ring/Subsemiring): subsemiring support |
* Add automation for working with support of a subsemiring
* Define structure for support of a subsemiring when it's an ideal
* Prove sufficient condition for it to be an ideal
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
93/0 |
Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Support.lean |
2 |
1 |
['github-actions'] |
eric-wieser assignee:eric-wieser |
3-14729 3 days ago |
15-78059 15 days ago |
15-78229 15 days |
| 37397 |
xgenereux author:xgenereux |
chore(RatFunc/Luroth): split file and small changes |
This PR splits the Luroth file so that we can use the results on `IntermediateField` without having to import the whole file.
I've also applied some small changes like removing the custom notation in favor of the more general `Algebra.adjoin` notation.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
192/170 |
Mathlib.lean,Mathlib/FieldTheory/RatFunc/IntermediateField.lean,Mathlib/FieldTheory/RatFunc/Luroth.lean |
3 |
3 |
['felixpernegger', 'github-actions', 'xgenereux'] |
nobody |
3-14649 3 days ago |
4-51431 4 days ago |
4-51345 4 days |
| 35533 |
mariainesdff author:mariainesdff |
feat(RingTheory/DedekindDomain/Ideal/Lemmas): add nontrivial_heightOneSpectrum |
Co-authored by: @xgenereux.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
12/0 |
Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean |
1 |
5 |
['Multramate', 'erdOne', 'github-actions', 'mariainesdff', 'tb65536'] |
chrisflav assignee:chrisflav |
3-12440 3 days ago |
31-25435 31 days ago |
37-52349 37 days |
| 36886 |
Deep0Thinking author:Deep0Thinking |
feat(Combinatorics/Enumerative/Bonferroni): add Bonferroni inequalities |
This PR adds Bonferroni inequalities.
Main theorems:
- `Finset.indicator_biUnion_le_bonferroniIndicator_of_odd`
- `Finset.bonferroniIndicator_le_indicator_biUnion_of_even`
- `Finset.card_biUnion_le_bonferroniCard_of_odd`
- `Finset.bonferroniCard_le_card_biUnion_of_even`
Co-authored-by: Claude (Opus 4.6)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
334/4 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Bonferroni.lean,Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean |
3 |
4 |
['AlexeyMilovanov', 'Deep0Thinking', 'github-actions'] |
nobody |
3-10683 3 days ago |
15-3331 15 days ago |
15-3929 15 days |
| 37431 |
YaelDillies author:YaelDillies |
chore(Algebra/Pointwise): generalise `closure_pow_le` |
Thanks to Andrew for spotting this.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
11/11 |
Mathlib/Algebra/Group/Submonoid/Pointwise.lean |
1 |
8 |
['YaelDillies', 'github-actions', 'grunweg', 'j-loreaux', 'vihdzp'] |
nobody |
3-3691 3 days ago |
3-3749 3 days ago |
3-59676 3 days |
| 37350 |
aditya-ramabadran author:aditya-ramabadran |
feat(Analysis/Distribution): define canonical maps between Schwartz/test functions, distributions/tempered distributions |
Defines these canonical maps: (1) continuous linear map from $\mathcal D$ to $\mathcal S$, and (2) induced (linear) restriction map from $\mathcal S'$ to $\mathcal D'$, as assigned by @ADedecker.
---
Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though.
* Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM)
* Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions
* Induced map $\mathcal S'(E,F) \to \mathcal D'(Ω,F)$ is $\mathbb C$-linear
The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions.
Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean`
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
279/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean |
2 |
3 |
['aditya-ramabadran', 'github-actions'] |
ADedecker assignee:ADedecker |
3-2138 3 days ago |
3-3312 3 days ago |
3-43476 3 days |
| 37375 |
NoneMore author:NoneMore |
feat(SetTheory/Ordinal/FixedPointApproximants): add zero and limit lemmas for approximants |
Add helper lemmas `lfpApprox_zero`, `lfpApprox_limit`, and the corresponding `gfpApprox` lemmas by duality.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
new-contributor
maintainer-merge
|
50/26 |
Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
1 |
20 |
['NoneMore', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
3-1349 3 days ago |
4-885 4 days ago |
4-57330 4 days |
| 34273 |
gasparattila author:gasparattila |
feat(Topology/Sets): finite sets are dense in `(Nonempty)Compacts` |
---
- [x] depends on: #34266
[](https://gitpod.io/from-referrer/)
|
t-topology |
35/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
mcdoll assignee:mcdoll |
3-421 3 days ago |
10-83620 10 days ago |
10-84639 10 days |
| 37511 |
grunweg author:grunweg |
chore(positivity): tests for two more extensions |
I believe these extensions are not explicitly tested yet: I've added one as I wondered about this today.
---
[](https://gitpod.io/from-referrer/)
|
easy
t-meta
|
3/0 |
MathlibTest/positivity.lean |
1 |
1 |
['github-actions'] |
nobody |
2-80895 2 days ago |
2-80961 2 days ago |
2-80730 2 days |
| 36552 |
j-loreaux author:j-loreaux |
feat: add instances for `IsMulCommutative s.toWeakerSubobject` |
---
- [ ] depends on: #36549
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
60/0 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/RingTheory/NonUnitalSubring/Defs.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Defs.lean |
9 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-79657 2 days ago |
2-79684 2 days ago |
2-79758 2 days |
| 36553 |
j-loreaux author:j-loreaux |
feat: add IsMulCommutative instances for directed families of commutative subobjects |
---
- [ ] depends on: #36549
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
169/1 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean |
11 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-79621 2 days ago |
2-79644 2 days ago |
2-79617 2 days |
| 33935 |
mckoen author:mckoen |
feat(CategoryTheory/Monoidal/Arrow): define monoidal structure on arrow category |
defines a monoidal category structure on the arrow category of a cartesian closed category.
---
- [x] depends on: #33974
- [x] depends on: #34887
[](https://gitpod.io/from-referrer/)
|
t-category-theory
maintainer-merge
large-import
|
635/1 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Arrow.lean,Mathlib/CategoryTheory/Monoidal/Closed/Basic.lean,Mathlib/CategoryTheory/Monoidal/Limits/HasLimits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Shapes/Pullback.lean,Mathlib/CategoryTheory/Monoidal/PushoutProduct.lean |
6 |
39 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mckoen'] |
joelriou assignee:joelriou |
2-75946 2 days ago |
2-75946 2 days ago |
24-30288 24 days |
| 37512 |
xgenereux author:xgenereux |
feat(Valuation/IsTrivialOn): transcendental_of_lt_one |
For a `K`-algebra `L` and a valuation `v` over `L` which is trivial on `K`, if `y : L` is such that `y ≠ 0` and `v y < 1`, then it is transcendental over `K`.
To add this result we need some lemmas from `RatFunc.AsPolynomial` which are not related to `RatFunc` so I have pulled them out of that file. I also didn't want to put this in `Valuation.Basic` so I have made a new file for valuation which are trivial over some base ring.
Co-authored-by: María Inés de Frutos Fernández <[[email protected]](mailto:[email protected])>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
82/25 |
Mathlib.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/Valuation/IsTrivialOn.lean |
3 |
1 |
['github-actions'] |
nobody |
2-73857 2 days ago |
2-73828 2 days ago |
2-73679 2 days |
| 35683 |
gasparattila author:gasparattila |
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional |
This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`.
---
These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk`
These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right`
[](https://gitpod.io/from-referrer/)
|
t-meta |
57/33 |
Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,MathlibTest/fun_prop_dev.lean |
5 |
6 |
['gasparattila', 'github-actions', 'grunweg', 'lecopivo', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
2-69166 2 days ago |
7-66300 7 days ago |
39-63630 39 days |
| 30077 |
agjftucker author:agjftucker |
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfBivariate |
Two specializations of the implicit function theorem, one applying to an uncurried bivariate function and one applying to a curried bivariate function.
---
- [ ] depends on: #26985
This PR is a synthesis of material from others which failed to make progress. But there seems always to have been a different reason for it, so I'm afraid I keep trying where maybe I shouldn't.
#26985 reviewed by j-loreaux and later on by winstonyin.
#16743 and #26300 reviewed by sgouezel.
[Zulip chat](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Inverse.20function.20theorem.20and.20ContinuousLinearEquiv/with/567586606) with Yury Kudryashov.
There are certain changes agreed upon in those PRs, e.g. to existing names, that are doubtless good but that I have excised from this PR to avoid distraction.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
187/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Partial.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Bivariate.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean |
4 |
12 |
['agjftucker', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
2-69031 2 days ago |
2-81988 2 days ago |
48-59695 48 days |
| 37363 |
vihdzp author:vihdzp |
feat: many simp lemmas about aleph/beth/omega functions and lift |
---
- [x] depends on: #37024
[](https://gitpod.io/from-referrer/)
|
t-set-theory
maintainer-merge
|
220/41 |
Mathlib/SetTheory/Cardinal/Aleph.lean |
1 |
4 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
2-66565 2 days ago |
4-25027 4 days ago |
4-26452 4 days |
| 37521 |
jessealama author:jessealama |
feat(Data/Part): add Part.bind_eq_some_iff |
Add `Part.bind_eq_some_iff`, the `Part` analogue of `Option.bind_eq_some_iff`. Noticed this small gap while working on some equivalence proofs with partial functions. |
t-data |
6/0 |
Mathlib/Data/Part.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
2-65676 2 days ago |
2-69367 2 days ago |
2-69136 2 days |
| 37523 |
matthewjasper author:matthewjasper |
feat: elements of Dedekind domain approximate elements of valuation ring |
Algebra part of showing that `R` is dense in `O_v` which is used to show that `R / v` is isomorphic to
the residue field of `O_v` and construct the base change isomorphism for finite adeles.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
81/1 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
2 |
1 |
['github-actions'] |
nobody |
2-64885 2 days ago |
2-64960 2 days ago |
2-64729 2 days |
| 37443 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walks/Operations): permutations of support |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
15/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-63965 2 days ago |
2-63990 2 days ago |
3-73651 3 days |
| 35043 |
winstonyin author:winstonyin |
refactor(Analysis/ODE): restate existence and uniqueness using integral curve API |
* Create `Mathlib/Analysis/ODE/ExistUnique.lean` to collect existence and uniqueness results for ODEs stated in terms of the integral curve API (`IsIntegralCurve`, `IsIntegralCurveOn`, `IsIntegralCurveAt`).
* Move and restate the Picard-Lindelöf existence theorems from `PicardLindelof.lean` and the $C^1$ vector field results using `IsIntegralCurveOn`/`IsIntegralCurveAt` instead of raw `HasDerivWithinAt`/`HasDerivAt`.
* Move and restate the Grönwall-based uniqueness theorems from `Gronwall.lean` using `IsIntegralCurveOn` with half-open intervals (`Ico`/`Ioc`) instead of `HasDerivWithinAt … (Ici t)`/`HasDerivWithinAt … (Iic t)`.
* Rename uniqueness theorems to use dot notation on the integral curve types (e.g. `ODE_solution_unique_of_mem_Icc_right` becomes `IsIntegralCurveOn.eqOn_Icc_right`).
* Add `IsIntegralCurveOn.eqOn_inter`: if two integral curves on preconnected sets `I` and `J` agree at a point in both sets, they agree on `I ∩ J`.
* Add deprecation aliases for all renamed lemmas.
- [ ] depends on: #29186
---
[](https://gitpod.io/from-referrer/)
|
|
421/308 |
Mathlib.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,docs/1000.yaml,docs/undergrad.yaml |
7 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-63964 2 days ago |
2-63987 2 days ago |
7-37094 7 days |
| 37406 |
vihdzp author:vihdzp |
feat(SetTheory/Cardinal): `IsStrongPrelimit` predicate |
We introduce a predicate for cardinals `c` such that `x < c` implies `x < 2 ^ c`. This is to `IsStrongLimit` as `IsSuccPrelimit` is to `IsSuccLimit`. We then make use of it in a few places where we were writing down `∀ x < c, x < 2 ^ c` explicitly.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
56/25 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
4 |
1 |
['github-actions'] |
nobody |
2-63900 2 days ago |
2-63956 2 days ago |
4-30257 4 days |
| 37098 |
vihdzp author:vihdzp |
feat: singular cardinals |
We define a singular cardinal as an infinite cardinal which is larger than its cofinality. That's to say, every cardinal is exactly one of the following three: finite, regular, or singular.
Re-opened from #17005, with permission.
---
Co-authored-by: Nir Paz
- [x] depends on: #36933
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
112/27 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues', 'plp127'] |
nobody |
2-63247 2 days ago |
2-63306 2 days ago |
10-62372 10 days |
| 36940 |
vihdzp author:vihdzp |
chore(SetTheory/Cardinal/Cofinality): deprecate many lemmas on `lsub`/`blsub` |
The intention is to get rid of `Ordinal.lsub` and `Ordinal.blsub` entirely, see #17033.
---
- [x] depends on: #37015
- [x] depends on: #37020
- [x] depends on: #37024
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
maintainer-merge
|
109/89 |
Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/MeasureTheory/MeasurableSpace/Card.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
6 |
7 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
2-62466 2 days ago |
4-24986 4 days ago |
4-27448 4 days |
| 37189 |
Brian-Nugent author:Brian-Nugent |
feat(AlgebraicGeometry): The pushforward of a quasi-coherent sheaf between affines is quasi-coherent |
To be more precise, we show that if `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` is an isomorphism then the same holds for the pushforward. This will show that being quasicoherent is stable under pushforward for affine morphisms once it is shown that `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` being an isomorphism is equivalent to being quasicoherent.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
173/1 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean |
3 |
4 |
['Brian-Nugent', 'github-actions', 'joelriou'] |
adamtopaz assignee:adamtopaz |
2-61773 2 days ago |
2-61514 2 days ago |
4-52678 4 days |
| 37356 |
BryceT233 author:BryceT233 |
feat(RingTheory): uniqueness of the lift of a simple root and the adic completeness of artinian local ring |
This PR adds the following three lemmas:
* `Polynomial.exists_mul_sq_add_linear_part_eq_eval_add`: this is an alternative version of `Polynomial.eval_add_of_sq_eq_zero` and is used in the lemma `IsLocalRing.eq_of_eval_eq_zero_of_not_isUnit_sub`.
* An instance that an artinian local ring is adic complete with respect to its maximal ideal.
* `IsLocalRing.eq_of_eval_eq_zero_of_not_isUnit_sub`: this is [stacks [06RR]](https://stacks.math.columbia.edu/tag/06RR) which shows the uniqueness of the lift of a simple root given by the henselian property.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
40/4 |
Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/RingTheory/AdicCompletion/Noetherian.lean,Mathlib/RingTheory/Henselian.lean |
3 |
4 |
['BryceT233', 'artie2000', 'github-actions'] |
nobody |
2-60446 2 days ago |
5-45361 5 days ago |
5-45373 5 days |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add Desargues's theorem |
This PR adds an affine (parallel) version of Desargues's theorem!
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with
`parallel_third_side_of_perspective`: if two triangles are in perspective from a point `S` and
two pairs of corresponding sides are parallel, then the third pair of sides is parallel.
- Add the corresponding `public import` to `Mathlib.lean`.
- Update `docs/100.yaml` (entry #87) to point to the new declaration.
**High level Proof idea is from the rocq repository!**
Compare side vectors via `exists_eq_smul_of_parallel` for the two given pairs of parallel sides; the
shared comparison along `SA` forces the same scalar, yielding parallelism of the third sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`! |
t-algebra
new-contributor
label:t-algebra$ |
159/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean,docs/100.yaml |
3 |
8 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'wwylele'] |
nobody |
2-59105 2 days ago |
3-69626 3 days ago |
3-77635 3 days |
| 34031 |
lua-vr author:lua-vr |
feat(Dynamics/BirkhoffSum): add the maximal ergodic theorem |
---
This file exports three constants:
```lean
public def birkhoffAverageSupSet (f : α → α) (g : α → ℝ) (a : ℝ) : Set α :=
{x | ∃ n : ℕ, a < birkhoffAverage ℝ f g n x}
public theorem meas_birkhoffAverageSupSet_smul_const_le_integral (a : ℝ) (ha : 0 < a) :
μ.real (birkhoffAverageSupSet f g a) • a ≤ ∫ x in birkhoffAverageSupSet f g a, g x ∂μ
public theorem meas_birkhoffAverageSupSet_smul_const_le_norm (a : ℝ) (ha : 0 < a) :
μ.real (birkhoffAverageSupSet f (fun x ↦ ‖g x‖) a) • a ≤ ∫ x, ‖g x‖ ∂μ
```
In my interpretation, the other constants are auxiliary, so I did not make them public. If it's of independent interest, `birkhoffMax` could be exported or moved to a dedicated file, but I'm not sure of that at the moment.
- [x] depends on: #34030
- [x] depends on: #34029
- [x] depends on: #34025
[](https://gitpod.io/from-referrer/)
|
t-dynamics |
291/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Maximal.lean |
2 |
4 |
['github-actions', 'lua-vr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-54244 2 days ago |
30-9387 30 days ago |
30-9526 30 days |
| 34271 |
gasparattila author:gasparattila |
feat(Topology/Sets): second-countability of `(Nonempty)Compacts` |
---
- [x] depends on: #34266
- [x] depends on: #34268
[](https://gitpod.io/from-referrer/)
|
t-topology |
17/76 |
Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/VietorisTopology.lean |
2 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
mcdoll assignee:mcdoll |
2-54200 2 days ago |
3-7740 3 days ago |
3-7646 3 days |
| 34275 |
gasparattila author:gasparattila |
feat(Topology/Sets): topological properties of `(Nonempty)Compacts.map` |
---
- [x] depends on: #34268
[](https://gitpod.io/from-referrer/)
|
t-topology |
80/1 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
10 |
['gasparattila', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
j-loreaux assignee:j-loreaux |
2-54199 2 days ago |
3-7743 3 days ago |
3-9611 3 days |
| 34276 |
gasparattila author:gasparattila |
feat(Topology/Sets): discreteness of `(Nonempty)Compacts` |
---
- [x] depends on: #34268
[](https://gitpod.io/from-referrer/)
|
t-topology |
20/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
2-54198 2 days ago |
3-7745 3 days ago |
3-9366 3 days |
| 34815 |
Deep0Thinking author:Deep0Thinking |
feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral |
- [x] depends on: #34966
---
Add a proof of **Frullani integral**.
Main theorems:
- `Frullani.integral_Ioi`
- `IntegrableOn.tendsto_integral_Ioi`
- `exists_integral_div_eq_mul_log`
Supporting lemmas:
- `Frullani.comp_mul_left_div`
- `Frullani.intervalIntegrable_div`
- `Frullani.exists_integral_div_eq_mul_log`
- `Ioi_diff_Ioc`
- `ContinuousOn.comp_mul_left_div`, `ContinuousOn.comp_mul_right_div`
- `ContinuousOn.comp_mul_left`, `ContinuousOn.comp_mul_right`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-analysis
|
188/2 |
Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Monoid.lean |
4 |
9 |
['CoolRmal', 'Deep0Thinking', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
2-54197 2 days ago |
3-13229 3 days ago |
4-58234 4 days |
| 36155 |
grunweg author:grunweg |
feat: custom elaborators for TangentSpace and tangentMap(Within) |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-meta
|
58/28 |
Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
7 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] |
PatrickMassot assignee:PatrickMassot |
2-54193 2 days ago |
28-11841 28 days ago |
29-21372 29 days |
| 36201 |
themathqueen author:themathqueen |
feat(Analysis/CStarAlgebra): set of star projections equals the extreme points of the nonnegative closed unit ball |
An element in a non-unital C⋆-algebra is a projection iff it is an extreme point of the nonnegative closed unit ball. This is from 1.6.2 in Sakai's C⋆-algebras and W⋆-algebras (the proof is different though).
Co-authored-by: Jon Bannon <[email protected]>
---
- [x] depends on: #35997
[](https://gitpod.io/from-referrer/)
|
t-analysis |
97/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean,docs/references.bib |
3 |
8 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib-dependent-issues', 'themathqueen'] |
mcdoll assignee:mcdoll |
2-54192 2 days ago |
22-18024 22 days ago |
24-7553 24 days |
| 36224 |
gasparattila author:gasparattila |
feat(Analysis/Normed/Affine): (pseudo)metric on `V →ᴬ[𝕜] Q` |
---
- [x] depends on: #36083
[](https://gitpod.io/from-referrer/)
|
t-analysis |
33/32 |
Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
sgouezel assignee:sgouezel |
2-54191 2 days ago |
3-11553 3 days ago |
3-38932 3 days |
| 36328 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve): improve API for maps and base changes |
Dot notation for concrete Weierstrass curves (`Affine`/`Jacobian`/`Projective`) does not quite work on `W : WeierstrassCurve F` even though they're all abbreviations of `WeierstrassCurve`, which is annoying for functions that return `WeierstrassCurve`s (currently just `map`, `baseChange`, and `variableChange`). For instance, for an `A : Affine F`, the expression `A.baseChange K` is a `WeierstrassCurve K` rather than an `Affine K`, so `(A.baseChange K).polynomial` will not work since `polynomial` is a function of `Affine K` rather than `WeierstrassCurve K`; instead we have to do `(A.baseChange K).toAffine.polynomial`, which is wordy. This PR introduces abbreviations `Affine/Jacobian/Projective.map/baseChange` to get around this, and introduces scoped notations `W/K`, where the slashes are given by `\textf`. The notation `W⟮K⟯` for `(W.baseChange K)Point` seems to be useless so far and can now be replaced by `(W/K).Point`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
284/288 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean |
13 |
1 |
['github-actions'] |
joelriou assignee:joelriou |
2-54190 2 days ago |
27-66719 27 days ago |
27-67120 27 days |
| 36917 |
iarnoldy author:iarnoldy |
feat(LinearAlgebra/CliffordAlgebra): bivector Lie subalgebra |
Define the submodule of grade-n elements (n-vectors) in a Clifford algebra
and show that bivectors (n = 2) form a `LieSubalgebra` under the commutator
bracket. This gives the standard construction of so(Q) from Cl(Q).
Main definitions:
* `CliffordAlgebra.nvector` — grade-n submodule, spanned by n-fold products of ι
* `CliffordAlgebra.bivector` — nvector 2 Q, the bivector submodule
* `CliffordAlgebra.bivectorLieSubalgebra` — LieSubalgebra of bivectors
Main results:
* `CliffordAlgebra.lie_ι_mul_ι` — explicit commutator formula for bivector generators
* `CliffordAlgebra.lie_mem_bivector` — bracket closure of the bivector submodule
* `CliffordAlgebra.bivector_le_evenOdd_zero` — bivectors lie in the even part
The `LieModule` instance for `CliffordAlgebra Q` acting on itself is provided
explicitly (`instLieModuleSelf`) because automatic synthesis exceeds the default
heartbeat limit.
AI disclosure: This code was generated with AI assistance (Claude, Anthropic).
The submitter directed the construction and QA but is not a Lean programmer.
The mathematical content is classical (Doran & Lasenby, Ch. 3). Extra review
scrutiny is welcomed.
Co-authored-by: Claude
---
Open design questions for reviewers:
1. **Naming**: Is `nvector` the right name? Eric Wieser suggested generalizing
to n-vectors. Alternatives: `ιProd`, `grade`, or following the `exteriorPower`
pattern via `equivExterior` pullback.
2. **Scalar contamination**: The spanning set `{ι m₁ * ι m₂}` includes
`ι m * ι m = Q(m)` (scalars). Eric suggested pulling back `exteriorPower`
through `equivExterior` for pure grades (requires `Invertible (2 : R)`).
Happy to rework if that's preferred.
3. **instLieModuleSelf**: Should this be an upstream issue rather than a
local workaround? @ocfnash
4. **ι_mul_ι_comm'**: This may duplicate existing API (`ι_mul_ι_comm b a`
plus `polar_comm`). Happy to inline if reviewers prefer.
Discussed on Zulip: https://leanprover.zulipchat.com (Is there code for X? thread) |
new-contributor
t-algebra
LLM-generated
label:t-algebra$ |
338/0 |
Mathlib.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Bivector.lean |
2 |
2 |
['github-actions'] |
eric-wieser assignee:eric-wieser |
2-54184 2 days ago |
14-60552 14 days ago |
14-61546 14 days |
| 37371 |
kebekus author:kebekus |
feat: formulate identity principle for meromorphic functions on topologically perfect subsets |
Add a simple, but useful, reformulation of the identity principle for meromorphic functions on topologically perfect subsets. To facilitate application, establish (closures of) open subsets in perfect topological spaces are preperfect sets.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
43/0 |
Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Topology/Perfect.lean |
3 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
2-54181 2 days ago |
5-5145 5 days ago |
5-4914 5 days |
| 37389 |
martinwintermath author:martinwintermath |
chore(LinearAlgebra/SesquilinearForm): generalize `orthogonalBilin` in order to simplify definition of `orthogonal` |
- generalize `Submodule.orthogonalBilin` to `CommSemiring` and `AddCommMonoid`, and to general sesquilinear forms with inputs from different modules. This enables subsequent changes.
- redefine `BilinForm.orthogonal` in terms of `orthogonalBilin`.
- reorder arguments of `Submodule.orthogonalBilin` to match other instances of duality across mathlib.
For comparison
Before
```lean4
Submodule.orthogonalBilin.{u_1, u_2, u_5, u_6} {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6}
[CommRing R] [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] [AddCommGroup M] [Module R M] {I₁ I₂ : R₁ →+* R}
(N : Submodule R₁ M₁) (B : M₁ →ₛₗ[I₁] M₁ →ₛₗ[I₂] M) : Submodule R₁ M₁
```
After
```lean4
Submodule.orthogonalBilin.{u_1, u_2, u_3, u_5, u_6, u_7} {R : Type u_1} {R₁ : Type u_2} {R₂ : Type u_3} {M : Type u_5}
{M₁ : Type u_6} {M₂ : Type u_7} [CommSemiring R] [CommSemiring R₁] [CommSemiring R₂] [AddCommMonoid M] [Module R M]
[AddCommMonoid M₁] [Module R₁ M₁] [AddCommMonoid M₂] [Module R₂ M₂] {I₁ : R₁ →+* R} {I₂ : R₂ →+* R}
(N : Submodule R₁ M₁) (B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M) : Submodule R₂ M₂
```
A few fixes in other files have been necessary as well.
This is an extract from #37381.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
17/17 |
Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Nondegenerate.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
5 |
4 |
['eric-wieser', 'github-actions', 'martinwintermath', 'vihdzp'] |
ocfnash assignee:ocfnash |
2-54179 2 days ago |
3-14179 3 days ago |
4-66287 4 days |
| 37477 |
kebekus author:kebekus |
feat: canonical decomposition of complex-meromorphic functions on disks |
Establish the Finite Canonical Decomposition of meromorphic functions, where a complex-meromorphic function `f` on a disk is written as a product of an analytic function without zeros and poles, and canonical factors that take only values of norm one on the boundary of the disk.
A future PR will extend this theorem to handle zeros/poles on the boundary of the disk.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
265/5 |
Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
3 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
2-54175 2 days ago |
3-24189 3 days ago |
3-23958 3 days |
| 37479 |
ADedecker author:ADedecker |
feat(Distribution): make parameters implicit in favor of type ascription |
Expanding on a suggestion by @faenuccio in an earlier PR, I make the regularity parameters of [TestFunction.fderivCLM](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Distribution/TestFunction.html#TestFunction.fderivCLM) (and similar constructions) implicit.
This is a bit controversial, because it is essentially forcing type ascription in a lot of contexts. The rationale is that
"the differentiation operator from `𝓓^{n}` to `𝓓^{k}`" matches mathematical practice, and is easier to parse than "the differentiation operator with parameters `n` and `k`".
To make this even more convenient, I introduce notations like `𝓓^{n}` to be used when the spaces can be inferred but the regularity cannot.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
107/46 |
Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean |
2 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
2-54174 2 days ago |
3-25240 3 days ago |
3-25009 3 days |
| 37499 |
gasparattila author:gasparattila |
feat(Topology/Sets): local compactness of `(Nonempty)Compacts` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
46/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
1 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
2-54174 2 days ago |
3-6888 3 days ago |
3-6657 3 days |
| 37530 |
mcdoll author:mcdoll |
fix(Topology/Algebra): fix bad simps and make arguments implicit for `PointwiseConvergenceCLM` |
We delete all `simps` calls in the definitions of operators on `PointwiseConvergenceCLM` and replace them with `apply_apply` lemmas that do not abuse the defeq between `SLₚₜ` and `SL`. This made the linter discover some typeclass duplications, which we remove by restructuring the file.
As a consequence of the new `simp` lemmas, we can remove all `set_option backward.isDefEq.respectTransparency false in` in `Analysis.Distribution.TemperedDistribution`.
Moreover, we make several arguments implicit, which can be inferred in almost all practical situations.
---
[](https://gitpod.io/from-referrer/)
|
|
86/65 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/PointwiseConvergence.lean |
2 |
1 |
['github-actions'] |
nobody |
2-43388 2 days ago |
2-44816 2 days ago |
2-44585 2 days |
| 33392 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Generation): non-exceptional case in Dieudonné's theorem |
We prove the theorem of [Dieudonné-1955][J. Dieudonné, “Sur les générateurs
des groupes classiques”].
Let `K` be a division ring and `V` be a `K`-module.
* `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_eq_one`:
If `e.fixedReduce = 1`, then `e` can be written as the product
of `finrank K (V ⧸ e.fixedSubmodule) - 1` transvections
and one dilatransvection.
This is the first part of the non-exceptional case in Dieudonné's theorem.
(This statement is not interesting when `e = 1`.)
* `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_ne_smul_id`:
If `e.fixedReduce` is not a homothety, then `e` can be written as the product
of `finrank K (V ⧸ e.fixedSubmodule) - 1` transvections and one dilatransvection.
This is the second part of the non-exceptional case in Dieudonné's theorem.
* `LinearEquiv.IsExceptional`:
A linear equivalence `e : V ≃ₗ[K] V` is exceptional if `1 < finrank K (V ⧸ e.fixedSubmodule)`
and if `e.fixedReduce` is a nontrivial homothety.
* `LinearEquiv.mem_dilatransvections_pow_of_notIsExceptional`:
This is the non-exceptional case in Dieudonné's theorem,
as a combination of the two preceding statements.
---
- [x] depends on: #33348
- [x] depends on: #33282
- [x] depends on: #33347
- [ ] depends on: #33387
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
574/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
6 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2-38620 2 days ago |
8-27066 8 days ago |
8-38253 8 days |
| 36423 |
kim-em author:kim-em |
perf: decompress already-cached files concurrently with downloads |
This PR builds on https://github.com/leanprover-community/mathlib4/pull/32987 (pipeline downloads and decompression) and https://github.com/leanprover-community/mathlib4/pull/36367 (fix: decompress already downloaded files).
Previously, already-cached `.ltar` files were only decompressed after all downloads completed, in the final `unpackCache` sweep. This PR starts decompressing them concurrently with downloads by spawning `leantar` as a background task before the download phase begins.
The two decompression paths operate on disjoint file sets (pre-cached vs newly downloaded), so there is no conflict. In the common case where a user has most files cached but a few hundred to download, this overlaps several seconds of decompression with network I/O.
🤖 Prepared with Claude Code |
LLM-generated
CI
t-meta
|
73/26 |
Cache/IO.lean,Cache/Requests.lean |
2 |
4 |
['github-actions', 'joneugster', 'kim-em'] |
joneugster assignee:joneugster |
2-34680 2 days ago |
2-35004 2 days ago |
21-72892 21 days |
| 37518 |
sgouezel author:sgouezel |
chore: fix instances in SetSemiring |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
24/19 |
Mathlib/Data/Set/Semiring.lean |
1 |
1 |
['github-actions'] |
nobody |
2-33904 2 days ago |
2-33960 2 days ago |
2-35699 2 days |
| 35329 |
BryceT233 author:BryceT233 |
feat(Data/Finsupp): add computational lemmas for cons and single |
This PR introduces `cons_injective2`, `cons_eq_single_zero_iff` and `cons_eq_single_succ_iff`, which are helper lemmas designed to facilitate calculations (or simplification) of equalities involving `Finsupp.cons` and `Finsupp.single`.
Co-authored-by: Wenrong Zou <[email protected]>
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
24/8 |
Mathlib/Data/Finsupp/Fin.lean |
1 |
6 |
['BryceT233', 'WenrongZou', 'github-actions'] |
joneugster assignee:joneugster |
2-30514 2 days ago |
2-54745 2 days ago |
48-25929 48 days |
| 37522 |
matthewjasper author:matthewjasper |
chore: adjust Module.Finite instance priority |
Make instances that are rarely going to be helpful lower priority.
Increase the priority of `FiniteDimensional.complexToReal`, because it's more likely correct than the other priority 100 `Module.Finite` instances.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
6/4 |
Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean |
3 |
3 |
['github-actions', 'grunweg', 'leanprover-radar'] |
nobody |
2-28635 2 days ago |
2-67322 2 days ago |
2-67091 2 days |
| 36439 |
xgenereux author:xgenereux |
feat(Algebra/Adjoin): CoeT instances for Algebra.adjoin on singletons |
Is it a common occurrence that I need to consider an element `x` or some polynomial evaluated in `x`, `p.eval x` as an element of `Algebra.adjoin R {x}`.
This makes it so that we can write
- `(x : adjoin R {x})` instead of `⟨x, self_mem_adjoin_singleton A x⟩`
- `(p.eval x : adjoin R {x})` instead of `⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩`
This is particularly useful when we need to write the type anyways, so that we need not to write `(⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩ : adjoin R {x})` anymore.
Co-authored-by: María Inés de Frutos Fernández <[[email protected]](mailto:[email protected])>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
9/3 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-27306 2 days ago |
7-66387 7 days ago |
25-7259 25 days |
| 37319 |
PrParadoxy author:PrParadoxy |
feat(Algebra/Field/Power): weaken assumptions of Odd.neg_zpow |
The lemmas `Even.neg_zpow` and `Even.neg_one_zpow` are stated assuming
`[DivisionMonoid α] [HasDistribNeg α]`. However, `Odd.neg_zpow` and
`Odd.neg_one_zpow` currently assume the stronger `[DivisionRing α]`.
This PR weakens the assumption of the `Odd` lemmas to match their `Even`
counterparts.
---
According to the docstring, the purpose of `Mathlib.Algebra.Field.Power`
is to define `Field` with minimal imports. But after this PR, Power.lean
does not rely on `Mathlib.Algebra.Field.Defs` any more. Arguably, it
could be deprecated. The two results in the file could be stated in
`Mathlib.Algebra.Ring.Int.Parity` without any extra imports. Should we implement
this in the current or an additional PR?
Examples:
```
-- these all work:
example (z : ℤ) (h : Even z) : (-1 : ℂ)^z = 1 := Even.neg_one_zpow h
example (z : ℤ) (h : Even z) : (-1 : unitary ℂ)^z = 1 := Even.neg_one_zpow h
example (z : ℤ) (h : Odd z) : (-1 : ℂ)^z = -1 := Odd.neg_one_zpow h
-- but this fails without the PR:
example (z : ℤ) (h : Odd z) : (-1 : unitary ℂ)^z = -1 := Odd.neg_one_zpow h
```
[](https://gitpod.io/from-referrer/) |
new-contributor
t-algebra
label:t-algebra$ |
16/10 |
Mathlib/Algebra/Field/Power.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean |
2 |
6 |
['eric-wieser', 'github-actions', 'goliath-klein'] |
nobody |
2-26563 2 days ago |
6-77292 6 days ago |
6-79860 6 days |
| 34854 |
GrigorenkoPV author:GrigorenkoPV |
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` |
---
Split off from #34853
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
227/194 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
6 |
5 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
2-26553 2 days ago |
18-944 18 days ago |
37-77012 37 days |
| 36833 |
harahu author:harahu |
doc: demote repeated H1 headers |
Having more than one H1 header per file confuses search engines and thus makes documentation more difficult to find. Hence, we make sure that lean files only have a single H1 header in them.
In the case of `Mathlib/Tactic/Common.lean`, we achieve this by adding a new module header.
---
[](https://gitpod.io/from-referrer/)
|
documentation |
12/10 |
Archive/Imo/Imo2002Q3.lean,Archive/Imo/Imo2010Q5.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/RingTheory/LocalProperties/Injective.lean,Mathlib/RingTheory/LocalProperties/ProjectiveDimension.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/EmptyLine.lean |
9 |
2 |
['github-actions', 'harahu', 'vihdzp'] |
nobody |
2-26296 2 days ago |
16-65891 16 days ago |
16-66064 16 days |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
84/84 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
4 |
20 |
['MJ141592', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2-25375 2 days ago |
2-25411 2 days ago |
2-53701 2 days |
| 37420 |
artie2000 author:artie2000 |
refactor: change definitions to avoid `ConvexCone` |
Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`.
This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
10/4 |
Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
2 |
['YaelDillies', 'github-actions', 'ooovi', 'vihdzp'] |
nobody |
2-25310 2 days ago |
4-24929 4 days ago |
4-24835 4 days |
| 37515 |
chrisflav author:chrisflav |
feat(Topology): a coinducing map with connected fibers induces a homeomorphism on connected components |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
53/0 |
Mathlib/Topology/Connected/TotallyDisconnected.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Maps/Basic.lean |
3 |
11 |
['chrisflav', 'github-actions', 'grunweg', 'scholzhannah'] |
j-loreaux assignee:j-loreaux |
2-24960 2 days ago |
2-25122 2 days ago |
2-71745 2 days |
| 37514 |
chrisflav author:chrisflav |
chore(Topology/Connected): generalize `preimage_connectedComponent_connected` to closed connected sets |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
33/24 |
Mathlib/Topology/Connected/Clopen.lean |
1 |
3 |
['github-actions', 'scholzhannah'] |
j-loreaux assignee:j-loreaux |
2-24871 2 days ago |
2-24916 2 days ago |
2-70355 2 days |
| 37532 |
justus-springer author:justus-springer |
feat(Algebra/Category/ModuleCat/Sheaf): `isQuasicoherent` and `isFinitePresentation` are closed under isomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
38/2 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean |
2 |
1 |
['github-actions'] |
nobody |
2-23097 2 days ago |
2-23173 2 days ago |
2-22942 2 days |
| 37503 |
Vierkantor author:Vierkantor |
chore(*): remove comments mentioning obsolete note `[nolint_ge]` |
In Lean 3 times we used to have a `ge_or_gt` linter which complained if theorem statements contained `≥` or `>`, and it would be silenced with a reference to the library note `[nolint_ge]`. But the linter and its note never got ported, so the references are irrelevant and we should drop them.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
tech debt
|
1/6 |
Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/AtTopBot/Finite.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Cauchy.lean |
5 |
4 |
['Vierkantor', 'github-actions', 'grunweg'] |
nobody |
2-21855 2 days ago |
3-2767 3 days ago |
3-2536 3 days |
| 37534 |
EtienneC30 author:EtienneC30 |
feat: cardinality of subsets of a given cardinality |
Given a finite set `s`, the number of subsets of `s` with cardinality `n` is `s.ncard.choose n`. This is analog to [Finset.card_powersetCard](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/Powerset.html#Finset.card_powersetCard) and [Set.powersetCard.card](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Set/PowersetCard.html#Set.powersetCard.card) but with a set of sets rather than involving finsets.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
18/0 |
Mathlib/Data/Set/Card.lean |
1 |
1 |
['github-actions'] |
nobody |
2-20971 2 days ago |
2-21041 2 days ago |
2-20810 2 days |
| 36643 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology): interaction of projective and injective dimension and SES |
In this PR, we directly implemented the relation of `projectiveDimension` and `injectiveDimension` in SES.
---
- [ ] depends on: #36817
[](https://gitpod.io/from-referrer/)
|
|
183/0 |
Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean,Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean,Mathlib/Data/ENat/Basic.lean |
4 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-14628 2 days ago |
2-14630 2 days ago |
6-20935 6 days |
| 31644 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): projective dimension of quotient regular sequence |
In this PR, we proved that for finitely generated module over Noetherian local ring, quotient by regular sequence increase the projective dimension by exactly its length.
---
- [ ] depends on: #36817
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
227/0 |
Mathlib.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/Regular/ProjectiveDimension.lean |
4 |
29 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2-14474 2 days ago |
2-14476 2 days ago |
2-37731 2 days |
| 36740 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `AlgebraicGeometry.Scheme.isBasis_affineOpens`: unchanged 🎉
* `SimpleGraph.Walk.takeUntil_eq_take`: 263 ms before, 180 ms after 🎉
* `SimpleGraph.Walk.dropUntil_eq_drop`: 382 ms before, 261 ms after 🎉
* `Int.image_Ico_emod`: unchanged 🎉
* `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
7/33 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean |
4 |
3 |
['artie2000', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-13510 2 days ago |
2-13534 2 days ago |
17-71522 17 days |
| 37541 |
EtienneC30 author:EtienneC30 |
feat: another version of the cardinality of the difference |
In mathlib there is `Set.ncard_diff` which states that `(t \ s).ncard = t.ncard - s.ncard` when `s ⊆ t` and `s` is finite. But one way to prove that `s` is finite is by showing that `t` is finite and using the `s ⊆ t` hypothesis, so this PR adds `Set.ncard_diff'` which assumes that `t` is finite instead of `s`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
5/0 |
Mathlib/Data/Set/Card.lean |
1 |
1 |
['github-actions'] |
nobody |
2-9532 2 days ago |
2-9603 2 days ago |
2-9372 2 days |
| 37464 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Minor additions to pointed cones |
Minor additions to pointed cones:
* `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`
* `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s`
* `PointedCone.neg_ofSubmodule` proving `-(ofSubmodule S) = S`
In preparation for #36605.
Co-authored by: Artie Khovanov
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
28/12 |
Mathlib/Geometry/Convex/Cone/Pointed.lean |
1 |
10 |
['artie2000', 'github-actions', 'martinwintermath', 'ooovi'] |
nobody |
2-9105 2 days ago |
2-9143 2 days ago |
2-47399 2 days |
| 37484 |
martinwintermath author:martinwintermath |
feat(RingTheory/Finiteness): Improve `fg_induction` |
- rename `fg_induction` to `fg_induction'`
- include the FG-hypothesis into motive for `fg_induction'`. This is necessary, since it might be that `P (M₁ ⊔ M₂)` is only provable from `P M₁`and `P M₂` if we can use that `M₁` and `M₂` are FG. Also, `M₁.FG` and `M₂.FG` are not provable from `(M₁ ⊔ M₂).FG` in general.
- add new `fg_induction` variant that adds one 1-dimensional submodule at a time.
- give expressive names to the induction start and induction step hypotheses.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
46/34 |
Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/Flat/EquationalCriterion.lean |
4 |
2 |
['github-actions', 'vihdzp'] |
nobody |
2-8888 2 days ago |
3-18213 3 days ago |
3-17982 3 days |
| 37086 |
tb65536 author:tb65536 |
chore(GroupTheory/Sylow): remove explicit type ascriptions `(P : Subgroup G)` |
PR #36852 generalized `normalizer` to subsets of `G` (like we do for centralizer), but introduced a few explicit type ascriptions `(P : Subgroup)` into `Sylow.lean` (to force the coercion to `Set` to go through `Subgroup`). This PR removes those.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-group-theory
label:t-algebra$ |
62/45 |
Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
riccardobrasca assignee:riccardobrasca |
2-8251 2 days ago |
2-8251 2 days ago |
9-7998 9 days |
| 37342 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): non-primitive corecursion for Seq: more `FriendlyOperation` API |
This is a continuation of #35072.
This PR adds more API about friendly operations:
* `FriendlyOperation.coind`: a coinductive principle for proving that operation is friendly
* `FriendlyOperationClass.eq_of_bisim`: a generalisation of `Seq.eq_of_bisim'` for proving two sequences are equal.
---
- [ ] depends on: #35072
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-data
t-meta
|
161/0 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
2-7851 2 days ago |
2-10513 2 days ago |
2-10614 2 days |
| 37298 |
artie2000 author:artie2000 |
refactor(Algebra/Order): unbundle group and ring cone |
* Unbundle `GroupCone` and `RingCone` using `Submonoid.IsMulPointed`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
136/31 |
Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Ring/Cone.lean |
2 |
2 |
['artie2000', 'github-actions'] |
nobody |
2-4319 2 days ago |
5-80834 5 days ago |
5-81158 5 days |
| 30900 |
vihdzp author:vihdzp |
feat: run-length encoding |
---
- [x] depends on: #30898
Moved from #17105.
[](https://gitpod.io/from-referrer/)
|
t-data |
168/0 |
Mathlib.lean,Mathlib/Data/List/RunLength.lean,Mathlib/Data/List/SplitBy.lean |
3 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'plp127'] |
pechersky assignee:pechersky |
1-84898 1 day ago |
1-84955 1 day ago |
44-27988 44 days |
| 37545 |
vihdzp author:vihdzp |
feat: ℵ_ univ = univ |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
64/4 |
Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
3 |
4 |
['github-actions', 'plp127', 'vihdzp'] |
nobody |
1-84764 1 day ago |
2-5299 2 days ago |
2-5111 2 days |
| 36867 |
ADedecker author:ADedecker |
feat: line derivative of distributions |
---
- [ ] depends on: #36866
[](https://gitpod.io/from-referrer/)
|
t-analysis |
68/2 |
Mathlib/Analysis/Distribution/Distribution.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
1-83439 1 day ago |
3-24903 3 days ago |
3-26355 3 days |
| 36723 |
oliver-butterley author:oliver-butterley |
fix(`ClearExcept`): modify so that each `isAuxDecl` is retained |
This PR updates the defintion of `ClearExcept` to skip any `isAuxDecl` and adds a test to confirm this behaviour.
The intent is that clear * - only clears user-visible local declarations; hidden auxiliary declarations should be handled by more specific mechanisms when needed.
**Motivation**
When writing a recursive proof in tactic mode, Lean places the recursive hypothesis in the local context as an *auxiliary declaration* (`LocalDecl.isAuxDecl`). This declaration is:
- Completely invisible in the Infoview (even with all display options enabled)
- Required for the recursive call to elaborate
Previously the `clear * -` tactic (`Mathlib.Tactic.ClearExcept`) iterates over **all** declarations in the local context and clears everything not in the explicit keep set or a type-class instance. As such it silently clears the recursive hypothesis. While the hypothesis can technically be added to the keep set by name, it is not shown in the Infoview, making it easy to overlook.
In simple examples this is never an issue, the inconvenience was found when working with software verification where the context gets huge and needs clearing for performance and where the recursive goals are closed by automation and so it is easy to overlook the need to explicitly add the name of the theorem to the exclude list.
Zulip discussion: ([#general > ClearExcept clears even if isAuxDecl, is this intended?](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/ClearExcept.20clears.20even.20if.20isAuxDecl.2C.20is.20this.20intended.3F/with/578745941)).
---
- [ ] depends on: #36961 (refactor proof which uses clear*- to clear auxDecl created by wlog)
- [ ] depends on: #36966 (warning that clearExcept does nothing in this use)
[](https://gitpod.io/from-referrer/)
|
t-meta |
22/8 |
Mathlib/Data/Vector/Basic.lean,Mathlib/Tactic/ClearExcept.lean,MathlibTest/ClearExcept.lean |
3 |
9 |
['adam84-hub', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'oliver-butterley'] |
nobody |
1-80425 1 day ago |
4-4117 4 days ago |
4-3886 4 days |
| 37565 |
pitmonticone author:pitmonticone |
feat(Data/ENNReal): add `ofReal_inv_le` and `ofReal_div_le` |
Add inequality versions of `ofReal_inv_of_pos` and `ofReal_div_of_pos` that don't require positivity:
- `ofReal_inv_le`: `ENNReal.ofReal x⁻¹ ≤ (ENNReal.ofReal x)⁻¹`
- `ofReal_div_le`: `ENNReal.ofReal (x / y) ≤ ENNReal.ofReal x / ENNReal.ofReal y`
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Jeremy Tan Jie Rui
--- |
carleson
t-data
easy
|
11/0 |
Mathlib/Data/ENNReal/Inv.lean |
1 |
1 |
['github-actions'] |
nobody |
1-76116 1 day ago |
1-76188 1 day ago |
1-75957 1 day |
| 37369 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat/Presheaf): the colimit module of a presheaf of modules on a cofiltered category |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
maintainer-merge
|
254/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/CategoryTheory/Filtered/FinallySmall.lean |
3 |
4 |
['dagurtomas', 'erdOne', 'github-actions', 'joelriou'] |
dagurtomas assignee:dagurtomas |
1-75872 1 day ago |
5-8936 5 days ago |
5-8705 5 days |
| 36494 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(GroupTheory/IndexNSmul): add results on multiplication-by-n in AddCommGroups |
This PR adds a new file (to be able to have the required imports) that contains some results related to the (relative) index of subgroups in commutative additive groups and the multiplication-by-`n` map.
They will be useful in proving the Northcott property for heights on number fields.
---
- [x] depends on: #36458 [some API lemmas for powMonoidHom]
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
92/0 |
Mathlib.lean,Mathlib/GroupTheory/IndexNSmul.lean |
2 |
9 |
['MichaelStollBayreuth', 'artie2000', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues'] |
dagurtomas assignee:dagurtomas |
1-68433 1 day ago |
1-68433 1 day ago |
8-73889 8 days |
| 37573 |
vihdzp author:vihdzp |
feat: supremum of `≤ c` ordinals of cardinal `≤ c` has cardinal `≤ c` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
47/14 |
Mathlib/SetTheory/Cardinal/Ordinal.lean |
1 |
1 |
['github-actions'] |
nobody |
1-66815 1 day ago |
1-67512 1 day ago |
1-67281 1 day |
| 37574 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): Add lemma `Walk.IsCircuit.isCycle_cycleBypass` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
8/3 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
1 |
['github-actions'] |
nobody |
1-65428 1 day ago |
1-65497 1 day ago |
1-65266 1 day |
| 37577 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix |
Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges`
to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions.
---
I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
77/37 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
4 |
1 |
['github-actions'] |
nobody |
1-64067 1 day ago |
1-64143 1 day ago |
1-63912 1 day |
| 37008 |
BryceT233 author:BryceT233 |
feat(Algebra/Ring): introduce `pullback` for `RingHom` and `AlgHom` |
This PR introduces `pullback` for `RingHom` and `AlgHom` and adds `IsLocalHom`, `IsLocalRing` lemmas related to them.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
160/0 |
Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/RingTheory/LocalRing/LocalSubring.lean |
3 |
5 |
['BryceT233', 'github-actions', 'wwylele'] |
mattrobball assignee:mattrobball |
1-59739 1 day ago |
2-15874 2 days ago |
12-30869 12 days |
| 31135 |
kckennylau author:kckennylau |
feat(RingTheory): is localization iff is localization on saturation |
In this PR we show that `A` is a localization of `R` on the submonoid `S` iff it is so on the saturation of `S`.
Crucially, the saturation of `S` is precisely the elements that become a unit in `A`.
---
- [x] depends on: #31132
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
53/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Saturation.lean |
2 |
11 |
['alreadydone', 'chrisflav', 'github-actions', 'kckennylau', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
1-54092 1 day ago |
30-789 30 days ago |
30-2444 30 days |
| 35518 |
kim-em author:kim-em |
chore: forbid prime (') in filenames, rename LinearCombination' |
This PR renames `Mathlib/Tactic/LinearCombination'.lean` to `LinearCombinationPrime.lean` (and the corresponding test file), and adds a lint check to `modulesOSForbidden` to prevent future files with prime/apostrophe characters in their names.
The `'` character in filenames causes shell escaping issues in scripts (any `find ... -name '*.lean'` or similar pattern needs careful quoting to handle these files correctly).
🤖 Prepared with Claude Code |
file-removed
t-meta
LLM-generated
|
13/8 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LinearCombinationPrime.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/linear_combination_prime.lean |
6 |
7 |
['eric-wieser', 'euprunin', 'github-actions', 'kim-em', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
1-54089 1 day ago |
2-35941 2 days ago |
24-47149 24 days |
| 36806 |
grunweg author:grunweg |
fix(Tactic/Continuity): mark Continuous.comp' as unsafe |
This issue was pre-existing: `Continuous.comp'` was never full safe, as a constant function could be written as the composition of any function and a constant function (and then applying the lemma could lead to something unprovable). The change in #31607 triggered such a case: make is an unsafe rule with very high probability instead.
This change broke three proofs: one was easy to switch to fun_prop; the others seemed to depend on this being a safe rule. I have added a workaround for now.
There was another test failure, exposing a pre-existing internal bug in aesop. With smaller imports, continuity succeeds [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/aesop.20error.20during.20proof.20reconstruction.2C.20goal.20not.20normalised/with/580202602), so I have accepted this result as fine.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
54/2 |
Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Topology/Continuous.lean,MathlibTest/Continuity.lean |
5 |
1 |
['github-actions'] |
dwrensha assignee:dwrensha |
1-54085 1 day ago |
17-5577 17 days ago |
17-5354 17 days |
| 36965 |
vihdzp author:vihdzp |
chore(SetTheory/Cardinal): tweak `succ` lemmas |
We leave the `SuccOrder` instance unexposed. It doesn't have any particularly good def-eqs, it's simply defined as the infimum of all larger cardinals. We also golf some surrounding theorems.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
49/41 |
Mathlib/LinearAlgebra/Dimension/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
4 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
b-mehta assignee:b-mehta |
1-54081 1 day ago |
8-25020 8 days ago |
13-33694 13 days |
| 37535 |
grunweg author:grunweg |
chore(FiberBundle/Trivialisation): tag with grind |
I am unsure if all of these are good grind lemmas; close examination is welcome. I left XXX comments with my questions; there are about 3 different questions repeating a few times.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
46/24 |
Mathlib/Topology/FiberBundle/Trivialization.lean |
1 |
3 |
['chenson2018', 'github-actions', 'grunweg'] |
urkud assignee:urkud |
1-54077 1 day ago |
2-14586 2 days ago |
2-14523 2 days |
| 37536 |
grunweg author:grunweg |
chore: mark coordinateChange_apply_snd simp |
---
Inspired by #35978 and its follow-up #37535.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
8/9 |
Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Topology/FiberBundle/Trivialization.lean |
3 |
4 |
['github-actions', 'grunweg', 'leanprover-radar'] |
PatrickMassot assignee:PatrickMassot |
1-54077 1 day ago |
2-14877 2 days ago |
2-14646 2 days |
| 37547 |
pitmonticone author:pitmonticone |
feat(MeasureTheory/LpSeminorm): add `rpow_add_le_mul_rpow_add_rpow'` variants |
Add two variants of `ENNReal.rpow_add_le_mul_rpow_add_rpow` using `LpAddConst` as the constant, valid for all `0 ≤ p` (not just `1 ≤ p`).
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Leo Diedering <[email protected]>
--- |
carleson
easy
t-measure-probability
|
36/0 |
Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean |
1 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
1-54073 1 day ago |
2-3594 2 days ago |
2-3363 2 days |
| 37559 |
pitmonticone author:pitmonticone |
feat(MeasureTheory/LpSeminorm): add `HasCompactSupport.memLp_of_enorm_bound` |
Add `HasCompactSupport.memLp_of_enorm_bound`: a bounded measurable function with compact support is in L^p. This is the `ENNReal`-valued version of `HasCompactSupport.memLp_of_bound`.
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Floris van Doorn
--- |
carleson
easy
t-measure-probability
|
19/0 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean |
1 |
1 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
1-54067 1 day ago |
1-79615 1 day ago |
1-79384 1 day |
| 37563 |
tb65536 author:tb65536 |
feat(NumberTheory/ArithmeticFunction/LFunction): Euler products are multiplicative |
This PR proves that Euler products of multiplicative functions are multiplicative.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
t-algebra
label:t-algebra$ |
17/3 |
Mathlib/NumberTheory/ArithmeticFunction/LFunction.lean |
1 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
1-54065 1 day ago |
1-76625 1 day ago |
1-76395 1 day |
| 37567 |
peabrainiac author:peabrainiac |
doc(Analysis/DifferentialForm): fix equations in docstrings |
Fix equations in the docstrings in `Mathlib.Analysis.DifferentialForm.VectorField`.
---
A lot of the equations in `Mathlib.Analysis.DifferentialForm.VectorField` contained an extra `\left(` preventing them from getting rendered in the documentation; see [here](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Calculus/DifferentialForm/VectorField.html). I've removed the extra `\left(`, adjusted the size of some of the remaining parentheses to make the equations more readable, and changed some of the shorter terms / equations to get rendered inline instead of in their own line each.
[](https://gitpod.io/from-referrer/)
|
documentation
t-analysis
|
32/34 |
Mathlib/Analysis/Calculus/DifferentialForm/VectorField.lean |
1 |
2 |
['github-actions', 'peabrainiac'] |
j-loreaux assignee:j-loreaux |
1-54064 1 day ago |
1-75952 1 day ago |
1-75721 1 day |
| 37570 |
pitmonticone author:pitmonticone |
feat(Topology/Instances/AddCircle): add Ioc analogues of lift and equiv lemmas |
Add Ioc analogues of existing AddCircle Ico lemmas:
- `liftIoc_eq_liftIco_of_ne`
- `coe_eq_coe_iff_of_mem_Ioc`
- `eq_coe_Ioc`
- `coe_equivIoc`
- `equivIoc_coe_of_mem`
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: James Sundstrom
Co-authored-by: Leo Diedering <[email protected]>
--- |
carleson
t-topology
easy
|
32/0 |
Mathlib/Topology/Instances/AddCircle/Defs.lean |
1 |
1 |
['github-actions'] |
loefflerd assignee:loefflerd |
1-54062 1 day ago |
1-73762 1 day ago |
1-73531 1 day |
| 37190 |
cjrl author:cjrl |
feat(Combinatorics): Set-Valued Pigeonhole Principle |
This PR contributes two theorems to combinatorics:
- `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle.
- `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle.
The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
41/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean |
2 |
12 |
['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux'] |
nobody |
1-53220 1 day ago |
1-53220 1 day ago |
7-55411 7 days |
| 37576 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries): connection between rename and subst |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
33/6 |
Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean |
2 |
3 |
['BryceT233', 'WenrongZou', 'github-actions'] |
nobody |
1-50541 1 day ago |
1-64362 1 day ago |
1-64131 1 day |
| 36832 |
KryptosAI author:KryptosAI |
chore(Data/Finset/Card): rename `pred_card_le_card_erase` to `sub_one_card_le_card_erase` |
## Summary
The name `pred_card_le_card_erase` suggests `Nat.pred` but the statement uses `- 1` (i.e., `Nat.sub 1`). Rename to `sub_one_card_le_card_erase` to match the actual statement.
A deprecated alias is added for backwards compatibility.
### Files changed
- `Mathlib/Data/Finset/Card.lean` — definition renamed + deprecated alias
- `Mathlib/Data/Finset/Powerset.lean` — reference updated
- `Mathlib/Combinatorics/Additive/SubsetSum.lean` — reference updated
- `Mathlib/Algebra/Polynomial/EraseLead.lean` — reference updated
Addresses the `Finset.pred_card_le_card_erase` item in #21584.
## AI disclosure
I used Claude Code to explore the codebase (finding all references to rename) and to draft the PR description. I reviewed and understand all changes — these are straightforward renames with a deprecated alias. |
new-contributor |
22/15 |
Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
5 |
['KryptosAI', 'Multramate', 'github-actions', 'ooovi'] |
nobody |
1-50368 1 day ago |
1-50426 1 day ago |
15-60523 15 days |
| 36889 |
KryptosAI author:KryptosAI |
feat(LinearAlgebra/Matrix/MoorePenrose): define the Moore-Penrose pseudo-inverse |
Defines `IsMoorePenroseInverse` and constructs the Moore-Penrose pseudo-inverse for matrices over `RCLike` fields. Closes #24787.
`Defs.lean` defines the predicate using the heterogeneous four-condition characterization from the issue, plus uniqueness for semigroups with `StarMul`.
`Basic.lean` constructs the inverse via orthogonal projection and `ker(f)ᗮ ≃ₗ range(f)`, then proves:
```lean
theorem exists_isMoorePenroseInverse (A : Matrix m n 𝕜) :
∃ (As : Matrix n m 𝕜), IsMoorePenroseInverse A As
def moorePenroseInverse (A : Matrix m n 𝕜) : Matrix n m 𝕜
lemma moorePenroseInverse_conjTranspose :
moorePenroseInverse (Aᴴ) = (moorePenroseInverse A)ᴴ
lemma moorePenroseInverse_eq_nonsing_inv (hA : IsUnit A) :
moorePenroseInverse A = A⁻¹
```
### AI disclosure
- **Gemini 2.5 Pro**: proof planning, initial code, edits
- **Claude Code (Opus 4.6)**: debugging, compilation, type-checking against mathlib4
I reviewed and directed all changes.
---
[](https://gitpod.io/from-referrer/) |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
402/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/MoorePenrose/Basic.lean,Mathlib/LinearAlgebra/Matrix/MoorePenrose/Defs.lean |
3 |
27 |
['KryptosAI', 'eric-wieser', 'github-actions', 'vihdzp'] |
ocfnash assignee:ocfnash |
1-50368 1 day ago |
1-50426 1 day ago |
12-83269 12 days |
| 37412 |
LLaurance author:LLaurance |
chore(Analysis): shorten proofs by removing steps |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
7/18 |
Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/ODE/PicardLindelof.lean |
4 |
7 |
['LLaurance', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
1-47685 1 day ago |
1-47685 1 day ago |
2-14153 2 days |
| 35197 |
j-loreaux author:j-loreaux |
feat: Hölder framework for `lp` spaces |
---
- [ ] depends on: #35152
- [ ] depends on: #35198
[](https://gitpod.io/from-referrer/)
|
t-analysis |
315/9 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/lpHolder.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Tactic/Linter/TextBased.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-35057 1 day ago |
1-69189 1 day ago |
1-69242 1 day |
| 31219 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): lemma about `IsBaseChange` under exact sequence |
In this lemma, we proved cokernel preserve `IsBaseChange S` and kernel preserve `IsBaseChange S` when `S` is flat.
Co-authored-by: Wang Jingting
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
173/0 |
Mathlib.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeRightExact.lean |
4 |
17 |
['Thmoas-Guan', 'chrisflav', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud'] |
mariainesdff assignee:mariainesdff |
1-27842 1 day ago |
1-27884 1 day ago |
25-6199 25 days |
| 31046 |
Thmoas-Guan author:Thmoas-Guan |
feat(Homology) : compatibility of map between `Ext` |
In this PR, we proved the compatibility of map between `Ext` induced by exact functor with
1: `mk_0` 2: `comp` 3: `extClass`
---
- [x] depends on: #31707
[](https://gitpod.io/from-referrer/) |
t-category-theory |
232/8 |
Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean |
5 |
43 |
['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
eric-wieser assignee:eric-wieser |
1-27489 1 day ago |
8-49484 8 days ago |
48-27994 48 days |
| 37462 |
grunweg author:grunweg |
chore: golf using gcongr |
Auditing occurrences of `mul_le_mul_of_nonneg_{left,right}` and `rpow_le_rpow` (not exhaustive).
---
[](https://gitpod.io/from-referrer/)
|
|
148/128 |
Archive/Imo/Imo1988Q6.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Order/Chebyshev.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/MeasureTheory/Covering/DensityTheorem.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Monotonicity.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean |
56 |
4 |
['github-actions', 'grunweg', 'leanprover-radar'] |
nobody |
1-24114 1 day ago |
1-24981 1 day ago |
3-23665 3 days |
| 36814 |
YaelDillies author:YaelDillies |
refactor(Combinatorics/SimpleGraph): no proof obligation in `rotate` |
If the walk doesn't go through the new vertex, return `nil` instead.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
44/31 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
8 |
8 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-23626 1 day ago |
1-23649 1 day ago |
15-7246 15 days |
| 29744 |
espottesmith author:espottesmith |
feat(Combinatorics): define directed hypergraphs |
This PR defines directed hypergraphs:
```
@[ext]
structure DiHypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The edge set -/
edgeSet : Set ((Set α) × (Set α))
/-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/
edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet
```
Additional definitions:
- tail/head stars and negative/positive stars
- some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty)
- Vertex and (hyper)edge adjacency
- isolated vertices
- empty and nonempty dihypergraphs
The design employed here is based off of #28613, but this PR does not depend on that one.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
395/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
1-23582 1 day ago |
1-23629 1 day ago |
59-6865 59 days |
| 37451 |
mathlib-splicebot author:mathlib-splicebot |
chore(Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean): automated extraction |
This PR was automatically created from PR #37449 by @dagurtomas via a [review comment](https://github.com/leanprover-community/mathlib4/pull/37449#discussion_r3017307958) by @dagurtomas. |
t-category-theory
maintainer-merge
|
21/0 |
Mathlib/CategoryTheory/EffectiveEpi/Preserves.lean |
1 |
4 |
['erdOne', 'github-actions', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
1-23561 1 day ago |
3-81065 3 days ago |
3-80834 3 days |
| 37588 |
Vierkantor author:Vierkantor |
feat(Linter/DocString): ignore Verso linter errors about links and LaTeX |
I went through [the weekly linting log](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/near/582485221) and found most of the warnings come from three sources. All of these are sensical syntax in our current Markdown dialect, and should be fixed automatically by a script, instead of manually. I expect after these changes we'll be down to hundreds of linter errors rather than two thousand.
* References [between square brackets] without a following link URL. Verso has different implementations for references depending on what kind they are, and since there are a thousand references we should be using a script to fix these.
* Autolinks: bare URLs or URLs between . Autolinks are intentionally not supported by Verso but replacing every `https://...` with `[https://...](https://...)` would be too noisy.
* LaTeX blocks: Verso does have TeX blocks but with an incompatible syntax. Better to fix it with a script.
I ended up using preprocessing in addition to postprocessing to filter out errors: using the error message we can determine whether it is a reference, but for errors caused by autolinks and LaTeX blocks I couldn't figure out how to do so easily: the information about the parse error does report a string position but this is always the last character of the docstring. So instead we modify the docstring before it is passed into Verso to get rid of the offending syntax.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
|
32/2 |
Mathlib/Tactic/Linter/DocString.lean |
1 |
1 |
['github-actions'] |
nobody |
1-22257 1 day ago |
1-22323 1 day ago |
1-22092 1 day |
| 31560 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Topology/Sion): the minimax theorem of von Neumann - Sion |
Prove `Sion.exists_isSaddlePointOn` :
Let X and Y be convex subsets of topological vector spaces E and F,
X being moreover compact,
and let f : X × Y → ℝ be a function such that
- for all x, f(x, ⬝) is upper semicontinuous and quasiconcave
- for all y, f(⬝, y) is lower semicontinuous and quasiconvex
Then inf_x sup_y f(x,y) = sup_y inf_x f(x,y).
The classical case of the theorem assumes that f is continuous,
f(x, ⬝) is concave, f(⬝, y) is convex.
As a particular case, one get the von Neumann theorem where
f is bilinear and E, F are finite dimensional.
We follow the proof of Komiya (1988).
## Remark on implementation
* The essential part of the proof holds for a function
`f : X → Y → β`, where `β` is a complete dense linear order.
* We have written part of it for just a dense linear order,
* On the other hand, if the theorem holds for such `β`,
it must hold for any linear order, for the reason that
any linear order embeds into a complete dense linear order.
Although the Dedekind McNeille completion (docs#DedekindCut) furnishes a complete lattice,
it is not dense in general, so that this result does not seem to be known to Mathlib yet.
* When `β` is `ℝ`, one can use `Real.toEReal` and one gets a proof for `ℝ`.
## TODO
Give particular important cases (eg, bilinear maps in finite dimension).
Co-authored with @ADedecker
---
- [x] depends on: #31548
- [x] depends on: #31547
- [x] depends on: #31558
[](https://gitpod.io/from-referrer/)
|
t-topology |
639/0 |
Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean,docs/references.bib |
6 |
44 |
['AntoineChambert-Loir', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'thorimur'] |
dwrensha, j-loreaux, kmill assignee:kmill assignee:dwrensha assignee:j-loreaux |
1-22129 1 day ago |
1-22285 1 day ago |
107-14282 107 days |
| 37505 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add lemma `SimpleGraph.length_cycleBypass_le` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
3/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
2 |
['Rida-Hamadani', 'github-actions'] |
nobody |
1-17555 1 day ago |
3-1360 3 days ago |
3-1129 3 days |
| 35405 |
xroblot author:xroblot |
feat(RamificationInertia): add `ramificationIdx_le_ramificationIdx` and `inertiaDeg_le_inertiaDeg` |
Assume that `Q` is over `P` that is over `p`. We prove that:
- `Ideal.ramificationIdx P Q ≤ Ideal.ramificationIdx p Q`
- `Ideal.inertiaDeg P Q ≤ Ideal.inertiaDeg p Q`
Note: These results also follow from [Ideal.ramificationIdx_algebra_tower](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.ramificationIdx_algebra_tower) and [Ideal.inertiaDeg_algebra_tower](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.inertiaDeg_algebra_tower) but they are proved here in a slightly more general situation.
---
- [x] depends on: #35483
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
24/0 |
Mathlib/NumberTheory/RamificationInertia/Inertia.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean |
2 |
9 |
['Multramate', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'xroblot'] |
MichaelStollBayreuth and alexjbest assignee:alexjbest assignee:MichaelStollBayreuth |
1-13993 1 day ago |
1-13993 1 day ago |
45-4351 45 days |
| 36954 |
FMLJohn author:FMLJohn |
feat(Topology/ClosedBases): `TopologicalSpace.IsClosedBasis` and `TopologicalSpace.IsClosedSubbasis s` |
In this pull request, I have defined closed bases and closed subbases of topologies, and proved some basic properties of them.
## Main definitions
* `TopologicalSpace.IsClosedBasis s`: A closed basis of a topological space `α` is a collection of closed sets `s : Set (Set α)` such that every closed subset of `α` can be written as an intersection of elements of `s`.
* `TopologicalSpace.IsClosedSubbasis s`: Given a topological space `α`, `s : Set (Set α)` is a closed subbasis if the topology on `α` equals `generateFrom { uᶜ | u ∈ s }`.
---
[](https://gitpod.io/from-referrer/) |
t-topology |
117/0 |
Mathlib.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ClosedBases.lean |
3 |
18 |
['github-actions', 'scholzhannah'] |
PatrickMassot assignee:PatrickMassot |
1-13289 1 day ago |
1-13289 1 day ago |
11-75059 11 days |
| 37564 |
Garmelon author:Garmelon |
chore: bump toolchain to v4.30.0-rc1 |
---
[](https://gitpod.io/from-referrer/)
|
|
706/488 |
Archive/Imo/Imo2024Q5.lean,Cache/IO.lean,Cache/Main.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCocone.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/AlgebraicTopology/DoldKan/Faces.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/AlgebraicTopology/Quasicategory/StrictSegal.lean,Mathlib/AlgebraicTopology/SimplexCategory/ToMkOne.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean,Mathlib/Analysis/Normed/Affine/Simplex.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean,Mathlib/CategoryTheory/Adjunction/FullyFaithful.lean,Mathlib/CategoryTheory/Adjunction/Limits.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Adjunction/Parametrized.lean,Mathlib/CategoryTheory/Adjunction/Triple.lean,Mathlib/CategoryTheory/Adjunction/Unique.lean,Mathlib/CategoryTheory/Adjunction/Whiskering.lean,Mathlib/CategoryTheory/Category/Pairwise.lean,Mathlib/CategoryTheory/ConcreteCategory/Basic.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackObjObj.lean,Mathlib/CategoryTheory/Limits/Shapes/RegularMono.lean,Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean,Mathlib/CategoryTheory/Monoidal/Bimod.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/Partrec.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Duplicate.lean,Mathlib/Data/List/Forall2.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/Sublists.lean,Mathlib/Data/List/Sym.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/String/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Sphere/Power.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/Lean/MessageData/Trace.lean,Mathlib/LinearAlgebra/FreeModule/Norm.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/RootSystem/Basic.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/Interval/Lex.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
159 |
20 |
['Garmelon', 'JovanGerb', 'Rob23oba', 'github-actions', 'kim-em', 'sgouezel'] |
nobody |
1-13181 1 day ago |
1-36566 1 day ago |
1-65192 1 day |
| 36991 |
Jun2M author:Jun2M |
feat(Order/Partition): add `Rel`, relation induced by partition on Set |
**Main changes:**
* **Set partition API**: Adds a `Set` section with various useful lemmas for working with partitions of sets.
* **Induced relation**: Defines `Partition.Rel`, a transitive and symmetric binary relation (partial equivalence relation) induced by a partition of a set.
Co-authored-by: Peter Nelson
---
- [x] depends on: #36574
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
103/0 |
Mathlib/Order/Partition/Basic.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-12601 1 day ago |
2-71552 2 days ago |
3-1727 3 days |
| 36951 |
mbkybky author:mbkybky |
feat(Algebra/Module): define stably free modules |
We define stably free modules: a module `M` over a commutative ring `R` is called stably free if there exists a finite free module `N` over `R` such that `M ⊕ N` is free.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
67/0 |
Mathlib.lean,Mathlib/Algebra/Module/StablyFree/Basic.lean |
2 |
3 |
['dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
1-12244 1 day ago |
1-12244 1 day ago |
13-46288 13 days |
| 35675 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/Smooth): some lemmas about formally smooth |
This PR mainly formalized the result [[Stacks 031L](https://stacks.math.columbia.edu/tag/031L)]
This is a preliminary of Cohen Structure Theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
290/0 |
Mathlib.lean,Mathlib/RingTheory/Smooth/Quotient.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean |
3 |
29 |
['Thmoas-Guan', 'github-actions', 'jcommelin', 'riccardobrasca'] |
erdOne, mattrobball, riccardobrasca assignee:riccardobrasca assignee:erdOne assignee:mattrobball |
1-11427 1 day ago |
2-5044 2 days ago |
36-82902 36 days |
| 36421 |
ROTARTSI82 author:ROTARTSI82 |
feat(RingTheory/IsAdjoinRoot): add mkOfAdjoinEqTop' |
Alternative hypothesis to existing theorem: prove the result from a `Module.Free `hypothesis instead of `IsIntegrallyClosed`. If `α` generates `S` as an algebra, then `S` is given by adjoining a root of `minpoly R α`.
---
Hello, we are the Algebraic Geometry group from the UW Math AI lab, and this is our first PR! This definition of `mkOfAdjoinEqTop'` generalizes the existing `mkOfAdjoinEqTop` and shows the result from `Module.Free` instead of `IsIntegrallyClosed`. It is used in future results that we would like to upstream at https://github.com/uw-math-ai/monogenic-extensions, which is a project to formalize lemmas 3.1 and 3.2 from https://arxiv.org/abs/2503.07846.
Co-authored-by: George Peykanu
Co-authored-by: Bryan Boehnke
Co-authored-by: Bianca Viray <[email protected]>
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-ring-theory
|
47/0 |
Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
2 |
5 |
['ROTARTSI82', 'artie2000', 'b-viray', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
1-11348 1 day ago |
25-55549 25 days ago |
25-55318 25 days |
| 37067 |
kbuzzard author:kbuzzard |
feat: add_group tactic |
Written by Claude Code, additivising the `group` tactic, although there were some problems which needed human input.
---
[](https://gitpod.io/from-referrer/)
This is me burning Claude credits as a result of this comment [#mathlib4 > MulAut and to_additive @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/MulAut.20and.20to_additive/near/581059625) .
To my amusement, naively additivising the `group` tactic to make an `add_group` tactic does not work. The problem is that the algorithm run by `group` involves adding `← zpow_neg_one` to the simp set, which rewrites `x⁻¹` to `x ^ (-1)` for `x` in any group. Amusingly, when additivised, this becomes `-x -> -1 • x` which then immediately becomes `(-1 • 1) • x` which then becomes `((-1 • 1) • 1) • x` etc etc, as the integers are themselves an additive group. Instead, Claude found the following trick: drop `← neg_one_zsmul` and `neg_one_zsmul_add`, and use `neg_add_rev` and `neg_zero` to reduce `-(a+b)` and `-0`, use `zsmul_neg` to reduce `n • (-a)` to `(-n) • a` and then use things like `add_neg_cancel_right` and `neg_add_cancel_right` to do `-b + b` and `b + -b` together with some new `zsmul_neg_trick` lemmas to deal with `(n • b) + -b` etc. The idea is to ensure that any consecutive chains of `b`'s and `-b`'s and `z • b`'s will all get amalgamated, but we cannot change `-b` to `-1 • b` so have to try harder than in the multiplicative case.
Here is a detailed (human-written!) explanation of the difference between `Tactic/AddGroup.lean` and the additivisation of `Tactic/Group.Lean`.
1) Note that the `zpow_trick` lemmas in `Tactic/Group.lean` are additivised, so we import `Group.lean` in `AddGroup.lean` to access these additivised lemmas.
2) `Mathlib.Algebra.Group.Commutator` has no additive version (and it's not clear that it should have one), so we don't use an additive version of `commutatorElement_def` (which expands `⁅g₁, g₂⁆` to `g₁ * g₂ * g₁⁻¹ * g₂⁻¹`). Note: that means that we cannot additivise a test.
3) Line 67 of the additive file uses `neg_add_rev, neg_zero, zsmul_neg, ← neg_zsmul,` as a workaround for the looping ` ← zpow_neg_one`.
4) `Int.mul_neg, Int.neg_mul` are dropped (they don't seem to be needed, all tests are passing, ring_nf is probably doing this.)
5) `sub_eq_add_neg` is added: people use subtraction in additive groups; division doesn't seem to be covered for multiplicative groups? So `add_group` can solve `a + b - b = a` but `group` cannot solve `a * b / b = a`.
***
There is also one fewer test in the `add_group` tests, as I had to remove the commutator test.
I don't know much at all about tactic-writing, the PR is all Claude code, but a lot of it is to_additive copypasta. The review of the code above is my own. |
t-meta
LLM-generated
|
183/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AddGroup.lean,MathlibTest/AddGroup.lean |
4 |
3 |
['github-actions', 'kbuzzard'] |
JovanGerb assignee:JovanGerb |
1-9167 1 day ago |
11-55347 11 days ago |
11-56359 11 days |
| 37571 |
harahu author:harahu |
doc(NumberTheory): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
24/11 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean,Mathlib/NumberTheory/NumberField/FractionalIdeal.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Inertia.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean |
9 |
1 |
['Multramate', 'github-actions'] |
tb65536 assignee:tb65536 |
1-8959 1 day ago |
1-72996 1 day ago |
1-72765 1 day |
| 37566 |
harahu author:harahu |
doc(Order): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
15/7 |
Mathlib/Order/Circular.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Filter/Defs.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Filter/Partial.lean,Mathlib/Order/Interval/Finset/Defs.lean |
7 |
1 |
['Multramate', 'github-actions'] |
nobody |
1-8845 1 day ago |
1-75983 1 day ago |
1-75752 1 day |
| 37569 |
j-loreaux author:j-loreaux |
feat: the Fuglede–Putnam–Rosenblum theorem for C⋆-algebras |
Let `A` be a C⋆-algebra, and let `a b x : A`. The Fuglede–Putnam–Rosenblum theorem states that if `a` and `b` are normal and `x` intertwines `a` and `b` (i.e., `SemiconjBy x a b`). Then `x` also intertwines `star a` and `star b`. Fuglede's original result was for `a = b` (i.e., if `x` commutes with `a`, then `x` also commutes with `star a`), and Putnam extended it to intertwining elements. Rosenblum later gave the elementary proof formalized here using Liouville's theorem.
A version of the Fuglede–Putnam theorem also holds for unbounded operators, but it necessitates a different proof technique and holds in different generality than the one given here.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
245/12 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Units.lean,Mathlib/Analysis/CStarAlgebra/Fuglede.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean |
7 |
1 |
['github-actions'] |
loefflerd assignee:loefflerd |
1-8600 1 day ago |
1-71797 1 day ago |
1-74108 1 day |
| 37248 |
harahu author:harahu |
doc(Tactic): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
documentation |
131/116 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/SimpIntro.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean |
17 |
1 |
['Multramate', 'github-actions'] |
nobody |
1-8572 1 day ago |
8-58505 8 days ago |
8-63971 8 days |
| 36220 |
harahu author:harahu |
doc(misc): update two theorem names |
- https://www.wikidata.org/wiki/Q1543149 carries the name "Sokhotski–Plemelj theorem"
- While https://www.wikidata.org/wiki/Q2226807 does carry the name "Vantieghems theorem", I assume the s is intended to be possessive, since the mathematician credited with the result is called Emmanuel Vantieghem.
---
[](https://gitpod.io/from-referrer/)
|
documentation |
2/2 |
docs/1000.yaml |
1 |
7 |
['dwrensha', 'github-actions', 'harahu'] |
nobody |
1-8463 1 day ago |
29-70022 29 days ago |
29-69791 29 days |
| 37550 |
pitmonticone author:pitmonticone |
feat(Topology/Order): add `nonempty_nhds_inter_Ioi` |
Add `nonempty_nhds_inter_Ioi`: a neighborhood of `x` has nonempty intersection with `Ioi x` when `x` is not a maximum.
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Leo Diedering <[email protected]>
Co-authored-by: Michael Rothgang
--- |
carleson
t-topology
|
8/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
3 |
['ADedecker', 'github-actions', 'pitmonticone'] |
urkud assignee:urkud |
1-7479 1 day ago |
1-7534 1 day ago |
1-72412 1 day |
| 37495 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Sum): add homomorphism, embedding and isomorphism of sums |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
58/2 |
Mathlib/Combinatorics/SimpleGraph/Sum.lean |
1 |
15 |
['IvanRenison', 'YaelDillies', 'github-actions', 'mkaratarakis'] |
nobody |
1-7422 1 day ago |
1-8573 1 day ago |
2-40355 2 days |
| 37393 |
SnirBroshi author:SnirBroshi |
refactor(Algebra/Order/Monoid/Unbundled/Defs): upgrade `*ReflectLE` from `abbrev`s to `class`es |
... to mitigate performance regression caused by #36629.
Currently these classes are an `abbrev` for `ContravariantClass` so when TC-search tries to synthesize them it ends up looking through all the `ContravariantClass` instances and not just the relevant ones.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/116290-rss/topic/Significant.20commits.20to.20mathlib4/near/582661644)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
60/56 |
Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
7 |
8 |
['JovanGerb', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'vihdzp'] |
nobody |
1-7257 1 day ago |
1-34464 1 day ago |
4-34453 4 days |
| 37597 |
pitmonticone author:pitmonticone |
feat(Analysis/SumIntegralComparisons): add sum-integral estimates for `x^k * exp(-cx)` |
Add bounds for sums and integrals of `x^k * exp(-cx)`:
- `intervalIntegral_pow_mul_exp_neg_le`
- `sum_Ico_pow_mul_exp_neg_le`
- `sum_Iic_pow_mul_exp_neg_le`
- `sum_Iic_pow_mul_two_pow_neg_le`
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Sébastien Gouëzel
--- |
carleson
t-analysis
large-import
|
67/0 |
Mathlib/Analysis/SumIntegralComparisons.lean |
1 |
2 |
['b-mehta', 'github-actions'] |
nobody |
1-5086 1 day ago |
1-7169 1 day ago |
1-6938 1 day |
| 37115 |
tb65536 author:tb65536 |
feat(RingTheory/Flat/Basic): `Submodule.toBaseChange` as a `LinearEquiv` |
If the extensions of rings is flat, then `Submodule.toBaseChange` becomes a `LinearEquiv`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
20/0 |
Mathlib/RingTheory/Flat/Basic.lean |
1 |
5 |
['github-actions', 'robin-carlier', 'tb65536'] |
nobody |
1-4097 1 day ago |
4-79088 4 days ago |
7-73917 7 days |
| 37400 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Acyclic): endpoints of a path have at most one neighbor in the path |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
15/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
2 |
['Rida-Hamadani', 'github-actions'] |
nobody |
1-2389 1 day ago |
4-48070 4 days ago |
4-47839 4 days |
| 34227 |
stepan2698-cpu author:stepan2698-cpu |
feat(Combinatorics/Schnirelmann): if sum of densities is at least one, the sumset covers the naturals |
Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
46/1 |
Mathlib/Combinatorics/Schnirelmann.lean |
1 |
15 |
['FLDutchmann', 'YaelDillies', 'YanYablonovskiy', 'github-actions', 'grunweg', 'kbuzzard', 'stepan2698-cpu'] |
b-mehta assignee:b-mehta |
1-2102 1 day ago |
1-46313 1 day ago |
72-72852 72 days |
| 37543 |
EtienneC30 author:EtienneC30 |
feat: lemmas related to setBernoulli |
`setBer(u, p)` only gives mass to families of sets contained in `u`, thus
`setBer(u, p) S = setBer(u, p) {s | s ∈ S ∧ s ⊆ u}`.
Add a `Measure.real` version of `setBernoulli_singleton`.
`setBer(∅, p) = Measure.dirac ∅`.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
28/0 |
Mathlib/Probability/Distributions/SetBernoulli.lean |
1 |
5 |
['DavidLedvinka', 'github-actions', 'kex-y'] |
kex-y assignee:kex-y |
1-1606 1 day ago |
2-6845 2 days ago |
2-6614 2 days |
| 33313 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Coloring/EdgeColoring): create a basic edge-coloring API |
---
Future work (which I'm working on):
- Relating degrees to edge-colorability (`G.maxDegree ≤ G.chromaticIndex`)
- [Vizing's theorem](https://en.wikipedia.org/wiki/Vizing%27s_theorem) (`G.chromaticIndex ≤ G.maxDegree + 1`)
- `chromaticIndex ⊤ = (if Even #V then #V - 1 else #V)`
- `[Infinite α] → chromaticIndex ⊤ = ⊤`
- [x] depends on: #33292
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
285/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean |
2 |
15 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ooovi'] |
nobody |
1-172 1 day ago |
2-4569 2 days ago |
12-73835 12 days |
| 36474 |
SmwYin author:SmwYin |
feat(NumberTheory/ModularForms/QExpansion): update qExpansion API for more general objects |
This PR generalises several lemmas from `ModularFormClass` and `ModularForm` to functions on the upper half plane that are periodic, holomorphic, and bounded at infinity. This allows us to study the _q_-expansion of functions such as `q * j`, where `j` denotes the _j_-function. The specialised `ModularFormClass` and `ModularForm` lemmas are retained as wrappers.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
329/195 |
Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/ModularForms/Petersson.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
5 |
24 |
['CBirkbeck', 'SmwYin', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-85871 23 hours ago |
3-6412 3 days ago |
3-6215 3 days |
| 37542 |
martinwintermath author:martinwintermath |
chore(LinearAlgebra/Dual): deprecate `Module.dualPairing` |
- deprecate `Module.dualPairing` (and associated lemmas) since merely synonym for identity (essentially always easier to just use `.id`, see next bullet point)
- remove use of deprecated lemmas
- remove from file doc-string
- generalize `dualPairing_nondegenerate` + rename to `id_nondegenerate`
- add accompanying `id_separatingLeft`, `id_separatingRight` and versions for `Dual.eval` (similar lemmas have also been proposed in #34487)
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
46/24 |
Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean |
4 |
3 |
['artie2000', 'github-actions'] |
nobody |
0-83607 23 hours ago |
2-3707 2 days ago |
2-3476 2 days |
| 34759 |
Hagb author:Hagb |
feat(RingTheory/MvPolynomial/MonomialOrder): add degree with `⊥` as degree of `0` |
`withBotDegree` is to distinguish the degree of zero polynomial from the degree of non-zero constant polynomial. `MonomialOrder.degree` of both are 0, while `withBotDegree` is `⊥` for zero polynomial and 0 for non-zero constant polynomial.
`MonomialOrder.withBotDegree` is to [`MonomialOrder.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=MonomialOrder.degree#doc) as [`Polynomial.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.degree#doc) is to [`Polynomial.natDegree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.natDegree#doc).
It's upstreamized from https://github.com/WuProver/groebner_proj.
---
It's upstream from [`Groebner/MonomialOrder.lean` in the repo `WuProver/groebner_proj`](https://github.com/WuProver/groebner_proj/blob/main/Groebner/MonomialOrder.lean).
- [x] ~~depends on: #34755~~
- [x] depends on: #34756
- [x] depends on: #34758
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
245/2 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
2 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-82226 22 hours ago |
0-83664 23 hours ago |
0-85530 23 hours |
| 34851 |
dennj author:dennj |
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations |
This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization:
- `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i`
- `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x`
- `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i`
These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). |
t-data
new-contributor
|
22/0 |
Mathlib/Data/Matrix/Mul.lean |
1 |
7 |
['dennj', 'eric-wieser', 'github-actions', 'themathqueen'] |
TwoFX assignee:TwoFX |
0-80705 22 hours ago |
58-69711 58 days ago |
58-69480 58 days |
| 34705 |
mpenciak author:mpenciak |
feat(RingTheory): Grassmannian functor |
This PR shows that the association `A → G(k, (A ⊗[R] M); A)` for an `R`-algebra `A` and `R`-module `M` forms a functor.
(AI disclosure: an early version of this PR was prepared with the help of Claude)
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
LLM-generated
large-import
|
138/2 |
Mathlib/LinearAlgebra/TensorProduct/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Grassmannian.lean |
3 |
12 |
['chrisflav', 'github-actions', 'mathlib-merge-conflicts', 'mpenciak', 'robin-carlier'] |
chrisflav assignee:chrisflav |
0-80339 22 hours ago |
0-83004 22 hours ago |
43-67590 43 days |
| 37245 |
DavidLedvinka author:DavidLedvinka |
feat(MeasureTheory): add Resolvent (Stieltjes/Cauchy) Transform |
This PR adds the definition of the `resolventTransform` of a measure and some API. This is a non-standard notion that generalizes both the Stieltjes Transform and Cauchy Transform of a (real-valued) measure so that (for example) the proof that these transforms define holomorphic functions off the support of the measure can be given for both at once. Perhaps these important special cases could be made into abbrevs?
- [ ] depends on: #37172
|
|
189/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-80041 22 hours ago |
0-80085 22 hours ago |
1-61379 1 day |
| 37592 |
erdOne author:erdOne |
feat: set up API for `ConvexSpace` |
We introduce `sConvexCombo` and the indexed version `iConvexCombo` as the main API for `ConvexSpace` and prove lemmas around the new definitions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
maintainer-merge
label:t-algebra$ |
452/133 |
Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/LinearAlgebra/ConvexSpace.lean,Mathlib/LinearAlgebra/ConvexSpace/AffineSpace.lean |
3 |
15 |
['YaelDillies', 'erdOne', 'github-actions'] |
nobody |
0-78691 21 hours ago |
1-8219 1 day ago |
1-9255 1 day |
| 35879 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): Add graph deletion operations |
This PR adds definitions and basic lemmas for deleting edges and vertices from a graph in Mathlib/Combinatorics/Graph/Delete.lean.
It introduces the following operations:
- `G ↾ F` (edgeRestrict): The subgraph of G restricted to the edges in F (vertices are preserved).
- `G \ F` (edgeDelete): The subgraph of G with the edges in F deleted.
- `G[X]` (induce): The subgraph of G induced by the set of vertices X.
- `G - X` (vertexDelete): The graph obtained from G by deleting the set of vertices X.
These definitions are accompanied by simp lemmas describing their edge sets, incidence relations, and basic properties such as monotonicity.
Co-authored-by: Peter Nelson [[email protected]](mailto:[email protected])
---
- [x] depends on: #26770
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
208/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Delete.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-76918 21 hours ago |
13-63018 13 days ago |
13-68972 13 days |
| 37614 |
ADedecker author:ADedecker |
feat: notation for `UniformConvergenceCLM` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
72/52 |
Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean |
1 |
1 |
['github-actions'] |
nobody |
0-75643 21 hours ago |
0-75714 20 hours ago |
0-75483 20 hours |
| 37399 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): `IsPath` and `Nil` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
10/3 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
4 |
['Rida-Hamadani', 'SnirBroshi', 'github-actions'] |
nobody |
0-75399 20 hours ago |
4-46510 4 days ago |
4-46423 4 days |
| 34182 |
IlPreteRosso author:IlPreteRosso |
refactor(Data/Finsupp): deprecate direct single ↔ Set.indicator shortcuts, add indicator_eq_set_indicator |
Routes Finsupp.single ↔ Set.indicator through Pi.single instead of direct shortcuts.
Adds `indicator_eq_set_indicator` bridging `Finsupp.indicator` and `Set.indicator` for non-dependent functions. Deprecates `single_eq_set_indicator` and `single_eq_indicator` — users should compose through `single_eq_pi_single` + `Set.indicator_singleton` instead. Golfs `single_eq_update` via `single_eq_pi_single`.
Continues #34083. |
t-data
new-contributor
|
27/19 |
Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean |
2 |
31 |
['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] |
TwoFX assignee:TwoFX |
0-75398 20 hours ago |
0-81659 22 hours ago |
73-50220 73 days |
| 37383 |
vihdzp author:vihdzp |
chore(SetTheory/Ordinal/FixedPointApproximants): simpler definition for `lfpApprox` |
We simplify the definition of `Ordinal.lfpApprox` - the old definition wasn't even simp-normal. We then golf the entire API using it.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
|
67/117 |
Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-74931 20 hours ago |
0-74954 20 hours ago |
4-10099 4 days |
| 37610 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): add `OrderBot` instance for `Graph` |
This PR adds an `OrderBot` instance for `Graph α β`, where the bottom element `⊥` is the empty graph (no vertices, no edges).
Co-authored-by: Peter Nelson [[email protected]](mailto:[email protected])
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
90/8 |
Mathlib/Combinatorics/Graph/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
0-74330 20 hours ago |
0-77019 21 hours ago |
0-77294 21 hours |
| 37327 |
ldct author:ldct |
feat: `Complex.tan, Complex.tanh` are meromorphic |
From `AlexKontorovich/PrimeNumberTheoremAnd` project
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
39/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Meromorphic.lean |
2 |
8 |
['github-actions', 'j-loreaux', 'ldct', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
0-73831 20 hours ago |
0-73884 20 hours ago |
2-74774 2 days |
| 37601 |
loefflerd author:loefflerd |
feat(Topology/Algebra/Group/Matrix): refactor; continuity of maps on GL(n) and SL(n) |
Show that the map `GL n R → GL n S` induced by a ring morphism `f : R → S` is continuous if `f` is (and similarly if `f` is inducing, embedding, or closed embedding). Also refactor and clean up `Topology/Algebra/Group/Matrix.lean`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
130/34 |
Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Group/Matrix.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/Maps/Basic.lean |
7 |
1 |
['github-actions'] |
nobody |
0-72467 20 hours ago |
0-72520 20 hours ago |
0-73615 20 hours |
| 37617 |
harahu author:harahu |
doc(FieldTheory): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
33/31 |
Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/FieldTheory/RatFunc/Basic.lean |
7 |
1 |
['github-actions'] |
nobody |
0-72027 20 hours ago |
0-72098 19 hours ago |
0-71867 19 hours |
| 35250 |
vlad902 author:vlad902 |
feat(SimpleGraph): redefine `cycleGraph` independent of `circulantGraph` |
Right now the `cycleGraph` definition relies on `circulantGraph` which requires importing Group definitions from the algebra hierarchy. This causes large-imports for me in later PRs where I try to make more widespread use of cycleGraphs, so here I redefine it to be its own independent object, and leave moving it from `Circulant.lean` to another PR (this is parallel to #35084.)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
10/10 |
Mathlib/Combinatorics/SimpleGraph/Circulant.lean |
1 |
5 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'vihdzp', 'vlad902'] |
nobody |
0-69924 19 hours ago |
50-10148 50 days ago |
50-9917 50 days |
| 36682 |
harahu author:harahu |
chore(Data): avoid lazy continuation in md lists |
We replace lazy continuation lines in lists with either:
- indented lines, to signify that the line is indeed a continuation line; or
- a newline, where the continuation line(s) were in fact intended to be disconnected from the list.
We do this because lazy continuation is a markdown footgun that one does well to avoid.
We also standardize indentation such that continuation lines now line up with the first line of the item they're continuing. This seems to be the solution enforced by markdown formatters, e.g. `mdformat`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
18/7 |
Mathlib/Data/Bracket.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/FlagRange.lean,Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Multiset/DershowitzManna.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Part.lean,Mathlib/Data/Stream/Defs.lean |
9 |
1 |
['github-actions'] |
joneugster assignee:joneugster |
0-69705 19 hours ago |
20-5285 20 days ago |
20-5054 20 days |
| 36571 |
harahu author:harahu |
doc(Combinatorics): fix typos |
Found by `PyCharm`'s code inspection tool. Fixes were made by Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
23/23 |
Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean,Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/Matroid/Circuit.lean,Mathlib/Combinatorics/Matroid/Map.lean,Mathlib/Combinatorics/Matroid/Minor/Contract.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,docs/references.bib |
14 |
4 |
['IvanRenison', 'github-actions', 'harahu'] |
nobody |
0-69593 19 hours ago |
22-59671 22 days ago |
22-59440 22 days |
| 37027 |
mike1729 author:mike1729 |
refactor(LocallyConvex,Topology): split WeakDual/WeakSpace and rename WeakBilin |
Reorganize the weak topology files for cleaner dependencies:
1. **Rename** `Analysis.LocallyConvex.WeakDual` → `Analysis.LocallyConvex.WeakBilin`:
This file contains only general `WeakBilin` infrastructure (`LinearMap.toSeminormFamily`,
`weakBilin_withSeminorms`, `WeakBilin.locallyConvexSpace`, etc.) with no reference to
`WeakDual`. The name now reflects the content.
2. **Split** `Topology.Algebra.Module.WeakDual` into `WeakDual` and `WeakSpace`:
The `WeakSpace` type, its instances, and `toWeakSpace`/`toWeakSpaceCLM` move to a new
`Topology.Algebra.Module.WeakSpace`. This allows downstream files about weak spaces
to avoid depending on `WeakDual`.
3. **Add** `WeakSpace.seminormFamily` and `WeakSpace.withSeminorms` to
`Analysis.LocallyConvex.WeakSpace`: The weak topology on `WeakSpace 𝕜 E` is generated
by the seminorm family `fun f x ↦ ‖f x‖` indexed by `StrongDual 𝕜 E`, via the general
`LinearMap.weakBilin_withSeminorms` applied to the flipped `topDualPairing`.
Moves:
- Mathlib.Analysis.LocallyConvex.WeakDual -> Mathlib.Analysis.LocallyConvex.WeakBilin
- WeakSpace -> Mathlib.Topology.Algebra.Module.WeakSpace
- toWeakSpace -> Mathlib.Topology.Algebra.Module.WeakSpace
- toWeakSpaceCLM -> Mathlib.Topology.Algebra.Module.WeakSpace
CC @j-loreaux
---
- [ ] depends on: #37314 |
new-contributor
file-removed
|
192/114 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/WeakBilin.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Algebra/Module/WeakSpace.lean |
6 |
5 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-69546 19 hours ago |
0-69549 19 hours ago |
9-27945 9 days |
| 33463 |
khwilson author:khwilson |
feat(Mathlib/Analysis/Polynomial/MahlerMeasure): Mahler Measure for other rings |
Define `mahlerMeasure'` which allows you specify a norm preserving map `v` from any `NormedRing A` (or more general) to `ℂ`. Also provide wrappers around the main `mahlerMeasure` lemmas that are used for estimation.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
maintainer-merge
|
98/5 |
Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/NumberTheory/MahlerMeasure.lean |
2 |
40 |
['github-actions', 'j-loreaux', 'khwilson', 'kim-em', 'plp127', 'vlad902'] |
nobody |
0-68824 19 hours ago |
1-8906 1 day ago |
1-13737 1 day |
| 36376 |
jessealama author:jessealama |
feat(SimpleGraph): bridge from Perm.IsCycle to IsHamiltonian |
This PR provides `IsHamiltonian.ofPerm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if σ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v → σ v` is an edge of `G`, then `G` is Hamiltonian.
### New definitions and lemmas
**`Mathlib/Combinatorics/SimpleGraph/Walks/Iterate.lean`** (new file):
- `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport`
- `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API
**`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**:
- `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s`
**`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**:
- `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers
**`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**:
- `edge_ne_of_isCycleOn`: edge distinctness for cycle-on permutations
- `IsHamiltonian.ofPerm`: the main theorem
- [ ] depends on: #36307 |
large-import |
264/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean |
7 |
36 |
['SnirBroshi', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-68530 19 hours ago |
0-68532 18 hours ago |
12-24163 12 days |
| 37380 |
tb65536 author:tb65536 |
feat(RingTheory/Localization/BaseChange): tensor product commutes with localizations |
This PR adds a few isomorphisms for tensor products commuting with localizations.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
53/0 |
Mathlib/RingTheory/Localization/BaseChange.lean |
1 |
5 |
['github-actions', 'robin-carlier'] |
nobody |
0-66367 18 hours ago |
0-66367 18 hours ago |
4-49723 4 days |
| 37104 |
tb65536 author:tb65536 |
feat(RingTheory/Flat/FaithfullyFlat/Basic): prove `IsNoetherian` and `IsArtinian` from faithfully flat base change |
This PR proves that if the base change of a module `M` along a faithfully flat ring homomorphism is Noetherian or Artinian, then so is `M`.
The file `Artinian/Module` has become rather heavy, so I split off a `Artinian/Defs` file to avoid the large import.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
121/39 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Artinian/Defs.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean |
5 |
2 |
['github-actions', 'robin-carlier'] |
nobody |
0-65632 18 hours ago |
0-65632 18 hours ago |
10-42577 10 days |
| 37312 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): Outer regular measures are determined by values on bounded open sets |
We proved that
- Every open set in a metric space is a countable union of bounded open sets.
- Outer regular measures are determined by values on bounded open sets.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
19/0 |
Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/MetricSpace/Bounded.lean |
2 |
2 |
['github-actions', 'kex-y'] |
kex-y assignee:kex-y |
0-65156 18 hours ago |
0-64970 17 hours ago |
7-13541 7 days |
| 37621 |
vasnesterov author:vasnesterov |
feat(Analysis/Asymptotics): if `u` is eventually positive and `u ~ v` then `v` is eventually positive |
Prove that if `u` is eventually positive and `u ~ v` then `v` is eventually positive.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
8/0 |
Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
0-65079 18 hours ago |
0-65704 18 hours ago |
0-65617 18 hours |
| 36385 |
CoolRmal author:CoolRmal |
feat: a sequential and countably compact space is sequentially compact |
The main result proved in this PR is that a sequential and countably compact space is sequentially compact. We also prove some lemmas:
1. If `f` is an embedding, then `A` is sequentially compact iff `f '' A` is sequentially compact. This result is then used to show the equivalence of `IsSeqCompact A` and `SeqCompactSpace A`.
2. If `f` is inducing, then `A` is countably compact iff `f '' A` is countably compact. This result is then used to show the equivalence of `IsCountablyCompact A` and `CountablyCompactSpace A`.
3. If `f` converges and `g` is another function such that `g x ∈ closure {f x}` for all `x`, then `g` also converges.
---
- [x] depends on: #36174
[](https://gitpod.io/from-referrer/)
|
t-topology |
145/13 |
Mathlib/Topology/Compactness/CountablyCompact.lean,Mathlib/Topology/Inseparable.lean,docs/references.bib |
3 |
26 |
['ADedecker', 'CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'scholzhannah'] |
PatrickMassot assignee:PatrickMassot |
0-64740 17 hours ago |
0-64766 17 hours ago |
5-62619 5 days |
| 37598 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Coloring): add lemmas about coloring and maps |
---
Idea from this Zulip thread: [graph theory>Second Order Monadic Logic for Graph](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
35/12 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
15 |
['IvanRenison', 'SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-bors'] |
b-mehta assignee:b-mehta |
0-64329 17 hours ago |
1-2400 1 day ago |
1-2490 1 day |
| 36657 |
BryceT233 author:BryceT233 |
feat(RingTheory): adds two lemmas on `Module.length` |
This PR adds two lemmas regarding the length of modules:
* `Submodule.length_le_restrictScalar` shows that the length of an $R$-submodule is less than or equal to its length as an $A$-submodule under scalar restriction.
* `Submodule.length_quotient_lt` shows that for a module of finite length, the length of a quotient module $M \big/ p$ is strictly less than the length of $M$ when the submodule $p$ is non-trivial.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
21/0 |
Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/Length.lean |
2 |
11 |
['BryceT233', 'Raph-DG', 'WenrongZou', 'github-actions', 'robin-carlier'] |
chrisflav assignee:chrisflav |
0-63417 17 hours ago |
0-63417 17 hours ago |
20-12954 20 days |
| 37347 |
JovanGerb author:JovanGerb |
feat: implementation of `@[use_set_notation]` |
This PR is the implementation part of #32983, without using the feature yet.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
261/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SetNotation.lean,MathlibTest/Delab/Subset.lean |
4 |
16 |
['github-actions', 'thorimur'] |
alexjbest and thorimur assignee:alexjbest assignee:thorimur |
0-62020 17 hours ago |
5-59751 5 days ago |
5-59520 5 days |
| 37526 |
SabrinaJewson author:SabrinaJewson |
feat(Order/ConditionallyCompleteLattice): Generalize and add cbiSup/cbiInf theorems |
Generalize some theorems concerning cbiSup (`⨆ i, ⨆ h : p i, f i h`) by removing superfluous `Nonempty` typeclasses and parameters. It would be nice to also remove the `BoundedAbove` typeclass, but this can only be done with linear orders because junk values of lattices are not currently specified[0].
[0]: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Moving.20.60csSup.60.20junk.20into.20.60ConditionallyCompleteLattice.60/near/583143345
In the absence of that, we provide the theorem `cbiSup_of_not_bddAbove` defining the junk values of `cbiSup` in the linear order case.
Add theorem `cbiSup_id`, showing that `⨆ i ∈ s, i = sSup s`.
Add theorem `cbiSup_eq_of_forall_not` as a counterpart to `cbiSup_eq_of_forall` when the condition is never true, and a corollary `cbiSup_empty` for the obvious empty set case.
Use the new theorems to shorten the proof of `cbiSup_eq_of_not_forall`.
Give proper names to the prime versions of `ciSup_subtype` and `ciInf_subtype`.
Moves:
- `ciSup_subtype'` -> `cbiSup_eq_ciSup_subtype`
- `ciInf_subtype'` -> `cbiInf_eq_ciInf_subtype`
- `ciSup_subtype''` -> `ciSup_subtype_fun`
- `ciInf_subtype''` -> `ciInf_subtype_fun`
---
Spun off from the theorems I needed in #37470. Let me know if I should split it up further.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
maintainer-merge
|
73/60 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,scripts/nolints_prime_decls.txt |
3 |
9 |
['SabrinaJewson', 'SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
0-60709 16 hours ago |
0-60518 16 hours ago |
2-58058 2 days |
| 37620 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): Add `Graph` intersection operations |
Adds `Mathlib/Combinatorics/Graph/InterUnion.lean`, which defines intersections of Graph α β values and proves the lattice structure induced by binary intersection. Following PR will add the union operations to this file.
## Main additions
- **`Graph.iInter`**: intersection of a nonempty indexed family of graphs. Vertices are the intersection of vertex sets; an edge is kept iff it is a link in every graph with a common pair of endpoints (pairwise compatibility is assumed where needed).
- **`Graph.sInter`**: Infimum of a nonempty `Set (Graph α β)`, defined via `iInter` on the subtype.
- **`Graph.inter`**: Binary intersection. Vertices are `V(G) ∩ V(H)`. Edges are those in both edge sets on which `G` and `H` agree on `IsLink` for all endpoint pairs; `IsLink` on the intersection is conjunction of the two `IsLink` predicates.
- Proof of `SemilatticeInf (Graph α β)`
Co-authored-by: Peter Nelson [[email protected]](mailto:[email protected])
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
149/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/InterUnion.lean |
2 |
5 |
['Jun2M', 'github-actions', 'vihdzp'] |
nobody |
0-60317 16 hours ago |
0-67674 18 hours ago |
0-67544 18 hours |
| 37624 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Maps): add theorems about composition |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
25/4 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
1 |
['github-actions'] |
nobody |
0-60269 16 hours ago |
0-60343 16 hours ago |
0-60112 16 hours |
| 37561 |
IvanRenison author:IvanRenison |
feat(Data/List): add lemma `List.notMem_subset` |
---
Zulip question: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/List.2EnotMem_subset/with/583146215
[](https://gitpod.io/from-referrer/)
|
t-data |
3/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-56689 15 hours ago |
1-79185 1 day ago |
1-78954 1 day |
| 37471 |
NoahW314 author:NoahW314 |
feat(RingTheory/MvPolynomial/MonomialOrder): add `leadingTerm_mul` lemma |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
7/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
7 |
['Hagb', 'Maldooor', 'NoahW314', 'WilliamCoram', 'github-actions'] |
nobody |
0-56255 15 hours ago |
3-43032 3 days ago |
3-42801 3 days |
| 26735 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): The codimension of a point of a scheme is equal to the krull dimension of the stalk |
In this PR we show that the codimension of a point in a scheme is equal to the krull dimension of the local ring at that point, as in stacks 02IZ.
---
The proof of the main result `stalk_dim_eq_coheight` is currently a bit long for my (and I suspect the broader community's) tastes. That said, I'm not quite sure the best way to break it into pieces, any comments would be very much appreciated!
- [x] depends on: #26204 [For the notion of codimension, here we are using the coheight in the specialization order. ]
- [x] depends on: #26225
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
148/0 |
Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Topology/Continuous.lean,Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean |
6 |
62 |
['Raph-DG', 'chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
adamtopaz and erdOne assignee:adamtopaz assignee:erdOne |
0-54222 15 hours ago |
9-85596 9 days ago |
55-59267 55 days |
| 37252 |
artie2000 author:artie2000 |
feat(Algebra/Group/Submonoid/Support): properties of submonoid support |
* Prove how the support of a submonoid interacts with various operations
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
50/1 |
Mathlib/Algebra/Group/Submonoid/Support.lean |
1 |
1 |
['github-actions'] |
eric-wieser assignee:eric-wieser |
0-54216 15 hours ago |
8-54349 8 days ago |
8-54118 8 days |
| 37279 |
imalinowskip author:imalinowskip |
feat(Probability): multivariate CLT (and Cramèr-Wold) |
Depends on #36208
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
672/0 |
Mathlib.lean,Mathlib/Probability/CramerWold.lean,Mathlib/Probability/MultivariateCentralLimitTheorem.lean |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
0-54215 15 hours ago |
0-75453 20 hours ago |
0-75222 20 hours |
| 37313 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): Fatou's lemma for countably generated filters |
---
- [ ] depends on: #37296
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
37/4 |
Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/Order/LiminfLimsup.lean |
2 |
6 |
['ADedecker', 'CoolRmal', 'github-actions', 'mathlib-dependent-issues'] |
kex-y assignee:kex-y |
0-54214 15 hours ago |
0-67491 18 hours ago |
0-67481 18 hours |
| 37478 |
YaelDillies author:YaelDillies |
chore(Order): make `CompleteDistribLattice.MinimalAxioms.of` semireducible |
This is part of the greater discussion about whether we should make all `def`s appearing in instances `implicit_reducible`. I believe the answer in this case is pretty clearly yes sinced the sole purpose of `CompleteLattice.MinimalAxioms` is to build instances.
From APAP
---
[](https://gitpod.io/from-referrer/)
|
t-order |
2/0 |
Mathlib/Order/CompleteBooleanAlgebra.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
0-54211 15 hours ago |
1-19069 1 day ago |
1-20413 1 day |
| 37537 |
grunweg author:grunweg |
feat: continuousLinearMapAt_apply_of_mem |
Also mark `(Pre)Trivialization.coe_linearMapAt_of_mem` simp. From #36036, i.e. the path towards Ehresmann connections.
Co-authored by: Patrick Massot
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-topology
|
18/21 |
Mathlib/Geometry/Manifold/Riemannian/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Riemannian.lean,Mathlib/Topology/VectorBundle/Basic.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
4 |
4 |
['github-actions', 'grunweg', 'leanprover-radar'] |
ocfnash assignee:ocfnash |
0-54211 15 hours ago |
2-8009 2 days ago |
2-7822 2 days |
| 37538 |
harahu author:harahu |
doc(Probability): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
7/4 |
Mathlib/Probability/Independence/InfinitePi.lean,Mathlib/Probability/Kernel/Category/SFinKer.lean,Mathlib/Probability/Kernel/Category/Stoch.lean,Mathlib/Probability/Notation.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/Probability/StrongLaw.lean |
6 |
1 |
['Multramate', 'github-actions'] |
kex-y assignee:kex-y |
0-54210 15 hours ago |
2-13661 2 days ago |
2-13430 2 days |
| 37552 |
pitmonticone author:pitmonticone |
feat(MeasureTheory/BorelSpace): add `measurable_iSup_of_lowerSemicontinuous` |
Add `measurable_biSup_of_continuousOn`: the supremum of a family of measurable functions parameterized by a separable pseudometric space is measurable, provided the family is continuous on the parameter set.
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Jeremy Tan Jie Rui
--- |
carleson
t-measure-probability
|
25/0 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean |
1 |
9 |
['CoolRmal', 'github-actions', 'grunweg', 'pitmonticone'] |
kex-y assignee:kex-y |
0-54209 15 hours ago |
1-13812 1 day ago |
1-82338 1 day |
| 37583 |
huaizhangchu author:huaizhangchu |
feat(Probability): add mean and variance of Poisson distribution |
This PR adds the mean and variance of the Poisson distribution over ℕ.
### Main results
- `poissonMeasure_mean`: the mean of `poissonMeasure r` equals `r`
- `poissonMeasure_moment_two`: the second moment equals `r² + r`
- `poissonMeasure_variance`: the variance equals `r`
### Implementation notes
The moments are computed via descending factorial moments. We first prove `hasSum` lemmas for `E[X]` and `E[X(X-1)]`, then obtain `E[X²] = E[X(X-1)] + E[X] = r² + r`, from which the variance follows.
### Related lemmas
- `hasSum_poissonMeasure_nat`: weighted sum for the mean
- `hasSum_poissonMeasure_descFactorial_two`: weighted sum for the second descending factorial moment
- `hasSum_poissonMeasure_sq`: weighted sum for the second moment
- `memLp_two_nat_poissonMeasure`: integrability condition for variance |
t-measure-probability
large-import
new-contributor
|
100/0 |
Mathlib/Probability/Distributions/Poisson/Basic.lean |
1 |
2 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
0-54208 15 hours ago |
1-48001 1 day ago |
1-47770 1 day |
| 37587 |
joelriou author:joelriou |
feat(CategoryTheory/Monoidal): use to_additive for the Yoneda embedding of group objects |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
74/27 |
Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean |
1 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
0-54206 15 hours ago |
1-24216 1 day ago |
1-23985 1 day |
| 37615 |
harahu author:harahu |
fix(GroupTheory): avoid unintentional list item continuation lines |
Currently, all of the sentence fragments that we're separating with a newline are rendering as part of the preceding list item. The addition of these newlines renders the sentence fragments as a separate paragraph following the list.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
5/0 |
Mathlib/GroupTheory/Descent.lean |
1 |
1 |
['github-actions'] |
tb65536 assignee:tb65536 |
0-54204 15 hours ago |
0-73029 20 hours ago |
0-72798 20 hours |
| 37584 |
kennethgoodman author:kennethgoodman |
feat(Data/Nat/Fib): formalize Lamé's theorem |
## Summary
Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory.
**Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`.
### New definitions
- `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs.
### New theorems
- `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count.
- `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input.
- `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`.
### Proof strategy
Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm.
### References
- Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844.
---
### AI usage disclosure
Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps.
---
- [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`)
- [x] no `sorry`
- [x] lines ≤ 100 characters, no trailing whitespace
- [x] `autoImplicit false`
- [x] docstrings on all public declarations |
new-contributor |
148/0 |
Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml |
5 |
20 |
['github-actions', 'kennethgoodman', 'vihdzp'] |
nobody |
0-48610 13 hours ago |
0-48365 13 hours ago |
0-53968 14 hours |
| 35813 |
joelriou author:joelriou |
feat(Algebra/Homology): a factorization lemma |
In this PR, we show that if `f : K ⟶ L` is a morphism between bounded below cochain complexes in an abelian category with enough injectives, then there exists a factorization `ι ≫ π = f` with `ι : K ⟶ K'` a monomorphism that is also a quasi-isomorphism and `π : K' ⟶ L` a morphism which degreewise is an epimorphism with an injective kernel, while `K'` is also bounded below (with precise bounds depending on the available bounds for `K` and `L`).
This will be an essential result towards the construction of the Quillen model category structure on bounded below cochain complexes in an abelian category with enough injectives, and it will be used in order to construct the total right derived functor of a (right exact) functor.
---
(This is an attempt at cleaning up the code in https://github.com/joelriou/mathlib4/blob/jriou_localization/Mathlib/Algebra/Homology/Factorizations/CM5a.lean)
- [x] depends on: #36931
- [x] depends on: #36593
- [x] depends on: #35931
- [x] depends on: #35939
- [x] depends on: #35929
- [x] depends on: #35930
- [x] depends on: #35932
- [x] depends on: #35934
- [x] depends on: #35935
- [x] depends on: #35936
- [x] depends on: #35937
- [x] depends on: #35938
[](https://gitpod.io/from-referrer/)
|
t-category-theory
maintainer-merge
|
237/15 |
Mathlib/Algebra/Homology/Factorizations/CM5a.lean |
1 |
9 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
0-48425 13 hours ago |
6-4568 6 days ago |
6-4338 6 days |
| 37625 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors |
This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`.
New results:
- `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants
- `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors
- `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors
--- |
t-algebra
new-contributor
label:t-algebra$ |
121/1 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
4 |
['eric-wieser', 'github-actions'] |
nobody |
0-48169 13 hours ago |
0-48224 13 hours ago |
0-58073 16 hours |
| 36320 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics): add Schreier graph definition and covering property |
Defines Schreier graphs as quivers with labeled edges.
`SchreierGraph V ι`: type alias for vertices with quiver structure
`schreierGraphLabelling`: prefunctor extracting edge labels
`schreierGraphLabelling_isCovering`: the labelling is a covering for group actions
`schreierGraph_action_commute`: label-preserving maps commute with the action
Ported from [Lean 3 PR #18693](https://github.com/leanprover-community/mathlib3/pull/18693).
This PR was written with AI assistance (Claude). The code has been reviewed by the author and their advisor.
---
This is the first in a series of PRs splitting #35467 into smaller pieces, as suggested by reviewers. Upcoming PRs will add word evaluation, paths, connectivity, automorphisms, examples, and Cayley sum graphs.
|
t-combinatorics
new-contributor
LLM-generated
|
180/0 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Schreier.lean,docs/references.bib |
3 |
33 |
['AntoineChambert-Loir', 'YaelDillies', 'ZRTMRH', 'github-actions'] |
nobody |
0-45585 12 hours ago |
1-5055 1 day ago |
19-64971 19 days |
| 34093 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas |
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
297/0 |
Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
4 |
5 |
['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
0-44995 12 hours ago |
1-76454 1 day ago |
56-71510 56 days |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
2 |
['github-actions'] |
nobody |
0-43613 12 hours ago |
1-6859 1 day ago |
1-8402 1 day |
| 37612 |
dupuisf author:dupuisf |
feat(ContinuousFunctionalCalculus): add integral representation for `x ↦ x ^ p` for `p ∈ (1, 2)` |
This PR adds an integral representation for the function `x ↦ x ^ p` for `p ∈ (1, 2)`. We already have an analogous representation for `p ∈ (0, 1)`. This will later be used to show that this function is operator convex in that range.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
159/9 |
Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean |
1 |
2 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
0-36109 10 hours ago |
0-77921 21 hours ago |
0-77690 21 hours |
| 37500 |
Thmoas-Guan author:Thmoas-Guan |
refactor(RingTheory/Ideal/Heoght): minimize usages of `Ideal.primeHeight` and add lemma for `minimalPrimes` |
1: `minimalPrimes` is prime
2: deprecate and private almost all `primeHeight` APIs
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
171/154 |
Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Colon.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean |
6 |
6 |
['Thmoas-Guan', 'erdOne', 'github-actions'] |
nobody |
0-32528 9 hours ago |
1-12369 1 day ago |
3-5282 3 days |
| 37475 |
euprunin author:euprunin |
chore: golf proofs |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `✅️ LinearMap.IsSymmetric.orthogonalComplement_iSup_eigenspaces_eq_bot`: unchanged 🎉
* `✅️ LinearOrder.strong_induction_of_finite`: unchanged 🎉
* `✅️ ProbabilityTheory.poissonPMFRealSum`: 140 ms before, <30 ms after 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
6/29 |
Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean |
3 |
12 |
['euprunin', 'felixpernegger', 'github-actions', 'grunweg'] |
nobody |
0-29965 8 hours ago |
0-29965 8 hours ago |
0-37173 10 hours |
| 37605 |
Parcly-Taxel author:Parcly-Taxel |
feat: pushing `Lattice` and predecessors through `Equiv` |
|
maintainer-merge |
91/0 |
Mathlib/Logic/Equiv/Defs.lean,Mathlib/Order/Lattice.lean |
2 |
4 |
['Parcly-Taxel', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
0-29018 8 hours ago |
0-83590 23 hours ago |
0-83359 23 hours |
| 31425 |
robertmaxton42 author:robertmaxton42 |
feat(Topology): implement delaborators for non-standard topology notation |
Add delaborators for unary and binary notation related to non-standard topologies in the TopologicalSpace namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
265/5 |
Mathlib.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/DelabNonCanonical.lean,MathlibTest/Delab/TopologicalSpace.lean |
4 |
49 |
['eric-wieser', 'github-actions', 'j-loreaux', 'jcommelin', 'kckennylau', 'robertmaxton42'] |
alreadydone assignee:alreadydone |
0-29008 8 hours ago |
1-5269 1 day ago |
114-37876 114 days |
| 36896 |
PieterCuijpers author:PieterCuijpers |
feat (Algebra/Order/Quantale): isMulIdempotent, isMulLeftsided, isMulRightsided, isMulTwosided and strict versions |
* Adding definitions of quantale elements being idempotent, leftsided, rightsided, and twosided, and strict versions
I'd value some discussion on whether especially the definition of isMulIdempotent would belong here, since
it applies to semigroups in general. I only see definitions of IdempotentOp in the library so far, focussing on
operators that are fully idempotent, while in the study of Quantales it seems that subquantales of elements
that are idempotent in the original are also interesting. This argues the need for having definitions on
separate elements.
Also, should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them?
And I have a few basic theorems I would like to include, but invite suggestions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
81/1 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
4 |
['NoahW314', 'github-actions'] |
kim-em assignee:kim-em |
0-27755 7 hours ago |
15-19912 15 days ago |
15-19681 15 days |
| 37506 |
wwylele author:wwylele |
feat(Analysis/InnerProductSpace): singleton basis for 1d space |
This was brought up in #36462. Similar to existing `FiniteDimensional.basisSingleton`, this provides a OrthonormalBasis version.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
47/3 |
Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Diam.lean,Mathlib/Logic/Basic.lean |
5 |
20 |
['eric-wieser', 'github-actions', 'loefflerd', 'themathqueen', 'wwylele'] |
loefflerd assignee:loefflerd |
0-26702 7 hours ago |
0-65955 18 hours ago |
2-56760 2 days |
| 37533 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): Lemmata for reproducing kernels |
---
These are several lemmata regarding pointwise properties of reproducing kernels.
`norm_le_sq_norm_mul_diag` and `norm_sq_le_norm_mul_diag` follow from Cauchy-Schwartz on `kerFun` but are expressed in terms of the kernel. The names contain `diag` because a kernel is an infinite dimension matrix and thus `kernel H x x` and `kernel H y y` are diagonal elements.
`zero_row_iff_zero_diag` and `zero_col_iff_zero_diag` have the same proof. One implies the other due to the kernel being Hermitian.
AI:
I wrote the proofs myself, and then asked Claude to compact them because they were too long and I could see that they could be shortened. It gave some good suggestions but mostly broke the proofs, so fixed and compacted it myself (taking into account its useful suggestions).
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
21/0 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean |
1 |
13 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
0-26365 7 hours ago |
2-8358 2 days ago |
2-21398 2 days |
| 32807 |
WilliamCoram author:WilliamCoram |
feat: Define the Gauss norm for MvPowerSeries |
We adjust the current definition for Gauss norm on power series to work for multivariate power series.
If this seems acceptable I can refactor the single variable case.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
124/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
2 |
28 |
['Multramate', 'WilliamCoram', 'erdOne', 'fbarroero', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
erdOne assignee:erdOne |
0-25607 7 hours ago |
0-39785 10 hours ago |
63-12349 63 days |
| 37046 |
justus-springer author:justus-springer |
feat(CategoryTheory/Triangulated): Generators in triangulated categories |
Define strong and classical generators in triangulated categories. See also the [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generators.20in.20triangulated.20categories/with/573268390).
---
- [x] depends on: #37080
- [x] depends on: #37081
- [x] depends on: #37083
- [x] depends on: #37085
- [x] depends on: #37090
- [x] depends on: #37442
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
259/0 |
Mathlib.lean,Mathlib/CategoryTheory/ObjectProperty/ClosureShift.lean,Mathlib/CategoryTheory/Triangulated/Generators.lean,docs/references.bib |
4 |
18 |
['github-actions', 'joelriou', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
0-24015 6 hours ago |
0-23910 6 hours ago |
4-3659 4 days |
| 37586 |
sgouezel author:sgouezel |
chore: remove a `backward.inferInstanceAs.wrap false` |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
maintainer-merge
|
2/3 |
Mathlib/NumberTheory/LucasLehmer.lean |
1 |
3 |
['MichaelStollBayreuth', 'github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-23886 6 hours ago |
1-31368 1 day ago |
1-31137 1 day |
| 37599 |
sgouezel author:sgouezel |
chore: use `inferInstanceAs` to define the distance on padic integers |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
maintainer-merge
|
1/2 |
Mathlib/NumberTheory/Padics/PadicIntegers.lean |
1 |
3 |
['MichaelStollBayreuth', 'github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-23832 6 hours ago |
1-2854 1 day ago |
1-2623 1 day |
| 35912 |
WenrongZou author:WenrongZou |
feat(RingTheory/FormalGroup): definition and examples of formal group |
---
Definition of one dimensional formal group law over commutative ring and some examples of formal group law.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
241/0 |
Mathlib.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Ring/NamePowerVars.lean,docs/references.bib |
6 |
36 |
['Multramate', 'WenrongZou', 'artie2000', 'erdOne', 'github-actions', 'jcommelin', 'wwylele'] |
erdOne, jcommelin, mattrobball assignee:jcommelin assignee:erdOne assignee:mattrobball |
0-23495 6 hours ago |
0-23277 6 hours ago |
21-22114 21 days |
| 37045 |
edegeltje author:edegeltje |
feat(CategoryTheory/Limits): Pullback squares in cartesian monoidal categories |
This PR adds various lemmas about standard pullback squares in categories with chosen finite products.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
357/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/CartesianMonoidal.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean |
3 |
34 |
['FernandoChu', 'dagurtomas', 'edegeltje', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
0-23358 6 hours ago |
0-23358 6 hours ago |
9-69337 9 days |
| 37480 |
erdOne author:erdOne |
feat(AlgebraicTopology): homology of contractible spaces |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology |
62/4 |
Mathlib/AlgebraicTopology/SingularHomology/HomotopyInvarianceTopCat.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean |
2 |
16 |
['FernandoChu', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou'] |
dagurtomas assignee:dagurtomas |
0-22797 6 hours ago |
1-21801 1 day ago |
2-27889 2 days |
| 36849 |
mike1729 author:mike1729 |
feat(Analysis/Normed/Module/SchauderBasis): basic sequences and Grünblum criterium |
This PR introduces the theory of basic sequences in Banach spaces, following Albiac–Kalton. Defines basic sequences in normed spaces, and prove the classical Grünblum criterium for recognizing them.
New definitions (in BasicSequence.lean)
- `BasicSequence`: a bundled ℕ-indexed sequence forming a Schauder basis for its algebraic span, with finite projection bound.
- `SatisfiesGrunblumCondition`: partial sums over initial segments are bounded by a constant times the full sum.
Main results
- `SatisfiesGrunblumCondition.basicSequence`: a nonzero sequence satisfying the Grünblum condition is a basic sequence.
- `SatisfiesGrunblumCondition.linearIndependent`: nonzero sequences satisfying that condition are linearly independent.
---
- follow up to : #34209
- blocks : #35473
The next planned PRs:
- general selection principle for basic sequences
- characterization when a set contains a basic sequence in terms of weak closure and compactness
- Eberlein–Šmulian theorem
- weakly compact subsets of a Banach space are Fréchet–Urysohn spaces
[](https://gitpod.io/from-referrer/) |
file-removed
t-analysis
new-contributor
|
253/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/SchauderBasis/Basic.lean,Mathlib/Analysis/Normed/Module/SchauderBasis/BasicSequence.lean |
3 |
2 |
['github-actions'] |
sgouezel assignee:sgouezel |
0-21986 6 hours ago |
7-67505 7 days ago |
16-17016 16 days |
| 36677 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Partrec): add computability of Nat.find |
This PR bridges `Partrec.rfind` with total unbounded search (`Nat.find`).
It adds: `Computable.find`: Proves that `x ↦ Nat.find (h_ex x)` is computable for a computable decidable predicate `P`. |
t-computability
new-contributor
maintainer-merge
|
15/0 |
Mathlib/Computability/Halting.lean |
1 |
16 |
['AlexeyMilovanov', 'Komyyy', 'bryangingechen', 'github-actions', 'vlad902'] |
nobody |
0-20355 5 hours ago |
1-84909 1 day ago |
19-58102 19 days |
| 37386 |
gasparattila author:gasparattila |
chore: call `dsimp` in the default tactic of `ContinuousLinearMap` |
---
This will also reduce the breakage in https://github.com/leanprover-community/mathlib4/pull/35548.
[](https://gitpod.io/from-referrer/)
|
t-topology |
33/76 |
Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/Notation.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Distributions/Gaussian/IsGaussianProcess/Basic.lean,Mathlib/Probability/Distributions/Gaussian/IsGaussianProcess/Independence.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/LinearMapCompletion.lean,Mathlib/Topology/Algebra/Module/Alternating/Topology.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/Star.lean,Mathlib/Topology/Algebra/Star/LinearMap.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousMap/Algebra.lean,Mathlib/Topology/ContinuousMap/Ideals.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean |
36 |
5 |
['gasparattila', 'github-actions', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
0-19928 5 hours ago |
2-82809 2 days ago |
2-86395 2 days |
| 36388 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
72/3 |
Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean |
1 |
13 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
0-19388 5 hours ago |
3-42010 3 days ago |
21-49903 21 days |
| 37622 |
jano-wol author:jano-wol |
feat: trace-nilpotency criterion |
Trace-nilpotency criterion
---
This PR proves that over an algebraically closed field of characteristic zero, given subspaces `A ≤ B` of `Module.End K V` and the set `M A B = {x | ∀ b ∈ B, ⁅x, b⁆ ∈ A}`, any `x ∈ M A B` satisfying `tr (x * y) = 0` for all `y ∈ M A B` is nilpotent.
Cartan's criterion proof overview following Humphreys, Ch. 4, pp. 31–32. We plan to deliver the proof in 3 steps:
1. This PR: Prove the trace-nilpotency criterion over algebraically closed fields. Uses Jordan–Chevalley decomposition, Lagrange interpolation.
2. Remove the algebraic closure assumption by scalar extension.
3. Prove Cartan's criterion by Engel's theorem + PR 2. This is the easiest out of the three steps.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
279/0 |
Mathlib.lean,Mathlib/Algebra/Lie/AdjointAction/JordanChevalley.lean,Mathlib/Algebra/Lie/NilpotentOfTrace.lean |
3 |
1 |
['github-actions'] |
nobody |
0-18515 5 hours ago |
0-64757 17 hours ago |
0-64526 17 hours |
| 36399 |
chrisflav author:chrisflav |
feat(RingTheory/Flat): finite flat algebra is trivial if rank is equal to `1` |
From Pi1.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
|
168/3 |
Mathlib.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RingTheory/Flat/Rank.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/TensorProduct/Maps.lean |
6 |
11 |
['chrisflav', 'github-actions', 'riccardobrasca', 'robin-carlier'] |
alreadydone assignee:alreadydone |
0-14864 4 hours ago |
1-10620 1 day ago |
25-83366 25 days |
| 32058 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): category version Baer criterion |
In this PR, we added the cateory version of Baer criterion stating that `M` is injective iff `Ext^1(R/I, M)` vanish for all ideal I.
---
- [ ] depends on: #36980
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
label:t-algebra$ |
131/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Baer.lean,Mathlib/Algebra/Exact.lean |
3 |
23 |
['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
0-11702 3 hours ago |
0-11705 3 hours ago |
13-23796 13 days |
| 37613 |
ADedecker author:ADedecker |
chore: move files to new `Topology.Algebra.Module.Spaces` subfolder |
- `PointwiseConvergence` -> `Spaces.PointwiseConvergenceCLM`
- `WeakBilin` -> `Spaces.WeakBilin`
- `WeakDual` -> `Spaces.WeakDual`
- `CharacterSpace` -> `Spaces.CharacterSpace`
I don't yet know if the same should be done for the topologies on spaces of multilinear/alternating maps, which are in their own subfolders for now.
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-topology
|
17/17 |
Mathlib.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/Spaces/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakBilin.lean,Mathlib/Topology/Algebra/Module/Spaces/WeakDual.lean,Mathlib/Topology/ContinuousMap/Ideals.lean |
15 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-10075 2 hours ago |
0-10098 2 hours ago |
0-25380 7 hours |
| 37623 |
IvanRenison author:IvanRenison |
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` |
Co-authored-by: SnirBroshi <[email protected]>
---
Missing of this theorems noticed by @SnirBroshi in #37598
[](https://gitpod.io/from-referrer/)
|
t-order |
18/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
0-9939 2 hours ago |
0-60665 16 hours ago |
0-60434 16 hours |
| 37557 |
vihdzp author:vihdzp |
feat: `Iic 2 = {0, 1, 2}` |
---
[](https://gitpod.io/from-referrer/)
|
t-order |
20/4 |
Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/SuccPred.lean,Mathlib/SetTheory/Ordinal/Basic.lean |
3 |
2 |
['artie2000', 'github-actions'] |
nobody |
0-8879 2 hours ago |
1-84669 1 day ago |
1-84438 1 day |
| 36743 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): introduce `GraphLike` typeclass |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR introduces the `GraphLike` typeclass to capture the notions like `dart` and `walk` across various graph objects, such as `SimpleGraph`, `Graph`, and `Digraph`.
The goal is that by abstracting these core components into a typeclass, we can prove these results once for all graph-like structures rather than duplicating them across different graph types.
This PR generalises #35776 to also unify `Graph`.
### Main definitions
* `GraphLike α β Gr`: A typeclass parameterized by a vertex type `α`, dart type `β` and a graph type `Gr` (with `α` as an `outParam`).
* `GraphLike.verts : Set α`: The set of vertices of the graph.
* `GraphLike.darts : Set β`: The set of darts of the graph.
* `GraphLike.Adj : α → α → Prop`: The adjacency relation, defined by default as `Nonempty (darts G u v)`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
281/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/GraphLike.lean,Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/SimpleGraph/GraphLike.lean |
4 |
42 |
['IvanRenison', 'Jun2M', 'SnirBroshi', 'github-actions', 'lauramonk', 'mathlib-merge-conflicts'] |
nobody |
0-8164 2 hours ago |
13-62872 13 days ago |
18-32467 18 days |
| 37560 |
pitmonticone author:pitmonticone |
feat(MeasureTheory/LpSpace): add `ContinuousMap.memLp` |
Add `ContinuousMap.memLp`: a continuous function on a compact space is in L^p.
Upstreamed from the [Carleson](https://github.com/fpvandoorn/carleson) project.
Co-authored-by: Leo Diedering <[email protected]>
--- |
carleson
easy
t-measure-probability
maintainer-merge
|
6/0 |
Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean |
1 |
4 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
0-7567 2 hours ago |
1-79282 1 day ago |
1-79051 1 day |
| 36462 |
wwylele author:wwylele |
feat(Geometry/Euclidean): integration formula for μHE |
A step towards #34826.
---
The location of `MeasureTheory.volume_eq_of_finrank_eq_one` feels a bit random. I'd like to put it in some early files, but it uses measure preserving of isometry in Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean, which is why it ended up there
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
t-euclidean-geometry
|
137/5 |
Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean |
3 |
34 |
['EtienneC30', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
EtienneC30 assignee:EtienneC30 |
0-7549 2 hours ago |
3-71846 3 days ago |
24-59198 24 days |
| 36357 |
yuanyi-350 author:yuanyi-350 |
feat(Analysis/Deriv): add some lemmas for `iteratedDeriv` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
84/9 |
Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean |
5 |
8 |
['github-actions', 'j-loreaux', 'sgouezel', 'urkud', 'yuanyi-350'] |
sgouezel assignee:sgouezel |
0-6603 1 hour ago |
0-6682 1 hour ago |
8-4844 8 days |
| 37629 |
sgouezel author:sgouezel |
chore: use `fast_instance%` in classes of continuous maps |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
70/63 |
Mathlib/Topology/ContinuousMap/Algebra.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean,Mathlib/Topology/ContinuousMap/Ordered.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
5 |
1 |
['github-actions'] |
nobody |
0-6337 1 hour ago |
0-6415 1 hour ago |
0-6184 1 hour |
| 37626 |
NoahW314 author:NoahW314 |
feat(Algebra/Algebra/Operations): add `Submodule.mul_eq_bot` |
Generalize `Ideal.mul_eq_bot` to work for submodules as well.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
13/10 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Spectrum/Prime/Basic.lean |
4 |
3 |
['artie2000', 'github-actions'] |
nobody |
0-5199 1 hour ago |
0-5257 1 hour ago |
0-47002 13 hours |
| 35906 |
scp020 author:scp020 |
feat(Combinatorics/SimpleGraph/Walk): chords of walks |
Define `Walk.IsChord` and `Walk.IsChordless` predicates in a new file `SimpleGraph/Walks/Chord.lean`.
See "chord" in https://en.wikipedia.org/wiki/Glossary_of_graph_theory
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Walk.2EIsChordless.20live.20in.20mathlib.3F/with/575277309)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
66/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean |
2 |
65 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'scp020'] |
YaelDillies assignee:YaelDillies |
0-4685 1 hour ago |
0-14500 3 hours ago |
24-43700 24 days |
| 37057 |
erdOne author:erdOne |
feat(AlgebraicTopology): `SimplexCategory.toTop_map_δ_apply` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
maintainer-merge
|
49/2 |
Mathlib/AlgebraicTopology/CechNerve.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Data/Fin/SuccPred.lean |
5 |
10 |
['Raph-DG', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'riccardobrasca'] |
robin-carlier assignee:robin-carlier |
0-4506 1 hour ago |
1-23177 1 day ago |
2-51033 2 days |
| 33842 |
joelriou author:joelriou |
feat(Algebra/Homology): spectral sequences |
This PR concludes a series of 44 PRs which contains two mostly independent developments:
1. The construction of the spectral object attached to objects in a triangulated category `C` equipped with a t-structure;
2. The definition of a category of spectral sequences and the construction of the spectral sequence attached to a spectral object indexed by the extended integers (the integers with +/- infinity) in an abelian category, and this very PR adds the computation of the first page of the spectral sequence.
We now have two ways to construct a spectral object in triangulated categories (the spectral object attached to a filtered complex, and the spectral object attached to a t-structure 1.). After applying a homological functor to these spectral objects, we obtain a spectral object in an abelian category, and the construction 2. allows to define spectral sequences. When more results are obtained about derived functors, the hypercohomology spectral sequence and the Grothendieck spectral sequence of composition of derived functors shall follow.
The study of the stabilization and convergence of spectral sequences is not yet included (even though all the necessary code appears in #25848).
The mathematical material is discussed in https://hal.science/hal-04546712v5 (§5.4.1 and §5.4.4).
---
Dependency graph: https://jriou.org/tmp/spectral-sequences.pdf
1. The construction of the spectral object attached to objects in a triangulated category `C` equipped with a t-structure;
- [x] depends on: #35370
- [x] depends on: #35369
- [x] depends on: #35368
- [x] depends on: #35367
- [x] depends on: #35364
- [x] depends on: #35363
- [x] depends on: #35362
2. The definition of a category of spectral sequences and the construction of the spectral sequence attached to a spectral object indexed by the extended integers (the integers with +/- infinity) in an abelian category.
- [x] depends on: #36555
- [x] depends on: #36550
- [x] depends on: #36182
- [x] depends on: #36153
- [x] depends on: #36032
- [x] depends on: #36030
- [x] depends on: #36029
- [x] depends on: #35378
- [x] depends on: #35361
- [x] depends on: #35359
- [x] depends on: #35356
- [x] depends on: #35375
- [x] depends on: #35374
- [x] depends on: #35355
- [x] depends on: #35372
- [x] depends on: #35357
3. Prerequisites:
- [x] depends on: #34372
- [x] depends on: #34368
- [x] depends on: #34366
- [x] depends on: #34359
- [x] depends on: #33875
- [x] depends on: #33876
- [x] depends on: #34373
- [x] depends on: #34358
- [x] depends on: #33874
- [x] depends on: #33877
- [x] depends on: #33879
- [x] depends on: #33880
- [x] depends on: #33881
- [x] depends on: #33437
- [x] depends on: #33883
- [x] depends on: #33886
- [x] depends on: #33887
- [x] depends on: #33888
- [x] depends on: #33890
- [x] depends on: #35373
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
144/4 |
Mathlib.lean,Mathlib/Algebra/Homology/SpectralObject/Differentials.lean,Mathlib/Algebra/Homology/SpectralObject/FirstPage.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean,Mathlib/Algebra/Homology/SpectralObject/SpectralSequence.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean |
6 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
0-3829 1 hour ago |
0-4440 1 hour ago |
0-4210 1 hour |
| 37619 |
FernandoChu author:FernandoChu |
feat(topology): Small inductive dimension |
Adds a type class for small inductive dimension. See also https://github.com/leanprover-community/mathlib4/pull/37444.
Co-authored-by: Andrew Yang [[email protected]](mailto:[email protected])
AI disclosure: Claude code assisted in preparing this PR.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
76/0 |
Mathlib.lean,Mathlib/Topology/SmallInductiveDimension.lean |
2 |
3 |
['FernandoChu', 'github-actions', 'vihdzp'] |
nobody |
0-3785 1 hour ago |
0-3731 58 minutes ago |
0-5500 1 hour |
| 26160 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation |
Add the following lemmas concerning variation of a VectorMeasure:
* `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`.
* `variation_neg`: `(-μ).variation = μ.variation`.
* `variation_zero`: `(0 : VectorMeasure X V).variation = 0`.
* `absolutelyContinuous`
Co-authored-by: @yoh-tanimoto
- [x] depends on: #26156
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
229/33 |
Mathlib.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/Order/Partition/Finpartition.lean |
10 |
99 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel', 'yoh-tanimoto'] |
EtienneC30 assignee:EtienneC30 |
0-3309 55 minutes ago |
0-3014 46 minutes ago |
38-57493 38 days |
| 37470 |
SabrinaJewson author:SabrinaJewson |
feat(SetTheory/Ordinal): add `add_iSup`, `mul_iSup` and friends |
Add a couple lemmas for working with ordinal `iSup`, `lsub`, addition and multiplication.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-set-theory
|
32/6 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/SetTheory/Ordinal/Family.lean |
2 |
23 |
['SabrinaJewson', 'SnirBroshi', 'github-actions', 'vihdzp'] |
vihdzp assignee:vihdzp |
0-2463 41 minutes ago |
0-2464 37 minutes ago |
0-30053 8 hours |
| 37633 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries): add some equivs and lemmas |
---
In this PR, I add some basic equivalences between multivariate power series.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
255/8 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean |
4 |
1 |
['github-actions'] |
nobody |
0-1889 31 minutes ago |
0-1962 28 minutes ago |
0-1731 28 minutes |
| 37604 |
j-loreaux author:j-loreaux |
feat: `fun_prop` lemmas for `GL n R` and `SL n R` |
These lemmas allow `fun_prop` to prove that evaluating a continuous function into the general or special linear groups at an entry is continuous.
This also adds `fun_prop` to `UpperHalfPlane.{num,denom}`, `Continuous.matrixVecCons` and and new lemma `Continuous.matrixOf` and uses all these to golf some proofs of continuity regarding the action of `SL 2 ℝ` on `ℍ` from a recent PR.
For good measure, we add `fun_prop` to a number of other lemmas which should be tagged.
Closes #37472
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
49/22 |
Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Topology/Algebra/Group/Matrix.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
4 |
12 |
['github-actions', 'j-loreaux', 'loefflerd'] |
nobody |
0-1616 26 minutes ago |
0-4882 1 hour ago |
0-21771 6 hours |
| 36638 |
CoolRmal author:CoolRmal |
feat: if `f` lies in a closed convex set `s` almost everywhere, then its conditional expectation also lies in `s` almost everywhere |
---
- [x] depends on: #27953
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
maintainer-merge
|
64/14 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean |
1 |
10 |
['CoolRmal', 'EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
EtienneC30 assignee:EtienneC30 |
0-1405 23 minutes ago |
2-58060 2 days ago |
14-79890 14 days |
| 37391 |
grunweg author:grunweg |
fix(create_deprecated_modules): fix the build again |
The code needed updating to the new String API; it failed to build before this PR.
This also removes uses of deprecated String API.
A future PR will add CI to ensure this script builds fine.
(Future future: can we test that we tested all .lean scripts? Or have a test which builds all .lean files in scripts?)
---
We need to annotate a type as `Char` now, perhaps because the default instances (from a `Char` to a `Slice.Pattern`) don't work out as well any more.
[](https://gitpod.io/from-referrer/)
|
tech debt
CI
|
22/20 |
scripts/create_deprecated_modules.lean |
1 |
21 |
['adomani', 'github-actions', 'grunweg'] |
nobody |
0-1371 22 minutes ago |
0-1166 15 minutes ago |
2-45289 2 days |
| 35733 |
mkaratarakis author:mkaratarakis |
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem |
This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental.
Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua).
This PR is essentially the first half of page 490 in the book.
The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$.
1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem.
2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system.
3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.).
4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$.
5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma.
6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
913/49 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean |
4 |
16 |
['github-actions', 'mkaratarakis', 'tb65536'] |
tb65536 assignee:tb65536 |
0-1299 21 minutes ago |
0-1295 17 minutes ago |
12-67900 12 days |
| 37634 |
grunweg author:grunweg |
Build createmoduledepr |
---
- [ ] depends on: #37391
[](https://gitpod.io/from-referrer/)
|
|
28/20 |
.github/workflows/build_template.yml,scripts/create_deprecated_modules.lean |
2 |
0 |
[] |
nobody |
0-699 11 minutes ago |
0-699 7 minutes ago |
0-468 7 minutes |
| 37609 |
sgouezel author:sgouezel |
feat: use a constructor for NNReal |
Currently, many elements of NNReal are constructed as pair (x, hx), i.e., as elements of the subtype of nonnegative real numbers. The two types are defeq, but not reducibly, so this creates many defeq abuses. This PR introduces a constructor `NNReal.mk` and uses it instead of the bare constructor, to avoid these defeq abuses.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
106/96 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Norm.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Real.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Tight.lean,Mathlib/MeasureTheory/Measure/Tilted.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Real.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/Topology/Algebra/MetricSpace/Lipschitz.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/UniformSpace/Real.lean |
38 |
4 |
['github-actions', 'leanprover-radar', 'riccardobrasca', 'sgouezel'] |
nobody |
0-390 6 minutes ago |
0-21495 5 hours ago |
0-26109 7 hours |
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
| 36443 |
Fieldnote-Echo author:Fieldnote-Echo |
feat(Combinatorics/SimpleGraph): add SimpleGraph.ball (open metric ball) |
Add `SimpleGraph.ball`, the open ball in the graph extended metric.
## Design decisions
- **Open ball** (strict `<`, not `≤`): `ball c ⊤` coincides with the connected
component of `c`, whereas a closed ball would give `closedBall c ⊤ = univ`.
- **Named `SimpleGraph.ball`** (not `eball`): since `dist`-valued balls are less
natural for disconnected graphs, the `e` prefix is unnecessary.
- **Graph-specific** (not via `PseudoEMetricSpace`): avoids importing `ℝ`.
AI assistance: Claude (Opus 4.6) helped draft and iterate on the implementation. I reviewed the code line by line and vouch for the final contents.
Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/SimpleGraph.20metric.20balls/with/577846803).
---
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
59/3 |
Mathlib/Combinatorics/SimpleGraph/Metric.lean |
1 |
36 |
['Fieldnote-Echo', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'lauramonk', 'vlad902'] |
nobody |
19-3349 19 days ago |
25-1861 25 days ago |
25-1630 25 days |
| 36786 |
SproutSeeds author:SproutSeeds |
feat(DoubleCounting): parity of odd-degree vertices in bipartite incidence |
Adds `odd_card_filter_odd_bipartiteAbove_iff_odd_card_filter_odd_bipartiteBelow` to
`Mathlib.Combinatorics.Enumerative.DoubleCounting`.
This is the small parity-helper first step for #25231.
Validation:
- `lake build Mathlib.Combinatorics.Enumerative.DoubleCounting`
Supersedes closed #36077 after replaying the helper cleanly on current `master`.
AI usage: used Codex for branch recovery, replay onto current `master`, and draft wording;
final code choices and verification by me.
|
new-contributor
t-combinatorics
large-import
|
17/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean |
1 |
2 |
['github-actions'] |
nobody |
17-48708 17 days ago |
17-48791 17 days ago |
17-48560 17 days |
| 36210 |
vbeffara author:vbeffara |
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor |
A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph.
This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean |
3 |
7 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vbeffara'] |
YaelDillies assignee:YaelDillies |
14-85844 14 days ago |
16-7371 16 days ago |
29-33730 29 days |
| 36785 |
hommmmm author:hommmmm |
feat(RingTheory/Localization): Nagata's criterion for primality in localization away |
## Summary
- Add `dvd_of_mem_span_singleton_localization`: if `p` is prime and `p ∤ x`, then
membership in the span of the image of `x` in `R[1/p]` implies divisibility by `x`.
- Add `prime_of_prime_in_localization` (Nagata's criterion): if `p` is prime, `x` is
irreducible, and the image of `x` in `R[1/p]` is prime, then `x` is prime.
## References
- [Stacks Project, Tag 0AFU](https://stacks.math.columbia.edu/tag/0afu)
## AI Disclosure
This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
72/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Away/Prime.lean |
2 |
4 |
['chrisflav', 'github-actions', 'hommmmm'] |
chrisflav assignee:chrisflav |
12-72011 12 days ago |
12-72011 12 days ago |
17-12001 17 days |
| 34875 |
banrovegrie author:banrovegrie |
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula |
Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap.
- Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}`
- Add `Matrix.inv_sub_vecMulVec`: subtraction variant
- Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses
## Test plan
- [x] `lake build` passes
- [x] Lines within 100 char limit
- [x] All declarations have docstrings |
t-algebra
new-contributor
label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean |
2 |
11 |
['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
eric-wieser assignee:eric-wieser |
12-54176 12 days ago |
58-2543 58 days ago |
58-2312 58 days |
| 36787 |
hommmmm author:hommmmm |
feat(RingTheory/LocalRing): Krull dimension results for maximal ideal of local ring |
## Summary
This PR adds two results connecting the Krull dimension of a local ring to its maximal ideal:
* `IsLocalRing.ringKrullDim_eq_zero_of_maximalIdeal_eq_bot`: A local ring whose maximal ideal is `⊥` has Krull dimension zero.
* `IsLocalRing.exists_mem_maximalIdeal_not_mem_sq`: In a Noetherian local ring of positive Krull dimension, there exists an element in the maximal ideal that is not in its square.
The second result follows from Nakayama's lemma: if every element of the maximal ideal `𝔪` were in `𝔪²`, then `𝔪 = 𝔪²`, and Nakayama gives `𝔪 = ⊥`, contradicting positive dimension.
## New file
* `Mathlib/RingTheory/LocalRing/MaximalIdeal/KrullDimension.lean`
## Acknowledgements
Thanks to Dora Kassabova and Leopold Mayer for edit suggestions.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
|
57/0 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/KrullDimension.lean |
2 |
10 |
['NoahW314', 'github-actions', 'hommmmm', 'tb65536', 'wwylele'] |
chrisflav assignee:chrisflav |
12-54160 12 days ago |
16-71484 16 days ago |
17-47028 17 days |
| 36789 |
hommmmm author:hommmmm |
feat(RingTheory/Ideal/Height): prime ideal determined by height among overideals |
## Summary
- Add `Ideal.eq_of_le_of_height_eq`: a prime ideal of finite height is equal to any ideal of the same height that contains it.
## Notes
This is a direct consequence of `Ideal.height_strict_mono_of_is_prime`: if `I` were strictly contained in `J`, their heights would differ.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
10/0 |
Mathlib/RingTheory/Ideal/Height.lean |
1 |
7 |
['github-actions', 'hommmmm', 'tb65536'] |
erdOne assignee:erdOne |
12-54159 12 days ago |
17-46196 17 days ago |
17-45965 17 days |
| 34477 |
spanning-tree author:spanning-tree |
refactor(Order): make CompletePartialOrder extend OrderBot |
Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly.
Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor.
See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization).
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
15/1 |
Mathlib/Order/CompletePartialOrder.lean |
1 |
3 |
['Citronhat', 'github-actions', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
11-54246 11 days ago |
34-7145 34 days ago |
54-68471 54 days |
| 36720 |
YanYablonovskiy author:YanYablonovskiy |
feat(Order): `OrderType.lift` and more order type API |
Adding the universe lifting operation to `OrderType` , addresses a 'TODO' .
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
41/2 |
Mathlib/Order/Types/Defs.lean |
1 |
23 |
['YaelDillies', 'YanYablonovskiy', 'github-actions', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
11-54236 11 days ago |
12-23725 12 days ago |
13-73450 13 days |
| 37109 |
zeekmartin author:zeekmartin |
feat(SimpleGraph): card of common neighbors equals card of triangles containing edge |
Adds `SimpleGraph.card_commonNeighbors_eq_card_triangles_containing_edge`
to `Mathlib/Combinatorics/SimpleGraph/Clique.lean`.
For adjacent vertices `u v` in a finite simple graph, establishes the bijection
between common neighbors and 3-cliques containing the edge `{u, v}`:
```lean
theorem card_commonNeighbors_eq_card_triangles_containing_edge
{u v : α} (huv : G.Adj u v) :
(G.commonNeighbors u v).toFinset.card =
((G.cliqueFinset 3).filter fun s => {u, v} ⊆ s).card
```
This connects `commonNeighbors` (defined in `Basic.lean`) with `cliqueFinset` —
a gap not previously covered in `Clique.lean`.
**AI disclosure**: Claude (Anthropic) was used as an assistant during the development of this proof. It helped with the initial proof structure and tactic suggestions. The proof was reviewed and validated step by step by the author, who can vouch for all the content. The mathematical idea originates from the author's prior Lean 4 work on spectral graph theory (github.com/zeekmartin/topostability-lean4).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
LLM-generated
new-contributor
|
61/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
7 |
['SnirBroshi', 'github-actions', 'zeekmartin'] |
nobody |
10-79667 10 days ago |
11-426 11 days ago |
11-195 11 days |
| 36667 |
NoneMore author:NoneMore |
feat(ModelTheory): add `exClosure` definition for first-order formulas |
Prepare for moving realizations between elementarily equivalent structures.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
37/0 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions'] |
awainverse assignee:awainverse |
10-28762 10 days ago |
20-38462 20 days ago |
20-38231 20 days |
| 32744 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas |
This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas.
The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable.
There are also some tool lemmas derived by the preimage lemma.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
147/0 |
Mathlib/ModelTheory/Definability.lean |
1 |
60 |
['NoneMore', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'staroperator'] |
nobody |
10-26637 10 days ago |
10-26618 10 days ago |
105-71021 105 days |
| 36850 |
whocares-abt author:whocares-abt |
feat(Combinatorics/SimpleGraph/Acyclic): add delete leaf from tree gives tree |
Added theorem stating Deleting a leaf from a tree produces a tree. |
t-combinatorics
new-contributor
|
5/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
7 |
['github-actions', 'vlad902'] |
nobody |
10-6408 10 days ago |
14-31396 14 days ago |
16-14021 16 days |
| 35600 |
yisiox author:yisiox |
feat(Computability): add Kleene's algorithm to prove regular languages have regex matching |
This PR adds a proof that every regular language has some regular expression matching it.
This was achieved by the following constructions and proofs of their correctness
- Define `toSingleεNFA` to transform any epsilon-NFA to an equivalent one with only a single start and accept state (and the type is `ExtendedState`)
- Define a bijection between `ExtendedState` and `Fin (FinEnum.card (ExtendedState σ))` to index the states
- Define `pathRegex` which implements Kleene's algorithm
- Define `toRegex` which takes an epsilon-NFA, applies `toSingleεNFA` on it, and computes the corresponding regex using `pathRegex`
The proofs of correctness chain together to yield `(toRegex M).matches' = M.accepts` which asserts the direction of Kleene's theorem required.
---
As in [#mathlib4 > Regular languages: the review queue @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/near/573958148), this overlaps with #15654, which uses GNFA instead but has been inactive.
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
|
492/0 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
15 |
['YaelDillies', 'github-actions', 'yisiox'] |
YaelDillies assignee:YaelDillies |
9-30268 9 days ago |
11-11432 11 days ago |
30-13384 30 days |
| 33520 |
NoneMore author:NoneMore |
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input |
There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
91/0 |
Mathlib/ModelTheory/ElementarySubstructures.lean |
1 |
3 |
['Citronhat', 'NoneMore', 'github-actions'] |
fpvandoorn assignee:fpvandoorn |
9-22821 9 days ago |
9-22885 9 days ago |
91-14669 91 days |
| 35394 |
HugLycan author:HugLycan |
feat(Tactic/Positivity): make positivity work for types that are not partial orders |
Make positivity work for types that are not partial orders
Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR.
`Strictness` now does not depend `Q(PartialOrder $α)`, and the constructors of `Strictness` now have their order typeclass arguments. In order to help `Qq` synth instances property, we have to move `assertInstancesCommute` to inner branch, manually add `haveI'` or explicitly pass the order typeclass instance into `.positive`/`.nonnegative`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
|
611/322 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
37 |
23 |
['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster'] |
JovanGerb assignee:JovanGerb |
9-20875 9 days ago |
16-24612 16 days ago |
16-27499 16 days |
| 36955 |
NoneMore author:NoneMore |
chore(ModelTheory/Types): expose `T` in `typesWith` and move it to `Theory` |
Make the `T : L.Theory` argument explicit in `typesWith` and place the definition in `FirstOrder.Language.Theory` to enable dot notation.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
24/19 |
Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean |
2 |
2 |
['github-actions'] |
nobody |
9-10051 9 days ago |
14-416 14 days ago |
14-185 14 days |
| 35753 |
Vilin97 author:Vilin97 |
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation |
Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods.
Follow-up PR: #35755 (forward Euler method convergence).
I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. |
t-topology
new-contributor
LLM-generated
|
269/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/Floor.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
3 |
8 |
['Vilin97', 'copilot-pull-request-reviewer', 'dagurtomas', 'github-actions', 'wwylele'] |
PatrickMassot assignee:PatrickMassot |
6-85126 6 days ago |
7-85992 7 days ago |
16-29442 16 days |
| 35976 |
Phelixh author:Phelixh |
feat: add add Liu's uncertainty theory foundations (core/distribution/process modules) |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
2374/0 |
Mathlib.lean,Mathlib/Uncertainty/Base.lean,Mathlib/Uncertainty/BaseCore.lean,Mathlib/Uncertainty/BaseDistribution.lean,Mathlib/Uncertainty/BaseProcess.lean,Mathlib/Uncertainty/Uncertainty.lean |
6 |
26 |
['Phelixh', 'copilot-pull-request-reviewer', 'github-actions'] |
nobody |
6-6668 6 days ago |
6-6735 6 days ago |
6-11801 6 days |
| 35569 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` |
This PR:
* Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas.
* Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean.
No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files.
The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done.
This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633).
---
- [ ] depends on: #35567
- [ ] depends on: #35568
Deprecations:
- injectiveSeminorm
- dualSeminorms_bounded
- injectiveSeminorm_apply
- norm_eval_le_injectiveSeminorm
- injectiveSeminorm_le_projectiveSeminorm
- injectiveSeminorm_tprod_le
Preliminary work toward a reimplementation is at #33969.
I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module.
Co-authored-by: Davood H. T. Tehrani
[](https://gitpod.io/from-referrer/)
|
new-contributor |
221/232 |
Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean |
2 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
6-1565 6 days ago |
6-1589 6 days ago |
7-33574 7 days |
| 35069 |
A-M-Berns author:A-M-Berns |
feat(Geometry/Polygon): simple polygons and boundary map |
This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution.
- [x] depends on: #34598
---
|
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
jsm28 assignee:jsm28 |
5-70536 5 days ago |
37-80099 37 days ago |
40-27754 40 days |
| 37006 |
hakii6 author:hakii6 |
feat(LinearAlgebra/Matrix/Block, Analysis/Normed/Algebra/MatrixExponential): add BlockTriangular.pow and BlockTriangular.exp |
# Summary
Add BlockTriangular.pow and BlockTriangular.exp for proving "det (exp A) = exp (trace A)"
# Which part using LLM
The part I used LLM is for
1. Searching duplicated theorems and lemmas I may missed (I already search them myself first).
2. Help me handle the "variables and signatures", the "letI" part, some of lemmas and theorems trivial but hard to find the true one.
3. After I finished, let them helped me check the structure match the disciplines of mathlib.
4. Check the steps PR match the disciplines of mathlib
Most things above are done by me first, then let them to make sure I'm not missing something.
# More context
More context can be found in a topic in "# new member" in Zulip
[#new members > (Matrix and NormedSpace.exp) | det (exp A) = exp (trace A)](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/.28Matrix.20and.20NormedSpace.2Eexp.29.20.7C.20det.20.28exp.20A.29.20.3D.20exp.20.28trace.20A.29/with/580964688)
|
new-contributor
LLM-generated
|
54/1 |
Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/Topology/Instances/Matrix.lean |
3 |
59 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'hakii6', 'wwylele'] |
nobody |
5-60065 5 days ago |
7-63033 7 days ago |
12-54027 12 days |
| 37299 |
XC0R author:XC0R |
feat(NumberTheory): Chebyshev's lower bound on primorial |
## Summary
Prove `primorial(n) ≥ 2^(n/2)` for all `n ≥ 2` (Chebyshev's 1852 lower bound). This is the lower bound complement to `primorial_le_four_pow`. Addresses the TODO at `Chebyshev.lean` line 50: "Prove Chebyshev's lower bound."
### New file: `Mathlib/NumberTheory/PrimorialLowerBound.lean`
**Main theorems:**
- `two_pow_le_primorial`: `2 ^ n ≤ primorial (2 * n)` for `n ≥ 29`
- `two_pow_div_two_le_primorial`: `2 ^ (n / 2) ≤ primorial n` for `n ≥ 2`
**Key intermediates:**
- `centralBinom_le_pow_mul_primorial`: `C(2n,n) ≤ (2n)^{π(√(2n)+1)} * primorial(2n)`
- `eight_mul_sq_add_le_two_pow`: `8u² + 16u + 8 ≤ 2^u` for `u ≥ 10`
### Proof technique
Central binomial decomposition: from `four_pow_lt_mul_centralBinom` and `factorization_choose_le_log`, bound `C(2n,n)` above by `(2n)^{π(√(2n)+1)} * primorial(2n)`. Rearranging gives `primorial(2n) ≥ 2^n` for `n ≥ 29`. Base cases by `norm_num` + `decide`, large `n` analytically via `√n` factoring.
### AI disclosure
Claude (Anthropic) was used as a coding assistant for Lean tactic exploration, file structuring, and CI debugging. All proof strategy, mathematical content, and final code have been reviewed and are understood by the author. |
t-number-theory
new-contributor
|
234/0 |
Mathlib.lean,Mathlib/NumberTheory/PrimorialLowerBound.lean,Mathlib/NumberTheory/SmoothNumbers.lean |
3 |
21 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
5-49676 5 days ago |
7-51573 7 days ago |
7-51457 7 days |
| 35316 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart.lean |
2 |
12 |
['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mkaratarakis'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-8233 4 days ago |
4-8288 4 days ago |
8-26514 8 days |
| 35402 |
samueloettl author:samueloettl |
feat(Dynamics/BirkhoffSum): birkhoffAverage const |
---
I think this is useful and one of these should be a simp lemma.
I'm not really sure if I got the naming of the theorems correct.
When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
|
22/0 |
Mathlib/Dynamics/BirkhoffSum/Average.lean |
1 |
6 |
['Maldooor', 'github-actions'] |
ADedecker assignee:ADedecker |
4-6073 4 days ago |
40-63905 40 days ago |
47-10562 47 days |
| 37138 |
dtumad author:dtumad |
feat(Data/FinEnum): instances for standard signed and unsigned integer types |
Adds `FinEnum` instances for `UIntN`/`IntN` for various `N`, and for platform sized integers.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
45/0 |
Mathlib/Data/FinEnum.lean |
1 |
8 |
['dtumad', 'github-actions', 'joneugster', 'linesthatinterlace'] |
joneugster assignee:joneugster |
4-1935 4 days ago |
4-1935 4 days ago |
8-37937 8 days |
| 35653 |
pepamontero author:pepamontero |
feat: add ChartedSpace structure on orbit space |
Add topological preliminaries for properly discontinuous group actions, and use them to equip the orbit space `orbitRel.Quotient G M` with a `ChartedSpace` structure.
In particular:
- Show that the quotient map `Quotient.mk _ : M → orbitRel.Quotient G M` is a covering map and hence a local homeomorphism.
- Construct chosen local inverses of the quotient map and establish properties over them.
- Define a `ChartedSpace` instance on the quotient by composing these local inverses with charts of M.
This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it.
---
|
new-contributor
t-differential-geometry
|
186/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/OrbitSpace.lean,Mathlib/Topology/Algebra/OrbitSpace.lean |
3 |
13 |
['Rida-Hamadani', 'github-actions'] |
PatrickMassot, grunweg, ocfnash, sgouezel assignee:ocfnash assignee:grunweg assignee:sgouezel assignee:PatrickMassot |
4-148 4 days ago |
40-73274 40 days ago |
40-73718 40 days |
| 37374 |
NoneMore author:NoneMore |
feat(Topology/DerivedSet): add relative derived set lemmas |
Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
17/0 |
Mathlib/Topology/DerivedSet.lean |
1 |
6 |
['NoneMore', 'github-actions', 'plp127', 'vihdzp'] |
PatrickMassot assignee:PatrickMassot |
4-139 4 days ago |
4-2293 4 days ago |
4-55476 4 days |
| 31662 |
edwin1729 author:edwin1729 |
feat(Topology/Order): topological basis of scott topology on Complete… |
…PartialOrder
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR.
(1/2) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober.
The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
This first PR proves two prerequisites, namely:
- the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- [x] depends on: #33061
**The next PR is here:** #31670
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
235/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
66 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
urkud assignee:urkud |
4-46 4 days ago |
28-8983 28 days ago |
34-61469 34 days |
| 36788 |
hommmmm author:hommmmm |
feat(RingTheory): height of span of a prime element is one |
## Summary
- Add `Ideal.height_span_singleton_eq_one_of_prime`: in a Noetherian integral domain, the ideal generated by a prime element has height one.
## Notes
The new theorem follows directly from `height_le_one_of_isPrincipal_of_mem_minimalPrimes` (upper bound) and the fact that `span {p} ≠ ⊥` for `p` prime (lower bound).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
12/1 |
Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean |
1 |
5 |
['Multramate', 'github-actions', 'hommmmm'] |
mattrobball assignee:mattrobball |
3-64630 3 days ago |
3-65650 3 days ago |
17-46254 17 days |
| 36781 |
hommmmm author:hommmmm |
feat(RingTheory/UniqueFactorizationDomain): UFD iff height one primes are principal |
We prove that a Noetherian integral domain is a UFD if and only if every prime ideal of height one is principal (`UniqueFactorizationMonoid.iff_height_one_prime_principal`).
## New declarations
* `UniqueFactorizationMonoid.exists_height_one_le_of_finite_height`: given a prime of finite height ≥ 1, there exists a height one prime contained in it.
* `UniqueFactorizationMonoid.ne_bot_of_height_one`: an ideal of height one is nonzero.
* `UniqueFactorizationMonoid.height_ge_one_of_prime_ne_bot`: the height of a nonzero prime ideal in a domain is at least one.
* `UniqueFactorizationMonoid.height_one_prime_principal`: in a UFD, every height one prime is principal.
* `UniqueFactorizationMonoid.of_height_one_prime_principal`: every height one prime being principal implies UFD (Noetherian case).
* `UniqueFactorizationMonoid.iff_height_one_prime_principal`: the full iff statement.
## References
See https://stacks.math.columbia.edu/tag/0AFT
## AI Disclosure
This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
large-import
|
102/1 |
Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean |
1 |
8 |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'hommmmm', 'tb65536'] |
mattrobball assignee:mattrobball |
3-53771 3 days ago |
12-72012 12 days ago |
17-20988 17 days |
| 36968 |
NoahW314 author:NoahW314 |
feat: add missing IndiscreteTopology instances |
Add several instances for the IndiscreteTopology. These instances are chosen as they have short proofs and imply many of the more common instances like `NormalSpace` and `LocPathConnectedSpace`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
21/0 |
Mathlib/Topology/AlexandrovDiscrete.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/Metrizable/Basic.lean |
4 |
3 |
['felixpernegger', 'github-actions'] |
PatrickMassot assignee:PatrickMassot |
3-46133 3 days ago |
3-46187 3 days ago |
13-26093 13 days |
| 37193 |
JJYYY-JJY author:JJYYY-JJY |
doc(metric): add main results sections for metric spaces |
Add Main results sections to metric-space definition modules
This PR improves discoverability in the metric-space definition modules by adding curated Main results sections and by fixing a stale internal file reference.
Add a Main results section to the pseudo-metric definitions module, highlighting key constructions and foundational lemmas.
Add a Main results section to the metric-space definitions module, highlighting core constructions and distance-based characterization lemmas.
Update the implementation note to point to the current pseudo-metric definitions path, clarifying where elementary pseudometric facts live.
This is a docstring-only change:
No declarations, theorem names, imports, instances, or proofs are changed;
only module docstrings in the two metric-space definition files are edited.
---
[](https://gitpod.io/from-referrer/) |
t-topology
new-contributor
|
17/3 |
Mathlib/Topology/MetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
2 |
6 |
['copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] |
j-loreaux assignee:j-loreaux |
3-35070 3 days ago |
3-35132 3 days ago |
4-35230 4 days |
| 33662 |
Pjotr5 author:Pjotr5 |
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants |
### Summary
- Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`.
The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`).
This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`).
- Add strict-inequality variants:
`expect_lt_expect`, `expect_lt`, `lt_expect`.
- Add existence lemmas:
`exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`,
and `exists_lt_of_expect_lt_expect`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
46/16 |
Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean |
2 |
7 |
['Pjotr5', 'b-mehta', 'felixpernegger', 'github-actions'] |
b-mehta assignee:b-mehta |
3-26678 3 days ago |
12-69286 12 days ago |
88-24195 88 days |
| 36886 |
Deep0Thinking author:Deep0Thinking |
feat(Combinatorics/Enumerative/Bonferroni): add Bonferroni inequalities |
This PR adds Bonferroni inequalities.
Main theorems:
- `Finset.indicator_biUnion_le_bonferroniIndicator_of_odd`
- `Finset.bonferroniIndicator_le_indicator_biUnion_of_even`
- `Finset.card_biUnion_le_bonferroniCard_of_odd`
- `Finset.bonferroniCard_le_card_biUnion_of_even`
Co-authored-by: Claude (Opus 4.6)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
334/4 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Bonferroni.lean,Mathlib/Combinatorics/Enumerative/InclusionExclusion.lean |
3 |
4 |
['AlexeyMilovanov', 'Deep0Thinking', 'github-actions'] |
nobody |
3-10683 3 days ago |
15-3331 15 days ago |
15-3929 15 days |
| 37350 |
aditya-ramabadran author:aditya-ramabadran |
feat(Analysis/Distribution): define canonical maps between Schwartz/test functions, distributions/tempered distributions |
Defines these canonical maps: (1) continuous linear map from $\mathcal D$ to $\mathcal S$, and (2) induced (linear) restriction map from $\mathcal S'$ to $\mathcal D'$, as assigned by @ADedecker.
---
Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though.
* Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM)
* Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions
* Induced map $\mathcal S'(E,F) \to \mathcal D'(Ω,F)$ is $\mathbb C$-linear
The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions.
Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean`
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
279/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean |
2 |
3 |
['aditya-ramabadran', 'github-actions'] |
ADedecker assignee:ADedecker |
3-2138 3 days ago |
3-3312 3 days ago |
3-43476 3 days |
| 37375 |
NoneMore author:NoneMore |
feat(SetTheory/Ordinal/FixedPointApproximants): add zero and limit lemmas for approximants |
Add helper lemmas `lfpApprox_zero`, `lfpApprox_limit`, and the corresponding `gfpApprox` lemmas by duality.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
new-contributor
maintainer-merge
|
50/26 |
Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
1 |
20 |
['NoneMore', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
3-1349 3 days ago |
4-885 4 days ago |
4-57330 4 days |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add Desargues's theorem |
This PR adds an affine (parallel) version of Desargues's theorem!
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with
`parallel_third_side_of_perspective`: if two triangles are in perspective from a point `S` and
two pairs of corresponding sides are parallel, then the third pair of sides is parallel.
- Add the corresponding `public import` to `Mathlib.lean`.
- Update `docs/100.yaml` (entry #87) to point to the new declaration.
**High level Proof idea is from the rocq repository!**
Compare side vectors via `exists_eq_smul_of_parallel` for the two given pairs of parallel sides; the
shared comparison along `SA` forces the same scalar, yielding parallelism of the third sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`! |
t-algebra
new-contributor
label:t-algebra$ |
159/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean,docs/100.yaml |
3 |
8 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'wwylele'] |
nobody |
2-59105 2 days ago |
3-69626 3 days ago |
3-77635 3 days |
| 34815 |
Deep0Thinking author:Deep0Thinking |
feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral |
- [x] depends on: #34966
---
Add a proof of **Frullani integral**.
Main theorems:
- `Frullani.integral_Ioi`
- `IntegrableOn.tendsto_integral_Ioi`
- `exists_integral_div_eq_mul_log`
Supporting lemmas:
- `Frullani.comp_mul_left_div`
- `Frullani.intervalIntegrable_div`
- `Frullani.exists_integral_div_eq_mul_log`
- `Ioi_diff_Ioc`
- `ContinuousOn.comp_mul_left_div`, `ContinuousOn.comp_mul_right_div`
- `ContinuousOn.comp_mul_left`, `ContinuousOn.comp_mul_right`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-analysis
|
188/2 |
Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Monoid.lean |
4 |
9 |
['CoolRmal', 'Deep0Thinking', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
2-54197 2 days ago |
3-13229 3 days ago |
4-58234 4 days |
| 36917 |
iarnoldy author:iarnoldy |
feat(LinearAlgebra/CliffordAlgebra): bivector Lie subalgebra |
Define the submodule of grade-n elements (n-vectors) in a Clifford algebra
and show that bivectors (n = 2) form a `LieSubalgebra` under the commutator
bracket. This gives the standard construction of so(Q) from Cl(Q).
Main definitions:
* `CliffordAlgebra.nvector` — grade-n submodule, spanned by n-fold products of ι
* `CliffordAlgebra.bivector` — nvector 2 Q, the bivector submodule
* `CliffordAlgebra.bivectorLieSubalgebra` — LieSubalgebra of bivectors
Main results:
* `CliffordAlgebra.lie_ι_mul_ι` — explicit commutator formula for bivector generators
* `CliffordAlgebra.lie_mem_bivector` — bracket closure of the bivector submodule
* `CliffordAlgebra.bivector_le_evenOdd_zero` — bivectors lie in the even part
The `LieModule` instance for `CliffordAlgebra Q` acting on itself is provided
explicitly (`instLieModuleSelf`) because automatic synthesis exceeds the default
heartbeat limit.
AI disclosure: This code was generated with AI assistance (Claude, Anthropic).
The submitter directed the construction and QA but is not a Lean programmer.
The mathematical content is classical (Doran & Lasenby, Ch. 3). Extra review
scrutiny is welcomed.
Co-authored-by: Claude
---
Open design questions for reviewers:
1. **Naming**: Is `nvector` the right name? Eric Wieser suggested generalizing
to n-vectors. Alternatives: `ιProd`, `grade`, or following the `exteriorPower`
pattern via `equivExterior` pullback.
2. **Scalar contamination**: The spanning set `{ι m₁ * ι m₂}` includes
`ι m * ι m = Q(m)` (scalars). Eric suggested pulling back `exteriorPower`
through `equivExterior` for pure grades (requires `Invertible (2 : R)`).
Happy to rework if that's preferred.
3. **instLieModuleSelf**: Should this be an upstream issue rather than a
local workaround? @ocfnash
4. **ι_mul_ι_comm'**: This may duplicate existing API (`ι_mul_ι_comm b a`
plus `polar_comm`). Happy to inline if reviewers prefer.
Discussed on Zulip: https://leanprover.zulipchat.com (Is there code for X? thread) |
new-contributor
t-algebra
LLM-generated
label:t-algebra$ |
338/0 |
Mathlib.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Bivector.lean |
2 |
2 |
['github-actions'] |
eric-wieser assignee:eric-wieser |
2-54184 2 days ago |
14-60552 14 days ago |
14-61546 14 days |
| 35329 |
BryceT233 author:BryceT233 |
feat(Data/Finsupp): add computational lemmas for cons and single |
This PR introduces `cons_injective2`, `cons_eq_single_zero_iff` and `cons_eq_single_succ_iff`, which are helper lemmas designed to facilitate calculations (or simplification) of equalities involving `Finsupp.cons` and `Finsupp.single`.
Co-authored-by: Wenrong Zou <[email protected]>
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
24/8 |
Mathlib/Data/Finsupp/Fin.lean |
1 |
6 |
['BryceT233', 'WenrongZou', 'github-actions'] |
joneugster assignee:joneugster |
2-30514 2 days ago |
2-54745 2 days ago |
48-25929 48 days |
| 37319 |
PrParadoxy author:PrParadoxy |
feat(Algebra/Field/Power): weaken assumptions of Odd.neg_zpow |
The lemmas `Even.neg_zpow` and `Even.neg_one_zpow` are stated assuming
`[DivisionMonoid α] [HasDistribNeg α]`. However, `Odd.neg_zpow` and
`Odd.neg_one_zpow` currently assume the stronger `[DivisionRing α]`.
This PR weakens the assumption of the `Odd` lemmas to match their `Even`
counterparts.
---
According to the docstring, the purpose of `Mathlib.Algebra.Field.Power`
is to define `Field` with minimal imports. But after this PR, Power.lean
does not rely on `Mathlib.Algebra.Field.Defs` any more. Arguably, it
could be deprecated. The two results in the file could be stated in
`Mathlib.Algebra.Ring.Int.Parity` without any extra imports. Should we implement
this in the current or an additional PR?
Examples:
```
-- these all work:
example (z : ℤ) (h : Even z) : (-1 : ℂ)^z = 1 := Even.neg_one_zpow h
example (z : ℤ) (h : Even z) : (-1 : unitary ℂ)^z = 1 := Even.neg_one_zpow h
example (z : ℤ) (h : Odd z) : (-1 : ℂ)^z = -1 := Odd.neg_one_zpow h
-- but this fails without the PR:
example (z : ℤ) (h : Odd z) : (-1 : unitary ℂ)^z = -1 := Odd.neg_one_zpow h
```
[](https://gitpod.io/from-referrer/) |
new-contributor
t-algebra
label:t-algebra$ |
16/10 |
Mathlib/Algebra/Field/Power.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean |
2 |
6 |
['eric-wieser', 'github-actions', 'goliath-klein'] |
nobody |
2-26563 2 days ago |
6-77292 6 days ago |
6-79860 6 days |
| 34854 |
GrigorenkoPV author:GrigorenkoPV |
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` |
---
Split off from #34853
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
227/194 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
6 |
5 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
2-26553 2 days ago |
18-944 18 days ago |
37-77012 37 days |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
84/84 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
4 |
20 |
['MJ141592', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2-25375 2 days ago |
2-25411 2 days ago |
2-53701 2 days |
| 37190 |
cjrl author:cjrl |
feat(Combinatorics): Set-Valued Pigeonhole Principle |
This PR contributes two theorems to combinatorics:
- `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle.
- `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle.
The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
41/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean |
2 |
12 |
['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux'] |
nobody |
1-53220 1 day ago |
1-53220 1 day ago |
7-55411 7 days |
| 36832 |
KryptosAI author:KryptosAI |
chore(Data/Finset/Card): rename `pred_card_le_card_erase` to `sub_one_card_le_card_erase` |
## Summary
The name `pred_card_le_card_erase` suggests `Nat.pred` but the statement uses `- 1` (i.e., `Nat.sub 1`). Rename to `sub_one_card_le_card_erase` to match the actual statement.
A deprecated alias is added for backwards compatibility.
### Files changed
- `Mathlib/Data/Finset/Card.lean` — definition renamed + deprecated alias
- `Mathlib/Data/Finset/Powerset.lean` — reference updated
- `Mathlib/Combinatorics/Additive/SubsetSum.lean` — reference updated
- `Mathlib/Algebra/Polynomial/EraseLead.lean` — reference updated
Addresses the `Finset.pred_card_le_card_erase` item in #21584.
## AI disclosure
I used Claude Code to explore the codebase (finding all references to rename) and to draft the PR description. I reviewed and understand all changes — these are straightforward renames with a deprecated alias. |
new-contributor |
22/15 |
Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
5 |
['KryptosAI', 'Multramate', 'github-actions', 'ooovi'] |
nobody |
1-50368 1 day ago |
1-50426 1 day ago |
15-60523 15 days |
| 36889 |
KryptosAI author:KryptosAI |
feat(LinearAlgebra/Matrix/MoorePenrose): define the Moore-Penrose pseudo-inverse |
Defines `IsMoorePenroseInverse` and constructs the Moore-Penrose pseudo-inverse for matrices over `RCLike` fields. Closes #24787.
`Defs.lean` defines the predicate using the heterogeneous four-condition characterization from the issue, plus uniqueness for semigroups with `StarMul`.
`Basic.lean` constructs the inverse via orthogonal projection and `ker(f)ᗮ ≃ₗ range(f)`, then proves:
```lean
theorem exists_isMoorePenroseInverse (A : Matrix m n 𝕜) :
∃ (As : Matrix n m 𝕜), IsMoorePenroseInverse A As
def moorePenroseInverse (A : Matrix m n 𝕜) : Matrix n m 𝕜
lemma moorePenroseInverse_conjTranspose :
moorePenroseInverse (Aᴴ) = (moorePenroseInverse A)ᴴ
lemma moorePenroseInverse_eq_nonsing_inv (hA : IsUnit A) :
moorePenroseInverse A = A⁻¹
```
### AI disclosure
- **Gemini 2.5 Pro**: proof planning, initial code, edits
- **Claude Code (Opus 4.6)**: debugging, compilation, type-checking against mathlib4
I reviewed and directed all changes.
---
[](https://gitpod.io/from-referrer/) |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
402/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/MoorePenrose/Basic.lean,Mathlib/LinearAlgebra/Matrix/MoorePenrose/Defs.lean |
3 |
27 |
['KryptosAI', 'eric-wieser', 'github-actions', 'vihdzp'] |
ocfnash assignee:ocfnash |
1-50368 1 day ago |
1-50426 1 day ago |
12-83269 12 days |
| 29744 |
espottesmith author:espottesmith |
feat(Combinatorics): define directed hypergraphs |
This PR defines directed hypergraphs:
```
@[ext]
structure DiHypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The edge set -/
edgeSet : Set ((Set α) × (Set α))
/-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/
edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet
```
Additional definitions:
- tail/head stars and negative/positive stars
- some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty)
- Vertex and (hyper)edge adjacency
- isolated vertices
- empty and nonempty dihypergraphs
The design employed here is based off of #28613, but this PR does not depend on that one.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
395/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
1-23582 1 day ago |
1-23629 1 day ago |
59-6865 59 days |
| 36421 |
ROTARTSI82 author:ROTARTSI82 |
feat(RingTheory/IsAdjoinRoot): add mkOfAdjoinEqTop' |
Alternative hypothesis to existing theorem: prove the result from a `Module.Free `hypothesis instead of `IsIntegrallyClosed`. If `α` generates `S` as an algebra, then `S` is given by adjoining a root of `minpoly R α`.
---
Hello, we are the Algebraic Geometry group from the UW Math AI lab, and this is our first PR! This definition of `mkOfAdjoinEqTop'` generalizes the existing `mkOfAdjoinEqTop` and shows the result from `Module.Free` instead of `IsIntegrallyClosed`. It is used in future results that we would like to upstream at https://github.com/uw-math-ai/monogenic-extensions, which is a project to formalize lemmas 3.1 and 3.2 from https://arxiv.org/abs/2503.07846.
Co-authored-by: George Peykanu
Co-authored-by: Bryan Boehnke
Co-authored-by: Bianca Viray <[email protected]>
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-ring-theory
|
47/0 |
Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
2 |
5 |
['ROTARTSI82', 'artie2000', 'b-viray', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
1-11348 1 day ago |
25-55549 25 days ago |
25-55318 25 days |
| 34227 |
stepan2698-cpu author:stepan2698-cpu |
feat(Combinatorics/Schnirelmann): if sum of densities is at least one, the sumset covers the naturals |
Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
46/1 |
Mathlib/Combinatorics/Schnirelmann.lean |
1 |
15 |
['FLDutchmann', 'YaelDillies', 'YanYablonovskiy', 'github-actions', 'grunweg', 'kbuzzard', 'stepan2698-cpu'] |
b-mehta assignee:b-mehta |
1-2102 1 day ago |
1-46313 1 day ago |
72-72852 72 days |
| 36474 |
SmwYin author:SmwYin |
feat(NumberTheory/ModularForms/QExpansion): update qExpansion API for more general objects |
This PR generalises several lemmas from `ModularFormClass` and `ModularForm` to functions on the upper half plane that are periodic, holomorphic, and bounded at infinity. This allows us to study the _q_-expansion of functions such as `q * j`, where `j` denotes the _j_-function. The specialised `ModularFormClass` and `ModularForm` lemmas are retained as wrappers.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
329/195 |
Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/ModularForms/Petersson.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
5 |
24 |
['CBirkbeck', 'SmwYin', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-85871 23 hours ago |
3-6412 3 days ago |
3-6215 3 days |
| 34851 |
dennj author:dennj |
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations |
This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization:
- `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i`
- `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x`
- `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i`
These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). |
t-data
new-contributor
|
22/0 |
Mathlib/Data/Matrix/Mul.lean |
1 |
7 |
['dennj', 'eric-wieser', 'github-actions', 'themathqueen'] |
TwoFX assignee:TwoFX |
0-80705 22 hours ago |
58-69711 58 days ago |
58-69480 58 days |
| 34182 |
IlPreteRosso author:IlPreteRosso |
refactor(Data/Finsupp): deprecate direct single ↔ Set.indicator shortcuts, add indicator_eq_set_indicator |
Routes Finsupp.single ↔ Set.indicator through Pi.single instead of direct shortcuts.
Adds `indicator_eq_set_indicator` bridging `Finsupp.indicator` and `Set.indicator` for non-dependent functions. Deprecates `single_eq_set_indicator` and `single_eq_indicator` — users should compose through `single_eq_pi_single` + `Set.indicator_singleton` instead. Golfs `single_eq_update` via `single_eq_pi_single`.
Continues #34083. |
t-data
new-contributor
|
27/19 |
Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean |
2 |
31 |
['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] |
TwoFX assignee:TwoFX |
0-75398 20 hours ago |
0-81659 22 hours ago |
73-50220 73 days |
| 37027 |
mike1729 author:mike1729 |
refactor(LocallyConvex,Topology): split WeakDual/WeakSpace and rename WeakBilin |
Reorganize the weak topology files for cleaner dependencies:
1. **Rename** `Analysis.LocallyConvex.WeakDual` → `Analysis.LocallyConvex.WeakBilin`:
This file contains only general `WeakBilin` infrastructure (`LinearMap.toSeminormFamily`,
`weakBilin_withSeminorms`, `WeakBilin.locallyConvexSpace`, etc.) with no reference to
`WeakDual`. The name now reflects the content.
2. **Split** `Topology.Algebra.Module.WeakDual` into `WeakDual` and `WeakSpace`:
The `WeakSpace` type, its instances, and `toWeakSpace`/`toWeakSpaceCLM` move to a new
`Topology.Algebra.Module.WeakSpace`. This allows downstream files about weak spaces
to avoid depending on `WeakDual`.
3. **Add** `WeakSpace.seminormFamily` and `WeakSpace.withSeminorms` to
`Analysis.LocallyConvex.WeakSpace`: The weak topology on `WeakSpace 𝕜 E` is generated
by the seminorm family `fun f x ↦ ‖f x‖` indexed by `StrongDual 𝕜 E`, via the general
`LinearMap.weakBilin_withSeminorms` applied to the flipped `topDualPairing`.
Moves:
- Mathlib.Analysis.LocallyConvex.WeakDual -> Mathlib.Analysis.LocallyConvex.WeakBilin
- WeakSpace -> Mathlib.Topology.Algebra.Module.WeakSpace
- toWeakSpace -> Mathlib.Topology.Algebra.Module.WeakSpace
- toWeakSpaceCLM -> Mathlib.Topology.Algebra.Module.WeakSpace
CC @j-loreaux
---
- [ ] depends on: #37314 |
new-contributor
file-removed
|
192/114 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/WeakBilin.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Algebra/Module/WeakSpace.lean |
6 |
5 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-69546 19 hours ago |
0-69549 19 hours ago |
9-27945 9 days |
| 33463 |
khwilson author:khwilson |
feat(Mathlib/Analysis/Polynomial/MahlerMeasure): Mahler Measure for other rings |
Define `mahlerMeasure'` which allows you specify a norm preserving map `v` from any `NormedRing A` (or more general) to `ℂ`. Also provide wrappers around the main `mahlerMeasure` lemmas that are used for estimation.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
maintainer-merge
|
98/5 |
Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/NumberTheory/MahlerMeasure.lean |
2 |
40 |
['github-actions', 'j-loreaux', 'khwilson', 'kim-em', 'plp127', 'vlad902'] |
nobody |
0-68824 19 hours ago |
1-8906 1 day ago |
1-13737 1 day |
| 37526 |
SabrinaJewson author:SabrinaJewson |
feat(Order/ConditionallyCompleteLattice): Generalize and add cbiSup/cbiInf theorems |
Generalize some theorems concerning cbiSup (`⨆ i, ⨆ h : p i, f i h`) by removing superfluous `Nonempty` typeclasses and parameters. It would be nice to also remove the `BoundedAbove` typeclass, but this can only be done with linear orders because junk values of lattices are not currently specified[0].
[0]: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Moving.20.60csSup.60.20junk.20into.20.60ConditionallyCompleteLattice.60/near/583143345
In the absence of that, we provide the theorem `cbiSup_of_not_bddAbove` defining the junk values of `cbiSup` in the linear order case.
Add theorem `cbiSup_id`, showing that `⨆ i ∈ s, i = sSup s`.
Add theorem `cbiSup_eq_of_forall_not` as a counterpart to `cbiSup_eq_of_forall` when the condition is never true, and a corollary `cbiSup_empty` for the obvious empty set case.
Use the new theorems to shorten the proof of `cbiSup_eq_of_not_forall`.
Give proper names to the prime versions of `ciSup_subtype` and `ciInf_subtype`.
Moves:
- `ciSup_subtype'` -> `cbiSup_eq_ciSup_subtype`
- `ciInf_subtype'` -> `cbiInf_eq_ciInf_subtype`
- `ciSup_subtype''` -> `ciSup_subtype_fun`
- `ciInf_subtype''` -> `ciInf_subtype_fun`
---
Spun off from the theorems I needed in #37470. Let me know if I should split it up further.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
maintainer-merge
|
73/60 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,scripts/nolints_prime_decls.txt |
3 |
9 |
['SabrinaJewson', 'SnirBroshi', 'YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
0-60709 16 hours ago |
0-60518 16 hours ago |
2-58058 2 days |
| 37471 |
NoahW314 author:NoahW314 |
feat(RingTheory/MvPolynomial/MonomialOrder): add `leadingTerm_mul` lemma |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
7/0 |
Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean |
1 |
7 |
['Hagb', 'Maldooor', 'NoahW314', 'WilliamCoram', 'github-actions'] |
nobody |
0-56255 15 hours ago |
3-43032 3 days ago |
3-42801 3 days |
| 37279 |
imalinowskip author:imalinowskip |
feat(Probability): multivariate CLT (and Cramèr-Wold) |
Depends on #36208
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
672/0 |
Mathlib.lean,Mathlib/Probability/CramerWold.lean,Mathlib/Probability/MultivariateCentralLimitTheorem.lean |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
0-54215 15 hours ago |
0-75453 20 hours ago |
0-75222 20 hours |
| 37583 |
huaizhangchu author:huaizhangchu |
feat(Probability): add mean and variance of Poisson distribution |
This PR adds the mean and variance of the Poisson distribution over ℕ.
### Main results
- `poissonMeasure_mean`: the mean of `poissonMeasure r` equals `r`
- `poissonMeasure_moment_two`: the second moment equals `r² + r`
- `poissonMeasure_variance`: the variance equals `r`
### Implementation notes
The moments are computed via descending factorial moments. We first prove `hasSum` lemmas for `E[X]` and `E[X(X-1)]`, then obtain `E[X²] = E[X(X-1)] + E[X] = r² + r`, from which the variance follows.
### Related lemmas
- `hasSum_poissonMeasure_nat`: weighted sum for the mean
- `hasSum_poissonMeasure_descFactorial_two`: weighted sum for the second descending factorial moment
- `hasSum_poissonMeasure_sq`: weighted sum for the second moment
- `memLp_two_nat_poissonMeasure`: integrability condition for variance |
t-measure-probability
large-import
new-contributor
|
100/0 |
Mathlib/Probability/Distributions/Poisson/Basic.lean |
1 |
2 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
0-54208 15 hours ago |
1-48001 1 day ago |
1-47770 1 day |
| 37584 |
kennethgoodman author:kennethgoodman |
feat(Data/Nat/Fib): formalize Lamé's theorem |
## Summary
Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory.
**Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`.
### New definitions
- `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs.
### New theorems
- `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count.
- `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input.
- `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`.
### Proof strategy
Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm.
### References
- Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844.
---
### AI usage disclosure
Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps.
---
- [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`)
- [x] no `sorry`
- [x] lines ≤ 100 characters, no trailing whitespace
- [x] `autoImplicit false`
- [x] docstrings on all public declarations |
new-contributor |
148/0 |
Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml |
5 |
20 |
['github-actions', 'kennethgoodman', 'vihdzp'] |
nobody |
0-48610 13 hours ago |
0-48365 13 hours ago |
0-53968 14 hours |
| 37625 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors |
This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`.
New results:
- `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants
- `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors
- `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors
--- |
t-algebra
new-contributor
label:t-algebra$ |
121/1 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
4 |
['eric-wieser', 'github-actions'] |
nobody |
0-48169 13 hours ago |
0-48224 13 hours ago |
0-58073 16 hours |
| 36320 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics): add Schreier graph definition and covering property |
Defines Schreier graphs as quivers with labeled edges.
`SchreierGraph V ι`: type alias for vertices with quiver structure
`schreierGraphLabelling`: prefunctor extracting edge labels
`schreierGraphLabelling_isCovering`: the labelling is a covering for group actions
`schreierGraph_action_commute`: label-preserving maps commute with the action
Ported from [Lean 3 PR #18693](https://github.com/leanprover-community/mathlib3/pull/18693).
This PR was written with AI assistance (Claude). The code has been reviewed by the author and their advisor.
---
This is the first in a series of PRs splitting #35467 into smaller pieces, as suggested by reviewers. Upcoming PRs will add word evaluation, paths, connectivity, automorphisms, examples, and Cayley sum graphs.
|
t-combinatorics
new-contributor
LLM-generated
|
180/0 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Schreier.lean,docs/references.bib |
3 |
33 |
['AntoineChambert-Loir', 'YaelDillies', 'ZRTMRH', 'github-actions'] |
nobody |
0-45585 12 hours ago |
1-5055 1 day ago |
19-64971 19 days |
| 34093 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas |
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
297/0 |
Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
4 |
5 |
['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
0-44995 12 hours ago |
1-76454 1 day ago |
56-71510 56 days |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
2 |
['github-actions'] |
nobody |
0-43613 12 hours ago |
1-6859 1 day ago |
1-8402 1 day |
| 36896 |
PieterCuijpers author:PieterCuijpers |
feat (Algebra/Order/Quantale): isMulIdempotent, isMulLeftsided, isMulRightsided, isMulTwosided and strict versions |
* Adding definitions of quantale elements being idempotent, leftsided, rightsided, and twosided, and strict versions
I'd value some discussion on whether especially the definition of isMulIdempotent would belong here, since
it applies to semigroups in general. I only see definitions of IdempotentOp in the library so far, focussing on
operators that are fully idempotent, while in the study of Quantales it seems that subquantales of elements
that are idempotent in the original are also interesting. This argues the need for having definitions on
separate elements.
Also, should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them?
And I have a few basic theorems I would like to include, but invite suggestions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
81/1 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
4 |
['NoahW314', 'github-actions'] |
kim-em assignee:kim-em |
0-27755 7 hours ago |
15-19912 15 days ago |
15-19681 15 days |
| 37533 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): Lemmata for reproducing kernels |
---
These are several lemmata regarding pointwise properties of reproducing kernels.
`norm_le_sq_norm_mul_diag` and `norm_sq_le_norm_mul_diag` follow from Cauchy-Schwartz on `kerFun` but are expressed in terms of the kernel. The names contain `diag` because a kernel is an infinite dimension matrix and thus `kernel H x x` and `kernel H y y` are diagonal elements.
`zero_row_iff_zero_diag` and `zero_col_iff_zero_diag` have the same proof. One implies the other due to the kernel being Hermitian.
AI:
I wrote the proofs myself, and then asked Claude to compact them because they were too long and I could see that they could be shortened. It gave some good suggestions but mostly broke the proofs, so fixed and compacted it myself (taking into account its useful suggestions).
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
21/0 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean |
1 |
13 |
['TJHeeringa', 'github-actions', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
0-26365 7 hours ago |
2-8358 2 days ago |
2-21398 2 days |
| 32807 |
WilliamCoram author:WilliamCoram |
feat: Define the Gauss norm for MvPowerSeries |
We adjust the current definition for Gauss norm on power series to work for multivariate power series.
If this seems acceptable I can refactor the single variable case.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
124/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
2 |
28 |
['Multramate', 'WilliamCoram', 'erdOne', 'fbarroero', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
erdOne assignee:erdOne |
0-25607 7 hours ago |
0-39785 10 hours ago |
63-12349 63 days |
| 36849 |
mike1729 author:mike1729 |
feat(Analysis/Normed/Module/SchauderBasis): basic sequences and Grünblum criterium |
This PR introduces the theory of basic sequences in Banach spaces, following Albiac–Kalton. Defines basic sequences in normed spaces, and prove the classical Grünblum criterium for recognizing them.
New definitions (in BasicSequence.lean)
- `BasicSequence`: a bundled ℕ-indexed sequence forming a Schauder basis for its algebraic span, with finite projection bound.
- `SatisfiesGrunblumCondition`: partial sums over initial segments are bounded by a constant times the full sum.
Main results
- `SatisfiesGrunblumCondition.basicSequence`: a nonzero sequence satisfying the Grünblum condition is a basic sequence.
- `SatisfiesGrunblumCondition.linearIndependent`: nonzero sequences satisfying that condition are linearly independent.
---
- follow up to : #34209
- blocks : #35473
The next planned PRs:
- general selection principle for basic sequences
- characterization when a set contains a basic sequence in terms of weak closure and compactness
- Eberlein–Šmulian theorem
- weakly compact subsets of a Banach space are Fréchet–Urysohn spaces
[](https://gitpod.io/from-referrer/) |
file-removed
t-analysis
new-contributor
|
253/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/SchauderBasis/Basic.lean,Mathlib/Analysis/Normed/Module/SchauderBasis/BasicSequence.lean |
3 |
2 |
['github-actions'] |
sgouezel assignee:sgouezel |
0-21986 6 hours ago |
7-67505 7 days ago |
16-17016 16 days |
| 36677 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Partrec): add computability of Nat.find |
This PR bridges `Partrec.rfind` with total unbounded search (`Nat.find`).
It adds: `Computable.find`: Proves that `x ↦ Nat.find (h_ex x)` is computable for a computable decidable predicate `P`. |
t-computability
new-contributor
maintainer-merge
|
15/0 |
Mathlib/Computability/Halting.lean |
1 |
16 |
['AlexeyMilovanov', 'Komyyy', 'bryangingechen', 'github-actions', 'vlad902'] |
nobody |
0-20355 5 hours ago |
1-84909 1 day ago |
19-58102 19 days |
| 37626 |
NoahW314 author:NoahW314 |
feat(Algebra/Algebra/Operations): add `Submodule.mul_eq_bot` |
Generalize `Ideal.mul_eq_bot` to work for submodules as well.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
13/10 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Spectrum/Prime/Basic.lean |
4 |
3 |
['artie2000', 'github-actions'] |
nobody |
0-5199 1 hour ago |
0-5257 1 hour ago |
0-47002 13 hours |
| 35906 |
scp020 author:scp020 |
feat(Combinatorics/SimpleGraph/Walk): chords of walks |
Define `Walk.IsChord` and `Walk.IsChordless` predicates in a new file `SimpleGraph/Walks/Chord.lean`.
See "chord" in https://en.wikipedia.org/wiki/Glossary_of_graph_theory
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Walk.2EIsChordless.20live.20in.20mathlib.3F/with/575277309)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
66/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean |
2 |
65 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'scp020'] |
YaelDillies assignee:YaelDillies |
0-4685 1 hour ago |
0-14500 3 hours ago |
24-43700 24 days |
| 26160 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation |
Add the following lemmas concerning variation of a VectorMeasure:
* `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`.
* `variation_neg`: `(-μ).variation = μ.variation`.
* `variation_zero`: `(0 : VectorMeasure X V).variation = 0`.
* `absolutelyContinuous`
Co-authored-by: @yoh-tanimoto
- [x] depends on: #26156
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
229/33 |
Mathlib.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/Order/Partition/Finpartition.lean |
10 |
99 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel', 'yoh-tanimoto'] |
EtienneC30 assignee:EtienneC30 |
0-3309 55 minutes ago |
0-3014 46 minutes ago |
38-57493 38 days |
| 37470 |
SabrinaJewson author:SabrinaJewson |
feat(SetTheory/Ordinal): add `add_iSup`, `mul_iSup` and friends |
Add a couple lemmas for working with ordinal `iSup`, `lsub`, addition and multiplication.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-set-theory
|
32/6 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/SetTheory/Ordinal/Family.lean |
2 |
23 |
['SabrinaJewson', 'SnirBroshi', 'github-actions', 'vihdzp'] |
vihdzp assignee:vihdzp |
0-2463 41 minutes ago |
0-2464 37 minutes ago |
0-30053 8 hours |
| 35733 |
mkaratarakis author:mkaratarakis |
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem |
This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental.
Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua).
This PR is essentially the first half of page 490 in the book.
The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$.
1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem.
2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system.
3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.).
4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$.
5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma.
6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
913/49 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean |
4 |
16 |
['github-actions', 'mkaratarakis', 'tb65536'] |
tb65536 assignee:tb65536 |
0-1299 21 minutes ago |
0-1295 17 minutes ago |
12-67900 12 days |