The mathlib review queue

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

This dashboard was last updated on: April 04, 2026 at 14:14 UTC

Review queue

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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47654
21 days ago
28-83394
28 days ago
36-41482
36 days
36329 rwst
author:rwst
feat(PowerSeries): add barebones Log.lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47643
21 days ago
27-70054
27 days ago
27-70047
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47478
20 days ago
25-71431
25 days ago
25-73840
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47475
20 days ago
49-36002
49 days ago
49-35995
49 days
36442 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2/Card): cardinality theorems about `Sym2 α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47461
20 days ago
24-83270
24 days ago
24-83263
24 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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-83166
18 days ago
24-81678
24 days ago
24-81671
24 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
18-82940
18 days ago
28-60864
28 days ago
28-61638
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47616
18 days ago
28-10663
28 days ago
28-10784
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47626
17 days ago
22-12598
22 days ago
22-14380
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-42125
17 days ago
17-42208
17 days ago
17-42201
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47644
16 days ago
33-27137
33 days ago
33-27176
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-47636
16 days ago
22-32021
22 days ago
32-55886
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23873
16 days ago
19-12056
19 days ago
19-12050
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`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
15-82956
15 days ago
18-64405
18 days ago
18-82148
18 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47631
15 days ago
15-63612
15 days ago
15-74826
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-79261
14 days ago
16-788
16 days ago
29-27371
29 days
35622 SnirBroshi
author:SnirBroshi
feat(Logic/Function/Basic): `onFun` and `swap` preserve relation properties --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47669
14 days ago
29-38086
29 days ago
41-21930
41 days
36334 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve): add notation and pretty printer for points Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47664
14 days ago
27-64214
27 days ago
27-64207
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-77112
13 days ago
15-73515
15 days ago
17-16027
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-64608
13 days ago
13-64609
13 days ago
34-19614
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-63645
13 days ago
13-63715
13 days ago
65-55658
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-47660
13 days ago
46-77295
46 days ago
46-77288
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-47646
13 days ago
46-77223
46 days ago
46-77216
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? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47638
13 days ago
17-47603
17 days ago
17-47596
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 🙈) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20635
13 days ago
21-47632
21 days ago
21-47625
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-65428
12 days ago
12-65428
12 days ago
17-5642
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62486
12 days ago
12-64085
12 days ago
12-79596
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47610
12 days ago
51-85618
51 days ago
98-25231
98 days
34092 staroperator
author:staroperator
feat(SetTheory/ZFC): properties of `ZFSet.omega` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47604
12 days ago
64-69571
64 days ago
76-28579
76 days
34809 YaelDillies
author:YaelDillies
feat: induced subgraphs of complete multipartite graphs are complete multipartite From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 4/2 Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 1 1 ['github-actions'] kmill
assignee:kmill
12-47596
12 days ago
59-62279
59 days ago
59-62272
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-47593
12 days ago
57-82360
57 days ago
57-82353
57 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-47592
12 days ago
55-40218
55 days ago
55-41863
55 days
34994 bwangpj
author:bwangpj
feat: Countable.of_module_finite --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47591
12 days ago
54-65732
54 days ago
54-65725
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47589
12 days ago
36-83618
36 days ago
47-78756
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 14/5 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 1 ['github-actions'] kmill
assignee:kmill
12-47583
12 days ago
28-26860
28 days ago
28-26853
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47577
12 days ago
16-64901
16 days ago
17-40669
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47576
12 days ago
17-39613
17 days ago
17-39606
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-47569
12 days ago
13-36703
13 days ago
13-42085
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23413
12 days ago
13-43835
13 days ago
38-78531
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17509
12 days ago
12-17574
12 days ago
12-23148
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 11/0 Mathlib/Order/Defs/LinearOrder.lean 1 3 ['astrainfinita', 'bryangingechen', 'github-actions'] bryangingechen
assignee:bryangingechen
12-6962
12 days ago
12-6962
12 days ago
34-78719
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-78644
11 days ago
11-78644
11 days ago
20-85692
20 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-68589
11 days ago
11-68659
11 days ago
11-68652
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57436
11 days ago
57-51168
57 days ago
60-64587
60 days
36585 vihdzp
author:vihdzp
feat: order type of `Iio o` is `lift o` Downstreamed from the CGT repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57176
11 days ago
11-57236
11 days ago
21-2935
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-50826
11 days ago
19-64941
19 days ago
19-64934
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-50094
11 days ago
17-75904
17 days ago
17-75897
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47663
11 days ago
34-562
34 days ago
54-62112
54 days
35610 IvanRenison
author:IvanRenison
feat(Data/Fin): add several lemmas about subtraction of `Fin.{castLT, castAdd, castSucc, castPred}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47659
11 days ago
41-11171
41 days ago
41-25670
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' . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47653
11 days ago
12-17142
12 days ago
13-67091
13 days
36840 SnirBroshi
author:SnirBroshi
feat(SetTheory/Ordinal/Arithmetic): a few ordinal division lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47649
11 days ago
16-45195
16 days ago
16-45188
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47647
11 days ago
12-78143
12 days ago
12-78136
12 days
36999 themathqueen
author:themathqueen
feat(Analysis/RCLike): lifting `C(X, ℝ)` to `C(X, 𝕜)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 69/0 Mathlib.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean 2 1 ['github-actions'] urkud
assignee:urkud
11-47646
11 days ago
12-67327
12 days ago
12-67320
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 ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20014
11 days ago
13-39793
13 days ago
13-40121
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-190
11 days ago
13-78610
13 days ago
50-64471
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73084
10 days ago
10-80243
10 days ago
10-80236
10 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-47643
10 days ago
14-11334
14 days ago
14-11327
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-43490
10 days ago
23-52056
23 days ago
23-52065
23 days
36667 NoneMore
author:NoneMore
feat(ModelTheory): add `exClosure` definition for first-order formulas Prepare for moving realizations between elementarily equivalent structures. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-22179
10 days ago
20-31879
20 days ago
20-31872
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20054
10 days ago
10-20035
10 days ago
105-64662
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17406
10 days ago
10-17430
10 days ago
29-11243
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1267
10 days ago
10-1290
10 days ago
14-37359
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
9-86225
9 days ago
14-24813
14 days ago
16-7662
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 34/1 Mathlib/Data/Finite/Perm.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'tb65536'] nobody
9-85507
9 days ago
9-85517
9 days ago
11-61390
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-75507
9 days ago
9-75507
9 days ago
9-75501
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73496
9 days ago
12-1008
12 days ago
16-23831
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-69181
9 days ago
19-41043
19 days ago
20-9751
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-56012
9 days ago
9-56036
9 days ago
18-10786
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47536
9 days ago
14-48010
14 days ago
16-67206
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23685
9 days ago
11-4849
11 days ago
30-7025
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16238
9 days ago
9-16302
9 days ago
91-8310
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-14292
9 days ago
16-18029
16 days ago
16-21140
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-13249
9 days ago
36-52198
36 days ago
36-52815
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-3468
9 days ago
13-80233
13 days ago
13-80226
13 days
37247 yuma-mizuno
author:yuma-mizuno
feat(GroupTheory/MonoidLocalization): add prime transport lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58645
8 days ago
8-58723
8 days ago
8-58716
8 days
36891 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Exponential): characterization of `a ^ b = 1` Used in the CGT repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47512
8 days ago
10-53448
10 days ago
15-22249
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47500
8 days ago
8-67846
8 days ago
8-67839
8 days
37131 IvanRenison
author:IvanRenison
doc(Combinatorics/SimpleGraph/Partition): improve docstrings in `SimpleGraph.Partition` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 11/16 Mathlib/Combinatorics/SimpleGraph/Partition.lean 1 1 ['github-actions'] nobody
8-33951
8 days ago
10-52962
10 days ago
10-52955
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-26853
8 days ago
8-26853
8 days ago
13-72415
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 * ω) = ω`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18216
8 days ago
10-18281
10 days ago
12-21144
12 days
37244 tb65536
author:tb65536
chore(Algebra/Algebra/Basic): add `IsLocalHom (algebraMap R R)` Experimentally, this seems to speed things up. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16025
8 days ago
8-58360
8 days ago
8-58355
8 days
32245 erdOne
author:erdOne
feat(RingTheory): the `coassoc_simps` simp set From Toric Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-13662
8 days ago
9-14827
9 days ago
41-19410
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
7-81456
7 days ago
8-14549
8 days ago
11-4975
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 <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [ ] depends on: #33631 - [ ] depends on: #33634 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-67317
7 days ago
7-67287
7 days ago
10-15000
10 days
37291 IvanRenison
author:IvanRenison
refactor(Combinatorics/SimpleGraph): move `chromaticNumber_le_two_iff_isBipartite` and `chromaticNumber_eq_two_iff` to `Bipartite` file --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-54405
7 days ago
7-54492
7 days ago
7-54485
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-53623
7 days ago
22-73584
22 days ago
22-73577
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-49710
7 days ago
7-49733
7 days ago
8-56530
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-49621
7 days ago
9-40838
9 days ago
10-14475
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47651
7 days ago
7-71603
7 days ago
7-72356
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47650
7 days ago
7-71617
7 days ago
7-72400
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47648
7 days ago
14-52244
14 days ago
57-11929
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47632
7 days ago
8-51336
8 days ago
8-51329
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 44/2 Mathlib/Order/Partition/Basic.lean 1 1 ['github-actions'] nobody
7-42831
7 days ago
7-52402
7 days ago
7-52395
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-10772
7 days ago
8-82543
8 days ago
8-82536
8 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 34/5 Mathlib/Order/Filter/ENNReal.lean 1 1 ['github-actions'] nobody
7-7486
7 days ago
7-7442
7 days ago
7-7777
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-79435
6 days ago
6-79453
6 days ago
31-15893
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-78543
6 days ago
7-79409
7 days ago
16-23083
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47420
6 days ago
7-59928
7 days ago
11-71633
11 days
37084 SnirBroshi
author:SnirBroshi
feat(Order/PropInstances): relations and `Subsingleton` `r = ⊤ ↔ Refl r` and `r = ⊥ ↔ Irrefl r` given `Subsingleton` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 7/1 Mathlib/Order/PropInstances.lean 1 1 ['github-actions'] bryangingechen
assignee:bryangingechen
6-47419
6 days ago
11-17690
11 days ago
11-17683
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-31451
6 days ago
10-9057
10 days ago
10-9050
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-28427
6 days ago
6-28427
6 days ago
36-21181
36 days
34808 YaelDillies
author:YaelDillies
feat(Combinatorics/SimpleGraph): isolated vertices From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-24669
6 days ago
6-24720
6 days ago
58-1185
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-10067
6 days ago
12-2446
12 days ago
35-71132
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-8907
6 days ago
7-68457
7 days ago
7-70251
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-7980
6 days ago
6-8263
6 days ago
38-49596
38 days
35976 Phelixh
author:Phelixh
feat: add add Liu's uncertainty theory foundations (core/distribution/process modules) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-85
6 days ago
6-152
6 days ago
6-5442
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
5-82184
5 days ago
5-82185
5 days ago
10-56913
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
5-81382
5 days ago
5-81406
5 days ago
7-27215
7 days
37344 vihdzp
author:vihdzp
feat: monotone function `Cardinal → α` is eventually constant --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-65389
5 days ago
5-67934
5 days ago
5-70086
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-64083
5 days ago
7-71614
7 days ago
7-72343
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-63953
5 days ago
37-73516
37 days ago
40-21395
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62813
5 days ago
80-64768
80 days ago
80-64761
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-53482
5 days ago
7-56450
7 days ago
12-47668
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-43093
5 days ago
7-44990
7 days ago
7-45098
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`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 19/0 Mathlib/Order/WellFounded.lean 1 1 ['github-actions'] nobody
5-40567
5 days ago
5-40320
5 days ago
5-42210
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`}. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 12/0 Mathlib/Order/Defs/PartialOrder.lean 1 1 ['github-actions'] nobody
5-40420
5 days ago
5-40174
5 days ago
5-41850
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20915
5 days ago
5-20940
5 days ago
17-83098
17 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-5764
5 days ago
5-70306
5 days ago
5-70299
5 days
36979 Komyyy
author:Komyyy
feat: `↑(Nat.log m n) = Ordinal.log ↑m ↑n` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-3803
5 days ago
11-7991
11 days ago
12-60646
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta 22/19 Mathlib/Tactic/Basic.lean 1 10 ['Vierkantor', 'dwrensha', 'github-actions', 'joneugster'] dwrensha
assignee:dwrensha
4-85605
4 days ago
4-85605
4 days ago
19-11422
19 days
37373 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Sum): add `LocallyFinite (G ⊕g H)` instance --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 11/0 Mathlib/Combinatorics/SimpleGraph/Sum.lean 1 3 ['SnirBroshi', 'github-actions', 'themathqueen'] nobody
4-82466
4 days ago
4-85949
4 days ago
4-85942
4 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`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73348
4 days ago
5-1488
5 days ago
25-81115
25 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-67330
4 days ago
5-12500
5 days ago
25-52693
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-48814
4 days ago
4-48873
4 days ago
10-44798
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47503
4 days ago
6-38355
6 days ago
6-38348
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47500
4 days ago
5-16998
5 days ago
5-17325
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47494
4 days ago
9-67216
9 days ago
9-67211
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-39355
4 days ago
13-70615
13 days ago
52-31663
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 40/20 Mathlib/RingTheory/Regular/Category.lean 1 1 ['github-actions'] nobody
4-34530
4 days ago
5-39789
5 days ago
5-39782
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-27151
4 days ago
4-27178
4 days ago
4-75758
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-26641
4 days ago
4-26540
4 days ago
31-59798
31 days
37413 Paul-Lez
author:Paul-Lez
feat(Combinatorics/Enumerative/Composition): add lemma about products of embeddings Co-authored-by: Xavier Genereux [xaviergenereux@hotmail.com](mailto:xaviergenereux@hotmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 4/0 Mathlib/Combinatorics/Enumerative/Composition.lean 1 1 ['github-actions'] nobody
4-22465
4 days ago
4-22541
4 days ago
4-22534
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 11/22 Mathlib/SetTheory/Cardinal/Regular.lean 1 2 ['github-actions', 'mathlib-dependent-issues'] nobody
4-13511
4 days ago
4-18412
4 days ago
4-19123
4 days
37432 mariainesdff
author:mariainesdff
feat(Algebra/BigOperators/NatAntidiagonal): add ofAdd_antidiagonal Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
27/0 Mathlib/Algebra/BigOperators/NatAntidiagonal.lean 1 1 ['github-actions'] nobody
4-6929
4 days ago
4-7013
4 days ago
4-7006
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
307/19 Mathlib/Algebra/SkewPolynomial/Basic.lean 1 1 ['github-actions'] nobody
4-4933
4 days ago
4-5022
4 days ago
4-5015
4 days
37317 vihdzp
author:vihdzp
feat: a topology with a basis of clopens is completely regular --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2278
4 days ago
6-82140
6 days ago
6-82133
6 days
35316 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1650
4 days ago
4-1705
4 days ago
8-20155
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 22/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 6 ['Maldooor', 'github-actions'] ADedecker
assignee:ADedecker
3-85890
3 days ago
40-57322
40 days ago
47-4203
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-84850
3 days ago
4-3492
4 days ago
25-85154
25 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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-84088
3 days ago
3-84498
3 days ago
3-84539
3 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]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-82689
3 days ago
3-82750
3 days ago
9-32094
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-81752
3 days ago
3-81752
3 days ago
8-31578
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-80866
3 days ago
3-80921
3 days ago
14-18533
14 days
35820 smmercuri
author:smmercuri
feat: unit lemmas and embedding for `FiniteAdeleRing` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 42/4 Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean 1 10 ['Multramate', 'github-actions', 'smmercuri'] mattrobball
assignee:mattrobball
3-80840
3 days ago
3-80896
3 days ago
36-70830
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
3-79965
3 days ago
40-66691
40 days ago
40-67359
40 days
37374 NoneMore
author:NoneMore
feat(Topology/DerivedSet): add relative derived set lemmas Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-79956
3 days ago
3-82110
3 days ago
4-49117
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-79863
3 days ago
28-2400
28 days ago
34-55110
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
602/22 Mathlib/Algebra/SkewPolynomial/Basic.lean 1 1 ['github-actions'] nobody
3-79152
3 days ago
4-4432
4 days ago
4-4425
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-78942
3 days ago
3-78999
3 days ago
18-76861
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 54/1 Mathlib/RingTheory/Polynomial/Basic.lean 1 3 ['github-actions', 'wwylele'] nobody
3-78931
3 days ago
5-44902
5 days ago
5-82851
5 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 <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-75445
3 days ago
4-63104
4 days ago
4-63374
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58047
3 days ago
3-59067
3 days ago
17-39797
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57861
3 days ago
4-34149
4 days ago
17-23985
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-55600
3 days ago
7-47964
7 days ago
7-47957
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 <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-51099
3 days ago
3-51176
3 days ago
3-51169
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47197
3 days ago
5-11566
5 days ago
5-14976
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. ) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47189
3 days ago
5-1193
5 days ago
5-1199
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47188
3 days ago
12-65429
12 days ago
17-14629
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47187
3 days ago
15-21863
15 days ago
15-21856
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 55/205 Mathlib/Order/Hom/WithTopBot.lean 1 1 ['github-actions'] bryangingechen
assignee:bryangingechen
3-47184
3 days ago
7-74546
7 days ago
7-77099
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-47182
3 days ago
5-46707
5 days ago
5-47004
5 days
37430 RemyDegenne
author:RemyDegenne
feat: lemmas about predictablePart Co-authored-by: Etienne Marion @EtienneC30 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47176
3 days ago
4-10483
4 days ago
4-10476
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-47173
3 days ago
3-74478
3 days ago
3-74471
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-47173
3 days ago
3-74445
3 days ago
3-74438
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-39550
3 days ago
3-39604
3 days ago
13-19734
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-36650
3 days ago
3-36711
3 days ago
3-37280
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-36394
3 days ago
3-36424
3 days ago
4-44119
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-28487
3 days ago
3-28549
3 days ago
4-28871
4 days
36451 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Matching): `edgeSet` is injective and strictly monotonic on matchings, and more API --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-25273
3 days ago
3-25299
3 days ago
20-21513
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". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23144
3 days ago
3-23144
3 days ago
51-52997
51 days
37461 grunweg
author:grunweg
chore: golf using the field tactic --- In the spirit of #31314. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-21962
3 days ago
3-23264
3 days ago
3-29729
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta large-import 132/2 Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean 1 1 ['github-actions'] nobody
3-21865
3 days ago
4-19538
4 days ago
4-19531
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 208/0 Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean 1 1 ['github-actions'] nobody
3-21846
3 days ago
4-20301
4 days ago
4-20294
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20287
3 days ago
5-57589
5 days ago
5-57582
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20265
3 days ago
4-19385
4 days ago
4-20063
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20095
3 days ago
12-62703
12 days ago
88-17836
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18603
3 days ago
19-81865
19 days ago
19-81858
19 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18447
3 days ago
4-73490
4 days ago
4-73485
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 9/1 MathlibTest/FlexibleLinter.lean 1 1 ['github-actions'] nobody
3-16991
3 days ago
3-17056
3 days ago
3-17049
3 days
37486 sgouezel
author:sgouezel
chore: fix instance diamond in `Order.Ideal` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 6/4 Mathlib/Order/Ideal.lean 1 1 ['github-actions'] nobody
3-10329
3 days ago
3-10404
3 days ago
3-10397
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-9874
3 days ago
3-14888
3 days ago
3-25311
3 days
37179 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add lemmas about left and right elements of `SimpleGraph.sum` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 18/0 Mathlib/Combinatorics/SimpleGraph/Sum.lean 1 3 ['WilliamCoram', 'github-actions'] nobody
3-9624
3 days ago
9-62555
9 days ago
9-62548
9 days
37488 sgouezel
author:sgouezel
chore: fix instance diamond for order on `Subtype (IsPartition)` We introduce a type synonym to avoid the diamond. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 23/8 Mathlib/Data/Setoid/Partition.lean 1 1 ['github-actions'] nobody
3-8316
3 days ago
3-8384
3 days ago
3-8377
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-8146
3 days ago
15-71476
15 days ago
15-71870
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-8066
3 days ago
4-44848
4 days ago
4-44986
4 days
35533 mariainesdff
author:mariainesdff
feat(RingTheory/DedekindDomain/Ideal/Lemmas): add nontrivial_heightOneSpectrum Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-5857
3 days ago
31-18852
31 days ago
37-45990
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-4100
3 days ago
14-83148
14 days ago
14-83970
14 days
37431 YaelDillies
author:YaelDillies
chore(Algebra/Pointwise): generalise `closure_pow_le` Thanks to Andrew for spotting this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-83508
2 days ago
2-83566
2 days ago
3-53317
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` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-81955
2 days ago
2-83129
2 days ago
3-37117
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-81166
2 days ago
3-80702
3 days ago
4-50971
4 days
34273 gasparattila
author:gasparattila
feat(Topology/Sets): finite sets are dense in `(Nonempty)Compacts` --- - [x] depends on: #34266 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-80238
2 days ago
10-77037
10 days ago
10-78280
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy t-meta 3/0 MathlibTest/positivity.lean 1 1 ['github-actions'] nobody
2-74312
2 days ago
2-74378
2 days ago
2-74371
2 days
36552 j-loreaux
author:j-loreaux
feat: add instances for `IsMulCommutative s.toWeakerSubobject` --- - [ ] depends on: #36549 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73074
2 days ago
2-73101
2 days ago
2-73399
2 days
36553 j-loreaux
author:j-loreaux
feat: add IsMulCommutative instances for directed families of commutative subobjects --- - [ ] depends on: #36549 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73038
2 days ago
2-73061
2 days ago
2-73258
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-69363
2 days ago
2-69363
2 days ago
24-23929
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 <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-67274
2 days ago
2-67245
2 days ago
2-67320
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` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62583
2 days ago
7-59717
7 days ago
39-57271
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62448
2 days ago
2-75405
2 days ago
48-53336
48 days
37363 vihdzp
author:vihdzp
feat: many simp lemmas about aleph/beth/omega functions and lift --- - [x] depends on: #37024 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-59982
2 days ago
4-18444
4 days ago
4-20093
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-59093
2 days ago
2-62784
2 days ago
2-62777
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58302
2 days ago
2-58377
2 days ago
2-58370
2 days
37443 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walks/Operations): permutations of support --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57382
2 days ago
2-57407
2 days ago
3-67292
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57381
2 days ago
2-57404
2 days ago
7-30735
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57317
2 days ago
2-57373
2 days ago
4-23898
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-56664
2 days ago
2-56723
2 days ago
10-56013
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-55883
2 days ago
4-18403
4 days ago
4-21089
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-55190
2 days ago
2-54931
2 days ago
4-46319
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-53863
2 days ago
5-38778
5 days ago
5-39014
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-52522
2 days ago
3-63043
3 days ago
3-71276
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47661
2 days ago
30-2804
30 days ago
30-3167
30 days
34271 gasparattila
author:gasparattila
feat(Topology/Sets): second-countability of `(Nonempty)Compacts` --- - [x] depends on: #34266 - [x] depends on: #34268 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47617
2 days ago
3-1157
3 days ago
3-1287
3 days
34275 gasparattila
author:gasparattila
feat(Topology/Sets): topological properties of `(Nonempty)Compacts.map` --- - [x] depends on: #34268 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47616
2 days ago
3-1160
3 days ago
3-3252
3 days
34276 gasparattila
author:gasparattila
feat(Topology/Sets): discreteness of `(Nonempty)Compacts` --- - [x] depends on: #34268 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47615
2 days ago
3-1162
3 days ago
3-3007
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47614
2 days ago
3-6646
3 days ago
4-51875
4 days
36155 grunweg
author:grunweg
feat: custom elaborators for TangentSpace and tangentMap(Within) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47610
2 days ago
28-5258
28 days ago
29-15013
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 <59937998+JonBannon@users.noreply.github.com> --- - [x] depends on: #35997 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47609
2 days ago
22-11441
22 days ago
24-1194
24 days
36224 gasparattila
author:gasparattila
feat(Analysis/Normed/Affine): (pseudo)metric on `V →ᴬ[𝕜] Q` --- - [x] depends on: #36083 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47608
2 days ago
3-4970
3 days ago
3-32573
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47607
2 days ago
27-60136
27 days ago
27-60761
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-47601
2 days ago
14-53969
14 days ago
14-55187
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47598
2 days ago
4-84962
4 days ago
4-84955
4 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47596
2 days ago
3-7596
3 days ago
4-59928
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47592
2 days ago
3-17606
3 days ago
3-17599
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47591
2 days ago
3-18657
3 days ago
3-18650
3 days
37499 gasparattila
author:gasparattila
feat(Topology/Sets): local compactness of `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 46/0 Mathlib/Topology/Sets/VietorisTopology.lean 1 1 ['github-actions'] j-loreaux
assignee:j-loreaux
2-47591
2 days ago
3-305
3 days ago
3-298
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 86/65 Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/PointwiseConvergence.lean 2 1 ['github-actions'] nobody
2-36805
2 days ago
2-38233
2 days ago
2-38226
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-32037
2 days ago
8-20483
8 days ago
8-31894
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-28097
2 days ago
2-28421
2 days ago
21-66533
21 days
37518 sgouezel
author:sgouezel
chore: fix instances in SetSemiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 24/19 Mathlib/Data/Set/Semiring.lean 1 1 ['github-actions'] nobody
2-27321
2 days ago
2-27377
2 days ago
2-29340
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 <141128015+WenrongZou@users.noreply.github.com> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23931
2 days ago
2-48162
2 days ago
48-19570
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-22052
2 days ago
2-60739
2 days ago
2-60732
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 <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20723
2 days ago
7-59804
7 days ago
25-900
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 ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19980
2 days ago
6-70709
6 days ago
6-73501
6 days
34854 GrigorenkoPV
author:GrigorenkoPV
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` --- Split off from #34853 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19970
2 days ago
17-80761
17 days ago
37-70653
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19713
2 days ago
16-59308
16 days ago
16-59705
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-18792
2 days ago
2-18828
2 days ago
2-47342
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18727
2 days ago
4-18346
4 days ago
4-18476
4 days
37515 chrisflav
author:chrisflav
feat(Topology): a coinducing map with connected fibers induces a homeomorphism on connected components --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18377
2 days ago
2-6328
2 days ago
2-54650
2 days
37514 chrisflav
author:chrisflav
chore(Topology/Connected): generalize `preimage_connectedComponent_connected` to closed connected sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-18288
2 days ago
2-18333
2 days ago
2-63996
2 days
37532 justus-springer
author:justus-springer
feat(Algebra/Category/ModuleCat/Sheaf): `isQuasicoherent` and `isFinitePresentation` are closed under isomorphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16514
2 days ago
2-16590
2 days ago
2-16583
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-15272
2 days ago
2-82584
2 days ago
2-82577
2 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 18/0 Mathlib/Data/Set/Card.lean 1 1 ['github-actions'] nobody
2-14388
2 days ago
2-14458
2 days ago
2-14451
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-8045
2 days ago
2-8047
2 days ago
6-14576
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-7891
2 days ago
2-7893
2 days ago
2-31372
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-6927
2 days ago
2-6951
2 days ago
17-65163
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 5/0 Mathlib/Data/Set/Card.lean 1 1 ['github-actions'] nobody
2-2949
2 days ago
2-3020
2 days ago
2-3013
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2522
2 days ago
2-2560
2 days ago
2-41040
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2305
2 days ago
3-11630
3 days ago
3-11623
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1668
2 days ago
2-1668
2 days ago
9-1639
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1268
2 days ago
2-3930
2 days ago
2-4255
2 days
37298 artie2000
author:artie2000
refactor(Algebra/Order): unbundle group and ring cone * Unbundle `GroupCone` and `RingCone` using `Submonoid.IsMulPointed` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
1-84136
1 day ago
5-74251
5 days ago
5-74799
5 days
30900 vihdzp
author:vihdzp
feat: run-length encoding --- - [x] depends on: #30898 Moved from #17105. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-78315
1 day ago
1-78372
1 day ago
44-21629
44 days
37545 vihdzp
author:vihdzp
feat: ℵ_ univ = univ --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-78181
1 day ago
1-85116
1 day ago
1-85152
1 day
36867 ADedecker
author:ADedecker
feat: line derivative of distributions --- - [ ] depends on: #36866 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-76856
1 day ago
3-18320
3 days ago
3-19996
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73842
1 day ago
3-83934
3 days ago
3-83927
3 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-69533
1 day ago
1-69605
1 day ago
1-69598
1 day
37369 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat/Presheaf): the colimit module of a presheaf of modules on a cofiltered category --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-69289
1 day ago
5-2353
5 days ago
5-2346
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] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-61850
1 day ago
1-61850
1 day ago
8-67530
8 days
37573 vihdzp
author:vihdzp
feat: supremum of `≤ c` ordinals of cardinal `≤ c` has cardinal `≤ c` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 47/14 Mathlib/SetTheory/Cardinal/Ordinal.lean 1 1 ['github-actions'] nobody
1-60232
1 day ago
1-60929
1 day ago
1-60922
1 day
37574 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): Add lemma `Walk.IsCircuit.isCycle_cycleBypass` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 8/3 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 1 ['github-actions'] nobody
1-58845
1 day ago
1-58914
1 day ago
1-58907
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57484
1 day ago
1-57560
1 day ago
1-57553
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-53156
1 day ago
2-9291
2 days ago
12-24510
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47509
1 day ago
29-80606
29 days ago
29-82485
29 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-47506
1 day ago
2-29358
2 days ago
24-40790
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47502
1 day ago
16-85394
16 days ago
16-85395
16 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47498
1 day ago
8-18437
8 days ago
13-27335
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 46/24 Mathlib/Topology/FiberBundle/Trivialization.lean 1 3 ['chenson2018', 'github-actions', 'grunweg'] urkud
assignee:urkud
1-47494
1 day ago
2-8003
2 days ago
2-8164
2 days
37536 grunweg
author:grunweg
chore: mark coordinateChange_apply_snd simp --- Inspired by #35978 and its follow-up #37535. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47494
1 day ago
2-8294
2 days ago
2-8287
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 <129694072+ldiedering@users.noreply.github.com> --- carleson easy t-measure-probability 36/0 Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
1-47490
1 day ago
1-83411
1 day ago
1-83404
1 day
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-47484
1 day ago
1-73032
1 day ago
1-73025
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47482
1 day ago
1-70042
1 day ago
1-70036
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47481
1 day ago
1-69369
1 day ago
1-69362
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 <129694072+ldiedering@users.noreply.github.com> --- carleson t-topology easy 32/0 Mathlib/Topology/Instances/AddCircle/Defs.lean 1 1 ['github-actions'] loefflerd
assignee:loefflerd
1-47479
1 day ago
1-67179
1 day ago
1-67172
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-46637
1 day ago
1-46637
1 day ago
7-49052
7 days
37576 WenrongZou
author:WenrongZou
feat(MvPowerSeries): connection between rename and subst --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-43958
1 day ago
1-57779
1 day ago
1-57772
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-43785
1 day ago
1-43843
1 day ago
15-54164
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-43785
1 day ago
1-43843
1 day ago
12-76910
12 days
37412 LLaurance
author:LLaurance
chore(Analysis): shorten proofs by removing steps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-41102
1 day ago
1-41102
1 day ago
2-7794
2 days
35197 j-loreaux
author:j-loreaux
feat: Hölder framework for `lp` spaces --- - [ ] depends on: #35152 - [ ] depends on: #35198 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-28474
1 day ago
1-62606
1 day ago
1-62883
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-21259
1 day ago
1-21301
1 day ago
24-86240
24 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20906
1 day ago
8-42901
8 days ago
48-21635
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17531
1 day ago
1-18398
1 day ago
3-17306
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17043
1 day ago
1-17066
1 day ago
15-887
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16999
1 day ago
1-17046
1 day ago
59-506
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-16978
1 day ago
3-74482
3 days ago
3-74475
3 days
37057 erdOne
author:erdOne
feat(AlgebraicTopology): `SimplexCategory.toTop_map_δ_apply` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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 9 ['Raph-DG', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts'] robin-carlier
assignee:robin-carlier
1-16543
1 day ago
1-16594
1 day ago
2-44674
2 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter large-import 32/2 Mathlib/Tactic/Linter/DocString.lean 1 1 ['github-actions'] nobody
1-15674
1 day ago
1-15740
1 day ago
1-15733
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-15546
1 day ago
1-15702
1 day ago
107-7923
107 days
37334 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): evaluation on subcomplexes In this PR, given a simplicial set `X` and `j : SimplexCategoryᵒᵖ`, we define a functor `evaluation X j : X.Subcomplex ⥤ Set (X.obj j)`, and use it to show that the functor `Subcomplex.toSSetFunctor` which sends a subcomplex of `X` to the corresponding simplicial set preserves filtered colimits. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 71/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/SubcomplexEvaluation.lean 3 5 ['FernandoChu', 'github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
1-12251
1 day ago
1-18396
1 day ago
6-14253
6 days
37505 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add lemma `SimpleGraph.length_cycleBypass_le` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 3/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['Rida-Hamadani', 'github-actions'] nobody
1-10972
1 day ago
2-81177
2 days ago
2-81170
2 days
37332 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): more on nondegenerate simplices of the standard simplex --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 144/0 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Order/Fin/Basic.lean 4 15 ['FernandoChu', 'github-actions', 'joelriou', 'robin-carlier'] robin-carlier
assignee:robin-carlier
1-7755
1 day ago
1-13390
1 day ago
6-19263
6 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-7410
1 day ago
1-7410
1 day ago
44-84392
44 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 }`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-6706
1 day ago
1-6706
1 day ago
11-68700
11 days
37564 Garmelon
author:Garmelon
chore: bump toolchain to v4.30.0-rc1 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-6598
1 day ago
1-29983
1 day ago
1-58833
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-6018
1 day ago
2-64969
2 days ago
2-81768
2 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-5661
1 day ago
1-5661
1 day ago
13-39929
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-4844
1 day ago
1-84861
1 day ago
36-76543
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 <67076332+b-viray@users.noreply.github.com> --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-4765
1 day ago
25-48966
25 days ago
25-48959
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2584
1 day ago
11-48764
11 days ago
11-50000
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2376
1 day ago
1-66413
1 day ago
1-66406
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2262
1 day ago
1-69400
1 day ago
1-69393
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2017
1 day ago
1-65214
1 day ago
1-67749
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1989
1 day ago
8-51922
8 days ago
8-57612
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation 2/2 docs/1000.yaml 1 7 ['dwrensha', 'github-actions', 'harahu'] nobody
1-1880
1 day ago
29-63439
29 days ago
29-63432
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 <129694072+ldiedering@users.noreply.github.com> 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-896
1 day ago
1-951
1 day ago
1-66053
1 day
37495 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Sum): add homomorphism, embedding and isomorphism of sums --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 58/2 Mathlib/Combinatorics/SimpleGraph/Sum.lean 1 15 ['IvanRenison', 'YaelDillies', 'github-actions', 'mkaratarakis'] nobody
1-839
1 day ago
1-1990
1 day ago
2-33996
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-674
1 day ago
1-27881
1 day ago
4-28094
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
0-84903
23 hours ago
1-586
1 day ago
1-579
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
0-83914
23 hours ago
4-72505
4 days ago
7-67558
7 days
37400 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Acyclic): endpoints of a path have at most one neighbor in the path --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 15/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 2 ['Rida-Hamadani', 'github-actions'] nobody
0-82206
22 hours ago
4-41487
4 days ago
4-41480
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
0-81919
22 hours ago
1-39730
1 day ago
72-66493
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 ∅`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
0-81423
22 hours ago
2-262
2 days ago
2-255
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
0-79989
22 hours ago
1-84386
1 day ago
12-67476
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-79288
22 hours ago
2-86229
2 days ago
2-86256
2 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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-77024
21 hours ago
1-83524
1 day ago
1-83517
1 day
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-75643
21 hours ago
0-77081
21 hours ago
0-79171
21 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-74122
20 hours ago
58-63128
58 days ago
58-63121
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73756
20 hours ago
0-76421
21 hours ago
43-61231
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-73458
20 hours ago
0-73502
20 hours ago
1-55020
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-72108
20 hours ago
1-1636
1 day ago
1-2896
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 [apn.uni@gmail.com](mailto:apn.uni@gmail.com) --- - [x] depends on: #26770 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-70335
19 hours ago
13-56435
13 days ago
13-62613
13 days
37614 ADedecker
author:ADedecker
feat: notation for `UniformConvergenceCLM` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 72/52 Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean 1 1 ['github-actions'] nobody
0-69060
19 hours ago
0-69131
19 hours ago
0-69124
19 hours
37399 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Paths): `IsPath` and `Nil` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-68816
19 hours ago
4-39927
4 days ago
4-40064
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-68815
19 hours ago
0-75076
20 hours ago
73-43861
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-68348
18 hours ago
0-68371
18 hours ago
4-3740
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 [apn.uni@gmail.com](mailto:apn.uni@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 90/8 Mathlib/Combinatorics/Graph/Subgraph.lean 1 1 ['github-actions'] nobody
0-67747
18 hours ago
0-70436
19 hours ago
0-70935
19 hours
37327 ldct
author:ldct
feat: `Complex.tan, Complex.tanh` are meromorphic From `AlexKontorovich/PrimeNumberTheoremAnd` project --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-67248
18 hours ago
0-67301
18 hours ago
2-68415
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-65884
18 hours ago
0-65937
18 hours ago
0-67256
18 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-65444
18 hours ago
0-65515
18 hours ago
0-65508
18 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.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-63341
17 hours ago
50-3565
50 days ago
50-3558
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-63122
17 hours ago
19-85102
19 days ago
19-85095
19 days
36571 harahu
author:harahu
doc(Combinatorics): fix typos Found by `PyCharm`'s code inspection tool. Fixes were made by Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-63010
17 hours ago
22-53088
22 days ago
22-53081
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-62963
17 hours ago
0-62966
17 hours ago
9-21586
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62241
17 hours ago
1-2323
1 day ago
1-7378
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-61947
17 hours ago
0-61949
17 hours ago
12-17804
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-59784
16 hours ago
0-59784
16 hours ago
4-43364
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-59049
16 hours ago
0-59049
16 hours ago
10-36218
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58573
16 hours ago
0-58387
16 hours ago
7-7182
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 8/0 Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean 1 2 ['github-actions', 'vihdzp'] nobody
0-58496
16 hours ago
0-59121
16 hours ago
0-59258
16 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58157
16 hours ago
0-58183
16 hours ago
5-56260
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-57746
16 hours ago
0-82217
22 hours ago
0-82531
22 hours
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-56834
15 hours ago
0-56834
15 hours ago
20-6595
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-55437
15 hours ago
5-53168
5 days ago
5-53161
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-54126
15 hours ago
0-53935
14 hours ago
2-51699
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 [apn.uni@gmail.com](mailto:apn.uni@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 149/0 Mathlib.lean,Mathlib/Combinatorics/Graph/InterUnion.lean 2 5 ['Jun2M', 'github-actions', 'vihdzp'] nobody
0-53734
14 hours ago
0-61091
16 hours ago
0-61185
16 hours
37624 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Maps): add theorems about composition --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 25/4 Mathlib/Combinatorics/SimpleGraph/Maps.lean 1 1 ['github-actions'] nobody
0-53686
14 hours ago
0-53760
14 hours ago
0-53753
14 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/0 Mathlib/Data/List/Basic.lean 1 1 ['github-actions'] nobody
0-50106
13 hours ago
1-72602
1 day ago
1-72595
1 day
37471 NoahW314
author:NoahW314
feat(RingTheory/MvPolynomial/MonomialOrder): add `leadingTerm_mul` lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-49672
13 hours ago
3-36449
3 days ago
3-36442
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47639
13 hours ago
9-79013
9 days ago
55-52908
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47633
13 hours ago
8-47766
8 days ago
8-47759
8 days
37279 imalinowskip
author:imalinowskip
feat(Probability): multivariate CLT (and Cramèr-Wold) Depends on #36208 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47632
13 hours ago
0-68870
19 hours ago
0-68863
19 hours
37313 CoolRmal
author:CoolRmal
feat(MeasureTheory): Fatou's lemma for countably generated filters --- - [ ] depends on: #37296 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47631
13 hours ago
0-60908
16 hours ago
0-61122
16 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 2/0 Mathlib/Order/CompleteBooleanAlgebra.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
0-47628
13 hours ago
1-12486
1 day ago
1-14054
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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47628
13 hours ago
2-1426
2 days ago
2-1463
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47627
13 hours ago
2-7078
2 days ago
2-7071
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-47626
13 hours ago
1-7229
1 day ago
1-75979
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-47625
13 hours ago
1-41418
1 day ago
1-41411
1 day
37587 joelriou
author:joelriou
feat(CategoryTheory/Monoidal): use to_additive for the Yoneda embedding of group objects --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47623
13 hours ago
1-17633
1 day ago
1-17626
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 5/0 Mathlib/GroupTheory/Descent.lean 1 1 ['github-actions'] tb65536
assignee:tb65536
0-47621
13 hours ago
0-66446
18 hours ago
0-66439
18 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-42027
11 hours ago
0-41782
11 hours ago
0-47609
13 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-41842
11 hours ago
5-84385
5 days ago
5-84379
5 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-41586
11 hours ago
0-41641
11 hours ago
0-51714
14 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-39002
10 hours ago
0-84872
23 hours ago
19-58612
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-38412
10 hours ago
1-69871
1 day ago
56-65151
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-37030
10 hours ago
1-276
1 day ago
1-2043
1 day
37351 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra/ModuleCat): lemma for projective dimension eq zero Projective dimension of nontrivial projective module is zero. And fix namespace for related lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
35/5 Mathlib/Algebra/Category/ModuleCat/ProjectiveDimension.lean,Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean 2 5 ['Thmoas-Guan', 'github-actions', 'joelriou'] joelriou
assignee:joelriou
0-35577
9 hours ago
0-39512
10 hours ago
4-59851
4 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-29526
8 hours ago
0-71338
19 hours ago
0-71331
19 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 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-25945
7 hours ago
1-5786
1 day ago
2-85323
2 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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23382
6 hours ago
0-23382
6 hours ago
0-30814
8 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-22435
6 hours ago
0-77007
21 hours ago
0-77000
21 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-22425
6 hours ago
0-85086
23 hours ago
114-31517
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-21172
5 hours ago
15-13329
15 days ago
15-13322
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20119
5 hours ago
0-59372
16 hours ago
2-50401
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19782
5 hours ago
2-1775
2 days ago
2-15039
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19024
5 hours ago
0-33202
9 hours ago
63-5990
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17432
4 hours ago
0-17327
4 hours ago
3-83700
3 days
37586 sgouezel
author:sgouezel
chore: remove a `backward.inferInstanceAs.wrap false` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17303
4 hours ago
1-24785
1 day ago
1-24778
1 day
37599 sgouezel
author:sgouezel
chore: use `inferInstanceAs` to define the distance on padic integers --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-17249
4 hours ago
0-82671
22 hours ago
0-82664
22 hours
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16912
4 hours ago
0-16694
4 hours ago
21-15755
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16775
4 hours ago
0-16775
4 hours ago
9-62978
9 days
37480 erdOne
author:erdOne
feat(AlgebraicTopology): homology of contractible spaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16214
4 hours ago
1-15218
1 day ago
2-21530
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-15403
4 hours ago
7-60922
7 days ago
16-10657
16 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt CI 22/21 scripts/create_deprecated_modules.lean 1 19 ['adomani', 'github-actions', 'grunweg'] nobody
0-15160
4 hours ago
1-62147
1 day ago
2-39186
2 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-13772
3 hours ago
1-78326
1 day ago
19-51743
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-13345
3 hours ago
2-76226
2 days ago
2-80036
2 days
37628 JadAbouHawili
author:JadAbouHawili
doc: Rename Xor' to Xor Rename `Xor'` to `Xor` per the comment which recommended doing so after `v4.25.0-rc1` Moves: - Xor' --> Xor --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 50/56 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/GroupTheory/Index.lean,Mathlib/Logic/Basic.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean,Mathlib/Order/SymmDiff.lean,Mathlib/Tactic/ITauto.lean,Mathlib/Topology/Algebra/Order/Archimedean.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Separation/Basic.lean,MathlibTest/itauto.lean 16 3 ['JadAbouHawili', 'github-actions'] nobody
0-13101
3 hours ago
0-12857
3 hours ago
0-14019
3 hours
36388 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-12805
3 hours ago
3-35427
3 days ago
21-43544
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-11932
3 hours ago
0-58174
16 hours ago
0-58167
16 hours
36399 chrisflav
author:chrisflav
feat(RingTheory/Flat): finite flat algebra is trivial if rank is equal to `1` From Pi1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-8281
2 hours ago
1-4037
1 day ago
25-77007
25 days
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 98/91 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 3 ['github-actions', 'leanprover-radar', 'sgouezel'] nobody
0-7303
2 hours ago
0-14912
4 hours ago
0-19750
5 hours
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-5119
1 hour ago
0-5122
1 hour ago
13-17437
13 days
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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 66/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean 2 55 ['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'scp020'] YaelDillies
assignee:YaelDillies
0-5042
1 hour ago
0-7917
2 hours ago
24-37341
24 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-3492
58 minutes ago
0-3515
58 minutes ago
0-19021
5 hours
37623 IvanRenison
author:IvanRenison
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com> --- Missing of this theorems noticed by @SnirBroshi in #37598 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 18/0 Mathlib/Order/RelIso/Basic.lean 1 3 ['SnirBroshi', 'github-actions'] nobody
0-3356
55 minutes ago
0-54082
15 hours ago
0-54075
15 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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2343
39 minutes ago
2-51477
2 days ago
14-73531
14 days
37557 vihdzp
author:vihdzp
feat: `Iic 2 = {0, 1, 2}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-2296
38 minutes ago
1-78086
1 day ago
1-78079
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)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1581
26 minutes ago
13-56289
13 days ago
18-26108
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 <129694072+ldiedering@users.noreply.github.com> --- carleson easy t-measure-probability maintainer-merge 6/0 Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean 1 4 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
0-984
16 minutes ago
1-72699
1 day ago
1-72692
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-966
16 minutes ago
3-65263
3 days ago
24-52839
24 days
37540 quantumsnow
author:quantumsnow
feat(CategoryTheory/MorphismProperty/Comma): add MorphismProperty.Arrow This is needed for the category of topological pairs (#36621). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor 104/6 Mathlib/CategoryTheory/MorphismProperty/Comma.lean 1 14 ['chrisflav', 'github-actions', 'quantumsnow'] nobody
0-571
9 minutes ago
0-571
9 minutes ago
0-2922
48 minutes
37626 NoahW314
author:NoahW314
feat(Algebra/Algebra/Operations): add `Submodule.mul_eq_bot` Generalize `Ideal.mul_eq_bot` to work for submodules as well. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
13/9 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-432
7 minutes ago
0-38776
10 hours ago
0-40760
11 hours
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 [the.erd.one@gmail.com](mailto:the.erd.one@gmail.com) AI disclosure: Claude code assisted in preparing this PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 73/0 Mathlib.lean,Mathlib/Topology/SmallInductiveDimension.lean 2 3 ['FernandoChu', 'github-actions', 'vihdzp'] nobody
0-334
5 minutes ago
0-390
6 minutes ago
0-1318
21 minutes
36357 yuanyi-350
author:yuanyi-350
feat(Analysis/Deriv): add some lemmas for `iteratedDeriv` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-99
1 minute ago
0-99
1 minute ago
7-84885
7 days

New contributors' PRs on the review queue

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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
18-83166
18 days ago
24-81678
24 days ago
24-81671
24 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-42125
17 days ago
17-42208
17 days ago
17-42201
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-79261
14 days ago
16-788
16 days ago
29-27371
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-65428
12 days ago
12-65428
12 days ago
17-5642
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-47593
12 days ago
57-82360
57 days ago
57-82353
57 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47577
12 days ago
16-64901
16 days ago
17-40669
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47576
12 days ago
17-39613
17 days ago
17-39606
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47663
11 days ago
34-562
34 days ago
54-62112
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' . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47653
11 days ago
12-17142
12 days ago
13-67091
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-73084
10 days ago
10-80243
10 days ago
10-80236
10 days
36667 NoneMore
author:NoneMore
feat(ModelTheory): add `exClosure` definition for first-order formulas Prepare for moving realizations between elementarily equivalent structures. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-22179
10 days ago
20-31879
20 days ago
20-31872
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20054
10 days ago
10-20035
10 days ago
105-64662
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
9-86225
9 days ago
14-24813
14 days ago
16-7662
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23685
9 days ago
11-4849
11 days ago
30-7025
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16238
9 days ago
9-16302
9 days ago
91-8310
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-14292
9 days ago
16-18029
16 days ago
16-21140
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-3468
9 days ago
13-80233
13 days ago
13-80226
13 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-78543
6 days ago
7-79409
7 days ago
16-23083
16 days
35976 Phelixh
author:Phelixh
feat: add add Liu's uncertainty theory foundations (core/distribution/process modules) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-85
6 days ago
6-152
6 days ago
6-5442
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
5-81382
5 days ago
5-81406
5 days ago
7-27215
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-63953
5 days ago
37-73516
37 days ago
40-21395
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-53482
5 days ago
7-56450
7 days ago
12-47668
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-43093
5 days ago
7-44990
7 days ago
7-45098
7 days
35316 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-1650
4 days ago
4-1705
4 days ago
8-20155
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 22/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 6 ['Maldooor', 'github-actions'] ADedecker
assignee:ADedecker
3-85890
3 days ago
40-57322
40 days ago
47-4203
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-81752
3 days ago
3-81752
3 days ago
8-31578
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
3-79965
3 days ago
40-66691
40 days ago
40-67359
40 days
37374 NoneMore
author:NoneMore
feat(Topology/DerivedSet): add relative derived set lemmas Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-79956
3 days ago
3-82110
3 days ago
4-49117
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
3-79863
3 days ago
28-2400
28 days ago
34-55110
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). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-58047
3 days ago
3-59067
3 days ago
17-39797
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47188
3 days ago
12-65429
12 days ago
17-14629
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-39550
3 days ago
3-39604
3 days ago
13-19734
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-28487
3 days ago
3-28549
3 days ago
4-28871
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`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-20095
3 days ago
12-62703
12 days ago
88-17836
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) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-4100
3 days ago
14-83148
14 days ago
14-83970
14 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` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-81955
2 days ago
2-83129
2 days ago
3-37117
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
2-81166
2 days ago
3-80702
3 days ago
4-50971
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-52522
2 days ago
3-63043
3 days ago
3-71276
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` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47614
2 days ago
3-6646
3 days ago
4-51875
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-47601
2 days ago
14-53969
14 days ago
14-55187
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 <141128015+WenrongZou@users.noreply.github.com> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-23931
2 days ago
2-48162
2 days ago
48-19570
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 ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19980
2 days ago
6-70709
6 days ago
6-73501
6 days
34854 GrigorenkoPV
author:GrigorenkoPV
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` --- Split off from #34853 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19970
2 days ago
17-80761
17 days ago
37-70653
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-18792
2 days ago
2-18828
2 days ago
2-47342
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-46637
1 day ago
1-46637
1 day ago
7-49052
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-43785
1 day ago
1-43843
1 day ago
15-54164
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-43785
1 day ago
1-43843
1 day ago
12-76910
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-16999
1 day ago
1-17046
1 day ago
59-506
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 <67076332+b-viray@users.noreply.github.com> --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-4765
1 day ago
25-48966
25 days ago
25-48959
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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
0-81919
22 hours ago
1-39730
1 day ago
72-66493
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-79288
22 hours ago
2-86229
2 days ago
2-86256
2 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-74122
20 hours ago
58-63128
58 days ago
58-63121
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-68815
19 hours ago
0-75076
20 hours ago
73-43861
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-62963
17 hours ago
0-62966
17 hours ago
9-21586
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-62241
17 hours ago
1-2323
1 day ago
1-7378
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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-54126
15 hours ago
0-53935
14 hours ago
2-51699
2 days
37471 NoahW314
author:NoahW314
feat(RingTheory/MvPolynomial/MonomialOrder): add `leadingTerm_mul` lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-49672
13 hours ago
3-36449
3 days ago
3-36442
3 days
37279 imalinowskip
author:imalinowskip
feat(Probability): multivariate CLT (and Cramèr-Wold) Depends on #36208 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-47632
13 hours ago
0-68870
19 hours ago
0-68863
19 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-47625
13 hours ago
1-41418
1 day ago
1-41411
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-42027
11 hours ago
0-41782
11 hours ago
0-47609
13 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-41586
11 hours ago
0-41641
11 hours ago
0-51714
14 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-39002
10 hours ago
0-84872
23 hours ago
19-58612
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-38412
10 hours ago
1-69871
1 day ago
56-65151
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-37030
10 hours ago
1-276
1 day ago
1-2043
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-21172
5 hours ago
15-13329
15 days ago
15-13322
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). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19782
5 hours ago
2-1775
2 days ago
2-15039
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-19024
5 hours ago
0-33202
9 hours ago
63-5990
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 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-15403
4 hours ago
7-60922
7 days ago
16-10657
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-13772
3 hours ago
1-78326
1 day ago
19-51743
19 days
37628 JadAbouHawili
author:JadAbouHawili
doc: Rename Xor' to Xor Rename `Xor'` to `Xor` per the comment which recommended doing so after `v4.25.0-rc1` Moves: - Xor' --> Xor --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 50/56 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Ring/Int/Parity.lean,Mathlib/Algebra/Ring/Parity.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Set/Disjoint.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/GroupTheory/Index.lean,Mathlib/Logic/Basic.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean,Mathlib/Order/SymmDiff.lean,Mathlib/Tactic/ITauto.lean,Mathlib/Topology/Algebra/Order/Archimedean.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Separation/Basic.lean,MathlibTest/itauto.lean 16 3 ['JadAbouHawili', 'github-actions'] nobody
0-13101
3 hours ago
0-12857
3 hours ago
0-14019
3 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) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 66/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Chord.lean 2 55 ['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'scp020'] YaelDillies
assignee:YaelDillies
0-5042
1 hour ago
0-7917
2 hours ago
24-37341
24 days
37540 quantumsnow
author:quantumsnow
feat(CategoryTheory/MorphismProperty/Comma): add MorphismProperty.Arrow This is needed for the category of topological pairs (#36621). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor 104/6 Mathlib/CategoryTheory/MorphismProperty/Comma.lean 1 14 ['chrisflav', 'github-actions', 'quantumsnow'] nobody
0-571
9 minutes ago
0-571
9 minutes ago
0-2922
48 minutes
37626 NoahW314
author:NoahW314
feat(Algebra/Algebra/Operations): add `Submodule.mul_eq_bot` Generalize `Ideal.mul_eq_bot` to work for submodules as well. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
13/9 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-432
7 minutes ago
0-38776
10 hours ago
0-40760
11 hours

PRs on the review queue labelled 'easy'

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
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 9/1 MathlibTest/FlexibleLinter.lean 1 1 ['github-actions'] nobody
3-16991
3 days ago
3-17056
3 days ago
3-17049
3 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy t-meta 3/0 MathlibTest/positivity.lean 1 1 ['github-actions'] nobody
2-74312
2 days ago
2-74378
2 days ago
2-74371
2 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-69533
1 day ago
1-69605
1 day ago
1-69598
1 day
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 <129694072+ldiedering@users.noreply.github.com> --- carleson easy t-measure-probability 36/0 Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
1-47490
1 day ago
1-83411
1 day ago
1-83404
1 day
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-47484
1 day ago
1-73032
1 day ago
1-73025
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 <129694072+ldiedering@users.noreply.github.com> --- carleson t-topology easy 32/0 Mathlib/Topology/Instances/AddCircle/Defs.lean 1 1 ['github-actions'] loefflerd
assignee:loefflerd
1-47479
1 day ago
1-67179
1 day ago
1-67172
1 day
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 <129694072+ldiedering@users.noreply.github.com> --- carleson easy t-measure-probability maintainer-merge 6/0 Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean 1 4 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
0-984
16 minutes ago
1-72699
1 day ago
1-72692
1 day

PRs on the review queue labelled 'tech debt' or 'longest-pole'

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
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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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-15272
2 days ago
2-82584
2 days ago
2-82577
2 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. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt CI 22/21 scripts/create_deprecated_modules.lean 1 19 ['adomani', 'github-actions', 'grunweg'] nobody
0-15160
4 hours ago
1-62147
1 day ago
2-39186
2 days