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 30, 2026 at 20:00 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
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
29-30394
29 days ago
35-83325
35 days ago
35-83017
35 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
28-78152
28 days ago
28-78177
28 days ago
30-1361
30 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
28-39562
28 days ago
28-39598
28 days ago
28-67811
28 days
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
27-78254
27 days ago
27-78330
27 days ago
27-78022
27 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
27-64555
27 days ago
27-64613
27 days ago
41-74633
41 days
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
27-22759
27 days ago
34-72692
34 days ago
34-78081
34 days
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
27-21609
27 days ago
27-22760
27 days ago
28-54465
28 days
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
27-3186
27 days ago
30-60697
30 days ago
30-60533
30 days
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
26-74456
26 days ago
26-74530
26 days ago
26-74222
26 days
37676 IvanRenison
author:IvanRenison
feat(Data/Finset/Preimage): add lemmas about `Equiv.symm` --- `Finset` version of lemmas already existing for `Set`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 15/0 Mathlib/Data/Finset/Preimage.lean 1 1 ['github-actions'] nobody
24-80969
24 days ago
24-81050
24 days ago
24-80742
24 days
37702 grunweg
author:grunweg
chore: golf using {norm,push}_cast Not exhaustive --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 23/22 Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/Ring/GeomSum.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Data/Int/Log.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/SumFourSquares.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/RingTheory/WittVector/WittPolynomial.lean 12 5 ['github-actions', 'grunweg', 'j-loreaux'] nobody
23-81659
23 days ago
23-81659
23 days ago
24-6917
24 days
37690 yuanyi-350
author:yuanyi-350
feat(Combinatorics/Enumerative/Bell): sum over partition shapes ## Summary - add multiplicative lemmas relating `Multiset.bell` when inserting a part - prove `Nat.bell` as a sum of `Multiset.bell` over partition shapes - Kill TODO in `Mathlib/Combinatorics/Enumerative/Bell.lean` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 153/16 Mathlib/Combinatorics/Enumerative/Bell.lean 1 1 ['github-actions'] nobody
23-42721
23 days ago
24-41346
24 days ago
24-41038
24 days
37762 EtienneC30
author:EtienneC30
feat: scalar multiplication of an `NNReal` against `1 : ENNReal` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 4/3 Mathlib/Data/ENNReal/Action.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean,Mathlib/Probability/Distributions/SetBernoulli.lean 3 1 ['github-actions'] nobody
23-12711
23 days ago
23-12774
23 days ago
23-13709
23 days
37642 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph): tidy various files --- Concept inspired by @Ruben-VandeVelde :) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 89/72 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean 8 2 ['SnirBroshi', 'github-actions'] nobody
23-6680
23 days ago
23-6740
23 days ago
25-23069
25 days
37784 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Basic): `ConditionallyCompleteLinearOrderBot (WithBot α)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 29/0 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean 1 1 ['github-actions'] nobody
22-64021
22 days ago
22-64096
22 days ago
22-63788
22 days
37185 gasparattila
author:gasparattila
chore(Data/Finset/Lattice/Fold): rename `comp_sup_*` to `apply_sup_*` These lemmas are of the form `g (s.sup f) = s.sup (g ∘ f)` with no composition on the LHS. --- - [x] depends on: #37047 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 44/26 Mathlib/Algebra/Order/Ring/Finset.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Data/ENNReal/Lemmas.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Order/PartialSups.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Ordered.lean 11 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
21-77997
21 days ago
21-81031
21 days ago
21-81049
21 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'] RemyDegenne
assignee:RemyDegenne
21-68422
21 days ago
45-32826
45 days ago
45-32519
45 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 113/28 Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean 4 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] alreadydone
assignee:alreadydone
21-68419
21 days ago
25-22031
25 days ago
36-72482
36 days
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 6 ['IvanRenison', 'SnirBroshi', 'eric-wieser', 'github-actions'] bryangingechen
assignee:bryangingechen
21-68413
21 days ago
25-11402
25 days ago
26-34629
26 days
37697 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Clique): add theorems about cliques and induced graphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 22/0 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 9 ['Rida-Hamadani', 'SnirBroshi', 'github-actions'] nobody
20-81248
20 days ago
24-19293
24 days ago
24-18985
24 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 2 ['github-actions', 'mathlib-merge-conflicts'] tb65536
assignee:tb65536
20-74804
20 days ago
20-74862
20 days ago
30-80901
30 days
37890 tb65536
author:tb65536
feat(RingTheory/Spectrum/Prime/FreeLocus): add variant of `Module.rankAtStalk_eq` for better rewriting This PR adds a variant of `Module.rankAtStalk_eq` for better rewriting. I also generalized `Ideal.Fiber` to `Module`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
8/2 Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean 2 1 ['github-actions'] nobody
20-20411
20 days ago
20-20411
20 days ago
20-20104
20 days
37900 tb65536
author:tb65536
feat(RingTheory/Localization/FractionRing): add `IsFractionRing.ofAlgEquiv` and `IsFractionRing.ofAlgHom` This PR gives constructors for `IsFractionRing` from an `AlgEquiv` and from an `AlgHom`. The first is just a specialization of `IsLocalization.isLocalization_of_algEquiv`, but the second has a bit more content. --- [![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/0 Mathlib/RingTheory/Localization/FractionRing.lean 1 3 ['github-actions', 'tb65536'] nobody
20-8698
20 days ago
20-8698
20 days ago
20-8391
20 days
37871 JJYYY-JJY
author:JJYYY-JJY
feat: support intros and simple rintro in introMerge * Extend the `introMerge` linter to handle `intros` and a safe subset of `rintro` tactics, allowing it to suggest merging a wider variety of adjacent introduction tactics. * Introduce helper functions to normalize supported `rcases` and `rintro` patterns into equivalent `intro` arguments for consistent analysis. * Add tests to verify the correct merging of mixed introduction tactics and ensure intervening tactics prevent merging. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta new-contributor 101/9 Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean 3 3 ['copilot-pull-request-reviewer', 'github-actions'] dwrensha
assignee:dwrensha
19-68323
19 days ago
20-59334
20 days ago
20-62263
20 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/) 11/41 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 13 ['chenson2018', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] nobody
19-45539
19 days ago
19-45599
19 days ago
44-17070
44 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/) 10/29 Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Tactic/NormNum/DivMod.lean 4 11 ['chenson2018', 'euprunin', 'github-actions'] nobody
19-43179
19 days ago
19-43240
19 days ago
37-40516
37 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/10 Mathlib/GroupTheory/Perm/Support.lean 1 4 ['artie2000', 'chenson2018', 'euprunin', 'github-actions'] nobody
19-43143
19 days ago
45-85711
45 days ago
45-85403
45 days
37700 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Maps): add `Iso.induceIso` Similar to `induceHom` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 29/0 Mathlib/Combinatorics/SimpleGraph/Maps.lean 1 3 ['github-actions', 'vlad902'] nobody
19-2092
19 days ago
19-2150
19 days ago
24-14159
24 days
37928 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`. `Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`. `FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`). Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed. Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required. new-contributor 30/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 5 ['github-actions', 'vihdzp'] nobody
18-75528
18 days ago
19-34479
19 days ago
19-34171
19 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'] eric-wieser
assignee:eric-wieser
18-68013
18 days ago
28-81509
28 days ago
28-81201
28 days
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 146/13 Mathlib/Topology/Compactness/CountablyCompact.lean,Mathlib/Topology/Inseparable.lean,docs/references.bib 3 33 ['ADedecker', 'CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'scholzhannah'] PatrickMassot
assignee:PatrickMassot
18-52701
18 days ago
18-52759
18 days ago
30-42241
30 days
37720 cjrl
author:cjrl
feat(Data/Fintype/Card): existsUnique_notMem_image_of_injective_of_card_succ This pull requests adds a small theorem `existsUnique_notMem_image_of_injective_of_card_succ` to `Mathlib/Data/Fintype/Card` that says given an injective map f : α → β such that β has cardinality one more than α, there exists a unique element of β not in the image of f. This can be viewed as going in the opposite direction of `card_lt_of_injective_of_notMem`. This little fact is needed for our Latin Square PR #36698. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor t-set-theory 15/0 Mathlib/Data/Fintype/Card.lean 1 6 ['IvanRenison', 'cjrl', 'github-actions'] nobody
18-2432
18 days ago
18-2490
18 days ago
23-56033
23 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 38/0 Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean 2 16 ['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] nobody
18-1624
18 days ago
18-1675
18 days ago
33-58566
33 days
36155 grunweg
author:grunweg
feat: custom elaborators for TangentSpace and tangentMap(Within) And use these to golf the differential geometry files a bit further. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 85/30 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,MathlibTest/DifferentialGeometry/Notation/Basic.lean 8 5 ['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] PatrickMassot
assignee:PatrickMassot
17-27462
17 days ago
17-27256
17 days ago
55-35406
55 days
34675 YaelDillies
author:YaelDillies
feat: comultiplication as a bialgebra hom From Toric --- - [x] depends on: #32245 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 71/12 Mathlib/RingTheory/Bialgebra/TensorProduct.lean,Mathlib/RingTheory/Coalgebra/TensorProduct.lean 2 6 ['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
17-20071
17 days ago
18-43551
18 days ago
18-43244
18 days
38021 IvanRenison
author:IvanRenison
feat(Data/Int/ModEq): add theorem `modEq_two_abs` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 4/0 Mathlib/Data/Int/ModEq.lean 1 1 ['github-actions'] nobody
16-77718
16 days ago
16-77784
16 days ago
16-77476
16 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'] alreadydone
assignee:alreadydone
16-67930
16 days ago
28-78143
28 days ago
30-44367
30 days
37831 EtienneC30
author:EtienneC30
feat: the cardinal of a finset is an ite sum over a bigger finset If `s ⊆ t` then `s.card = ∑ i ∈ t, if i ∈ s then 1 else 0`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-algebra
label:t-algebra$
9/2 Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Filter.lean 3 3 ['EtienneC30', 'github-actions', 'robin-carlier'] nobody
16-27843
16 days ago
16-35187
16 days ago
21-38092
21 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`. This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307 --- [![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 8 ['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] nobody
16-23425
16 days ago
16-23453
16 days ago
35-64582
35 days
38018 matthewjasper
author:matthewjasper
feat(Algebra): expand Subalgebra.restrictScalars API Add an instance for the original algebra structure, the implied scalar tower instances, and the algebra equivalence with the original subalgebra. Use this to remove some `set_option backward.isDefEq.respectTransparency`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 53/14 Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean 4 2 ['eric-wieser', 'github-actions'] nobody
15-83793
15 days ago
16-80324
16 days ago
16-81633
16 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'] TwoFX
assignee:TwoFX
15-67965
15 days ago
28-35228
28 days ago
28-34920
28 days
37718 SabrinaJewson
author:SabrinaJewson
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones `{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 366/0 Mathlib.lean,Mathlib/Order/Std.lean,MathlibTest/OrderOfStd.lean 3 2 ['github-actions'] bryangingechen
assignee:bryangingechen
15-67964
15 days ago
23-71343
23 days ago
23-71528
23 days
38047 mbkybky
author:mbkybky
feat(RingTheory/Finiteness/Ideal): `I` is finitely generated if `f(I)` and `I ∩ ker(f)` are finitely generated Let `f : R →+* S` be a surjective ring homomorphism, and let `I` be an ideal of `R`. If `f(I)` and `I ∩ ker(f)` are finitely generated ideals, then `I` is also finitely generated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 13/3 Mathlib/RingTheory/Finiteness/Ideal.lean 1 1 ['github-actions'] nobody
15-56749
15 days ago
15-56813
15 days ago
15-57666
15 days
36219 gasparattila
author:gasparattila
chore(Order/SupClosed): use `to_dual` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 66/215 Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/SupClosed.lean 2 6 ['github-actions', 'mathlib-merge-conflicts'] nobody
15-10107
15 days ago
15-10165
15 days ago
19-14068
19 days
38087 kbuzzard
author:kbuzzard
perf: add some fast_instance% --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) `fast_instance%` experts should take a look at this and say which if any are spurious. I confess to throwing them around rather randomly. Zulip thread [#mathlib4 > random fast_instance% makes gains @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/random.20fast_instance.25.20makes.20gains/near/585737520) t-algebra
label:t-algebra$
10/9 Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 3 3 ['github-actions', 'kbuzzard', 'leanprover-radar'] nobody
15-2909
15 days ago
15-2940
15 days ago
15-2648
15 days
37865 Jun2M
author:Jun2M
feat(Combinatorics/Graph): Edge cut of `Graph` This PR introduces - `edgeCut`: A function on set of vertices that returns the set of edges with exactly one end in the set. - `IsEdgeCut`: A predicate for set of edges that promises it is `edgeCut` of some set. - `IsBridge`: An edge `e` is a bridge iff it is a singleton edge cut. - `IsBond`: An edge Set `B` is bond iff it is minimal nonempty edge cut. --- - [x] depends on: #35879 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 194/0 Mathlib/Combinatorics/Graph/Connected/EdgeCut.Lean,Mathlib/Combinatorics/Graph/Subgraph.lean 2 2 ['github-actions', 'mathlib-dependent-issues'] nobody
14-86308
14 days ago
15-17565
15 days ago
15-17695
15 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'] Vierkantor
assignee:Vierkantor
14-67864
14 days ago
83-71938
83 days ago
86-85056
86 days
38098 astrainfinita
author:astrainfinita
chore: make `SMul.comp.smul` `implicit_reducible` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/1 Mathlib/Algebra/Group/Action/Defs.lean 1 3 ['astrainfinita', 'github-actions', 'leanprover-radar'] nobody
14-53310
14 days ago
14-58184
14 days ago
14-57876
14 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 3 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
14-29477
14 days ago
14-29441
14 days ago
29-49696
29 days
32692 WilliamCoram
author:WilliamCoram
feat: define multivariate restricted power series We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property. This work generalises my previous work in #26089 which will need to be refactored. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-number-theory new-contributor 137/0 Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean 3 43 ['WilliamCoram', 'erdOne', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
14-23642
14 days ago
14-23702
14 days ago
32-37056
32 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/) 35/35 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/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 30 4 ['euprunin', 'github-actions', 'mathlib-merge-conflicts'] nobody
14-1759
14 days ago
25-32330
25 days ago
44-22550
44 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 2 ['artie2000', 'euprunin', 'github-actions'] nobody
14-1748
14 days ago
44-10274
44 days ago
44-9966
44 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 37/13 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 2 18 ['IvanRenison', 'SnirBroshi', 'b-mehta', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] b-mehta
assignee:b-mehta
13-81704
13 days ago
13-85792
13 days ago
25-28300
25 days
38095 astrainfinita
author:astrainfinita
perf(Algebra/*/{InjSurj, TransferInstance}): reduce instance `Expr`s --- We can not just use `fast_instance%`, because `fast_instance%` reduces instances into constructor applications, but their arguments may still not be reduced. This PR continues the work from #13795. Original PR: https://github.com/leanprover-community/mathlib4/pull/13795 [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instance.20unfolding.20phenomenon/) t-algebra
label:t-algebra$
401/219 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/TransferInstance.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/TransferInstance.lean,Mathlib/Util/TermReduce.lean,scripts/noshake.json 16 7 ['astrainfinita', 'github-actions', 'leanprover-radar'] nobody
13-67384
13 days ago
14-57779
14 days ago
14-60001
14 days
38141 Jun2M
author:Jun2M
feat(Order/Partition): Partition induced by symmetric, transitive relation We introduce a constructor for Partition from a symmetric, transitive relation, with `copy` function baked into the definition. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 41/7 Mathlib/Order/Partition/Basic.lean 1 1 ['github-actions'] nobody
13-65257
13 days ago
13-65324
13 days ago
13-65016
13 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 222/233 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean 2 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
13-40603
13 days ago
13-40627
13 days ago
30-8635
30 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 maintainer-merge 113/5 Mathlib/Tactic/Linter/DocString.lean,MathlibTest/DocString.lean 2 18 ['Vierkantor', 'github-actions', 'thorimur'] thorimur
assignee:thorimur
13-25703
13 days ago
13-25761
13 days ago
16-21134
16 days
37808 JovanGerb
author:JovanGerb
feat(Translate): locally modify name guessing dictionaries This PR adds the feature to `to_dual` and `to_additive` that you can now locally modify the name translation dictionary. With this change, we run the risk of having the automated translations being harder to predict. For this reason, the changes to the dictionary do not persisted through imports. Instead, the change lasts until the end of the file (though it ignores sections). See https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Order.20dual.20tactic/near/580834166 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 111/39 Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/GaloisConnection/Defs.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/GuessName.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Tactic/Translate/ToDual.lean,MathlibTest/ToDual.lean 9 4 ['JovanGerb', 'bryangingechen', 'github-actions', 'joneugster'] joneugster
assignee:joneugster
13-25570
13 days ago
18-21550
18 days ago
18-28476
18 days
36863 artie2000
author:artie2000
refactor(Algebra/Order/Ring/Ordering): unbundle `RingPreordering` The current design for [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) ran into issues at PR #32077. This PR unbundles [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) into a class predicate on [Subsemiring](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Ring/Subsemiring/Defs.html#Subsemiring), generalising the material on supports as far as possible. Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Ring.20orderings.20-.20structure.20or.20predicate.3F/with/562594050 See #37298 for the analogous change to group and ring cones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
455/87 Mathlib.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Support.lean 4 13 ['artie2000', 'chrisflav', 'github-actions'] eric-wieser
assignee:eric-wieser
13-21284
13 days ago
13-21910
13 days ago
38-31186
38 days
36541 BGuillemet
author:BGuillemet
feat(CategoryTheory): define internal equivalence relations Define internal equivalence relations in any category `C`, as a structure on parallel pairs of morphisms. Prove that equivalence relations on types are equivalence relations in the category of types. Prove that kernel pairs are equivalence relations. Define (universally) effective equivalence relations, and a associated class for categories in which every equivalence relation is effective universal. Prove that an effective equivalence relation yields a coequalizer diagram, and that the associated projection on the "quotient" of the relation is a regular epimorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 288/0 Mathlib.lean,Mathlib/CategoryTheory/EquivalenceRelation.lean,Mathlib/CategoryTheory/Limits/Shapes/RegularMono.lean 3 12 ['BGuillemet', 'dagurtomas', 'github-actions'] b-mehta
assignee:b-mehta
13-19483
13 days ago
13-19483
13 days ago
20-42328
20 days
36910 Brian-Nugent
author:Brian-Nugent
feat(CategoryTheory): 4 and 5 lemmas for ComposableArrows n Adds versions of the 4 and 5 lemmas for morphisms in `ComposableArrows n`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 85/2 Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean 3 8 ['Brian-Nugent', 'dagurtomas', 'erdOne', 'github-actions'] adamtopaz
assignee:adamtopaz
13-10499
13 days ago
13-10499
13 days ago
28-25348
28 days
37819 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas This is a modification of #34093. See #34093 for details. --- - [x] depends on: #33941 - [x] depends on: #37258 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 3 ['github-actions', 'mathlib-dependent-issues'] Komyyy
assignee:Komyyy
13-10307
13 days ago
21-62055
21 days ago
21-65565
21 days
37893 abeldonate
author:abeldonate
feat: Module theory theorems Added three theorems: - annihilator_sup - torsionOf_eq_annihilator_span_singleton - annihilator_eq_iInf_torsionOf new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 2 8 ['abeldonate', 'github-actions', 'scholzhannah', 'wwylele'] nobody
13-10028
13 days ago
13-17702
13 days ago
14-30271
14 days
37982 chrisflav
author:chrisflav
feat(RingTheory/Etale): descent along faithfully flat maps From Pi1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 123/1 Mathlib.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Descent.lean 3 5 ['chrisflav', 'github-actions', 'robin-carlier'] mattrobball
assignee:mattrobball
13-5008
13 days ago
13-5008
13 days ago
17-27852
17 days
38049 WilliamCoram
author:WilliamCoram
feat: lemmas towards showing gaussNorm on MvPowerSeries is an absolute value We prove lemmas: ``gaussNorm_mul_le`` and ``gaussNorm_le_mul`` which will allow us to show it is an absolute value on Mv restricted power series. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 144/1 Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean 1 4 ['WilliamCoram', 'github-actions'] nobody
13-695
13 days ago
16-10671
16 days ago
16-10363
16 days
37674 gasparattila
author:gasparattila
feat(Topology/Sets): separation properties of `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 97/6 Mathlib/Topology/Sets/VietorisTopology.lean 1 13 ['gasparattila', 'github-actions', 'mathlib-merge-conflicts', 'scholzhannah'] PatrickMassot
assignee:PatrickMassot
12-82971
12 days ago
15-10864
15 days ago
23-57033
23 days
38185 Jun2M
author:Jun2M
feat(Order/Partition): operations over Frame This PR introduces: * `Partition.induce`: The induce of a partition by a frame element. * `Partition.disjUnion`: The disjoint union of two partitions. * `Partition.bind`: The finer partition obtained by family of partitions for each part of the original partition. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 89/11 Mathlib/Order/Partition/Basic.lean,Mathlib/Order/SupIndep.lean 2 1 ['github-actions'] nobody
12-82643
12 days ago
12-82715
12 days ago
12-82407
12 days
38186 tb65536
author:tb65536
feat(RingTheory/QuasiFinite/Basic): Localizations of the fiber are finite over the residue field This PR adds an instance stating that localizations of the fiber are finite over the residue field. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
4/0 Mathlib/RingTheory/QuasiFinite/Basic.lean 1 1 ['github-actions'] nobody
12-81484
12 days ago
12-81484
12 days ago
12-81178
12 days
35216 kim-em
author:kim-em
doc(Tactic/Translate/ToDual): add deployment guide for @[to_dual] This PR expands the documentation for `@[to_dual]` with practical advice for deploying it to existing code. **Module docstring** (`Mathlib/Tactic/Translate/ToDual.lean`): adds a "Deploying `@[to_dual]` to existing code" section covering name agreement, attribute propagation, docstring syntax ordering, declaration order dependencies, and known structural mismatches (conjunct reordering, type class gaps, interval argument swapping). **Attribute docstring**: adds a note that `@[simp]` is not auto-copied (must use `(attr := simp)`), and shows the correct ordering when combining `(attr := ...)` with docstrings. **Agent skill** (`.claude/skills/to_dual/SKILL.md`): detailed step-by-step instructions for an AI agent deploying `@[to_dual]`, including how to identify candidates, common patterns, and debugging. 🤖 Prepared with Claude Code documentation enhancement LLM-generated 31/3 Mathlib/Tactic/Translate/ToDual.lean 1 30 ['JovanGerb', 'MichaelStollBayreuth', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'vihdzp'] JovanGerb
assignee:JovanGerb
12-74751
12 days ago
12-74774
12 days ago
19-61350
19 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'] PatrickMassot
assignee:PatrickMassot
12-68250
12 days ago
37-11407
37 days ago
37-12349
37 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/) t-category-theory 159/0 Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean,Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] adamtopaz
assignee:adamtopaz
12-68247
12 days ago
24-50828
24 days ago
30-85961
30 days
37298 artie2000
author:artie2000
refactor(Algebra/Order): unbundle group and ring cone * Unbundle `GroupCone` and `RingCone` using `Submonoid.IsMulPointed` The material in `Mathlib.Algebra.Group.Submonoid.Support` was created to treat uniformly * positive cones in groups and rings * pointed cones in vector spaces over an ordered field * orderings in rings This PR deprecates the [GroupCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Cone.html#GroupCone) and [RingCone](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Cone.html#RingCone) structures, making use of the predicates `Submonoid.IsMulPointed` and `AddSubmonoid.IsPointed` defined in that file instead. See also #36863 for the analogous change to ring orderings. --- [![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 ['github-actions', 'joneugster'] kim-em
assignee:kim-em
12-68245
12 days ago
32-8621
32 days ago
32-8868
32 days
38177 chrisflav
author:chrisflav
chore(RingTheory/Localization): mirror tensor product compatibilities and golf We add a mirrored version of `IsLocalization.tensorProduct_tensorProduct` and some related isomorphisms. We use this to golf the proof of `RingHom.locally_isStableUnderBaseChange`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 116/44 Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Finiteness.lean,Mathlib/RingTheory/RingHom/Locally.lean,Mathlib/RingTheory/RingHomProperties.lean 5 1 ['github-actions'] riccardobrasca
assignee:riccardobrasca
12-68235
12 days ago
13-4581
13 days ago
13-5234
13 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 48/13 Mathlib/SetTheory/Cardinal/Ordinal.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
12-50049
12 days ago
12-50105
12 days ago
27-53920
27 days
38200 Parcly-Taxel
author:Parcly-Taxel
feat: Turán numbers and their strict monotonicity `strictMonoOn_turanNumber` and `sum_mul_le_twice_turanNumber` were initially proved by @Aristotle-Harmonic, then hand-polished. Co-authored-by: Aristotle (Harmonic) t-combinatorics 55/20 Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean 1 1 ['github-actions'] nobody
12-39287
12 days ago
12-40714
12 days ago
12-40406
12 days
38173 JovanGerb
author:JovanGerb
chore(CategoryTheory/EpiMono): use `to_dual` Generate declarations about `Mono`, `SplitMono` and `SplitMonoCategory` from the epic versions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 40/120 Mathlib/CategoryTheory/EpiMono.lean,Mathlib/Tactic/Translate/ToDual.lean 2 1 ['github-actions'] nobody
12-33720
12 days ago
12-33777
12 days ago
12-36303
12 days
38169 tb65536
author:tb65536
chore(GroupTheory/Finiteness): make `Subgroup.FG` a class This PR refactors `Subgroup.FG` to be a class to match `Group.FG`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
37/20 Mathlib/GroupTheory/Commutator/Finite.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/Rank.lean,Mathlib/GroupTheory/Schreier.lean 4 3 ['JovanGerb', 'github-actions', 'tb65536'] riccardobrasca
assignee:riccardobrasca
12-21283
12 days ago
13-12682
13 days ago
13-12376
13 days
38073 sgouezel
author:sgouezel
chore: improve performance for quotient group structure The ring instance on `R ⧸ I` is not reducibly compatible with its `AddCommGroup` structure. A previous version of this PR was fixing this diamond, but mixing several changes (notably improving performance to compensate for the performance loss due to the fix). Now, the PR is only improving performance (quite nicely) by introducing intermediate classes for typeclass inference (notably `AddMonoid`) to make for more compact instances in quotient groups. Another PR will subsequently fix the diamond (with a performance hit). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 6/1 Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean 2 36 ['JovanGerb', 'github-actions', 'leanprover-radar', 'robin-carlier', 'sgouezel'] JovanGerb
assignee:JovanGerb
12-14156
12 days ago
14-49685
14 days ago
15-18655
15 days
37649 IvanRenison
author:IvanRenison
feat(Data): add theorem `Finset.image_eq_iff_eq_preimage` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/Finset/Preimage.lean,Mathlib/Data/Set/Function.lean 2 4 ['Rida-Hamadani', 'github-actions', 'themathqueen'] nobody
11-82936
11 days ago
25-72681
25 days ago
25-72373
25 days
38199 vihdzp
author:vihdzp
chore: add items to set theory overview --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-set-theory 11/2 docs/overview.yaml 1 3 ['SnirBroshi', 'github-actions', 'vihdzp'] nobody
11-74846
11 days ago
12-41387
12 days ago
12-41178
12 days
38224 plp127
author:plp127
fix(QuadraticAlgebra): `Rat` algebra diamond Fix a diamond for `Algebra Rat (QuadraticAlgebra Rat a b)` at default transparency by overriding the default implementation of the `qsmul` and `ratCast` fields with one that does not create a diamond. The diamond is still present at reducible-and-instances transparency. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
59/7 Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,MathlibTest/Algebra/QuadraticAlgebra/RatAlgebraDiamond.lean 3 1 ['github-actions'] nobody
11-70441
11 days ago
11-70511
11 days ago
11-70203
11 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'] nobody
11-68433
11 days ago
34-5973
34 days ago
34-6425
34 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'] nobody
11-68432
11 days ago
34-5987
34 days ago
34-6469
34 days
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 112/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 39 ['SnirBroshi', 'SproutSeeds', 'github-actions', 'jcommelin', 'ksenono'] b-mehta
assignee:b-mehta
11-67875
11 days ago
13-18164
13 days ago
112-85845
112 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'] thorimur
assignee:thorimur
11-67874
11 days ago
33-80487
33 days ago
65-77740
65 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'] alreadydone
assignee:alreadydone
11-67873
11 days ago
36-38200
36 days ago
55-31712
55 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'] TwoFX
assignee:TwoFX
11-67872
11 days ago
36-22060
36 days ago
40-57828
40 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$
105/1 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 24 ['eric-wieser', 'github-actions', 'slavanaprienko', 'wwylele'] kim-em
assignee:kim-em
11-67871
11 days ago
25-56323
25 days ago
26-71503
26 days
37931 Vierkantor
author:Vierkantor
chore(Tactic): make the (deprecated) `replace` syntax a `@[tactic_alt]` This PR replaces the tactic docstring for Mathlib's version of `replace` with a `@[tactic_alt]` attribute + `tactic_extension`. Also update the module docs which did not get updated when `replace` got upstreamed to core Lean. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta maintainer-merge 7/31 Mathlib/Tactic/Replace.lean 1 2 ['github-actions', 'joneugster'] dwrensha
assignee:dwrensha
11-67869
11 days ago
17-18457
17 days ago
17-18871
17 days
38208 mbkybky
author:mbkybky
chore: rename two instances Rename [Module.Free.Module.free_shrink](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/FreeModule/Basic.html#Module.Free.Module.free_shrink) to `Module.Free.shrink` and rename [Module.Finite.Module.finite_shrink](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Finiteness/Basic.html#Module.Finite.Module.finite_shrink) to `Module.Finite.shrink`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-ring-theory
label:t-algebra$
6/2 Mathlib/LinearAlgebra/FreeModule/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean 2 3 ['github-actions', 'mbkybky', 'plp127'] nobody
11-53192
11 days ago
12-24567
12 days ago
12-25474
12 days
38231 NoneMore
author:NoneMore
feat(ModelTheory/Definablity): add syntax-to-definability bridge lemmas Add bridge lemmas from syntax to definability and refactor downstream proofs to use them. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 88/56 Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/ElementarySubstructures.lean 2 1 ['github-actions'] nobody
11-53037
11 days ago
11-53116
11 days ago
11-52808
11 days
38245 RemyDegenne
author:RemyDegenne
feat: CountableSupClosed Define the property for a set of being closed by countable supremum (resp. infimum). The new file is adapted from the `SupClosed` file, which describes sets closed by binary supremum. Also use `to_dual` on `SupClosed`. `CountableInfClosed` will be used in measure theory, for developments related to compact systems used for Kolmogorov's extension theorem and Choquet's capacitability theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order brownian 308/66 Mathlib.lean,Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/SupClosed.lean 3 14 ['RemyDegenne', 'b-mehta', 'github-actions', 'vihdzp'] nobody
11-14029
11 days ago
11-28279
11 days ago
11-32695
11 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 86/73 .github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean 2 4 ['github-actions', 'mathlib-merge-conflicts'] nobody
10-68433
10 days ago
32-29033
32 days ago
64-70065
64 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'] nobody
10-68432
10 days ago
34-5984
34 days ago
34-6412
34 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'] nobody
10-68431
10 days ago
64-7886
64 days ago
66-41864
66 days
34759 Hagb
author:Hagb
feat(RingTheory/MvPolynomial/MonomialOrder): add degree with `⊥` as degree of `0` `withBotDegree` is to distinguish the degree of zero polynomial from the degree of non-zero constant polynomial. `MonomialOrder.degree` of both are 0, while `withBotDegree` is `⊥` for zero polynomial and 0 for non-zero constant polynomial. `MonomialOrder.withBotDegree` is to [`MonomialOrder.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=MonomialOrder.degree#doc) as [`Polynomial.degree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.degree#doc) is to [`Polynomial.natDegree`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Polynomial.natDegree#doc). It's upstreamized from https://github.com/WuProver/groebner_proj. --- It's upstream from [`Groebner/MonomialOrder.lean` in the repo `WuProver/groebner_proj`](https://github.com/WuProver/groebner_proj/blob/main/Groebner/MonomialOrder.lean). - [x] ~~depends on: #34755~~ - [x] depends on: #34756 - [x] depends on: #34758 [![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'] mariainesdff
assignee:mariainesdff
10-67917
10 days ago
27-11451
27 days ago
27-13240
27 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 87/11 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
10-67916
10 days ago
12-23591
12 days ago
27-39055
27 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'] mariainesdff
assignee:mariainesdff
10-67915
10 days ago
27-78549
27 days ago
27-78241
27 days
37527 bryanboehnke
author:bryanboehnke
feat(LocalRing/Etale): Finite étale extensions of local rings are monogenic Formalization of Lemma 3.2 from https://arxiv.org/abs/2503.07846: Given a finite extension of local rings R -> S, if the extension is étale, then there exists β ∈ S such that R[β] = S. Furthermore, if f(z) ∈ R[z] is the minimal polynomial of β, then f′(β) is a unit in S. This file also includes some relevant intermediate results used in the formalization of the proof of Lemma 3.1 from the same paper. Co-authored-by: George Peykanu Co-authored-by: Bianca Viray Co-authored-by: Grant Yang --- - [ ] depends on: #36421 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 148/0 Mathlib.lean,Mathlib/RingTheory/LocalRing/Etale.lean 2 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
10-67727
10 days ago
10-67751
10 days ago
11-2020
11 days
37071 ericluap
author:ericluap
feat: Dedekind completion of rationals is isomorphic to EReal t-order new-contributor 143/4 Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/DedekindCut.lean,Mathlib/Order/Completion.lean,Mathlib/Order/Concept.lean 5 49 ['ericluap', 'github-actions', 'vihdzp', 'wwylele'] vihdzp
assignee:vihdzp
10-55861
10 days ago
10-61180
10 days ago
16-49184
16 days
38282 JovanGerb
author:JovanGerb
chore(Algebra/Lie/Submodule): remove duplicate instance This PR removes the explicit `CoeSort` instance on `LieSubmodule`, because it is identical to the one inherited from its `SetLike` instance. This instance was added in #16509, and I'm not quite sure why it was needed then and not anymore. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
0/3 Mathlib/Algebra/Lie/Submodule.lean 1 1 ['github-actions'] nobody
10-37773
10 days ago
10-38058
10 days ago
10-37750
10 days
38234 vihdzp
author:vihdzp
chore: make `IsSuccLimit` a structure This lets us name the fields. Note that the `mk_iff` lemma overwrites a recently deprecated theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 35/28 Mathlib/Order/SuccPred/InitialSeg.lean,Mathlib/Order/SuccPred/Limit.lean 2 5 ['github-actions', 'plp127'] nobody
10-25648
10 days ago
10-74281
10 days ago
10-76367
10 days
38297 sgouezel
author:sgouezel
chore: fix double conflicting instances of `OmegaCompletePartialOrder` on `CompleteLattice` Currently, we have a direct instance `CompleteLattice -> OmegaCompletePartialOrder` (in `OmegaCompletePartialOrder.lean`), and a path `CompleteLattice -> ChainCompletePartialOrder -> OmegaCompletePartialOrder` (in `BourbakiWitt.lean`). They are defeq, but not implicit-reducibly. To solve the diamond, we remove the first instance, and move everything that depends on it from the first file to the second file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 60/65 Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Category/OmegaCompletePartialOrder.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Topology/OmegaCompletePartialOrder.lean 6 1 ['github-actions'] nobody
10-16256
10 days ago
10-16756
10 days ago
10-16837
10 days
38309 ntapiam
author:ntapiam
feat(Algebra/NonAssoc): dendriform algebras Define dendriform semirings and algebras --- This PR introduces dendriform structures such as dendriform semirings and algebras, and proves basic facts linking them to their pre-Lie counterparts. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
270/0 Mathlib.lean,Mathlib/Algebra/NonAssoc/Dendriform/Defs.lean,docs/references.bib 3 3 ['github-actions'] nobody
10-5855
10 days ago
10-7193
10 days ago
10-6983
10 days
38310 ZRTMRH
author:ZRTMRH
feat(Combinatorics/Quiver/Schreier): word evaluation and reachability Adds word evaluation and reachability results to the Schreier graph API. * `SchreierGraph.evalWord` : evaluates a word `List (S × Bool)` as an element of the ambient group, where `(s, true)` contributes `ι s` and `(s, false)` contributes `(ι s)⁻¹`. * `SchreierGraph.evalWord_eq_lift` : agreement with `FreeGroup.lift`. * `SchreierGraph.evalWord_mem_closure` : every word evaluates into the subgroup generated by `ι`. * `SchreierGraph.pathFromWord` : a Bool-tagged word yields a path in `Symmetrify (SchreierGraph V ι)` from `x` to `evalWord ι w • x`. * `SchreierGraph.reachable_iff` : two vertices are connected by a path in the symmetrification iff some element of the subgroup closure carries one to the other. Follow-up to #36320. This PR was written with AI assistance (Claude). The code has been reviewed by the author. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 157/0 Mathlib/Combinatorics/Quiver/Schreier.lean 1 2 ['github-actions'] nobody
10-822
10 days ago
10-901
10 days ago
10-593
10 days
38317 WenrongZou
author:WenrongZou
feat(Date/Choose): add some lemmas about choose of prime pow In this PR, I add some lemma about choose of prime pow. 1) For primes `p` and positive integer `n`, assume that for all `i ∈ Icc 1 (n - 1)`, `choose n i` congruent to `0` module `p`, then `n = p ^ multiplicity p n`. 2) For a prime power `n`, the greatest common divisor of `choose n 1, ⋯, choose n (n - 1)` is actually the minimal prime factor of `n`. 3) For a natural number `n` greater than `1`, assume that `n` is not a prime power, then the greatest common divisor of `choose n 1, ⋯, choose n (n - 1)` is `1`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 88/1 Mathlib/Data/Nat/Choose/Lucas.lean 1 1 ['github-actions'] nobody
9-77167
9 days ago
9-77238
9 days ago
9-76930
9 days
37724 xgenereux
author:xgenereux
feat(UniqueFactorizationDomain/Multiplicity): WfDvdMonoid.max_power_factor for finset A version of `WfDvdMonoid.max_power_factor` for finsets/finsupp. That is, we take the highest power which divides everything in the finset. 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 66/10 Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean 1 1 ['github-actions'] chrisflav
assignee:chrisflav
9-67945
9 days ago
23-63791
23 days ago
23-63483
23 days
38323 NoahW314
author:NoahW314
feat(RingTheory/MvPolynomial/MonomialOrder): remove unnecessary hypothesis Some results had a nonzero hypothesis which can be eliminated since the result holds trivially when the polynomial is zero. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 13/5 Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 1 1 ['github-actions'] nobody
9-60889
9 days ago
9-60962
9 days ago
9-60654
9 days
38322 NoahW314
author:NoahW314
feat(Algebra/MvPolynomial): add monomial prod lemma --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/0 Mathlib/Algebra/MvPolynomial/Basic.lean 1 1 ['github-actions', 'wwylele'] nobody
9-59225
9 days ago
9-61543
9 days ago
9-61235
9 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 290/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/Map.lean,MathlibTest/CategoryTheory/MapSimp.lean 5 11 ['adamtopaz', 'dagurtomas', 'github-actions', 'joelriou'] adamtopaz
assignee:adamtopaz
9-55288
9 days ago
9-55346
9 days ago
35-52232
35 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 11 ['Multramate', 'Ruben-VandeVelde', 'github-actions', 'smmercuri'] mattrobball
assignee:mattrobball
9-38558
9 days ago
9-38622
9 days ago
55-22834
55 days
38036 JovanGerb
author:JovanGerb
feat: `NSMul`/`NPow` type class This PR is adds `NSMul`, `NPow`, `ZSMul` and `ZPow` classes for the `nsmul`, `npow`, `zsmul`, `zpow` data fields. This has a few advantages: - If you first declare a `SMul` instance, then you don't need to manually write `nsmul := (· • ·)` and `zsmul := (· • ·)` . For `Pow`, the extra benefit is that inferring the instance is preferred over the default field `npowRecAuto`. So this helps avoid accidental diamonds. - If you first declare a `SMul` instance on a type synonym, then `inferInstanceAs` will infer the `nsmul` field from the `SMul` instance. This makes it easier to avoid diamonds on type synonyms like `Matrix` and `MonoidAlgebra`. - The not-yet-merged instance diamond linter will be able to detect cases where the `NSMul` and `SMul` classes do not agree. In the process of making this PR, I have identified two existing `NPow` diamonds: - In `Mathlib.Algebra.Order.Positive.Field`, there were two conflicting `NPow` instances. - For `Fin`, there are two conflicting `NPow` instances. I have overwritten the one in core lean with the one from mathlib that is more computationally efficient. TODO: the same for `QSMul` and `NNQSMul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 276/273 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/MinimalAxioms.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/ZPow.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,MathlibTest/instance_diamonds.lean 41 16 ['JovanGerb', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-radar', 'vihdzp'] nobody
9-21635
9 days ago
9-22527
9 days ago
9-22509
9 days
38189 artie2000
author:artie2000
feat: simplify proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` * Simplify the proof of `IsAdjoinRootMonic.mkOfAdjoinEqTop'` by factoring out a lemma `OrzechProperty.bijective_of_surjective_of_finrank_le` and making use of the existing lemma `finrank_le_iff_exists_linearMap`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 22/21 Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/RingTheory/IsAdjoinRoot.lean 2 6 ['Vierkantor', 'artie2000', 'github-actions'] nobody
8-81890
8 days ago
12-73219
12 days ago
12-75576
12 days
38337 Jun2M
author:Jun2M
feat(Combinatorics/Graph): supremum This PR introduces the union of `Graph`, as `sup`. Due to compatibility issue, in general, `sup` is not very well-behaved: `SemilatticeSup` is not true. In the case of incompatible edge, unlike `inf` which simply removed such edge, we include it following its incidence in the left graph. This has the benefit of associativity being true in general at the cost of commutativity. Assuming compatibility or existence of mutual supergraph, which are shown to be equivalent in this PR, everything behaves nicely. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 86/1 Mathlib/Combinatorics/Graph/Lattice.lean 1 2 ['github-actions', 'vihdzp'] nobody
8-80783
8 days ago
9-19156
9 days ago
9-18848
9 days
38244 vihdzp
author:vihdzp
feat: interactions between `IsSuccLimit` and `WithTop` --- - [x] depends on: #38240 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 60/2 Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Cover.lean,Mathlib/Order/SuccPred/Limit.lean 3 5 ['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
8-79232
8 days ago
9-4943
9 days ago
9-5726
9 days
38343 mortarsanjaya
author:mortarsanjaya
chore(Data/Nat/Cast/Order/Ring): move two Nat lemmas to Data/Nat/Basic These two lemmas have no correlation with `Nat.cast`, and the proof can be golfed to fit `Data/Nat/Basic`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 22/27 Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean 2 2 ['github-actions'] nobody
8-76248
8 days ago
9-4716
9 days ago
9-4408
9 days
38002 Raph-DG
author:Raph-DG
feat(Topology): Relating irreducible components of a space to codimension one points in non dense subsets In this PR we show that the coheight zero points of a sober space (in the specialization order) correspond to the irreducible components. Furthermore, we show that the coheight one points of any non dense subset p of X (in the specialization order on p) have coheight zero in the specialization order on X. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology 104/0 Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Minimal.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Sober.lean 5 2 ['ADedecker', 'github-actions'] urkud
assignee:urkud
8-68135
8 days ago
15-40936
15 days ago
15-43950
15 days
38356 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Finset): `sSup s ≠ ⊤` in a `CompleteLinearOrder` for a finite set without `⊤` --- btw `to_dual` here is blocked on #35213 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 20/0 Mathlib/Order/ConditionallyCompleteLattice/Finset.lean 1 1 ['github-actions'] nobody
8-65501
8 days ago
8-65576
8 days ago
8-65268
8 days
38340 xroblot
author:xroblot
refactor(Data/ZMod): move `coe_int_isUnit_iff_isCoprime` to `ZMod.Units` Move `ZMod.coe_int_isUnit_iff_isCoprime` from `Mathlib.Data.ZMod.Coprime` to `Mathlib.Data.ZMod.Units`, where it more naturally belongs as a statement about units in `ZMod`. The proof is rewritten to only use tools available in `Mathlib.Data.ZMod.Units`, avoiding the dependency on `Mathlib.Algebra.EuclideanDomain.Int`. This is motivated by the desire to use `coe_int_isUnit_iff_isCoprime` without the overhead of importing `Mathlib.Data.ZMod.Coprime` (see #38339 for a use case). 🤖 Co-Authored with [Claude Code](https://claude.com/claude-code) t-data 10/7 Mathlib/Data/ZMod/Coprime.lean,Mathlib/Data/ZMod/Units.lean 2 1 ['github-actions'] nobody
8-42543
8 days ago
9-190
8 days ago
9-305
9 days
37985 Raph-DG
author:Raph-DG
feat(Topology): intersections preserve Notherian-ness and Quasisober-ness In this PR we prove some basic topology lemmas about the preservation of noetherianness and quasisoberness under intersections. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology maintainer-merge 25/0 Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Sober.lean 2 23 ['Raph-DG', 'chrisflav', 'github-actions', 'grunweg', 'vihdzp'] PatrickMassot
assignee:PatrickMassot
8-1906
8 days ago
8-1929
8 days ago
16-63247
16 days
38316 tannerduve
author:tannerduve
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction Add `lfp` for endomorphisms on an ωCPO with a least element and its basic API (`map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`) and the Scott induction theorem `lfp_induction` Also add corresponding induction principles for `Part.fix`: `fix_scott_induction` (ω-Scott continuous functional, admissible predicate) and `fix_scott_induction_pointwise` new-contributor 110/0 Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib 3 2 ['github-actions'] nobody
7-85349
7 days ago
9-68904
9 days ago
9-69122
9 days
37939 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Order/Completion): embed a linear order into a dense and complete linear order The aim of the PR is to prove the following theorem that will be used as an input to [Sion.DMCompletion.exists_isSaddlePointOn](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sion.html#Sion.DMCompletion.exists_isSaddlePointOn) : *If `β` is any linear order, then there exists a complete and dense linear order `γ` together with a continuous embedding `ι : β ↪o γ` (for the order topologies on `β` and `γ`).* Meanwhile, the PR also records various instances about dense orders and lemmas regarding the Dedekind MacNeille completion and lexicographic orders. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 206/3 Mathlib.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Order/Completion.lean,Mathlib/Topology/Order/Completion.lean,Mathlib/Topology/Sion.lean 5 52 ['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] vihdzp
assignee:vihdzp
7-80553
7 days ago
8-14884
8 days ago
11-14275
11 days
38325 Jun2M
author:Jun2M
feat(Combinatorics/Graph): EndPoint function This PR introduces `endPoints`: `Set` of incident vertices, given an edge (in the case of non-edge, return empty). **Import change**: `Graph/Basic` now imports `Data/Set/Card` to allow reasoning about card of `endPoints`. [Relavent Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/New.20graph.20definitions/with/588616269) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics large-import 83/3 Mathlib/Combinatorics/Graph/Basic.lean 1 9 ['Jun2M', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-bors'] nobody
7-72499
7 days ago
7-81329
7 days ago
9-50964
9 days
38390 mortarsanjaya
author:mortarsanjaya
feat(Data/Nat/Cast/Order/Basic): introduce new class `IsMonotoneNatCast` The class says that `Nat.cast` is monotone in an `AddMonoidWithOne`. Basically, we use this class when we only care about comparing the elements of a monoid that comes from the `Nat`s (so we do not have to care about the compatibility between the additive structure of the monoid and its order structure). --- Other than that, I'm also reorganizing some section naming, and I change the proof of the `Nontrivial` instance at the bottom to using `NeZero.nontrivial`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 28/18 Mathlib/Data/Nat/Cast/Order/Basic.lean 1 6 ['github-actions', 'leanprover-radar', 'mortarsanjaya', 'vihdzp'] nobody
7-71751
7 days ago
7-76535
7 days ago
7-76227
7 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'] mattrobball
assignee:mattrobball
7-67829
7 days ago
32-59125
32 days ago
32-58817
32 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 41 ['DavidLedvinka', 'EtienneC30', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pfaffelh'] kex-y
assignee:kex-y
7-67828
7 days ago
30-24262
30 days ago
52-19223
52 days
36507 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): various equivalences for `MvPowerSeries` This PR adds a number of equivalences related to power series rings and is patterned after `Mathlib/Algebra/MvPolynomial/Equiv.lean`. To be specific, it adds: * `MvPowerSeries.isEmptyEquiv` : The isomorphism between multivariable power series in no variables and the ground ring. * `MvPowerSeries.uniqueEquiv` : The isomorphism between multivariable power series in a single variable and power series over the ground ring. * `MvPowerSeries.mapEquiv`, `MvPowerSeries.mapAlgEquiv` : The isomorhism between multivariable power series induced by an isomorphism between the coefficient rings. * `MvPowerSeries.sumAlgEquiv` : The isomorphism between multivariable power series in a sum of two types, and multivariable power series in one of the types, with coefficients in multivariable power series in the other type. * `MvPowerSeries.commAlgEquiv` : The isomorphism between multivariable power series in variables `σ` of multivariable power series in variables `τ` and multivariable power series in variables `τ` of multivariable power series in variables `σ`. * `MvPowerSeries.optionEquivLeft` : The isomorphism between multivariable power series in `Option σ` and power series with coefficients in `MvPowerSeries σ R`. * `MvPowerSeries.optionEquivRight` : The isomorphism between multivariable power series in `Option σ` and multivariable power series in `σ` with coefficients in `PowerSeries R` * `MvPowerSeries.finSuccEquiv` : The isomorphism between multivariable power series in `Fin (n + 1)` and power series over multivariable power series in `Fin n`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #35329 - [x] depends on: #36506 t-ring-theory 600/4 Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean 2 26 ['AntoineChambert-Loir', 'BryceT233', 'Thmoas-Guan', 'WenrongZou', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues'] mattrobball
assignee:mattrobball
7-67827
7 days ago
16-76310
16 days ago
23-36085
23 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'] urkud
assignee:urkud
7-67824
7 days ago
30-16480
30 days ago
30-69586
30 days
37744 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Ideal/IsAugmentation): define the concept of an augmentation ideal Define an augmentation ideal in an R-algebra A: this is an `Ideal A` which is a complement to `⊥ : Subalgebra R A` in `A`. (This subalgebra consists of `R`-multiples of `1`.) Co-authored with: @mariainesdff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 98/3 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/RingTheory/Ideal/IsAugmentation.lean 4 1 ['github-actions'] mattrobball
assignee:mattrobball
7-67823
7 days ago
23-9904
23 days ago
23-9892
23 days
38257 joelriou
author:joelriou
feat(CategoryTheory): MorphismProperty.single --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 63/1 Mathlib/CategoryTheory/MorphismProperty/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/IsSmall.lean,Mathlib/CategoryTheory/ObjectProperty/Local.lean 3 6 ['github-actions', 'joelriou', 'robin-carlier'] robin-carlier
assignee:robin-carlier
7-67818
7 days ago
9-21321
9 days ago
11-4014
11 days
38393 staroperator
author:staroperator
refactor(ModelTheory): add typeclasses for algebraic symbols `Language.ring` and `Language.presburger` share the same symbols `0`, `1` and `+` and have duplicated instances on `Term` and `realize` simp lemmas. This PR makes these symbols certain typeclasses (similar to [`Language.IsOrdered`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/ModelTheory/Order.html#FirstOrder.Language.IsOrdered)) and removes the duplication. It also adds certain definability lemmas that `fun_prop` can use. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 332/201 Mathlib.lean,Mathlib/ModelTheory/Algebra/Classes.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean 7 1 ['github-actions'] nobody
7-60193
7 days ago
7-60251
7 days ago
7-61495
7 days
38375 WenrongZou
author:WenrongZou
feat(MvPowerSeries): some lemmas `truncTotal` of `subst` This PR adds some lemmas about truncation of total degree of a substitution. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 124/7 Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean 2 3 ['BryceT233', 'github-actions'] nobody
7-37262
7 days ago
8-16970
8 days ago
8-16662
8 days
38358 yuanyi-350
author:yuanyi-350
doc(1000.yaml): note more formalised theorems --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation 29/4 Mathlib/Topology/Order/IntermediateValue.lean,docs/1000.yaml 2 8 ['github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] nobody
7-35992
7 days ago
7-70875
7 days ago
8-38616
8 days
38406 plp127
author:plp127
chore(ModelTheory/Skolem): remove unnecessary `[Nonempty M]` assumption Removes a `[Nonempty M]` assumption by slightly modifying two proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 7/1 Mathlib/ModelTheory/Skolem.lean 1 1 ['github-actions'] nobody
7-34050
7 days ago
7-34121
7 days ago
7-33813
7 days
38373 Nicola9Falciola
author:Nicola9Falciola
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
3/0 Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean 1 7 ['Nicola9Falciola', 'SnirBroshi', 'github-actions'] nobody
7-23247
7 days ago
7-23304
7 days ago
8-11437
8 days
38409 chrisflav
author:chrisflav
feat(RingTheory): totally split algebras over a field We show that for a totally split algebra over a field, the `k`-rational points are in bijection with the prime spectrum. We also show that an étale algebra over a separably closed field is totally split. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 122/2 Mathlib/Algebra/Algebra/Pi.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/TotallySplit.lean 6 1 ['github-actions'] nobody
7-20804
7 days ago
7-29871
7 days ago
7-29563
7 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 5 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] kim-em
assignee:kim-em
7-12343
7 days ago
7-12400
7 days ago
29-4706
29 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 311/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 10 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mike1729'] urkud
assignee:urkud
7-11011
7 days ago
7-11067
7 days ago
26-13538
26 days
38214 emlis42
author:emlis42
feat(Algebra/ContinuedFractions): add Euler's continued fraction This PR formalizes Euler’s continued fractions by providing `Euler` which construct one by giving head term and coefficients with some basic property. We also introduce a transformation `GenContFract.toEuler` that maps a generalized continued fraction `g : GenContFract K` to an equivalent Euler-form continued fraction. new-contributor t-algebra
label:t-algebra$
262/0 Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean 2 15 ['github-actions', 'mathlib-bors', 'wwylele'] nobody
7-8547
7 days ago
7-8547
7 days ago
7-11991
7 days
37914 j-loreaux
author:j-loreaux
feat: transfer `star`-related instances across equivalences This also adds `Function.Injective.{InvolutiveStar,...}` and related lemmas. In addition we rename the existing `Equiv.star` to `Equiv.Perm.star` (without a deprecation) so that the name can be used for the declaration which transfers a `Star` instance across an `Equiv`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
95/2 Mathlib.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/TransferInstance.lean 4 5 ['SnirBroshi', 'github-actions', 'themathqueen'] nobody
7-8057
7 days ago
7-8117
7 days ago
7-9718
7 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 maintainer-merge 36/10 Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 2 13 ['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] nobody
7-5456
7 days ago
7-10457
7 days ago
35-48099
35 days
38324 BryceT233
author:BryceT233
chore(RingTheory/AdicCompletion): make `AdicCompletion.map` linear on linear maps This PR upgrades `AdicCompletion.map` to be an R-linear map on the space of linear maps `M →ₗ[R] N`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 38/12 Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
6-70758
6 days ago
6-70812
6 days ago
9-53210
9 days
37956 artie2000
author:artie2000
feat(Algebra/Polynomial): lemmas about polynomial degree * Add various small lemmas about polynomial degree --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
28/5 Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,MathlibTest/hintAll.lean 5 7 ['artie2000', 'github-actions', 'vihdzp'] themathqueen
assignee:themathqueen
6-67822
6 days ago
18-8989
18 days ago
18-10482
18 days
38055 felixpernegger
author:felixpernegger
feat(Topology/EMetricSpace): add r-variation Redoing #37007 (I had accidently deleted my fork which nuked the PR). See https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/p-variation for discussion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-analysis 408/0 Mathlib.lean,Mathlib/Topology/EMetricSpace/RVariation.lean 2 2 ['felixpernegger', 'github-actions'] j-loreaux
assignee:j-loreaux
6-67821
6 days ago
14-39010
14 days ago
14-39096
14 days
38090 chrisflav
author:chrisflav
feat(AlgebraicGeometry): rank of finite flat morphism From Pi1. --- - [x] depends on: #38084 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 461/2 Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FinitePresentation.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/RingTheory/Flat/Rank.lean,Mathlib/RingTheory/Localization/BaseChange.lean 10 2 ['github-actions', 'mathlib-dependent-issues'] kim-em
assignee:kim-em
6-67821
6 days ago
8-81751
8 days ago
9-10824
9 days
38114 javgomzar
author:javgomzar
feat(FinitelyPresentedGroup): add finite groups instance Add IsFinitelyPresented instance for finite groups. Co-authored-by: Hang Lu Su , Thomas Browning --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor large-import 32/3 Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean 2 32 ['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] mattrobball
assignee:mattrobball
6-67818
6 days ago
8-73857
8 days ago
11-77090
11 days
38422 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Maps): `G →g G.map f` The existing `SimpleGraph.Embedding.map` takes an embedding and lifts it to a graph embedding `G ↪g G.map f`. #36130 generalized `SimpleGraph.map` from embeddings to functions, so now we can get a graph homomorphism `G →g G.map f` without requiring that `f` is injective, although we still have to require that it is injective on adjacent vertices (aka a valid coloring). This adds `Coloring.homMap`, and `Hom.map` which is identical but avoids coloring terminology/spelling. --- I'd love for suggestions to improve the docstring of `Coloring.homMap`, I'm not sure about it :) Are the two versions a good idea, or should we just have the coloring one? (we have `{Hom,Embedding,Iso}.comap` but only `{Embedding,Iso}.map`) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 2 4 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
6-62790
6 days ago
7-11567
7 days ago
7-11316
7 days
37062 tannerduve
author:tannerduve
feat(Computability): Turing join and semilattice structure on Turing degrees ## Summary - Add `Partrec.kronecker` (equality test) and `Partrec.join` (disjoint union by parity) in `Partrec.lean` - Prove `Nat.RecursiveIn` is closed under computable conditionals (`cond_const`, `cond`) - Show each component reduces to the join (`left_le_join`, `right_le_join`) and the join is the least upper bound (`join_le`) - Establish `SemilatticeSup` instance on `TuringDegree` t-computability new-contributor large-import 311/15 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 7 ['Komyyy', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] Komyyy
assignee:Komyyy
6-59227
6 days ago
17-16933
17 days ago
17-78919
17 days
30185 alreadydone
author:alreadydone
feat(MathlibTest): kernel reduction of nsmul on elliptic curve over ZMod Co-authored-by: @SteffenReith --- - [x] depends on: #30144 - [x] depends on: #30181 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory t-algebraic-geometry maintainer-merge
label:t-algebra$
29/0 MathlibTest/EllipticCurve.lean 1 11 ['alreadydone', 'github-actions', 'joneugster', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] joneugster
assignee:joneugster
6-44590
6 days ago
12-35461
12 days ago
13-50675
13 days
36815 EtienneC30
author:EtienneC30
feat: a measurable space structure on the type of continuous maps Endow the type `C(X, Y)` of continuous maps from `X` to `Y` with the Borel sigma-algebra coming from the compact-open topology and show that, under some assumptions on `X` and `Y`, this is equal to the restriction of the product sigma-algebra over `X → Y`. Provide a measurable equivalence between `{f : X → Y // Continuous f}` and `C(X, Y)`. Co-authored-by: @RemyDegenne --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology brownian t-measure-probability 256/0 Mathlib.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousMap.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Separation/Regular.lean 6 26 ['ADedecker', 'EtienneC30', 'felixpernegger', 'github-actions'] urkud
assignee:urkud
6-42355
6 days ago
21-10739
21 days ago
35-71705
35 days
36401 JovanGerb
author:JovanGerb
feat(positivity): positivity extension for `a - b` This PR adds support in `positivity` for proving things about subtraction. For example, if the goal is `0 < a - b`, and there is a local hypothesis of type `b < a`, then we close the goal. The motivation is that we want `positivity` to be a flexible tactic. So, when trying to prove `0 < a - b` using a local hypothesis, we should look for the simp normal form of this, which is `b < a`. --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Can.20I.20make.20positivity.20work.20for.20this.3F/near/578277240) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 63/26 Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Geometry/Manifold/Riemannian/PathELength.lean,Mathlib/Tactic/Positivity/Basic.lean,MathlibTest/positivity.lean 10 13 ['JovanGerb', 'Vierkantor', 'github-actions', 'hrmacbeth', 'j-loreaux', 'joneugster', 'leanprover-radar'] joneugster
assignee:joneugster
6-42118
6 days ago
9-21911
9 days ago
38-5994
38 days
35892 vlad902
author:vlad902
feat(Data): lemmas for `List.bagInter` Basic API lemmas for `List.bagInter` and correct a few misnamed lemmas. Co-authored-by: Aristotle (Harmonic) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 66/5 Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/Multiset/UnionInter.lean 3 13 ['Vierkantor', 'github-actions', 'vlad902'] Vierkantor
assignee:Vierkantor
6-38231
6 days ago
6-38291
6 days ago
6-40627
6 days
35415 joneugster
author:joneugster
feat(Cache): enable partial cache in downstream projects Migrated to fork from: #21238. Enable partial cache retrieval in downstream projects: `lake exe cache get MyProject.Basic` downloads only the relevant cache to build `MyProject/Basic.lean` --- ### Notes: - replaces: #21195 - should address: #8767 - should address: #20568 ### Completed: - [x] depends on: #21632 - [x] ~~depends on: #21663~~ - [x] depends on: #21666 - [x] depends on: #21701 - [x] depends on: #21703 - [x] depends on: #21704 - [x] depends on: #21705 - [x] depends on: #21707 - [x] depends on: #21711 - [x] depends on: #21750 - [x] depends on: #21815 - [x] depends on: #21816 - [x] depends on: #21817 - [x] depends on: #21818 - [x] depends on: #21822 - [x] depends on: #21830 - [x] depends on: #21848 - [x] depends on: #21834 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta 27/15 Cache/Hashing.lean,Cache/IO.lean,Cache/Main.lean 3 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
6-37973
6 days ago
6-38061
6 days ago
40-47791
40 days
37267 xroblot
author:xroblot
feat(NumberTheory/NumberField/Cyclotomic): cardinality of the subgroup of characters associated to an intermediate field equals its degree New main result : `card_intermediateFieldEquivSubgroupChar`: the cardinality of the subgroup of Dirichlet characters of level `n` associated to an intermediate field `F` of `ℚ(ζₙ)/ℚ` equals the degree `[F : ℚ]`. --- - [x] depends on: #34571 - [x] depends on: #37108 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 42/1 Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/NumberTheory/MulChar/Duality.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean 4 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] riccardobrasca
assignee:riccardobrasca
6-19286
6 days ago
8-42205
8 days ago
8-41944
8 days
38380 linesthatinterlace
author:linesthatinterlace
feat(Data/Set): add Set.diag API Introduces `Set.diag (s : Set α) : Set (α × α) = {(a, a) | a ∈ s}` as the set-level companion to `Set.offDiag`, mirroring the existing `Finset.diag` / `Finset.offDiag` pairing. The type-level `Set.diagonal : Type* → Set (α × α)` is retained unchanged; `diag_univ : (univ : Set α).diag = diagonal α` (`@[simp]`) keeps it canonical when the underlying set is `univ`. Parallels to the existing `offDiag` API (`diag_mono`, `diag_nonempty`, `diag_eq_empty`, `diag_empty`, `diag_singleton`, `diag_subset_prod`, `diag_eq_sep_prod`, `diag_inter`, `diag_union`, `diag_insert`) plus bridges `diag_union_offDiag`, `disjoint_diag_offDiag`, `prod_sdiff_diag`, `prod_sdiff_offDiag`. Also `diag_eq_image`, `image_diag` (matching `Finset.image_diag`), `preimage_coe_coe_diag`, and `Finset.coe_diag`. Note `diag_union` and `diag_insert` are unconditional (no `Disjoint` / `a ∉ s` hypothesis). To free the `diag_` prefix for the set sense, the existing lemmas about the diagonal *map* `fun x => (x, x)` are renamed with deprecation aliases: `range_diag` → `range_diagMap`, `diag_preimage_prod` → `diagMap_preimage_prod`, `diag_preimage_prod_self` → `diagMap_preimage_prod_self`. `diag_image` and `preimage_coe_coe_diagonal` are marked `@[deprecated]`. t-data 124/15 Mathlib/Data/Finset/Prod.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/Lindelof.lean,Mathlib/Topology/NhdsSet.lean 7 2 ['github-actions', 'linesthatinterlace'] nobody
6-19275
6 days ago
7-84943
7 days ago
7-84635
7 days
38466 Thmoas-Guan
author:Thmoas-Guan
feat(ModuleCat): some lemmas for `Ext` over `ModuleCat` some lemmas for `Ext` over `ModuleCat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 67/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 4 1 ['github-actions'] nobody
6-19194
6 days ago
6-21055
6 days ago
6-20747
6 days
37415 vasnesterov
author:vasnesterov
feat(Tactic/ComputeAsymptotics/Multiseries): compute limits of `Monomial`s Prove * `UnitMonomial.logToFun_isEquivalent_of_nonzero_head`: `log m.toFun` is asymptotically equivalent to its first summand - `m[0] • log basis[0]` if `m[0] ≠ 0`. Using this theorem we can prove that the asymptotic behavior of a monomial is determined by its first non-zero exponent. * `toFun_tendsto_top_of_FirstNonzeroIsPos` and its variants: used to infer the limit of `t.toFun` from `FirstNonzeroIsPos`/`FirstNonzeroIsNeg`/`AllZero`. * `IsLittleO_of_lt_exps` and its variants: used to asymptotically compare two monomials. --- - [x] depends on: #37411 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 380/1 Mathlib/Tactic/ComputeAsymptotics/Multiseries/Basis.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Monomial/Basic.lean 2 3 ['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
6-9372
6 days ago
6-22925
6 days ago
6-22841
6 days
38142 SnirBroshi
author:SnirBroshi
feat(Order/SuccPred/CompleteLinearOrder): generalize `csSup_mem_of_not_isSuccLimit` Given `s.Nonempty` and `BddAbove s` we can conclude `sSup s ∈ s` using either: - `csSup_mem_of_not_isSuccPrelimit`, given `ConditionallyCompleteLinearOrder` and `¬IsSuccPrelimit (sSup s)` - `csSup_mem_of_not_isSuccLimit`, given `ConditionallyCompleteLinearOrderBot` and `¬IsSuccLimit (sSup s)` We generalize both to a theorem that requires `ConditionallyCompleteLinearOrder` and `¬IsSuccLimit (sSup s)`. This creates 8 theorems that require `¬IsSuccPrelimit` but are now easily proved with the `¬IsSuccLimit` theorems, we replace `csSup_mem_of_not_isSuccPrelimit`/`exists_eq_ciSup_of_not_isSuccPrelimit` with their primed `ConditionallyCompleteLinearOrderBot` theorems, and deprecates the other 6. Tags a couple of random `to_dual`s (in `ConditionallyCompleteLattice/Basic.lean`) to let us `to_dual`ize the new lemmas. --- ~~Should we also deprecate the 8 theorems that require `¬IsSuccPrelimit` and now use `mt`?~~ [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 56/45 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/SetTheory/Cardinal/Order.lean 3 8 ['SnirBroshi', 'github-actions', 'vihdzp'] nobody
6-1250
6 days ago
6-1266
6 days ago
13-63080
13 days
38424 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Coloring/VertexColoring): `chromaticNumber ⊤` and other small lemmas - Golf `isEmpty_of_colorable_zero` and rename to `Colorable.isEmpty` - `colorable_one_iff`: `G.Colorable 1 ↔ G = ⊥` - Combine `chromaticNumber_eq_zero_of_isEmpty`/`isEmpty_of_chromaticNumber_eq_zero` into `chromaticNumber_eq_zero_iff : G.chromaticNumber = 0 ↔ IsEmpty V` and deprecate the `→` side - `chromaticNumber_top_eq_enat_card`: `chromaticNumber ⊤ = ENat.card V` - Tag `chromaticNumber_top_eq_top_of_infinite`/`chromaticNumber_eq_zero_of_isEmpty` as `simp` - Golf `chromaticNumber_eq_one_iff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 33/26 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 3 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
5-85976
5 days ago
7-7690
7 days ago
7-7820
7 days
38465 tb65536
author:tb65536
refactor(Localization/AtPrime/Basic): add predicate for algebra instance on `Localization.AtPrime` Currently [Localization.AtPrime](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Localization/AtPrime/Basic.html#Localization.AtPrime.instAlgebraOfLiesOver) induces a diamond when the top ring is already an algebra over the localization of the bottom ring (e.g., this happens for `Ideal.Fiber`). This PR resolves the diamond by turning the instance into a def and adding a predicate typeclass. Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instance.20diamond.20with.20.60Ideal.2EFiber.60 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
159/39 Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/NumberTheory/RamificationInertia/Unramified.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Etale/Locus.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Flat/Localization.lean,Mathlib/RingTheory/Flat/Rank.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/LocalRing/ResidueField/Polynomial.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Polynomial.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/Smooth/Fiber.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/RingTheory/Unramified/Dedekind.lean,Mathlib/RingTheory/Unramified/LocalRing.lean,Mathlib/RingTheory/Unramified/LocalStructure.lean,Mathlib/RingTheory/Unramified/Locus.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean 24 1 ['github-actions'] nobody
5-78523
5 days ago
5-78585
5 days ago
5-80233
5 days
38220 wwylele
author:wwylele
feat(LinearAlgebra/AffineSpace): shifting a subspace towards a point Split off from #36018 and excluded the Simplex part. This is preparing to calculate the volume of a simplex by integrating the cross-section created by shifting the base plane. Part of https://github.com/leanprover-community/mathlib4/pull/34826. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean 2 1 ['github-actions'] nobody
5-68834
5 days ago
11-82034
11 days ago
11-81726
11 days
37826 EtienneC30
author:EtienneC30
feat: lemmas about HasLaw - If `X` has law `µ` then `P {ω | p (X ω)} = μ {x | p x}`. - If there is a random variable `X` with law `μ` such that `f(X)` has law `ν`, then for any random variable `Y` with law `μ`, `f(Y)` has law `ν`. - Composition of a random variable with a measure-preserving function. --- - [x] depends on: #37828 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 35/2 Mathlib/Probability/HasLaw.lean 1 3 ['RemyDegenne', 'github-actions', 'mathlib-dependent-issues'] kex-y
assignee:kex-y
5-68129
5 days ago
6-41382
6 days ago
6-43258
6 days
37848 rwst
author:rwst
feat(RingTheory/PowerSeries/Log): log and exp as inverses --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 87/0 Mathlib/RingTheory/PowerSeries/Log.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 2 1 ['github-actions'] chrisflav
assignee:chrisflav
5-68127
5 days ago
21-17259
21 days ago
21-16951
21 days
38456 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/L2Space` - rewrites `inner_indicatorConstLp_eq_setIntegral_inner` to pass through `integral_indicator` and a single `integral_congr_ae` argument - reuses `indicatorConstLp_coeFn` directly, replacing the separate `s` and `sᶜ` integral arguments with a shorter pointwise proof Extracted from #38104 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-measure-probability 5/23 Mathlib/MeasureTheory/Function/L2Space.lean 1 4 ['github-actions', 'leanprover-radar', 'yuanyi-350'] kex-y
assignee:kex-y
5-66316
5 days ago
6-35921
6 days ago
6-35613
6 days
30526 SnirBroshi
author:SnirBroshi
chore(Logic/Relation): use `≤` to spell subrelation Replace every `∀ x y, r x y → r' x y` with `r ≤ r'` --- NOTE: this PR began as an effort to use `Subrelation` since `≤` wasn't available in this file, but it was agreed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2330526.20use.20Subrelation.20in.20Mathlib.2ELogic.2ERelation/with/546572676) to instead make `≤` available there. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 158/143 Mathlib.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Filtered/Connected.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/Prop.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Topology/Gluing.lean 22 21 ['SnirBroshi', 'Vierkantor', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] Vierkantor
assignee:Vierkantor
5-59423
5 days ago
6-70742
6 days ago
68-55241
68 days
38442 Parcly-Taxel
author:Parcly-Taxel
feat: arbitrary-order induction on `Nat` This can be used as e.g. ```lean induction n using stepInduction 3 with | base n hn => ... | step n ih => ... ``` t-data 10/2 Mathlib/Data/Nat/Init.lean 1 3 ['Parcly-Taxel', 'SnirBroshi', 'github-actions'] nobody
5-59142
5 days ago
6-64002
6 days ago
6-63694
6 days
38489 Jun2M
author:Jun2M
feat(Topology/Algebra/InfiniteSum): Generalize ENNReal lemmas This PR generalizes many theorems in Topology/Algebra/InfiniteSum/ENNReal.lean from `ENNREal` to any type that satisfies a list of order-related instances, mostly `[CommMonoid α] [CompleteLattice α] [CanonicallyOrderedMul α] [TopologicalSpace α] [SupConvergenceClass α]` Deprecation of the original `ENNReal` lemmas are done in the next PR: #38193. Related Zulip thread: [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/588756615) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 191/1 Mathlib/Probability/ProbabilityMassFunction/Monad.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean 2 2 ['SnirBroshi', 'github-actions'] nobody
5-56319
5 days ago
5-70060
5 days ago
5-70979
5 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 52 ['MichaelStollBayreuth', 'github-actions', 'jcommelin', 'kim-em', 'metakunt', 'qawbecrdtey', 'tb65536', 'vihdzp'] tb65536
assignee:tb65536
5-56253
5 days ago
32-49197
32 days ago
62-41650
62 days
38498 SnirBroshi
author:SnirBroshi
feat(Order/RelIso/Basic): lift a function to an order morphism into `Relation.Map` or from `Function.onFun` For an `α`-relation `r` we have: ``` mapRelHom (f : α → β) : r →r Relation.Map r f f mapRelEmbedding (f : α ↪ β) : r ↪r Relation.Map r f f mapRelIso (f : α ≃ β) : r ≃r Relation.Map r f f ``` For a `β`-relation `r` we have: ``` onFunRelHom (f : α → β) : r.onFun f →r r onFunRelEmbedding (f : α ↪ β) : r.onFun f ↪r r onFunRelIso (f : α ≃ β) : r.onFun f ≃r r ``` --- These are pretty similar to `SimpleGraph.{Embedding/Iso}.map` and `SimpleGraph.{Hom/Embedding/Iso}.comap`, as [`comap`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L117-L118) on graphs is a wrapper around `onFun`, and [`map`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L57-L58) on graphs is *almost* a wrapper around `Relation.Map`. btw `@[simps]` is angry at me when I try to use it on the structures that use spread syntax. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 42/0 Mathlib/Order/RelIso/Basic.lean 1 1 ['github-actions'] nobody
5-56143
5 days ago
5-56218
5 days ago
5-55910
5 days
38488 b-mehta
author:b-mehta
feat(Data/Finset/Card): iterating a function's image on a finite set stabilises ...and does so in a bounded number of steps (which is why this is Finset-specific). In a later PR, I'll add this for endofunctions on a fintype, as well as add a Set.Finite version. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 40/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Image.lean 2 16 ['SnirBroshi', 'b-mehta', 'github-actions'] nobody
5-47691
5 days ago
5-72399
5 days ago
5-72091
5 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 3 ['github-actions', 'jessealama', 'vihdzp'] TwoFX
assignee:TwoFX
5-46525
5 days ago
28-83554
28 days ago
28-83246
28 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 20/0 Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean 2 10 ['Multramate', 'chrisflav', 'github-actions', 'hommmmm'] chrisflav
assignee:chrisflav
5-35844
5 days ago
5-35844
5 days ago
42-62581
42 days
35504 JoaBjo
author:JoaBjo
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property Add the main analytic results for the exponential distribution: - moment-generating function `mgf id (expMeasure r) t = r / (r - t)` for `t < r` - mean `∫ x, x ∂(expMeasure r) = r⁻¹` - variance `Var[id; expMeasure r] = r⁻¹ ^ 2` - `ℒp` membership for all `p` - tail probability `P(X > x) = exp (-(r * x))` - memoryless property `P(X > s + t | X > s) = P(X > t)` The MGF is computed by reducing to the known improper integral `∫ exp(c * x)` on `Ioi`, and integrability is deduced by contradiction from the positive closed-form value. The mean and variance are computed via the Gamma function integral `∫₀^∞ x^(n-1) exp(-r x) dx = Γ(n) / rⁿ`. The memoryless property follows from the exponential identity `exp(-(r(s+t))) = exp(-rt) * exp(-rs)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 200/0 Mathlib/Probability/Distributions/Exponential.lean 1 6 ['JoaBjo', 'Timeroot', 'github-actions'] kex-y
assignee:kex-y
5-32098
5 days ago
5-32152
5 days ago
21-30903
21 days
38344 robo7179
author:robo7179
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 5 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
5-32066
5 days ago
8-86010
8 days ago
8-86088
8 days
38512 gasparattila
author:gasparattila
chore(MeasureTheory): replace remaining `@[measurability]` attributes by `@[fun_prop]` Since #30511, the `@[measurability]` attribute is equivalent to `@[fun_prop]` when applied to lemmas about measurability of functions. This PR replaces these attributes by `@[fun_prop]` and adds a warning for this use of `@[measurability]`. Note that `@[measurability]` is still used for lemmas about measurability of sets. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 45/41 Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/AEMeasurable.lean,Mathlib/MeasureTheory/Order/Lattice.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Tactic/Measurability.lean 9 1 ['github-actions'] nobody
5-31426
5 days ago
5-31489
5 days ago
5-32095
5 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 205/11 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/UFD.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmoothOfFree.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Localization.lean,Mathlib/RingTheory/Unramified/LocalStructure.lean 11 12 ['chrisflav', 'github-actions', 'mbkybky', 'tb65536'] chrisflav
assignee:chrisflav
5-25745
5 days ago
5-48475
5 days ago
44-23413
44 days
38524 mbkybky
author:mbkybky
doc(RingTheory/Flat): fix typos in module docstrings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-ring-theory 3/3 Mathlib/RingTheory/Flat/Stability.lean,Mathlib/RingTheory/Flat/TorsionFree.lean 2 1 ['github-actions'] nobody
5-24858
5 days ago
5-24936
5 days ago
5-24628
5 days
31513 FLDutchmann
author:FLDutchmann
feat(Tactic): `polynomial` tactic Implement tactic for proving equality of polynomials. This tactic is part of a larger suite (see https://github.com/leanprover-community/mathlib4/pull/30374). - [x] depends on: #31508 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 284/2 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Polynomial/Basic.lean,Mathlib/Tactic/Polynomial/Core.lean,MathlibTest/Polynomial.lean 7 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] Vierkantor
assignee:Vierkantor
5-15832
5 days ago
5-15891
5 days ago
5-17144
5 days
38222 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Girth): add lemmas about isomorphism and girth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 19/1 Mathlib/Combinatorics/SimpleGraph/Girth.lean 1 6 ['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] nobody
5-15688
5 days ago
11-77001
11 days ago
11-76693
11 days
38528 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Paths): some cycle lemmas are true for circuits Add `IsCircuit.{not_of_nil,ne_bot,three_le_length}` by using their corresponding `IsCycle` proofs. Also golfs a bit. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 17/9 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 1 ['github-actions'] nobody
5-14592
5 days ago
5-14662
5 days ago
5-14354
5 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'] TwoFX
assignee:TwoFX
4-84826
4 days ago
46-19472
46 days ago
46-19164
46 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/) 11/50 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 12 ['artie2000', 'chenson2018', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'ooovi'] nobody
4-83765
4 days ago
4-83789
4 days ago
44-22731
44 days
34855 staroperator
author:staroperator
feat(Order): use `to_dual` for `PFilter` This PR redefines `PFilter` to get rid of `OrderDual` and uses `to_dual` to translate theorems. The whole file of `PFilter` is now deprecated. Some changes: - To align with `Filter`, the order on `PFilter` is changed to the reversed set inclusion. Ultrafilters, the dual notion of maximal ideals, become minimal in this order. - `to_dual` does not work on `sequenceOfCofinals`. I left `Order.Cofinal` and the Rasiowa–Sikorski lemma not `to_dual`-ized, and we should move them to a separate file later. - `IsLEChain` is added to tag `to_dual`. --- - [x] depends on: #34820 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 293/242 Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanAlgebra/Defs.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/PFilter.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PrimeIdeal.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,Mathlib/RingTheory/IdealFilter/Topology.lean,Mathlib/Tactic/Translate/ToDual.lean 13 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
4-76660
4 days ago
5-5898
5 days ago
6-11316
6 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'] TwoFX
assignee:TwoFX
4-67746
4 days ago
28-23790
28 days ago
28-23482
28 days
38457 yuanyi-350
author:yuanyi-350
refactor(NumberTheory): golf `Mathlib/NumberTheory/Dioph` - golfs `Mathlib/NumberTheory/Dioph` by replacing the arithmetic proof in `sub_dioph` with `grind` - simplifies `div_dioph` by splitting on `y = 0 ∨ 0 < y`, then closing the positive case with `Nat.div_eq_iff` and `grind` Extracted from #38144 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-number-theory LLM-generated maintainer-merge 7/18 Mathlib/NumberTheory/Dioph.lean 1 12 ['github-actions', 'grunweg', 'leanprover-radar', 'yuanyi-350'] tb65536
assignee:tb65536
4-67740
4 days ago
5-65529
5 days ago
5-67333
5 days
38525 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Tactic/Translate/ToAdditive.lean): add con/addCon to to_additive tactic This PR adds the pair "con", "addCon" to the additive tactic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 13/11 Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/Tactic/Translate/ToAdditive.lean 4 1 ['github-actions'] dwrensha
assignee:dwrensha
4-67737
4 days ago
5-14954
5 days ago
5-14677
5 days
38483 jessealama
author:jessealama
feat(Algebra/BigOperators): add `Antiperiodic.sum_Ico_shift` Two lemmas about `Finset` sums of antiperiodic functions over `Ico` intervals. * `Function.Antiperiodic.sum_Ico_shift`: For an antiperiodic function `f` with antiperiod `c`, the sum of `f` over the shifted interval `[a + c, b + c)` equals the negation of the sum over `[a, b)`. * `Function.Antiperiodic.sum_Ico_mul_add_sum_Ico_mul_shift_eq_zero`: A bilinear cancellation variant. Spun off from #29713 (Euler-Poincaré formula), where the bilinear form is used. t-algebra
label:t-algebra$
54/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean 2 1 ['github-actions'] nobody
4-47958
4 days ago
5-46833
5 days ago
5-46525
5 days
38539 plp127
author:plp127
fix(Data/Bool/Basic): fix `Bool.not` problem Fix three lemmas which have a subterm of the form `!a = b`, which elaborates to `(!(decide (a = b))) = true`, where `(!a) = b` was probably intended. These were introduced in #534. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/3 Mathlib/Data/Bool/Basic.lean 1 2 ['github-actions', 'grunweg'] nobody
4-43262
4 days ago
4-66924
4 days ago
4-66616
4 days
38531 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Paths): `Walk.map` preserves more properties Adds some missing theorems about how `Walk.map` behaves with `IsTrail`/`IsPath`/`IsCircuit`/`IsCycle`. Summary of what we have now, with the 8 new theorems and 2 renames marked: ``` IsTrail.of_map : (p.map f).IsTrail → p.IsTrail -- new map_isTrail_iff_of_injective : f.Injective → (p.map f).IsTrail ↔ p.IsTrail IsTrail.map : f.Injective → p.IsTrail → (p.map f).IsTrail -- renamed from map_isTrail_of_injective IsPath.of_map : (p.map f).IsPath → p.IsPath map_isPath_iff_of_injective : f.Injective → (p.map f).IsPath ↔ p.IsPath IsPath.map : f.Injective f → p.IsPath → (p.map f).IsPath -- renamed from map_isPath_of_injective IsCircuit.of_map : (p.map f).IsCircuit → p.IsCircuit -- new map_isCircuit_iff_of_injective : f.Injective → (p.map f).IsCircuit ↔ p.IsCircuit -- new IsCircuit.map : f.Injective → p.IsCircuit → (p.map f).IsCircuit -- new IsCycle.of_map : (p.map f).IsCycle → p.IsCycle -- new map_isCycle_iff_of_injective : f.Injective → (p.map f).IsCycle ↔ p.IsCycle IsCycle.map : f.Injective → p.IsCycle → (p.map f).IsCycle mapLe_isTrail : G ≤ G' → (p.mapLe h).IsTrail ↔ p.IsTrail IsTrail.of_mapLe : G ≤ G' → (p.mapLe h).IsTrail → p.IsTrail IsTrail.mapLe : G ≤ G' → p.IsTrail → (p.mapLe h).IsTrail mapLe_isPath : G ≤ G' → (p.mapLe h).IsPath ↔ p.IsPath IsPath.of_mapLe : G ≤ G' → (p.mapLe h).IsPath → p.IsPath IsPath.mapLe : G ≤ G' → p.IsPath → (p.mapLe h).IsPath mapLe_isCircuit : G ≤ G' → (p.mapLe h).IsCircuit ↔ p.IsCircuit -- new IsCircuit.of_mapLe : G ≤ G' → (p.mapLe h).IsCircuit → p.IsCircuit -- new IsCircuit.mapLe : G ≤ G' → p.IsCircuit → (p.mapLe h).IsCircuit -- new mapLe_isCycle : G ≤ G' → (p.mapLe h).IsCycle ↔ p.IsCycle IsCycle.of_mapLe : G ≤ G' → (p.mapLe h).IsCycle → p.IsCycle IsCycle.mapLe : G ≤ G' → p.IsCycle → (p.mapLe h).IsCycle ``` --- Also golfs `map_isPath_of_injective`/`IsPath.of_map`/`map_isTrail_iff_of_injective`, they don't need induction. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 47/31 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 1 ['github-actions'] nobody
4-23250
4 days ago
4-83730
4 days ago
4-83422
4 days
38549 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Copy): `Is(Ind)Contained` `completeGraph` lemmas - `G ⊑ completeGraph V` - `G ⊑ completeGraph W ↔ Nonempty (V ↪ W)` - `completeGraph V ⊴ completeGraph W ↔ Nonempty (V ↪ W)` - `G ⊴ completeGraph W → G = ⊤` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 12/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 1 ['github-actions'] nobody
4-21167
4 days ago
4-21236
4 days ago
4-20928
4 days
38529 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Girth): `egirth ⊤ = 3` when there are at least 3 vertices Since `Nontrivial` is not enough, we use the condition `3 ≤ ENat.card α`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 17/0 Mathlib/Combinatorics/SimpleGraph/Girth.lean 1 5 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
4-21110
4 days ago
5-11827
5 days ago
5-11519
5 days
38548 adomasbaliuka
author:adomasbaliuka
feat(Algebra/Ring/BooleanRing): definitional lemmas for `Bool` ring operations Mathlib defines a ring structure on `Bool` but is missing definitional lemmas for the arithmetic operations. --- Discussed on Zulip ([#Is there code for X? > `Bool.xor` same as `+` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Bool.2Exor.60.20same.20as.20.60.2B.60/near/590927417)), in particular, it's not immediately intuitive to everyone what the operations do. Note that the parentheses around `^^` and `&&` are needed due to operator precedence w.r.t. `=`, see also https://github.com/leanprover-community/mathlib4/pull/38539. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
12/0 Mathlib/Algebra/Ring/BooleanRing.lean 1 1 ['github-actions'] nobody
4-20618
4 days ago
4-20618
4 days ago
4-20310
4 days
37835 YaelDillies
author:YaelDillies
doc(Algebra/Order): update mentions of `OrderedSemiring` and friends As of #20676, it was replaced by `IsOrderedRing`. Not all docs were straightforward to update. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-order
label:t-algebra$
123/280 Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Set/Monoid.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/Sub/WithTop.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Valuation.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/Tactic/NormNum/Ineq.lean 37 9 ['NoahW314', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] nobody
4-13046
4 days ago
4-13071
4 days ago
19-7897
19 days
38347 artie2000
author:artie2000
doc(LinearAlgebra/FreeModule/StrongRankCondition): clarify context of `commRing_strongRankCondition` * Replace mathematical documentation in `Mathlib.LinearAlgebra.FreeModule.StrongRankCondition`, with explanation that the file comprises a shortcut instance `commRing_strongRankCondition` * Signpost `commRing_strongRankCondition` at both its parent instances * Increase priority of shortcut instance `commRing_strongRankCondition` above that of its parent instances --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 28/41 Mathlib/LinearAlgebra/FreeModule/StrongRankCondition.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/RingTheory/FiniteType.lean 3 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
4-4760
4 days ago
4-4784
4 days ago
8-54222
8 days
38093 mortarsanjaya
author:mortarsanjaya
feat(Algebra/Order/Ring/Unbundled/Basic): add a generalization of `two_mul_le_add_of_sq_eq_mul` The equality `r^2 = a * b` in the hypothesis can be weakened to `r^2 ≤ a * b`. The implementation requires adding an appropriate `ZeroLEOneClass` instance. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor maintainer-merge
label:t-algebra$
16/7 Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean 2 13 ['github-actions', 'leanprover-radar', 'mortarsanjaya', 'themathqueen'] themathqueen
assignee:themathqueen
4-4330
4 days ago
9-80096
9 days ago
14-42983
14 days
37008 BryceT233
author:BryceT233
feat(RingTheory/LocalRing): `IsLocalRing` for pullbacks We provide basic lemmas for equalizers and pullbacks of `RingHom` and `AlgHom`, and show they are local rings under suitable condtions. This is needed in #37940 to construct a residue algebra structure on pullbacks. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 167/0 Mathlib.lean,Mathlib/RingTheory/LocalRing/Pullback.lean 2 6 ['BryceT233', 'github-actions', 'wwylele'] mattrobball
assignee:mattrobball
3-76493
3 days ago
3-76551
3 days ago
38-44596
38 days
34713 dennj
author:dennj
feat(Probability/Markov): stationary distributions for stochastic matrices This PR proves that every row-stochastic matrix on a finite nonempty state space has a stationary distribution in the standard simplex. Main additions to `Mathlib/Probability/Markov/Stationary.lean`: - `IsStationary`: A distribution μ is stationary for matrix P if μ ᵥ* P = μ - `cesaroAverage`: Cesàro average of iterates of a vector under a matrix - `Matrix.rowStochastic.exists_stationary_distribution`: existence theorem The proof uses Cesàro averaging: start with uniform distribution, form averages, extract convergent subsequence by compactness, show limit is stationary via L¹ non-expansiveness. Also adds `vecMul_mem_stdSimplex` to `Stochastic.lean`: multiplying a probability vector by a row-stochastic matrix preserves simplex membership. This is human-made PR with AI help in golfing proof and documenting the code. t-algebra new-contributor
label:t-algebra$
166/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean,Mathlib/Probability/Markov/Stationary.lean 3 16 ['dennj', 'dupuisf', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
3-75350
3 days ago
3-75350
3 days ago
14-21655
14 days
38557 SnirBroshi
author:SnirBroshi
feat(Order/Monotone/Defs): weaken `Preorder` to `LE`/`LT` `Monotone`/`Antitone`/`MonotoneOn`/`AntitoneOn` can use any `LE`, and `StrictMono`/`StrictAnti`/`StrictMonoOn`/`StrictAntiOn` can use any `LT`. This makes it necessary to add some explicit type params (e.g. `(α := α)`) in some places that use monotone-related theorems (e.g. `Function.monotone_eval`). --- Currently `OrderEmbedding` and `OrderIso` can use `LE` but `OrderHom` requires `Preorder` because it's defined using `Monotone`. Generalizing `Monotone` and friends will let us fix this oddity. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 21/15 Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Order/Interval/Lex.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/Topology/Order/MonotoneConvergence.lean 7 1 ['github-actions'] nobody
3-67924
3 days ago
3-69060
3 days ago
3-71583
3 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'] YaelDillies
assignee:YaelDillies
3-67721
3 days ago
106-85538
106 days ago
106-85230
106 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'] riccardobrasca
assignee:riccardobrasca
3-67720
3 days ago
27-10791
27 days ago
69-81700
69 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'] b-mehta
assignee:b-mehta
3-67716
3 days ago
27-37836
27 days ago
41-21356
41 days
37722 SabrinaJewson
author:SabrinaJewson
feat(Order/Cover): intervals equal singletons iff To complement `Set.Icc_eq_singleton_iff`, this introduces: - `Set.Ioc_eq_singleton_iff` - `Set.Ico_eq_singleton_iff` - `Set.Ioi_eq_singleton_iff` - `Set.Iio_eq_singleton_iff` - `Set.Ioo_eq_singleton_iff` Unforunately because of the order of the ands, the last cannot be made self-dual. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 39/0 Mathlib/Order/Cover.lean 1 3 ['github-actions', 'mathlib-merge-conflicts'] Komyyy and bryangingechen
assignee:bryangingechen assignee:Komyyy
3-67712
3 days ago
21-70151
21 days ago
23-56605
23 days
38481 sgouezel
author:sgouezel
chore: fix implicit-reducible diamond in uniform convergence This one is fixing a diamond which can not be encountered on master, but shows up after the fixes in #38451 (and fixing this diamond is necessary for #38451 to go through). The diamond is the following. If a space E is a C-module, then it is automatically an R-module (Module.complexToReal). Define now a type synonym E' to E, and declare that, if k acts on E, then it also acts on E', through `inferInstanceAs`. Then E' is a C-module (instance applied to k=C), and therefore an R-module by Module.complexToReal. But, as E is an R-module (by Module.complexToReal), then E' is also an R-module (by the instance applied to k=R). The two R-module structures are not the same implicit-reducibly, as the latter is hidden behind an opaque function crafted by `inferInstanceAs`. To avoid this, we define the `smul` field by hand instead of hiding it behind an opaque function. This should probably be done throughout Mathlib whenever a type synonym can be endowed with real and complex module structures. I'm just fixing one example here, because it's the one that breaks in #38451. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 8/2 Mathlib/Topology/Algebra/Module/Spaces/UniformConvergenceCLM.lean 1 1 ['github-actions'] urkud
assignee:urkud
3-67703
3 days ago
6-374
6 days ago
6-66
6 days
38568 SnirBroshi
author:SnirBroshi
feat(SimpleGraph/Connectivity/Subgraph): `w.toSubgraph.IsInduced ↔ w.IsChordless` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 6/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 1 ['github-actions'] nobody
3-54418
3 days ago
3-54488
3 days ago
3-54180
3 days
35672 dennj
author:dennj
feat(RingTheory/Polynomial/Cyclotomic): vanishing sums and fiber equidistribution at primitive roots ## Summary Building on `sum_eq_zero_iff_forall_eq` from #34592, this PR adds: - cyclotomic_dvd_of_aeval_eq_zero, exists_int_smul_cyclotomic_of_natDegree_le_totient — integer polynomials vanishing at a primitive n-th root are divisible by cyclotomic n ℤ, and (for degree ≤ φ(n)) integer multiples of it. - sum_eq_zero_iff_forall_eq and its ℤ / ZMod p variants — vanishing iff all coefficients equal. - sum_fiber_eq_sum_fiber_of_sum_weighted_pow_eq_zero, card_fiber_eq_card_div_of_sum_pow_eq_zero — fiber equidistribution. - cyclotomic_prime_coeff — the formula (cyclotomic p R).coeff i = if i < p then 1 else 0, generalising existing coeff_zero/coeff_one lemmas. - References: [deLauneyFlannery2011, Lemma 2.8.5] (underlying ℚ/ℕ fact) and [armario2024, Lemma 7 and Theorem 3] (ℤ statement and the fiber-counting application). Theorems imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory Human made PR with LLM used for documentation and proof golfing t-ring-theory new-contributor 128/2 Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean,docs/references.bib 3 6 ['dennj', 'github-actions', 'grunweg', 'ocfnash'] ocfnash
assignee:ocfnash
3-54384
3 days ago
3-54384
3 days ago
13-13437
13 days
37975 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): AdicCompletion of local ring is local In this PR, we proved that AdicCompletion of local ring wrt the maximal ideal is local ring with maximal ideal equal to the map of the original maximal ideal. Also, removing some old junk produced by myself. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 173/5 Mathlib/RingTheory/AdicCompletion/LocalRing.lean 1 15 ['BryceT233', 'Thmoas-Guan', 'github-actions'] nobody
3-52950
3 days ago
17-35611
17 days ago
17-47097
17 days
37631 linesthatinterlace
author:linesthatinterlace
feat: add `Function.{prod,diag,fstComp,sndComp,prodMap}` Adds `Mathlib/Logic/Function/Init.lean`, centralising a cluster of general-purpose function operations in the `Function` namespace: - `Function.dcomp` (notation `∘'`) — dependent composition, moved here from `Mathlib/Logic/Function/Defs.lean`. - `Function.prod` (notation `⋏`) — pointwise pair of two (possibly dependent) functions, `(f ▽ g) i = (f i, g i)`. - `Function.fstComp` / `Function.sndComp` — the two components of a function valued in a product; inverse to `Function.prod`. - `Function.diag` (notation `△`) — the diagonal `a ↦ (a, a)`. - `Function.prodMap` — dot-notation alias for `Prod.map`; collapses to `Prod.map` under `simp` so existing API applies unchanged. `Pi.prod` is removed in favour of `Function.prod` (which is itself the dependent version); a deprecated alias is provided. The file depends only on `Mathlib.Init` (and `Batteries.Tactic.Alias` for the deprecated alias) so it can be upstreamed to Batteries / core without pulling mathlib dependencies. t-logic large-import 322/82 Archive/Sensitivity.lean,Mathlib.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Data/Fin/Tuple/Curry.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/Dimension/DivisionRing.lean,Mathlib/LinearAlgebra/Goursat.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/Init.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Constructions.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean 30 15 ['SnirBroshi', 'eric-wieser', 'github-actions', 'linesthatinterlace'] nobody
3-48019
3 days ago
8-33644
8 days ago
20-77745
20 days
38527 archiebrowne
author:archiebrowne
feat(Geometry/Manifold): continuously differentiable actions define the class `ContDiffSMul 𝕜 M X n` which asserts that the map `(c, x) ↦ c • x` is `n` times continuously differentiable on `M × X`. Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction. t-differential-geometry new-contributor 281/0 Mathlib.lean,Mathlib/Analysis/ContDiffMulAction.lean 2 11 ['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] PatrickMassot and grunweg
assignee:grunweg assignee:PatrickMassot
3-42606
3 days ago
4-886
4 days ago
5-8302
5 days
38211 gaetanserre
author:gaetanserre
feat(Probability/Kernel): define `IsDeterministic` Defines the `IsDeterministic` typeclass which state that a kernel is deterministic in a categorical sense, i.e., it "commutes" with `Kernel.copy`. For some additional context, please see #37851. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 333/10 Mathlib.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/KernelLemmas.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/Probability/Kernel/Posterior.lean,docs/references.bib 6 19 ['RemyDegenne', 'gaetanserre', 'github-actions'] RemyDegenne
assignee:RemyDegenne
3-40485
3 days ago
3-40485
3 days ago
9-21120
9 days
35733 mkaratarakis
author:mkaratarakis
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental. Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua). This PR is essentially the first half of page 490 in the book. The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$. 1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem. 2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system. 3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.). 4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$. 5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma. 6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor 913/49 Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean 4 17 ['MichaelStollBayreuth', 'github-actions', 'mkaratarakis', 'tb65536'] tb65536
assignee:tb65536
3-38784
3 days ago
26-15482
26 days ago
38-82010
38 days
38414 chrisflav
author:chrisflav
chore(RingTheory): move `IsLocalizedModule.Away` to the `Basic` file and use it everywhere --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 42/48 Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LocalizedModule/Away.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/RingTheory/LocalProperties/Exactness.lean,Mathlib/RingTheory/LocalProperties/Submodule.lean,Mathlib/RingTheory/Localization/Finiteness.lean,Mathlib/RingTheory/Localization/Free.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/Spectrum/Prime/Module.lean,Mathlib/RingTheory/Support.lean 12 6 ['chrisflav', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] nobody
3-38268
3 days ago
3-38293
3 days ago
6-27988
6 days
38420 eliasjudin
author:eliasjudin
feat(Algebra/MvPolynomial): add coefficient lemma for uniqueAlgEquiv Adds `MvPolynomial.coeff_uniqueAlgEquiv` and `MvPolynomial.coeff_uniqueAlgEquiv_symm`, identifying coefficients under `MvPolynomial.uniqueAlgEquiv` in both directions. t-algebraic-geometry new-contributor 19/0 Mathlib/Algebra/MvPolynomial/Equiv.lean 1 5 ['eliasjudin', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
3-30037
3 days ago
6-37906
6 days ago
7-11707
7 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`. --- [![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 19 ['github-actions', 'scholzhannah'] PatrickMassot
assignee:PatrickMassot
3-28314
3 days ago
7-28405
7 days ago
36-30423
36 days
38345 emlis42
author:emlis42
feat(NumberTheory): add Int.divisors This PR adds `Int.divisors` in `Mathlib/NumberTheory/Divisors.lean`. Defines `Int.divisors` as the disjoint union of positive and negative `Nat.divisors`. Basic lemmas: * `mem_divisors` * `divisors_zero`, `divisors_eq_empty`, `divisors_one` * `one_mem_divisors`, `neg_one_mem_divisors` * `nonempty_divisors` * `mem_divisors_self` * `divisors_neg` Lemmas relating to `divisorsAntidiag`: * `image_fst_divisorsAntidiag` * `image_snd_divisorsAntidiag` t-number-theory new-contributor maintainer-merge 61/2 Mathlib/NumberTheory/Divisors.lean 1 21 ['Multramate', 'SnirBroshi', 'emlis42', 'github-actions', 'tb65536'] tb65536
assignee:tb65536
3-26870
3 days ago
8-17986
8 days ago
8-67419
8 days
38052 WenrongZou
author:WenrongZou
feat(FormalGroup): `F(X,0)=X` and `F(0,X)=X` In this PR, I prove that given a formal group law `F`, then `F(X,0) = X` and `F(0,X) = X`. And modify the definition of `FormalGroup.Point` to be a subtype. And prove that this subtype is a `AddZeroClass`. Eventually we will prove that this is a `AddGroup`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 261/33 Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Evaluation.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 5 17 ['WenrongZou', 'eric-wieser', 'github-actions', 'mariainesdff'] nobody
3-20918
3 days ago
5-36083
5 days ago
15-78935
15 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` - `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 10/0 Mathlib/Data/Matrix/Mul.lean 1 9 ['dennj', 'eric-wieser', 'github-actions', 'joneugster', 'themathqueen'] joneugster
assignee:joneugster
3-11943
3 days ago
3-69386
3 days ago
75-37119
75 days
38554 YaelDillies
author:YaelDillies
chore(Combinatorics/SimpleGraph): use the auto-param in `loopless` more --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 5/13 Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Order/Cover.lean 8 6 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
3-1666
3 days ago
3-34007
3 days ago
3-35768
3 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. --- - [x] 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 5 ['github-actions', 'joneugster', 'mathlib-dependent-issues'] joneugster
assignee:joneugster
2-67569
2 days ago
28-24700
28 days ago
28-24724
28 days
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'] joneugster
assignee:joneugster
2-67568
2 days ago
28-6972
28 days ago
28-6664
28 days
38500 kebekus
author:kebekus
feat: integral presentation of the proximity function of value distribution theory If `f : ℂ → ℂ` is meromorphic, establish a presentation of the proximity function `proximity f ⊤` as iterated circle averages. This statement can be used to compare the proximity- and logarithmic counting functions, and is one of the key ingredients in the proof of Cartan's classic formula for the characteristic function. This is the first section of a multi-part PR, establishing Cartan's formula. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 211/0 Mathlib.lean,Mathlib/Analysis/Complex/ValueDistribution/Proximity/IntegralPresentation.lean 2 11 ['github-actions', 'kebekus', 'wwylele'] sgouezel
assignee:sgouezel
2-67564
2 days ago
4-51902
4 days ago
5-46297
5 days
38359 mcdoll
author:mcdoll
feat: custom `simp` sets for translating between `Equiv` and algebraic notation --- The names for the simpsets are not great, I did ask on zulip, but no suggestions. [#mathlib4 > simpsets for moving between group and equiv](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/simpsets.20for.20moving.20between.20group.20and.20equiv/with/590381093) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-meta
label:t-algebra$
38/15 Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/Perm/Fin.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Tactic/Attr/Register.lean 5 4 ['Vierkantor', 'github-actions', 'mcdoll'] Vierkantor
assignee:Vierkantor
2-61350
2 days ago
2-61352
2 days ago
3-76353
3 days
38027 8e7
author:8e7
feat(Combinatorics/SimpleGraph/Star): define star graphs Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334. --- All lemmas are hand written first, then golfed with the help of Claude Code. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 85/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean 2 39 ['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] nobody
2-60059
2 days ago
14-60005
14 days ago
16-57962
16 days
38604 wwylele
author:wwylele
chore(Algebra/Module): remove some `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
14/30 Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean 2 1 ['github-actions'] nobody
2-59002
2 days ago
2-59073
2 days ago
2-58765
2 days
38608 bryangingechen
author:bryangingechen
ci(shake.yaml): weekly workflow for running lake shake --fix Modeled on `rm_set_option.yml` and `nolints.yml`. cf. [#mathlib4 > shake](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/shake/with/591056575) Prepared with Claude code. LLM-generated CI 165/0 .github/workflows/shake.yaml,docs/workflows.md 2 1 ['github-actions'] nobody
2-53711
2 days ago
2-53949
2 days ago
2-53641
2 days
38596 JJYYY-JJY
author:JJYYY-JJY
Add an API for row echelon forms of matrices We write this PR to add `Mathlib.LinearAlgebra.Matrix.Echelon`, which is a theorem-oriented API for row-equivalence, echelon form, and reduced row echelon form of matrices. The main additions are elementary row-scaling matrices, `Matrix.RowEquivalent`, echelon and reduced-echelon predicates, semantic representative predicates, existence and uniqueness of reduced echelon representatives over fields, and the noncomputable canonical representative `Matrix.rref`. This is intentionally a semantic/theorem API rather than an executable row-reduction algorithm. Co-authored-by: Joseph Qian Co-authored-by: Veer Shukla Co-authored-by: Dhruv Bhatia Co-authored-by: Zheng Wu <1036819072@qq.com> --- This interface is motivated by downstream work on certified row-reduction algorithms. The executable algorithms, row-operation logs, LU factorization, and determinant routines are intentionally out of scope for this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
1495/4 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean 3 6 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'github-actions', 'wwylele'] nobody
2-52416
2 days ago
2-60983
2 days ago
2-60675
2 days
38589 vlad902
author:vlad902
feat(SimpleGraph): add universal vertex predicate Add the predicate `G.IsUniversal v` to indicate that `v` is a universal vertex, i.e. connected to all other vertices in `G`. This matches the recently added `G.IsIsolated v` predicate for isolated vertices. Co-authored-by: Justin Lai --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 51/10 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean 5 4 ['8e7', 'github-actions', 'vlad902'] nobody
2-46944
2 days ago
2-85243
2 days ago
2-84935
2 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 maintainer-merge 18/21 Mathlib/RingTheory/Regular/Category.lean 1 21 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'robin-carlier'] chrisflav
assignee:chrisflav
2-43880
2 days ago
9-14363
9 days ago
30-18456
30 days
38555 SnirBroshi
author:SnirBroshi
feat(Order/Hom/Basic): `OrderEmbedding.refl` and `OrderEmbedding.trans` Define `OrderEmbedding.refl` and `OrderEmbedding.trans`, and add missing associativity lemmas for `OrderHom` and `OrderIso`. Also unsqueezes a couple of terminal simps in proofs about `OrderEmbedding.birkhoffFinset`/`Finset.orderEmbOfFin`/`Finset.orderEmbOfCardLe` which use `.trans` on an `OrderEmbedding` and now get `OrderEmbedding.trans` instead of `RelEmbedding.trans`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 53/13 Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/Hom/Basic.lean 3 5 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
2-43384
2 days ago
3-80506
3 days ago
3-81677
3 days
38613 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra/Grp): add variant of is zero iff subsingleton Add variant `IsZero (GrpCat.of G)` iff `Subsingleton G` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
10/0 Mathlib/Algebra/Category/Grp/Zero.lean 1 1 ['github-actions'] nobody
2-41765
2 days ago
2-41841
2 days ago
2-41533
2 days
38617 mariainesdff
author:mariainesdff
feat(RingTheory/DedekindDomain/Ideal/Lemmas): add nontrivial_heightOneSpectrum Migrated from #35533. Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 14/2 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 1 1 ['github-actions'] chrisflav
assignee:chrisflav
2-39603
2 days ago
2-39680
2 days ago
2-39372
2 days
38619 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$
315/20 Mathlib/Algebra/SkewPolynomial/Basic.lean 1 1 ['github-actions'] nobody
2-38522
2 days ago
2-38607
2 days ago
2-38299
2 days
38370 FordUniver
author:FordUniver
feat(Data.Finset.Powerset): add filter_powerset_subset and filter_powersetCard_subset Add four lemmas characterising subsets of `powerset` and `powersetCard` that contain a fixed set `s`: - `Finset.powerset_filter_sdiff`: `t.powerset.filter (s ⊆ ·) = (t \ s).powerset.image (· ∪ s)` - `Finset.card_powerset_filter`: the count is `2 ^ (t.card - s.card)` - `Finset.powersetCard_filter_sdiff`: `(t.powersetCard n).filter (s ⊆ ·) = ((t \ s).powersetCard (n - s.card)).image (· ∪ s)` - `Finset.card_powersetCard_filter`: the count is `Nat.choose (t.card - s.card) (n - s.card)` The bijection lemmas are stated as set equalities, which is strictly stronger than asserting a bijection: they imply cardinality equality, give a direct membership characterisation, and are usable as rewrites. The cardinality lemmas follow in three lines via `card_image_of_injOn`, using `LeftInvOn.injOn` to derive injectivity from the left inverse `· \ s`. The hypothesis `s.card ≤ n` in the `powersetCard` variants is necessary: without it, natural subtraction silently gives the wrong count (`Nat.choose k 0 = 1 ≠ 0`). Co-authored-by: Malte Jackisch --- We ran into this while formalizing Goodman's formula on triangle densities in graphs as part of an ongoing flag algebras project in Lean, and it seemed worth upstreaming. **Disclosure.** *This PR was developed with assistance from LLM code tools, used for Mathlib style alignment and proof compactness. The mathematical content and proof strategy originate from formalization work by Malte Jackisch (co-author) and myself; the final code has been reviewed and vouched for by both of us.* t-data new-contributor 52/0 Mathlib/Data/Finset/Powerset.lean 1 13 ['FordUniver', 'github-actions', 'mathlib-bors', 'wwylele'] nobody
2-37538
2 days ago
8-6420
8 days ago
8-23315
8 days
38205 jcommelin
author:jcommelin
chore: reduce technical debt in FreimanHom This PR reduces technical debt related to the `CommRing` instance on `Fin (n + 1)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics large-import 65/27 Mathlib/Combinatorics/Additive/FreimanHom.lean 1 9 ['Vierkantor', 'YaelDillies', 'github-actions', 'jcommelin'] nobody
2-36749
2 days ago
3-22554
3 days ago
7-36666
7 days
36709 kim-em
author:kim-em
feat(DefEqAbuse): suggest minimal @[implicit_reducible] workaround This PR extends `#defeq_abuse` to suggest a minimal set of `@[implicit_reducible]` annotations that would make the failing tactic or command succeed with `backward.isDefEq.respectTransparency true`. When `#defeq_abuse` detects a failure, it now runs a greedy minimisation over semireducible definitions reachable from the goal/command, finding a (possibly non-unique) minimal subset that, when temporarily marked `@[implicit_reducible]`, fixes the issue. The result is reported as an `info` message: ``` info: Workaround: the following @[implicit_reducible] annotations (a possibly non-unique minimal set) would paper over this problem, but the real issue is likely a leaky instance somewhere. set_option allowUnsafeReducibility true attribute [implicit_reducible] MyPred ``` This is a workaround, not a fix — the real cause is usually a leaky instance (which `#check_instance` from https://github.com/leanprover-community/mathlib4/pull/36706 can diagnose). But it can be useful for quick debugging. New helpers: `collectCandidates`, `markImplicitReducible`, `withTempImplicitReducible`, `withTempImplicitReducibleCmd`, `suggestAnnotationsTac`, `suggestAnnotationsCmd`, `formatAnnotations`, `logAnnotationSuggestions`. 🤖 Prepared with Claude Code t-meta LLM-generated 187/17 Mathlib/Tactic/DefEqAbuse.lean,MathlibTest/DefEqAbuse.lean 2 6 ['github-actions', 'kim-em', 'mathlib-merge-conflicts', 'thorimur'] dwrensha and thorimur
assignee:dwrensha assignee:thorimur
2-32824
2 days ago
2-32869
2 days ago
19-30772
19 days
38628 tautschnig
author:tautschnig
feat(Data/ZMod/Basic): unit characterization for ZMod (p ^ d) Add two lemmas characterizing units in `ZMod (p ^ d)` for a prime `p`: * `ZMod.isUnit_natCast_of_not_dvd_pow`: a natural number not divisible by `p` is a unit in `ZMod (p ^ d)`. * `ZMod.prime_natCast_not_isUnit_pow`: the prime `p` is not a unit in `ZMod (p ^ d)` when `d ≥ 1`. These complement the existing `isUnit_prime_iff_not_dvd` (which characterizes when a *prime* is a unit in `ZMod n`) by characterizing when an *arbitrary* natural number is a unit in `ZMod (p ^ d)`. **Motivation.** Arithmetic verification over fixed-width bitvectors works in `ZMod (2 ^ d)`. A Gröbner basis solver over this ring needs to know which constants are invertible: odd constants are units (enabling algebraic simplification), while even constants are not (requiring fallback to SAT). These lemmas formalize that characterization for any prime, not just 2. Further work related to Gröbner basis will be published once #29203 (and, before that, #34873) have been merged. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 12/0 Mathlib/Data/ZMod/Basic.lean 1 2 ['github-actions'] nobody
2-31805
2 days ago
2-31870
2 days ago
2-31562
2 days
26304 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): Pushforward of algebraic cycles In this PR we define a notion of the "pushfoward of functions with locally finite support". We give this PR the suggestive title "pushforward of algebraic cycles" because we will go on to model algebraic cycles on a scheme X as functions from X to the integers with locally finite support. - [x] depends on: #26225 - [x] depends on: #26259 - [x] depends on: #35807 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 162/0 Mathlib.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean 2 27 ['Raph-DG', 'chrisflav', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] joelriou
assignee:joelriou
2-29887
2 days ago
2-29887
2 days ago
24-56162
24 days
37850 Vierkantor
author:Vierkantor
feat(Logic): declare optional simprocs for commuting equality and iff This PR introduces two simprocs `eqComm` and `iffComm` that can use `@[simp]` lemmas on symmetrical forms of an expression: if we have a simp lemma saying `f a = b ↔ a = g b` and the goal contains `b = f a`, then we would end up with `g b = a`. I developed these in #36534. Enabling them globally proved to be quite slow (+0,44% overall build time, which corresponds to +5% `simp`ing time), so this PR only declares them (and enables them locally, using e.g. `simp [eqComm]`, when we see that it pays off in the proof). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 145/59 Archive/Imo/Imo2024Q5.lean,Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean,Mathlib/Analysis/Complex/Arg.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Fin/Tuple/Sort.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Set/Prod.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/LinearAlgebra/Matrix/Permutation.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic/NormNum/Irrational.lean 36 4 ['JovanGerb', 'Vierkantor', 'github-actions'] JovanGerb
assignee:JovanGerb
2-24283
2 days ago
10-10838
10 days ago
10-17094
10 days
38606 dennj
author:dennj
feat: preparation for Vanishing Sum of Roots of Unity Adds the Mathlib API extensions needed for an upcoming formalization of the Lam-style classification theorem for vanishing sums of roots of unity. * Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean + `exists_eq_const_of_sum_smul_eq_zero_of_sum_eq_zero_of_linearIndependent`: if `∑ vᵢ = 0` and the first `n-1` of `n` vectors are linearly independent, every linear relation has constant coefficients. * Mathlib/RingTheory/Radical/NatInt.lean + `Nat.totient_eq_div_radical_mul_totient_radical`: Euler's totient splits as `φ(n) = (n / rad n) * φ(rad n)`. * Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean + `IsPrimitiveRoot.sum_range_pow_mul_div_eq_zero_of_dvd`: the `d` evenly-spaced powers of a primitive `k`-th root sum to zero, for `d ∣ k` and `1 < d`. * Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean (new) + `IsPrimitiveRoot.linearDisjoint_adjoin_pow_of_coprime`: cyclotomic subfields of coprime orders are linearly disjoint over `ℚ`. * Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean (new) + `IsPrimitiveRoot.coeffs_eq_of_sum_pow_eq_zero_prime_coprime`: in the cyclotomic field of order `p * m` with `p` prime coprime to `m`, any `ℚ⟮ζ^p⟯`-linear relation among powers of `ζ^m` has all coefficients equal. --- I need these as preparation to start formalizing the theorem: Let k be a positive integer. If a finite family of complex k-th roots of unity sums to zero, then the size of the family is a non-negative integer combination of the prime divisors of k. --- Human-made PR with AI used for golfing and documentation new-contributor 219/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean,Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean,Mathlib/RingTheory/Radical/Totient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 6 2 ['github-actions'] nobody
2-24047
2 days ago
2-24119
2 days ago
2-53658
2 days
38647 chrisflav
author:chrisflav
chore(RingTheory/Localization): remove outdated TODO --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-ring-theory 3/4 Mathlib/RingTheory/Localization/Free.lean 1 1 ['github-actions'] nobody
2-20629
2 days ago
2-20708
2 days ago
2-20400
2 days
38640 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal` - simplifies the finite-case measurable-range proof to `Set.finite_range ((↑) : Fin n → ℝ)).measurableSet` - simplifies the countably infinite-case measurable-range proof to `Nat.isClosedEmbedding_coe_real.isClosed_range.measurableSet` Extracted from #38104 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 2/7 Mathlib/MeasureTheory/Constructions/Polish/EmbeddingReal.lean 1 2 ['github-actions', 'leanprover-radar'] nobody
2-19831
2 days ago
2-23305
2 days ago
2-22997
2 days
38649 chrisflav
author:chrisflav
chore(RingTheory): equality of linear map with values in finite module spreads out We add some corollaries of `Module.Finite.exists_smul_of_comp_eq_of_isLocalizedModule`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 75/1 Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean 3 2 ['github-actions'] nobody
2-19692
2 days ago
2-19907
2 days ago
2-19599
2 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 88/3 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 3 47 ['Brian-Nugent', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster', 'mathlib-merge-conflicts', 'robin-carlier'] robin-carlier
assignee:robin-carlier
2-17665
2 days ago
2-17487
2 days ago
77-76065
77 days
38592 SnirBroshi
author:SnirBroshi
feat(Logic/Embedding/Basic): `refl_trans`/`trans_refl`/`trans_assoc` - `(.refl α).trans f = f` - `f.trans (.refl β) = f` - `(f.trans g).trans h = f.trans (g.trans h)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 12/0 Mathlib/Logic/Embedding/Basic.lean 1 1 ['github-actions', 'vihdzp'] nobody
2-17347
2 days ago
2-71683
2 days ago
2-71375
2 days
38656 NoahW314
author:NoahW314
feat(Data/Finsupp/Weight): add `Finsupp.degree_mapDomain` Generalize a result by removing an unnecessary hypothesis. Also simplifies the proof. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 9/8 Mathlib/Data/Finsupp/Weight.lean,Mathlib/Order/Filter/TendstoCofinite.lean 2 2 ['NoahW314', 'github-actions'] nobody
2-15359
2 days ago
2-16933
2 days ago
2-16625
2 days
38029 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): lemmas for minimal primes to lessen defeq abuse Remove access by `.1.1` and `.1.2` to mem minimal primes. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 77/59 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', 'chrisflav', 'github-actions', 'themathqueen'] nobody
2-14458
2 days ago
6-15353
6 days ago
15-55913
15 days
32058 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): category version Baer criterion In this PR, we added the cateory version of Baer criterion stating that `M` is injective iff `Ext^1(R/I, M)` vanish for all ideal `I`. --- - [x] 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$
137/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean 3 48 ['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
2-14345
2 days ago
6-42008
6 days ago
37-22484
37 days
38553 Whysoserioushah
author:Whysoserioushah
feat(RepresentationTheory/Homological): define Tate cohomology co-authored-by : class field theory team --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra CFT
label:t-algebra$
279/1 Mathlib.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean 4 18 ['Whysoserioushah', 'faenuccio', 'github-actions', 'kbuzzard', 'riccardobrasca'] faenuccio
assignee:faenuccio
2-14092
2 days ago
3-32221
3 days ago
4-4767
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 178/5 Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean 4 23 ['Brian-Nugent', 'chrisflav', 'github-actions', 'joelriou'] adamtopaz
assignee:adamtopaz
2-13682
2 days ago
2-14348
2 days ago
25-55163
25 days
38633 JovanGerb
author:JovanGerb
chore: golf some `grw` proofs This PR cleans up a few `grw` proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 9/20 Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Data/Int/LeastGreatest.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean 5 1 ['github-actions'] nobody
2-12957
2 days ago
2-27507
2 days ago
2-27199
2 days
29701 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra/RingTheory): polynomial over regular ring In this PR, we proved that polynomial over regular ring is regular. --- - [x] depends on: #28684 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 128/0 Mathlib.lean,Mathlib/RingTheory/RegularLocalRing/Polynomial.lean 2 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] nobody
2-11318
2 days ago
7-36221
7 days ago
7-36164
7 days
36439 xgenereux
author:xgenereux
feat(Algebra/Adjoin): CoeDep instances for Algebra.adjoin on singletons It is 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$
33/3 Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean 2 17 ['Vierkantor', 'chrisflav', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'xgenereux'] jcommelin
assignee:jcommelin
2-1973
2 days ago
2-17859
2 days ago
37-54860
37 days
37347 JovanGerb
author:JovanGerb
feat: implementation of `@[use_set_notation_for_order]` This PR allows the use of `⊆` notation while the underlying constant is `≤`. Similarly for `⊂`/`<`, `⊇`/`≥` and `⊃`/`>`. - The idea is to later extend this feature to other set notation constants, such as union/intersection. - There are some types for which we cannot use `LE.le` as the underlying constant, such as `List` and `Multiset`. So, the elaborator for the `⊆` notation needs to make a decision which underlying constant to elaborate to, depending on the type. Sometimes the type is not known yet, which makes things awkward. Most of these cases are solved by delaying the elaboration until later when the type is known. - However, in some cases this doesn't work either, such as `simp_rw [and_comm (_ ⊆ _)]`, where it is impossible to tell the type when elaborating the term. So, some such cases need to be fixed by making it `simp_rw [and_comm ((_ : Set _) ⊆ _)]`. This is because `simp_rw`, unlike `rw`, fully elaborates the rewrite rules before using them. A linter warns you whever there is such an ambiguity. See also https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F/near/579333629 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 364/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SetNotationForOrder.lean,MathlibTest/SetNotationForOrder.lean 4 51 ['JovanGerb', 'Vierkantor', 'github-actions', 'thorimur'] alexjbest
assignee:alexjbest
2-109
2 days ago
17-73830
17 days ago
31-14609
31 days
37951 martinwintermath
author:martinwintermath
chore(Geometry/Convex/Cone): rework `PointedCone.dual` to take a cone as input in place of a set Rework `PointedCone.dual` to take as input a cone instead of a set. This is done to untangle the functionality of `PointedCone.dual` from `PointedCone.hull` and to align it with the signature of its submodule analogue `Submodule.orthogonalBilin` (partially, with proposed functionality from #34007). See also the discussion here: [#mathlib4 > Reorganizing bilinearity and orthogonality?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Reorganizing.20bilinearity.20and.20orthogonality.3F/with/583882414). Main changes: * change signature `dual (s : Set M)` to `dual (C : PointedCone R M)`. * deprecate `dual_hull` since now obsolete in this form, instead add `mem_dual_hull` in addition to `mem_dual`. * deprecate all of `dual_empty`, `dual_zero` and `dual_singleton_zero` in favor of only `dual_bot`. * deprecate `dual_univ` in favor of `dual_top`. * add notation `R ∙₊ x` in analogy to submodule version `R ∙ x`, for use in new lemma `dual_hull_singleton`. * deprecate `dual_insert` since now obsolete (use `Submodule.span_insert` instead). * deprecate `dual_union`, `dual_iUnion` and `dual_sUnion` in favor of `dual_sup`, `dual_sSup` and `dual_iSup`. * remove `dual_sup` since now obsolete and name has been reused (see above). * add `dual_sup_ker` and `dual_univ_eq_ker` to align with (proposed) submodule analogue for `Submodule.orthogonalBilin`. * deprecate `dual_image` in favor of `dual_map` * add `hull_eq` (cone version of `span_eq`) since used in `basis_coord_mem_dual`. * adjust doc-strings Numerous changes to other files have been necessary. The dual-variants for proper cones or inner product spaces have not yet been adapted to cone-inputs, though this should happen eventually. The definition of `DualFG` has been changed to "duals of `FG`-cones" instead of "duals of finite sets" (also getting rid of `Finset` as previously requested). --- - [x] depends on: #37950 - [x] depends on: #37542 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 226/129 Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/DualFinite.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean 7 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-85788
1 day ago
1-85790
1 day ago
1-85482
1 day
35255 vlad902
author:vlad902
feat(SimpleGraph): `cycleGraph.IsContained` in every graph with a cycle --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 35/0 Mathlib/Combinatorics/SimpleGraph/Circulant.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-83635
1 day ago
1-83661
1 day ago
1-84300
1 day
38667 SnirBroshi
author:SnirBroshi
feat(Order/Hom/Basic): equivalences of `Order{Hom/Embedding/Iso}` - `OrderHom`s are equivalent to `RelHom`s of `LE` (unlike `OrderEmbedding`/`OrderIso` they aren't defined using it) - Congruence equivs for `OrderEmbedding`/`OrderIso` when the two sides are order-isomorphic. This already exists for `OrderHom`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 55/1 Mathlib/Order/Hom/Basic.lean 1 1 ['github-actions'] nobody
1-77940
1 day ago
1-78000
1 day ago
1-81466
1 day
38364 openendings
author:openendings
feat: create Order/DirectedCompletePartialOrder/Defs.lean Define DirectedCompletePartialOrder and its interaction with iSup and sSup. --- A DirectedCompletePartialOrder is equivalently: - a partial order with LUBs of nonempty directed sets; - what happens when you remove ⊥ from a CompletePartialOrder; or - a ConditionallyCompletePartialOrder in which every directed set is BddAbove. Like CPOs, DCPOs are commonly studied in denotational semantics. Potential applications: - [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`. - [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 123/0 Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib 3 4 ['SnirBroshi', 'github-actions', 'openendings'] nobody
1-76322
1 day ago
7-66442
7 days ago
8-40960
8 days
38653 vihdzp
author:vihdzp
chore(Order/SuccPred/Basic): use `to_dual` more --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 44/231 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/Basic.lean 2 3 ['JovanGerb', 'github-actions', 'vihdzp'] nobody
1-72437
1 day ago
1-72191
1 day ago
2-16893
2 days
38225 kim-em
author:kim-em
ci: block merging PRs with large import increases unless reviewed This PR makes the existing `large-import` label into a merge gate. PRs that significantly increase transitive imports (>2% for any modified file) are now blocked from merging until a reviewer adds the `allow-large-import` label. ### Why three labels? Bors's `block_labels` has no conditional logic — if a label is in the list, merge is blocked unconditionally. We need "blocked unless a reviewer has approved", i.e. `large-import ∧ ¬allow-large-import`. Since bors can't express that, we use a derived label: | Label | Managed by | Purpose | |---|---|---| | `large-import` | `build` job (import analysis) | Factual: this PR increases imports | | `blocked-by-large-import` | `check-large-import` job | Operational: blocks bors | | `allow-large-import` | Reviewer | Override: reviewer approves the increase | Each label is managed by exactly one actor, so there is no label-fighting. ### How it works 1. The existing `build` job adds/removes `large-import` based on import analysis (unchanged). 2. A new `check-large-import` job (in the same workflow) waits for `build` to finish, then: - If `large-import` is present and `allow-large-import` is absent → adds `blocked-by-large-import` - Otherwise → removes `blocked-by-large-import` 3. `blocked-by-large-import` is added to `block_labels` in `bors.toml`. When a reviewer adds `allow-large-import`, the `labeled` event re-triggers the workflow. The heavy `build` job is skipped (guarded by `github.event.action != 'labeled'`), but the lightweight `check-large-import` job runs, sees both labels, and removes `blocked-by-large-import`. Bors can now merge. ### Reviewer workflow The CI failure message tells the reviewer to consider whether the PR could be improved by splitting files, rearranging material, or creating new intermediate files. If the import increase is reasonable, they add `allow-large-import`. False positives can be reported on the [mathlib4 Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/large-import.20label). 🤖 Prepared with Claude Code CI 78/2 .github/workflows/PR_summary.yml,bors.toml 2 5 ['SnirBroshi', 'github-actions', 'jcommelin', 'joneugster', 'kim-em'] jcommelin
assignee:jcommelin
1-69794
1 day ago
9-73181
9 days ago
9-73491
9 days
37171 SnirBroshi
author:SnirBroshi
chore(Data/Int/Init): generalize `le_induction` from `Prop` to `Sort*` + def lemmas --- - Generallise `le_induction` from `Prop` to `Sort*` and rename to `leInduction` - Add a few lemmas - Simplify proofs using `lia` - Move `inductionOn'_add_one` [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 maintainer-merge 56/48 Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Init.lean,Mathlib/GroupTheory/CoprodI.lean 3 9 ['SnirBroshi', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'plp127'] nobody
1-68432
1 day ago
29-57194
29 days ago
30-64588
30 days
25974 scholzhannah
author:scholzhannah
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions. This PR continues the work from #25318. Original PR: https://github.com/leanprover-community/mathlib4/pull/25318 Co-authored-by: Floris van Doorn t-topology large-import 162/5 Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean 1 6 ['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'scholzhannah'] j-loreaux
assignee:j-loreaux
1-67515
1 day ago
13-18700
13 days ago
160-83037
160 days
29774 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): Order of vanishing of elements of the function field of locally noetherian, integral schemes In this PR, we define the order of vanishing of elements of the function field of locally noetherian, integral schemes at points of codimension 1. This is essentially just a wrapper around the API for the order of vanishing for rings (i.e. Ring.ord and Ring.ordFrac), but I think it's good to have this too for usability. --- - [ ] depends on: #29550 - [ ] depends on: #26735 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 101/0 Mathlib.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean 3 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
1-67514
1 day ago
2-47940
2 days ago
2-48304
2 days
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II Supersedes https://github.com/leanprover-community/mathlib4/pull/33519 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 723/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 4 200 ['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] fpvandoorn
assignee:fpvandoorn
1-67511
1 day ago
11-21580
11 days ago
56-28725
56 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'] dwrensha
assignee:dwrensha
1-67510
1 day ago
39-85379
39 days ago
60-40083
60 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'] thorimur
assignee:thorimur
1-67508
1 day ago
43-19764
43 days ago
43-19464
43 days
37501 xgenereux
author:xgenereux
feat(DedekindDomain/AdicValuation): `intValuation` on uniformizers is `exp (-1)` This PR add the lemma `intValuation_val_uniformizer_eq` which is an application of #37497. Note that I've had to reorganize the files a little bit: 1. I wanted to import `Valuation.Discrete.Basic` in `AdicValuation` but this was not possible since there was a dependency in the other direction (`Valuation.Discrete.Basic` depended on `AdicValuation`). I don't think this makes sense - we want to have access to basic definitions on general valuation in an application file like `AdicValuation`. ~~The reorganization consist of moving the `IsDiscreteValuationRing` of `Valuation.Discrete.Basic` to `AdicValuation`.~~ The reorganization consist of moving the `IsDiscreteValuationRing` section to a new file. 2. I moved some lemmas out of `Mathlib.RingTheory.Valuation.Discrete.RankOne` to the parent file `Mathlib.RingTheory.Valuation.Discrete.Basic.`. These lemmas do not need the richer imports from `RankOne` and are needed in my application. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [ ] depends on: #37497 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 203/167 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean 8 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] mattrobball
assignee:mattrobball
1-67505
1 day ago
12-44655
12 days ago
20-36204
20 days
37747 JovanGerb
author:JovanGerb
chore(Order/Filter/AtTopBot/Basic): use `to_dual` This PR uses `to_dual` for `atTop`/`atBot`. A lot of theorems that have been tagged contain the expression `∀ a ≥ b, ...`, which means that their dual will be `∀ a, b ≥ a → ...`, which is obviourly undesirable. Hence, I would like to ask the reviewers to reconsider the possibility of merging #32985. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 56/164 Mathlib/Order/Filter/AtTopBot/Basic.lean 1 1 ['github-actions'] bryangingechen
assignee:bryangingechen
1-67504
1 day ago
23-20195
23 days ago
23-19887
23 days
37752 JovanGerb
author:JovanGerb
chore(Order/CompleteLattice/Lemmas): use `to_dual` Use `to_dual` for lemmas about `CompleteLattice`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 27/56 Mathlib/Order/CompleteLattice/Lemmas.lean 1 1 ['github-actions', 'vihdzp'] bryangingechen
assignee:bryangingechen
1-67503
1 day ago
23-18871
23 days ago
23-18563
23 days
37753 JovanGerb
author:JovanGerb
chore(Order/Filter/Basic): use `to_dual` for `≤ᶠ` Use `to_dual` on lemmas about `EventuallyLE`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 19/6 Mathlib/Order/Filter/Basic.lean 1 2 ['github-actions', 'vihdzp'] bryangingechen
assignee:bryangingechen
1-67502
1 day ago
23-18736
23 days ago
23-18428
23 days
38510 robin-carlier
author:robin-carlier
feat(Tactic/Linter): make the longLine linter configurable This PR adds an option `linter.style.longLine.maxLineLength`, whose value defaults at 100, and modifies the `longLine` linter so that it uses this value when determining whether a line is too long. --- Projects downstream of Mathlib may want to have their own style conventions about line length. The currently hardcoded value of 100 does not let them use this linter in the case where they want a different convention. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 25/4 Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean 2 3 ['github-actions', 'leanprover-radar', 'robin-carlier'] thorimur
assignee:thorimur
1-67496
1 day ago
5-33719
5 days ago
5-33425
5 days
38523 joelriou
author:joelriou
feat(Topology/Convenient): open/closed subsets that are also `X`-generated Let `X : ι → Type*` be a family of topological spaces. If all the opens (resp. closed) subsets of the `X i` are `X`-generated, then any open (resp. closed) subset of an `X`-generated space is `X`-generated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 94/0 Mathlib.lean,Mathlib/Topology/Convenient/OpenClosed.lean 2 1 ['github-actions'] urkud
assignee:urkud
1-67496
1 day ago
5-27203
5 days ago
5-26948
5 days
38533 CoolRmal
author:CoolRmal
feat(Topology): subspace of a perfectly normal space is perfectly normal The mains theorems proved in this PR are - A topological space is perfectly normal iff every closed set is the zero set of a continuous function taking values in the unit interval. - Every subspace of a perfectly normal space is perfectly normal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 150/2 Mathlib.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/Separation/GDelta.lean,Mathlib/Topology/Separation/Hausdorff.lean,Mathlib/Topology/Separation/PerfectlyNormal.lean 6 15 ['CoolRmal', 'github-actions', 'leanprover-radar', 'scholzhannah'] j-loreaux
assignee:j-loreaux
1-67494
1 day ago
3-83939
3 days ago
4-28682
4 days
38543 joelriou
author:joelriou
feat(AlgebraicTopology/DoldKan): morphisms which vanishes on degeneracies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 58/3 Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean 1 4 ['github-actions', 'joelriou', 'robin-carlier'] robin-carlier
assignee:robin-carlier
1-67492
1 day ago
4-39927
4 days ago
4-39620
4 days
38581 kebekus
author:kebekus
feat: integrability of terms in Cartan's formula If `f : ℂ → ℂ` is meromorphic, establish the circle integrability of the function `a ↦ log ‖meromorphicTrailingCoeffAt (f · - a) 0‖` and compute values of the circle integral. The circle integral in question is one of the main terms in Cartan's classic formula, describing the characteristic function `characteristic f ⊤ r` as a sum of circle averages. This is the second section of a four-part PR, establishing Cartan's formula and its most immediate corollaries. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-analysis 156/0 Mathlib.lean,Mathlib/Analysis/Complex/ValueDistribution/Cartan.lean,Mathlib/Topology/DiscreteSubset.lean 3 2 ['github-actions', 'kebekus'] j-loreaux
assignee:j-loreaux
1-67490
1 day ago
3-15176
3 days ago
3-14868
3 days
38584 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace/Reproducing): Add outerKernel, mem_iff --- Adds the `outerKernel` definition and the theorem `mem_iff`. These are needed for proving statements involving embeddings of RKHS. I can split `mem_of_posSemidef` and `mem_iff` off into a different pull request if that is preferred. The theorems `mem_of_posSemidef` and `posSemidef_of_mem` are the two directions of `mem_iff`. `posSemidef_of_mem` is slightly stronger than the converse direction of `mem_iff` in the sense that it also specifies the constant `c` in the statement. The specified `c` is in fact the smallest possible `c` for which the statement holds. The statement `mem_of_posSemidef` proves `∃ (g : H), (g : X → V) = f`. We could instead write `f ∈ (coeCLM 𝕜 (H:=H)).range`. Making this change would require the addition of the line `simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]` in the beginning of the proof. The full beginning is then ``` lemma mem_of_posSemidef (f : X → V) {c : ℝ} (hc : ((c : 𝕜) ^ 2 • kernel H - outerKernel 𝕜 f).PosSemidef) : f ∈ (coeCLM 𝕜 (H:=H)).range := by simp only [LinearMap.mem_range, coe_coe, coeCLM_apply] let Laux : ... ``` Making a `MemRKHS` like MemLp and MemSobolev and then writing `MemRKHS H f` is also an option. Happy to change it to whatever is preferred. The proof of `mem_of_posSemidef` is based on the idea that any function f in the RKHS satisfies `=\sum_{n} ` for `x_n\in X` and `v_n\in V` by the reproducing property. We define the operator L(\sum_n K(\cdot,x_n)v_n) = \sum_{n} . This is bounded by the condition based on the kernels, and thus extends to a bounded linear operator on the RKHS. Its Riesz' representer agrees pointwise with f. AI: When asking how to avoid Classical.choose in constructing the operator L, Claude suggested the approach of going through the quotient. I made the proof using Claude as supplementary Loogle. Afterwards, I asked it to help shorted the proofs. Some suggestions for `mem_of_posSemidef` were applied. The other suggestions were not helping or not correct. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 126/1 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 2 ['github-actions'] ADedecker
assignee:ADedecker
1-67489
1 day ago
3-9655
3 days ago
3-9725
3 days
38598 khwilson
author:khwilson
feat(Analysis/Convex/Basic): two useful lemmas on pointwise operations In proofs about locally convex spaces, it's common to need that `(1/2) * s + (1/2) * s = s` for convex `s` and that `closure s <= s + s` when `s` is open and contains `0`. We add these lemmas, which will be used ultimately in a proof of Michael's selection theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 15/1 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean 2 1 ['github-actions'] mcdoll
assignee:mcdoll
1-67489
1 day ago
2-62664
2 days ago
2-62356
2 days
38599 khwilson
author:khwilson
feat(Topology/Algebra/IsUniformGroup): characteriztaion of uniform cauchy sequences in topological groups Topological groups had several lemmas about uniform convergence, but were missing a lemma about a sequence being a uniform cauchy sequence. This PR fills that gap. This is a simplifying lemma on the way to Michael's selection theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 8/0 Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean 1 1 ['github-actions'] urkud
assignee:urkud
1-67488
1 day ago
2-62524
2 days ago
2-62216
2 days
38600 khwilson
author:khwilson
feat(Topology/Semicontinuity): additional definitions for correspondences On the way to proving Michael's selection theorem, several extra notions related to hemicontinuity are introduced. Specifically, the notion of a correspondence having lower sections and it having an open graph. The first construction is what is used in the proof of Michael's theorem to generate approximations to the target selection. The second is used in the iterative step to generate new lower hemicontinuous maps. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 349/0 Mathlib/Topology/Semicontinuity/Defs.lean 1 1 ['github-actions'] j-loreaux
assignee:j-loreaux
1-67487
1 day ago
2-62094
2 days ago
2-61786
2 days
38629 joelriou
author:joelriou
feat(CategoryTheory/Localization): quotient categories that are localizations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 221/1 Mathlib.lean,Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean,Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean,Mathlib/CategoryTheory/Localization/OfQuotient.lean,Mathlib/CategoryTheory/Quotient.lean 5 12 ['github-actions', 'joelriou', 'robin-carlier'] robin-carlier
assignee:robin-carlier
1-67485
1 day ago
2-21073
2 days ago
2-29093
2 days
38639 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/Polish/Basic` - rewrites `MeasurableSet.image_of_measurable_injOn` to transport measurability with `borel_anti` and `eq_borel_upgradeStandardBorel` instead of building the auxiliary measurable-set proof by hand - installs the induced `MeasurableSpace` and `BorelSpace` instances on the refined Polish topology and closes with `hs'.image_of_continuousOn_injOn` Extracted from #38104 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-measure-probability 4/8 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean 1 4 ['github-actions', 'leanprover-radar', 'yuanyi-350'] EtienneC30
assignee:EtienneC30
1-67483
1 day ago
2-23377
2 days ago
2-23069
2 days
38693 wwylele
author:wwylele
feat(Algebra/Module): simp lemma for composing domRestrict and codRestrict --- I am aware that this lemma is true for all function-like classes that has `domRestrict` and `codRestrict`. I didn't add the same for all of them, and only added the one I needed in #37295. Should we manually add this for all function classes? Or there should be some metaprogramming to generate them? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
6/0 Mathlib/Algebra/Module/Submodule/LinearMap.lean 1 1 ['github-actions'] nobody
1-65750
1 day ago
1-67460
1 day ago
1-67152
1 day
38691 bryangingechen
author:bryangingechen
chore: lake shake --add-public --keep-implied --keep-prefix --fix 355 files changed: - +389 imports added - -297 imports removed --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 390/297 Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Int/Even.lean,Mathlib/Algebra/Group/Nat/Even.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/MapBijective.lean,Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MvPolynomial/Cardinal.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Funext.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/SchemeTheoreticallyDominant.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/CStarAlgebra/Projection.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Affine.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Complex/Harmonic/Liouville.lean,Mathlib/Analysis/Complex/Harmonic/Poisson.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Approximation.lean,Mathlib/Analysis/Convex/FunctionTopology.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/Adhesive/Subobject.lean,Mathlib/CategoryTheory/CopyDiscardCategory/Widesubcategory.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Jointly.lean,Mathlib/CategoryTheory/Limits/Constructions/WidePullbackOfTerminal.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Terminal.lean,Mathlib/CategoryTheory/Limits/Preserves/SigmaConst.lean,Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean,Mathlib/CategoryTheory/Limits/Yoneda.lean,Mathlib/CategoryTheory/Monad/Types.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Widesubcategory.lean,Mathlib/CategoryTheory/MorphismProperty/CommaSites.lean,Mathlib/CategoryTheory/MorphismProperty/OfObjectProperty.lean,Mathlib/CategoryTheory/Shift/Adjunction.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/Descent/Precoverage.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/CategoryTheory/Sites/Hypercover/Saturate.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/Point/OfIsCofiltered.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 356 1 ['github-actions'] nobody
1-65407
1 day ago
1-65470
1 day ago
1-69156
1 day
37364 kim-em
author:kim-em
feat(Tactic/Linter): add `auxLemma` linter for auto-generated declaration references This PR adds a syntax linter that flags explicit references to auto-generated auxiliary declarations such as `_proof_N`, `match_N`, `_match_N`, and `_sizeOf_N`. These names are internal to the Lean elaborator and are not stable across refactors (e.g. reordering fields in a structure can renumber `_proof_` indices). The linter matches precisely: it requires the suffix after the prefix to be all digits, so `_proof_helper` would not be flagged. It only inspects identifier syntax nodes, so references in comments and docstrings are ignored. Current hits in Mathlib (suppressed with `set_option linter.style.auxLemma false`): - `Mathlib/CategoryTheory/Functor/Category.lean` — `hcomp._proof_2` - `Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean` — `constFormalMultilinearSeries.match_1.eq_2` - `Mathlib/Data/List/Sigma.lean` — `_sizeOf_1` Companion PR to track these suppressions in the tech debt report: https://github.com/leanprover-community/mathlib-ci/pull/17 🤖 Prepared with Claude Code t-linter 87/1 Mathlib.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/AuxLemma.lean,MathlibTest/CompileInductive.lean,MathlibTest/interactiveUnfold.lean,MathlibTest/toAdditive.lean 10 35 ['github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] thorimur
assignee:thorimur
1-65393
1 day ago
1-65429
1 day ago
4-48777
4 days
38551 TTony2019
author:TTony2019
feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` ### Summary We prove that the affine span of a product set equals the product of the affine spans, and that the intrinsic interior of a product set equals the product of the intrinsic interiors. - `affineSpan_prod_eq`: for `s : Set P₁` and `t : Set P₂`, `affineSpan k (s ×ˢ t) = (affineSpan k s) ×ˢ (affineSpan k t)` as sets. - `intrinsicInterior_prod_eq`: for `s : Set P` and `t : Set Q`, `intrinsicInterior 𝕜 (s ×ˢ t) = intrinsicInterior 𝕜 s ×ˢ intrinsicInterior 𝕜 t`. These two theorems are added to `Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean` and `Mathlib/Analysis/Convex/Intrinsic.lean`. ### Collaboration Co-authored-by: @imathwy new-contributor 144/0 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/Prod.lean 5 21 ['TTony2019', 'github-actions', 'wwylele'] nobody
1-62726
1 day ago
1-62790
1 day ago
4-6355
4 days
37073 kim-em
author:kim-em
feat: add wrap_instance% using core's wrapInstance This PR adds a new `wrap_instance%` term elaborator that delegates to Lean core's `wrapInstance` (from https://github.com/leanprover/lean4/pull/12897), and replaces ~53 `fast_instance%` call sites where the replacement is safe. `wrap_instance%` is a thin wrapper (~15 lines) around `Lean.Meta.wrapInstance`. Like `fast_instance%`, it reduces instances to constructor applications and reuses canonical sub-instances. Unlike `fast_instance%`, it works at `instances` transparency and delegates all normalization logic to core. The replaced sites cover: - Equiv/type-alias transfers (WithAbs, WithConv, WithVal, WithLp, TransferInstance) - Surjective constructors (Con, RingCon quotients, module congruences) - DFunLike leaf instances (MultilinearMap, ContinuousMultilinearMap, AlternatingMap, Intertwining) - Quotient instances (LinearAlgebra/Quotient/Defs) - inferInstanceAs% sites (StandardPart, Presentation/Core) - Miscellaneous (InfiniteAdeleRing, ZMod) This PR *doesn't* attempt to replace all `fast_instance%`; it gets more complicated! 🤖 Prepared with Claude Code 88/59 Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/WithConv.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/Algebra/Module/Alternating/Basic.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 16 7 ['JovanGerb', 'github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
1-60583
1 day ago
1-60610
1 day ago
4-47410
4 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 maintainer-merge 12/0 Mathlib/Order/Defs/PartialOrder.lean 1 11 ['Komyyy', 'SnirBroshi', 'github-actions'] nobody
1-60068
1 day ago
7-76493
7 days ago
15-84893
15 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)$. This is proved in this PR at `euclideanHausdorffMeasure_image_eq_normDet_mul_volume` - 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. - [ ] depends on: #37918 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 480/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib 3 15 ['copilot-pull-request-reviewer', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] j-loreaux
assignee:j-loreaux
1-59665
1 day ago
1-65904
1 day ago
29-78222
29 days
38698 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory/Regular): freeness of `QuotSMulTop` For finitely generated module `M` over Noetherian local ring `(R, m)`, if `x ∈ m` is `M`-regular, `M/xM` is free over `R/(x)` iff `M` is free over `R`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 114/0 Mathlib.lean,Mathlib/RingTheory/Regular/Free.lean 2 1 ['github-actions'] nobody
1-57854
1 day ago
1-57927
1 day ago
1-57619
1 day
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`. Summary of additions: - **Full shift and shift action** - `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type). - Right shift `shift g x` with convention `(shift g x) h = x (h * g)`. - **Cylinders and topology** - `cylinder U x : Set (G → A)` for finite `U : Finset G`. - Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed. - Equality with dependent products: `cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API. - **Patterns, occurrences, and subshifts** - `Pattern A G` with finite `support : Finset G` and `data : support → A`. - `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law. - `forbids F` and `Subshift A G` (closed, shift-invariant subsets). - `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness. - **Language on finite shapes and counting** - `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`. - **Entropy along a shape sequence** - `limsupAtTop` (as an `sInf` of eventual upper bounds). - `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)` for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`). - **Specializations** - `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`. - `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`. Mathematical remarks: - The API is **shape-parametric**: entropy is defined along user-provided finite shapes. - On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss). This PR does not assume amenability; the family of shapes is an explicit input. Motivation: Provide a clean, reusable base for symbolic dynamics on groups in mathlib. Future work: - Add a Følner predicate and prove shape-independence / limit existence on amenable groups. - Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors). - Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch). t-dynamics new-contributor 631/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean 3 187 ['Sfgangloff', 'botbaki-review', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] urkud
assignee:urkud
1-57293
1 day ago
1-57294
1 day ago
164-52055
164 days
37779 mcdoll
author:mcdoll
feat(Data/FunLike): introduce typeclasses for algebraic properties of `FunLike` These typeclasses remove the need for each function space that has, e.g., a linear structure to define `add_apply`, `smul_apply`, etc. Instead after defining the the `Add` instance one also defines a `FunLikeAdd` instance (with a proof usually being `rfl`). This removes some boilerplate as theorems like `sum_apply` are currently proved in various files, but here they can be proved in an abstract way. Moreover, we can remove all of the instances that provide further structure (such as `Semigroup`` in the concrete function spaces. This further removes boilerplate and also makes sure that all instances are available in every function space. The docstrings were generated with AI (and heavily edited afterwards), everything else is handwritten. --- The previous PR #33477 has gotten quite a few merge conflicts, so I opened a new PR with just the new features. I would like to get the approval of this design before going through the library and change everything. I am open to either do this in this PR or a second one (or multiple for different parts). - [x] depends on: #38401 - [x] depends on: #38398 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 590/0 Mathlib.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Data/FunLike/Module.lean,Mathlib/Data/FunLike/Ring.lean 5 10 ['Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll'] Vierkantor
assignee:Vierkantor
1-56400
1 day ago
1-57433
1 day ago
2-40356
2 days
38279 yuanyi-350
author:yuanyi-350
refactor(NumberTheory): golf `Mathlib/NumberTheory/NumberField/Basic` - refactors `NumberField/Basic` by replacing the hand-written `mapRingHom` structure with `f.toIntAlgHom.mapIntegralClosure.toRingHom` Extracted from #38144 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-number-theory LLM-generated 3/6 Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/CMField.lean 2 3 ['github-actions', 'mbkybky', 'yuanyi-350'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
1-53516
1 day ago
2-19883
2 days ago
2-19807
2 days
35217 kim-em
author:kim-em
feat: auxiliary lemmas for Artin and braid groups This PR adds small lemmas to existing files, in preparation for the Artin groups and braid groups PRs. - `Commute.mul_pow_eq_one`: for commuting elements with `a ^ m = 1` and `b ^ m = 1` - `Equiv.Perm.swap_conjugate`: braid relation for adjacent transpositions - `Equiv.Perm.swap_mul_swap_comm_of_disjoint`: disjoint transpositions commute - `@[grind =]` attributes on `Perm.mul_apply`, `Perm.one_apply`; new `Perm.pow_add_one_apply` - `Subgroup.normalClosure_singleton_one` - `FreeGroup.ofList` and associated lemmas - `FreeGroup.freeGroupUnitMulEquivInt` - `PresentedGroup.instUniqueOfIsEmpty` - `CoxeterMatrix.Aₙ_adjacent`, `CoxeterMatrix.Aₙ_far` 🤖 Prepared with Claude Code t-group-theory LLM-generated 97/2 Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean 7 15 ['eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'themathqueen'] thorimur
assignee:thorimur
1-51305
1 day ago
1-51305
1 day ago
7-63221
7 days
38583 kim-em
author:kim-em
feat(LinearAlgebra/Matrix/GeneralLinearGroup): polynomial functions on matrices over an infinite field are determined by their values on GL This PR adds `MvPolynomial.eq_of_eval_eq_on_gl`: two polynomials in `MvPolynomial (m × m) k` over an infinite field `k` are equal whenever their evaluations agree at every invertible matrix. The proof multiplies by the generic determinant `det (Matrix.mvPolynomialX m m k)` so that `MvPolynomial.funext` applies (covering both invertible and non-invertible specializations of the variables), then divides by it (it is nonzero by `Matrix.det_mvPolynomialX_ne_zero`) using that the polynomial ring is an integral domain. The lemma is useful when reasoning about polynomial representations of `GL n k`, where natural identities are easiest to check on `GL n k` itself but the final statement lives at the level of polynomials. The lemma is placed in a new file `Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/MvPolynomial.lean` because the existing `Mathlib/LinearAlgebra/Matrix/MvPolynomial.lean` is upstream of `Adjugate`, which is itself upstream of `GeneralLinearGroup.Defs` — so we cannot import `GeneralLinearGroup.Defs` from `Matrix.MvPolynomial` without creating a cycle. 🤖 Prepared with Claude Code t-algebra
label:t-algebra$
60/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/MvPolynomial.lean 2 4 ['SnirBroshi', 'github-actions', 'wwylele'] nobody
1-50202
1 day ago
1-62636
1 day ago
3-7456
3 days
38634 Maldooor
author:Maldooor
feat(MeasureTheory): `restrict_absolutelyContinuous_restrict` Add `restrict_absolutelyContinuous_restrict`, `restrict_absolutelyContinuous_restrict` and `AbsolutelyContinuous.restrict_of_subset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 19/0 Mathlib/MeasureTheory/Measure/Restrict.lean 1 1 ['github-actions'] EtienneC30
assignee:EtienneC30
1-48109
1 day ago
2-26902
2 days ago
2-26594
2 days
35619 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Clique): intersection and union of cliques Plus a couple of lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 45/14 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Data/Set/Pairwise/Basic.lean 3 13 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
1-47666
1 day ago
7-9785
7 days ago
28-71902
28 days
38597 kim-em
author:kim-em
chore: backport robustness changes from bump/nightly-2026-04-27 See [#nightly-testing > nightly#213 adaptations for nightly-2026-04-27 @ 💬](https://leanprover.zulipchat.com/#narrow/channel/428973-nightly-testing/topic/nightly.23213.20adaptations.20for.20nightly-2026-04-27/near/591262169). t-category-theory maintainer-merge 91/26 Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean 7 8 ['github-actions', 'kim-em', 'robin-carlier'] nobody
1-47439
1 day ago
1-70927
1 day ago
2-825
2 days
38432 SnirBroshi
author:SnirBroshi
feat(Logic/Relation): `Map r f g ≤ s ↔ r ≤ s.bicompl f g` and the dual `s ≤ Relation.Map r f g ↔ s.bicompl f g ≤ r` which requires `f` and `g` to be bijective. Adds `Galois{Connection/Insertion/Coinsertion}` for the dual. The theorems are specialized to `onFun` instead of `bicompl` for when `f = g`. The `≤` theorems are spelled using `Subrelation` since `≤` is not yet available in this file, and `∀` for the `bicompl` theorems since `Subrelation` only supports homogeneous relations. A `GaloisConnection` for the iff in the title requires `f`/`g` to be bijective, but then we can get an `OrderIso` which is stronger (see #38499). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 119/28 Mathlib/Logic/Relation.lean,Mathlib/Order/GaloisConnection/Basic.lean 2 3 ['SnirBroshi', 'github-actions', 'plp127'] nobody
1-47330
1 day ago
5-54543
5 days ago
6-75657
6 days
38612 SnirBroshi
author:SnirBroshi
feat(Order/SuccPred/CompleteLinearOrder): `sSup s < x` iff theorems when we know if `x` is a successor pre-limit or not Adds the following theorems (along with their duals and indexed versions): ```lean sSup_lt_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → sSup s < x ↔ ∀ a ∈ s, a < x le_sSup_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → x ≤ sSup s ↔ ∃ a ∈ s, x ≤ a Order.IsSuccPrelimit.sSup_lt_iff : IsSuccPrelimit x → sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b < a Order.IsSuccPrelimit.le_sSup_iff : IsSuccPrelimit x → x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a ≤ b ``` They are similar to these existing theorems, but not the same: ```lean sSup_lt_iff : sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b ≤ a le_sSup_iff_forall_lt : x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a < b ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 43/0 Mathlib/Order/SuccPred/CompleteLinearOrder.lean 1 6 ['SnirBroshi', 'github-actions', 'vihdzp'] nobody
1-47131
1 day ago
2-44045
2 days ago
2-43737
2 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 305/10 Mathlib.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Meromorphic/RCLike.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean 5 4 ['github-actions', 'j-loreaux', 'kebekus'] ADedecker
assignee:ADedecker
1-45633
1 day ago
1-53906
1 day ago
29-38065
29 days
38228 kim-em
author:kim-em
ci: block merging PRs that increase technical debt unless reviewed This PR adds a merge gate for technical debt increases. When the existing technical debt metrics script reports an increase, the `build` job adds an `increases-technical-debt` label. A `check-technical-debt` job then adds `blocked-by-increases-technical-debt`, which blocks bors. A reviewer can add `allow-increases-technical-debt` to unblock after confirming the increase is acceptable. ### Fail-closed detection The detection greps for the *safe* patterns (`Decrease in tech debt:` / `No changes to technical debt.`) rather than for `Increase`. If `mathlib-ci` changes the script's output wording, the label is added (fail closed) rather than silently skipped (fail open). ### Labels (three-label pattern, same as #38225) | Label | Managed by | Purpose | |---|---|---| | `increases-technical-debt` | `build` job (tech debt script) | Factual: this PR increases debt | | `blocked-by-increases-technical-debt` | `check-technical-debt` job | Operational: blocks bors | | `allow-increases-technical-debt` | Reviewer | Override: reviewer approves the increase | Bors's `block_labels` has no conditional logic, so we need the derived `blocked-by-increases-technical-debt` label to express the conjunction "increases-technical-debt AND NOT allow-increases-technical-debt". False positives can be reported on the [mathlib4 Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/increases-technical-debt.20label). 🤖 Prepared with Claude Code CI 76/2 .github/workflows/PR_summary.yml,bors.toml 2 4 ['github-actions', 'jcommelin', 'joneugster', 'kim-em'] Vierkantor and jcommelin
assignee:Vierkantor assignee:jcommelin
1-42329
1 day ago
9-73197
9 days ago
9-72959
9 days
30109 scholzhannah
author:scholzhannah
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 304/1 Mathlib/Topology/CWComplex/Classical/Subcomplex.lean 1 26 ['ADedecker', 'github-actions', 'j-loreaux', 'scholzhannah'] ADedecker
assignee:ADedecker
1-41919
1 day ago
6-26797
6 days ago
13-9181
13 days
38530 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): the relative cell complex of a monomorphism In this PR, we show that any monomorphism of simplicial sets is a relative cell complex with basic cells given by boundary inclusions. --- Note: I think we can ignore the `large-import` label here, because this is a leaf file, and the relative cell complex that is constructed here is a basic fact about the skeleton filtration. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology large-import 300/11 Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/RelativeCellComplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Skeleton.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/TransfiniteCompositionOfShape.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean 6 12 ['github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
1-41714
1 day ago
1-41554
1 day ago
4-56530
4 days
38538 CoolRmal
author:CoolRmal
feat(Topology): some lemmas about topological bases --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 27/4 Mathlib/Topology/Bases.lean 1 7 ['CoolRmal', 'github-actions', 'plp127', 'scholzhannah', 'wwylele'] j-loreaux
assignee:j-loreaux
1-41629
1 day ago
3-83363
3 days ago
4-3945
4 days
37926 e-271828
author:e-271828
feat(Analysis/Analytic): add AnalyticAt properties for iterated dslope This PR adds three fundamental lemmas in the `AnalyticAt` namespace to establish the analyticity of the (iterated) `dslope` function: * `AnalyticAt.dslope_of_ne` * `AnalyticAt.iterate_dslope_of_ne` * `AnalyticAt.iterate_dslope` (at the singularity, using `has_fpower_series_iterate_dslope_fslope`) These properties are crucial for factoring out removable singularities iteratively while preserving analyticity. This PR was assisted by LLMs (Aristotle and Gemini). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 18/0 Mathlib/Analysis/Analytic/IsolatedZeros.lean 1 10 ['e-271828', 'github-actions', 'j-loreaux', 'wwylele'] j-loreaux
assignee:j-loreaux
1-41618
1 day ago
1-41618
1 day ago
18-69108
18 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`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas. * `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R 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 22/14 Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 22 ['artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
1-39114
1 day ago
13-4246
13 days ago
28-57862
28 days
38670 tb65536
author:tb65536
chore(GroupTheory/SpecificGroups/Alternating): deprecate old proof of simplicity of A_5 Now that #36524 has been merged, we can deprecate the old proof of simplicity of A_5. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
37/106 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/Simple.lean 4 2 ['AntoineChambert-Loir', 'github-actions', 'tb65536'] nobody
1-35975
1 day ago
1-78329
1 day ago
1-78022
1 day
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 330/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 2 14 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] awainverse and b-mehta
assignee:b-mehta assignee:awainverse
1-33116
1 day ago
1-33116
1 day ago
59-36718
59 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 maintainer-merge 15/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 6 ['Rida-Hamadani', 'Ruben-VandeVelde', 'SnirBroshi', 'bryangingechen', 'github-actions'] nobody
1-32850
1 day ago
30-62257
30 days ago
30-61949
30 days
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 171/0 Mathlib.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeRightExact.lean 4 22 ['Thmoas-Guan', 'chrisflav', 'erdOne', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot', 'urkud'] joelriou
assignee:joelriou
1-32532
1 day ago
16-25370
16 days ago
48-28458
48 days
31768 Thmoas-Guan
author:Thmoas-Guan
feat(Homology): `Ext` under restrict scalars by `RingEquiv` In this PR, we proved that `Ext` commute with ulift functor in `ModuleCat`. Further more, we provided compatibility with (semi-)linear equiv of general universe. --- - [x] depends on: #31697 - [x] depends on: #31706 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory
label:t-algebra$
142/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Ext/RingEquiv.lean 4 31 ['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
1-31618
1 day ago
6-21234
6 days ago
13-10948
13 days
38014 cduenasnavarro
author:cduenasnavarro
feat(InformationTheory): linear codes over finite fields and minimum distance properties Define linear codes over a finite field `F` as finite-dimensional subspaces of `Fin n → F`, together with their minimum Hamming distance. Main definitions: * `LinearCode` * `minDist` * `LinearCodeWithDist` * `hammingSphere` Main results: * `minDist_eq_sInf_pairwiseDist`: characterisation of the minimum distance via pairwise distances * `disjoint_spheres`: Hamming spheres of radius `t` around distinct codewords are disjoint if `2 * t < d` Pending: * Choosing an adequate book reference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 143/0 Mathlib.lean,Mathlib/InformationTheory/Coding/LinearCode.lean 2 37 ['cduenasnavarro', 'github-actions', 'linesthatinterlace', 'rkirov', 'vihdzp', 'wwylele'] RemyDegenne
assignee:RemyDegenne
1-31215
1 day ago
16-86373
16 days ago
17-428
17 days
38675 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/Morphisms/QuasiSeparated): remove an erw - rewrites the range-identification step to use `Scheme.Opens.range_ι` instead of `erw [Subtype.range_coe]` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 1/1 Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean 1 2 ['github-actions', 'jcommelin'] nobody
1-29470
1 day ago
1-70846
1 day ago
1-70538
1 day
38707 tb65536
author:tb65536
feat(Algebra/Polynomial/Lifts): add `natDegree` verison of `exists_natDegree_eq_of_mem_lifts` This PR adds a `natDegree` version of `exists_degree_eq_of_mem_lifts`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
4/0 Mathlib/Algebra/Polynomial/Lifts.lean 1 1 ['github-actions'] nobody
1-25956
1 day ago
1-25956
1 day ago
1-25649
1 day
38009 CBirkbeck
author:CBirkbeck
feat(RingTheory/Valuation): define the valuation spectrum and its topology ## Summary Define the valuation spectrum `Spv A` of a commutative ring and equip it with the topology generated by basic open sets, following Wedhorn's *Adic Spaces*. Also define the pullback (`comap`) of a `ValuativeRel` along a ring homomorphism. This is preparation for later defining adic spaces. Note the code was generated by claude code, but I have cleaned up and pre-reviewed the work. t-ring-theory LLM-generated 362/0 Mathlib.lean,Mathlib/RingTheory/Valuation/ValuationSpectrum.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Comap.lean 3 40 ['CBirkbeck', 'adamtopaz', 'chrisflav', 'dagurtomas', 'faenuccio', 'github-actions', 'jjdishere', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
1-25894
1 day ago
16-28790
16 days ago
16-28635
16 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 186/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 3 17 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] YaelDillies
assignee:YaelDillies
1-25721
1 day ago
1-28868
1 day ago
37-29022
37 days
38708 tb65536
author:tb65536
feat(Algebra/Polynomial/Lifts): every polynomial lifts along a surjective ring homomorphism This PR adds a lemma stating that every polynomial lifts along a surjective ring homomorphism (this could also be phrased as `lifts_eq_top`, but in practice it's membership in lifts that unlocks all of the API for `lifts`). --- [![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/Polynomial/Lifts.lean 1 1 ['github-actions'] nobody
1-25707
1 day ago
1-25707
1 day ago
1-25401
1 day
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} (B : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M) (N : Submodule R₁ 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$
28/21 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 8 ['eric-wieser', 'github-actions', 'martinwintermath', 'themathqueen', 'vihdzp'] ocfnash
assignee:ocfnash
1-25391
1 day ago
1-25299
1 day ago
30-80200
30 days
38654 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(RingTheory.DedekindDomain.Factorization): add API for factorization This PR adds * `simp` lemmas that convert ways of expressing the multiplicity of a prime ideal `p` in the factorization of an ideal `I` into `multiplicity p.asIdeal I` (see [#Is there code for X? > Results on elements of number fields and ideals @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Results.20on.20elements.20of.20number.20fields.20and.20ideals/near/574739650)), * API lemmas on multiplicities, expressed in terms of `multiplicity p.asIdeal I`. * We also refactor a proof in Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas by extracting a couple of lemmas that we can reuse in one of the new lemmas. These will be useful in proving the Northcott property of heights on number fields. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 164/23 Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean 3 5 ['MichaelStollBayreuth', 'github-actions', 'xroblot'] nobody
1-24498
1 day ago
1-24562
1 day ago
2-16414
2 days
38269 b-mehta
author:b-mehta
feat(Combinatorics/Additive): link Freiman homs and Freiman isos tighter --- Some work I had lying around in a forgotten branch, recently resurrected. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 118/76 Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean 3 15 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts'] nobody
1-24488
1 day ago
1-24488
1 day ago
2-24498
2 days
38709 tb65536
author:tb65536
feat(Algebra/Polynomial/Roots): roots of `p(-X)` This PR proves that the roots of `p(-X)` are just the negatives of the roots of `p`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
21/0 Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean 2 1 ['github-actions'] nobody
1-24388
1 day ago
1-24388
1 day ago
1-24081
1 day
38622 mariainesdff
author:mariainesdff
feat(RingTheory/PowerSeries/ExponentialModule): add exponential module Let `R` be a commutative ring. The exponential module of `R` is the set of all power series `f : R⟦X⟧` that are of exponential type : `f (X + Y) = f X * f Y` where `X` and `Y` are two indeterminates. It is an abelian group under multiplication, and an `R`-module under rescaling. Co-authored by: @AntoineChambert-Loir --- - [ ] depends on: #38615 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 425/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/RingTheory/PowerSeries/ExponentialModule.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 5 2 ['github-actions', 'mathlib-dependent-issues'] nobody
1-22816
1 day ago
1-22881
1 day ago
1-23670
1 day
38705 justus-springer
author:justus-springer
refactor(Algebra/Category/ModuleCat/ChangeOfRings): golf `restrictScalarsEquivalenceOfRingEquiv` Also add simps attribute. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-algebraic-geometry
label:t-algebra$
5/12 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean 1 1 ['github-actions'] nobody
1-22147
1 day ago
1-28957
1 day ago
1-29351
1 day
37886 LLaurance
author:LLaurance
chore(Algebra): shorten proofs by removing lemmas used in simp --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
5/7 Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeAlgebra.lean 2 4 ['LLaurance', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] joelriou
assignee:joelriou
1-18081
1 day ago
1-18105
1 day ago
15-64914
15 days
38713 justus-springer
author:justus-springer
feat(Algebra/Category/ModuleCat/Sheaf/ChangeOfRings): API for `restrictScalars` Extend the `restrictScalars` API for presheaves and sheaves of modules to match the existing API in `ModuleCat/ChangeOfRings`. For both `PresheafOfModules` and `SheafOfModules` we add: - `restrictScalarsCongr`: restriction of scalars along equal morphisms are naturally isomorphic - `restrictScalarsId'/restrictScalarsId`: restriction along the identity is naturally isomorphic to the identity functor - `restrictScalarsComp'/restrictScalarsComp`: restriction along a composition is naturally isomorphic to the composition of restriction functors - `restrictScalarsEquivalenceOfIso`: an isomorphism `R ≅ R'` of (pre)sheaves of rings induces an equivalence of categories of (pre)sheaves of modules. We also move up the "simp barrier": `PresheafOfModules.restrictScalars` and `SheafOfModules.restrictScalars` are no longer `@[simps]` as they have their own API now. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-algebra
label:t-algebra$
326/5 Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean 3 1 ['github-actions'] nobody
1-17526
1 day ago
1-17666
1 day ago
1-17791
1 day
38718 tb65536
author:tb65536
feat(GroupTheory/Torsion): add `torsion_eq_top_iff` The torsion subgroup is the whole group if and only if the group is torsion. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
4/0 Mathlib/GroupTheory/Torsion.lean 1 1 ['github-actions'] nobody
1-15990
1 day ago
1-15990
1 day ago
1-15683
1 day
38037 linesthatinterlace
author:linesthatinterlace
feat: extend `LawfulXor` lemmas and add `Equiv.xor` This PR extends the work of #37712 by adding additional lemmas and adding `xor-as-a-permutation`. --- - depends on: #37712 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 270/0 Mathlib.lean,Mathlib/Data/Fin/Init.lean,Mathlib/Data/LawfulXor/Basic.lean,Mathlib/Data/LawfulXor/Equiv.lean 4 3 ['github-actions', 'linesthatinterlace'] eric-wieser and linesthatinterlace
assignee:eric-wieser assignee:linesthatinterlace
1-15984
1 day ago
16-31120
16 days ago
16-30914
16 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. (2/5) 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 large-import 179/1 Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 5 88 ['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] b-mehta
assignee:b-mehta
1-14564
1 day ago
1-38972
1 day ago
59-37552
59 days
38720 tb65536
author:tb65536
feat(GroupTheory/Rank): nontrivial groups have positive rank This PR proves that nontrivial groups have positive rank. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
18/0 Mathlib/GroupTheory/Rank.lean 1 1 ['github-actions'] nobody
1-14514
1 day ago
1-14514
1 day ago
1-14207
1 day
38685 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/FreeModule/Int): remove an erw - rewrites the Smith normal form coordinate calculation with `rw [LinearEquiv.submoduleMap_apply]` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-algebra
label:t-algebra$
1/1 Mathlib/LinearAlgebra/FreeModule/Int.lean 1 2 ['github-actions', 'jcommelin', 'yuanyi-350'] nobody
1-13913
1 day ago
1-70780
1 day ago
1-70472
1 day
38684 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/CliffordAlgebra/EvenEquiv): remove erws - rewrites the `toEven` and `toEven_ι` proofs through `even_toSubmodule`, replacing the `erw` steps with `simp` and `rw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-algebra
label:t-algebra$
5/8 Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean 1 2 ['github-actions', 'jcommelin', 'yuanyi-350'] nobody
1-13896
1 day ago
1-70782
1 day ago
1-70474
1 day
38377 xroblot
author:xroblot
feat(RingTheory/Localization, FieldTheory/Galois): refactor fraction field action API and add fixingSubgroup lemmas Extracts the components of the proof of `IsGaloisGroup.to_isFractionRing`, adding API for working with "Galois extensions of domains". Also adds `fixingSubgroup_range_algebraMap` and its ring-domain analogue: if `G` is a Galois group for `L/K` and a subgroup `H` is a Galois group for `L/R`, then the elements of `G` fixing the range of `algebraMap R L` pointwise are exactly the elements of `H`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 139/41 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 4 3 ['github-actions', 'leanprover-radar', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
1-13792
1 day ago
8-13634
8 days ago
8-13326
8 days
38721 tb65536
author:tb65536
feat(GroupTheory/Torsion): the torsion subgroup is preserved by isomorphisms This PR proves that the torsion subgroup is preserved by isomorphisms. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
10/1 Mathlib/GroupTheory/Torsion.lean 1 1 ['github-actions'] nobody
1-13709
1 day ago
1-13709
1 day ago
1-13402
1 day
38508 yuanyi-350
author:yuanyi-350
chore(Topology/Sheaves/SheafCondition/PairwiseIntersections): remove an erw - rewrites `interUnionPullbackConeLift_left` and `interUnionPullbackConeLift_right` by unfolding `interUnionPullbackConeLift` directly in the `rw` chain - rewrites the two `isLimitPullbackCone` branches by adding `Functor.mapCone_π_app` to the `rw` chain instead of using `erw [← F.1.map_comp]` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-topology 5/9 Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean 1 3 ['github-actions', 'jcommelin', 'yuanyi-350'] j-loreaux
assignee:j-loreaux
1-12999
1 day ago
1-13041
1 day ago
5-31866
5 days
38515 yuanyi-350
author:yuanyi-350
chore(Algebra/Lie/Classical): remove an erw - unfolds `so'` before `skewAdjointMatricesLieSubalgebraEquiv_apply`, so the proof closes with a plain `rw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated
label:t-algebra$
1/1 Mathlib/Algebra/Lie/Classical.lean 1 3 ['github-actions', 'jcommelin', 'yuanyi-350'] nobody
1-12556
1 day ago
5-29098
5 days ago
5-28790
5 days
38723 xgenereux
author:xgenereux
feat(EuclideanDomain.Basic): RingEquiv.euclideanDomain Add `RingEquiv.euclideanDomain` similar to other `RingEquiv` transport lemmas. 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$
28/1 Mathlib/Algebra/EuclideanDomain/Basic.lean 1 1 ['github-actions'] nobody
1-12122
1 day ago
1-11962
1 day ago
1-12021
1 day
36704 adam84-hub
author:adam84-hub
chore(Function): add surjective_iff Adds an explicit discoverable definitional lemma for `Function.Surjective`. - addresses #31745 - scope is intentionally tiny: one theorem in `Mathlib/Logic/Function/Defs.lean` AI was used for drafting; I reviewed the final code and understand it well enough to vouch for it. t-logic new-contributor 4/0 Mathlib/Logic/Function/Defs.lean 1 13 ['SnirBroshi', 'adam84-hub', 'github-actions', 'plp127', 'vihdzp'] nobody
1-11898
1 day ago
1-11898
1 day ago
1-13714
1 day
38719 tb65536
author:tb65536
feat(GroupTheory/QuotientGroup/Basic): `(G × H) / (A.prod B) ≃ (G / A) × (H / B)` This PR proves the isomorphism `(G × H) ⧸ (A.prod B) ≃* (G ⧸ A) × H ⧸ B` and uses it to golf `Subgroup.index_prod`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
20/3 Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean 2 1 ['github-actions'] nobody
1-10609
1 day ago
1-10609
1 day ago
1-10303
1 day
38729 tb65536
author:tb65536
feat(GroupTheory/Torsion): torsion subgroup of a product This PR proves that the torsion subgroup of a product is the product of the torsion subgroups. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
5/1 Mathlib/GroupTheory/Torsion.lean 1 1 ['github-actions'] nobody
1-8806
1 day ago
1-8806
1 day ago
1-8500
1 day
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$
555/0 Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean 5 12 ['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
1-2155
1 day ago
1-2184
1 day ago
31-48233
31 days
38724 yuanyi-350
author:yuanyi-350
chore(Algebra/Category/ModuleCat): remove `erw`s - simplifies the `tmul` branches in `HomEquiv.fromExtendScalars` and `Counit.map` to `simp [mul_smul]` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/12 Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean 1 1 ['github-actions'] nobody
1-2104
1 day ago
1-11849
1 day ago
1-11541
1 day
38725 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/ProjectiveSpectrum): remove `erw`s - folds the `erw` steps in `isSeparated` into the surrounding `simp only` rewrites, including `affineOpenCover_f` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 4/6 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean 1 1 ['github-actions'] nobody
1-2091
1 day ago
1-11847
1 day ago
1-11539
1 day
38726 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/Stalk): remove `erw`s - rewrites both branches of `IsAffineOpen.fromSpecStalk_eq` using `Spec.map_comp_assoc` and `TopCat.Presheaf.germ_res`, replacing the longer `Scheme.Spec_map`/`Functor.map_comp_assoc` chain Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 4/8 Mathlib/AlgebraicGeometry/Stalk.lean 1 1 ['github-actions'] nobody
1-2077
1 day ago
1-11845
1 day ago
1-11537
1 day
38565 peabrainiac
author:peabrainiac
feat(Geometry/Manifold): add `ContMDiffSMul` typeclass Introduce typeclasses `ContMDiffVAdd` and `ContMDiffSMul` for continuously differentiable actions on manifolds. As an application, we prove that the general linear group `(V →L[𝕜] V)ˣ` of any Banach space `V` acts smoothly on `V`. --- - [x] depends on: #38620 See also #38527 that adds an analogous `ContDiffSMul` for actions of normed vector spaces. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 197/30 Mathlib.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Geometry/Manifold/Algebra/SMul.lean,Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean,Mathlib/Geometry/Manifold/BumpFunction.lean,Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean,Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean,Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/VectorBundle/SmoothSection.lean 9 27 ['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-splicebot', 'peabrainiac'] grunweg and sgouezel
assignee:grunweg assignee:sgouezel
1-1535
1 day ago
1-1600
1 day ago
2-60385
2 days
38740 Bergschaf
author:Bergschaf
feat(Order/Sublattice): The range of a LatticeHom is a Sublattice --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy 12/0 Mathlib/Order/Sublattice.lean 1 1 ['github-actions'] nobody
0-82057
22 hours ago
0-82086
22 hours ago
0-81836
22 hours
27493 themathqueen
author:themathqueen
feat(RingTheory/Coalgebra): define Frobenius algebra A Frobenius algebra `A` has the structure of both an algebra and a coalgebra such that: `(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = comul ∘ mul = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)`. In diagrams this law looks like: ![](https://ncatlab.org/nlab/files/frobenius_laws.jpg) It suffices to show that `(mul ⊗ id) ∘ assoc.symm ∘ (id ⊗ comul) = (id ⊗ mul) ∘ assoc ∘ (comul ⊗ id)`. --- - [x] depends on: #27567 - [x] depends on: #27569 - [x] depends on: #32245 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 112/0 Mathlib.lean,Mathlib/RingTheory/FrobeniusAlgebra.lean 2 25 ['YaelDillies', 'erdOne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'themathqueen'] alreadydone
assignee:alreadydone
0-80130
22 hours ago
0-80173
22 hours ago
47-58255
47 days
38743 eric-wieser
author:eric-wieser
feat: `Finite` instances for `Sym` We already have the `Fintype` instances. I take the liberty of moving these into namespaces in order to produce nicer auto-generated instance names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 25/3 Mathlib/Data/Fintype/Vector.lean 1 1 ['github-actions'] nobody
0-80129
22 hours ago
0-81037
22 hours ago
0-80729
22 hours
38730 vihdzp
author:vihdzp
feat: `IsBotOneClass` and `IsBotZeroClass` We create typeclasses expressing that `0` or `1` is a bottom element in a type. We use this to unify and generalize various theorems which are currently stated for canonically ordered monoids. This has provisionally left us with a bunch of unnecessary aliases; these will be deprecated in a follow-up PR. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Typeclass.20for.20IsBot.200/near/586314552). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order large-import 226/164 Mathlib.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Topology/Algebra/ValuativeRel/ValuativeTopology.lean,Mathlib/Topology/UnitInterval.lean 17 1 ['github-actions'] nobody
0-77452
21 hours ago
0-77495
21 hours ago
1-1471
1 day
38426 SnirBroshi
author:SnirBroshi
feat(Data/Set/Card): `Fintype.card s = s.ncard` We have `↑(Fintype.card s) = s.encard` but we don't yet have a theorem relating `Fintype.card` and `Set.ncard`. This adds `Fintype.card s = s.ncard` for `Fintype s`, and also `s.ncard = s.encard` for `Finite s`. --- ~~(tagging `simp` is problematic since the aforementioned theorem (`Set.coe_fintypeCard`) is `simp`, and I'm not sure we should untag it)~~ [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/0 Mathlib/Data/Set/Card.lean 1 4 ['SnirBroshi', 'Vierkantor', 'b-mehta', 'github-actions'] Vierkantor
assignee:Vierkantor
0-77412
21 hours ago
1-60145
1 day ago
5-53522
5 days
38746 eric-wieser
author:eric-wieser
chore: `AffineSubspace.Parallel` is an equivalence relation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
12/0 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean 1 1 ['github-actions'] nobody
0-75203
20 hours ago
0-75280
20 hours ago
0-74972
20 hours
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 (Possible TODO: - 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$
552/19 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Span.lean 11 117 ['AntoineChambert-Loir', 'chrisflav', 'eric-wieser', 'github-actions', 'robin-carlier'] eric-wieser, ocfnash, robin-carlier
assignee:eric-wieser assignee:ocfnash assignee:robin-carlier
0-74532
20 hours ago
1-2290
1 day ago
24-85467
24 days
38672 drocta
author:drocta
feat(Algebra/Colimit/DirectLimit): add Algebra structure for DirectLimit add `Algebra` instance to `DirectLimit`. also add a few lemmas for it for the algebra map, and also define the `of`, `lift`, and the `of_f`, `lift_of` and `hom_ext` lemmas for it. --- Use of AI: I again made some use of ChatGPT for some advice while writing this code, as well as the auto-complete in VS Code. However, I can personally vouch for all of these contributions, and that I understand all of it. This is the second part of my project towards supporting direct limits of $C^*$-algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ). This PR adds an import of `Mathlib.Algebra.Algebra.Hom` (because it needs `AlgHom` and `AlgHomClass` ) in addition to the import of `Mathlib.Algebra.Star.StarRingHom` added in PR #38308 . In the next PR I intend to make, these two should be replaced with an import of `Mathlib.Algebra.Star.StarAlgHom` . t-algebra new-contributor large-import
label:t-algebra$
84/0 Mathlib/Algebra/Colimit/DirectLimit.lean 1 5 ['drocta', 'github-actions', 'mathlib-bors'] nobody
0-73056
20 hours ago
1-67872
1 day ago
1-67700
1 day
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 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 25 ['Maldooor', 'github-actions', 'lua-vr', 'mcdoll', 'samueloettl'] mcdoll
assignee:mcdoll
0-71083
19 hours ago
1-21380
1 day ago
67-19885
67 days
38365 vihdzp
author:vihdzp
feat: `#Ordinal = univ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory easy 6/1 Mathlib/SetTheory/Ordinal/Univ.lean 1 2 ['b-mehta', 'github-actions', 'vihdzp'] nobody
0-69439
19 hours ago
8-39533
8 days ago
8-39225
8 days
35210 kim-em
author:kim-em
chore: use @[to_dual] in CompleteLattice extras and Set.Lattice This PR uses `@[to_dual]` to auto-generate dual theorems in `Order.CompleteLattice.Lemmas`, `Order.CompleteLattice.Finset`, and `Data.Set.Lattice`, deleting hand-written dual versions. [Diff relative to previous PR](https://github.com/kim-em/mathlib4/compare/kim/to-dual-complete-lattice...kim/to-dual-complete-lattice-extras) - [ ] depends on: #35209 🤖 Prepared with Claude Code LLM-generated 37/94 Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteLattice/Finset.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Tactic/SetLike.lean 4 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-68978
19 hours ago
0-69002
19 hours ago
0-69612
19 hours
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 39/36 Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean 3 6 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-68433
19 hours ago
21-77538
21 days ago
57-21512
57 days
36495 AlexKontorovich
author:AlexKontorovich
chore(Finset/NatDivisors): refactor `card_divisors_mul` and `sum_divisors_mul` to not rely on `ArithmeticFunction` `Nat.Coprime.card_divisors_mul` and `Nat.Coprime.sum_divisors_mul` are moved to not rely on `ArithmeticFunction`. See zulip discussion here: [#mathlib4 > Library design question, e.g.`Nat.Coprime.card_divisors_mul` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Library.20design.20question.2C.20e.2Eg.2E.60Nat.2ECoprime.2Ecard_divisors_mul.60/near/577769899) Co-authored-by: Ziyan Wei and Aayush Rajasekaran --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory t-algebra
label:t-algebra$
41/14 Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Finset/NatDivisors.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean 3 5 ['AlexKontorovich', 'arajasek', 'github-actions'] nobody
0-68432
19 hours ago
22-24771
22 days ago
45-18522
45 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 8 ['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] nobody
0-68431
19 hours ago
22-15209
22 days ago
36-30588
36 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 8 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'scholzhannah'] nobody
0-68430
19 hours ago
22-35820
22 days ago
29-7557
29 days
31176 mcdoll
author:mcdoll
feat(Analysis): Taylor's theorem with the integral remainder Prove Taylor's theorem with the integral remainder in higher dimensions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 145/1 Mathlib.lean,Mathlib/Analysis/Calculus/TaylorIntegral.lean,docs/100.yaml,docs/undergrad.yaml 4 8 ['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mcdoll', 'sgouezel'] nobody
0-68429
19 hours ago
22-55025
22 days ago
30-60
30 days
38349 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph/Coloring/VertexColoring): rename to `Vertex.lean` After #37525 moved `Coloring.lean` to `Coloring/VertexColoring.lean`, a [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Coloring.20module.20names/with/583281500) poll decided to avoid duplicating the word "Coloring", so this renames `Coloring/VertexColoring.lean` to `Coloring/Vertex.lean`. --- I planned to make this move in #33313 but it isn't moving along, so I think it's best to split the renaming. #37546 adds module deprecation [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-combinatorics 6/6 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean 7 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-68189
18 hours ago
0-68215
18 hours ago
8-68053
8 days
29434 ntapiam
author:ntapiam
feat(NonAssoc/LieAdmissible): prove every ring/algebra is LieAdmissible -awaiting-author t-algebra new-contributor
label:t-algebra$
32/6 Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] ocfnash
assignee:ocfnash
0-67566
18 hours ago
15-45168
15 days ago
15-45954
15 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'] fpvandoorn
assignee:fpvandoorn
0-67564
18 hours ago
46-52649
46 days ago
46-52341
46 days
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 LLM-generated t-data 121/0 Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml 5 24 ['euprunin', 'github-actions', 'kennethgoodman', 'vihdzp', 'wwylele'] joneugster
assignee:joneugster
0-67559
18 hours ago
19-24948
19 days ago
26-67005
26 days
37682 SabrinaJewson
author:SabrinaJewson
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ `LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction). If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib). This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions. `LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed. [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491) --- - [x] depends on: #37735 - [x] depends on: #37772 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 52/38 Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean 3 10 ['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] bryangingechen
assignee:bryangingechen
0-67558
18 hours ago
20-76456
20 days ago
22-73257
22 days
37858 tb65536
author:tb65536
feat(RingTheory/LocalRing/ResidueField/Fiber): `Ideal.Fiber` is a quotient of a localization This PR proves that `Ideal.Fiber` is a quotient of a localization. This is needed for #37130. --- - [x] depends on: #37380 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
16/0 Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean 1 2 ['github-actions', 'mathlib-dependent-issues'] mariainesdff
assignee:mariainesdff
0-67557
18 hours ago
20-20232
20 days ago
20-20664
20 days
37955 artie2000
author:artie2000
feat(Algebra/Polynomial): lemmas about `modByMonic` * Add various small lemmas about `Polynomial.modByMonic` * Remove unneccesary commutativity assumption on `Polynomial.aeval_eq_zero_of_dvd_aeval_eq_zero` by proving `Polynomial.aeval_dvd` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
20/6 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean 5 1 ['github-actions'] ocfnash
assignee:ocfnash
0-67556
18 hours ago
18-16371
18 days ago
18-16911
18 days
38428 tb65536
author:tb65536
refactor(RepresentationTheory/Coinvariants): use `IntertwiningMap` in `Coinvariants.map` Currently `Coinvariants.map` has the intertwining condition as as a separatel hypothesis. This PR switches over to the bundled `IntertwiningMap`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
16/20 Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RepresentationTheory/Induced.lean,Mathlib/RepresentationTheory/Rep/Basic.lean 6 1 ['Whysoserioushah', 'github-actions'] riccardobrasca
assignee:riccardobrasca
0-67551
18 hours ago
6-83905
6 days ago
6-83599
6 days
38564 wwylele
author:wwylele
chore(Algebra/Group): remove `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
20/32 Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/GroupWithZero/Basic.lean 3 1 ['github-actions'] jcommelin
assignee:jcommelin
0-67550
18 hours ago
3-61472
3 days ago
3-61164
3 days
38682 yuanyi-350
author:yuanyi-350
chore(Geometry/Euclidean/Sphere/Basic): remove an erw - rewrites through `Matrix.vecCons` before `Fin.cons_injective_iff`, so the affine-independence proof uses `rw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-euclidean-geometry 1/1 Mathlib/Geometry/Euclidean/Sphere/Basic.lean 1 3 ['github-actions', 'jcommelin', 'yuanyi-350'] jsm28
assignee:jsm28
0-67548
18 hours ago
1-70809
1 day ago
1-70501
1 day
38690 yuanyi-350
author:yuanyi-350
chore(Topology/Homotopy/Product): remove an erw - uses `rw [pi_lift]` directly in `pi_proj`, so the quotient induction no longer needs `erw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-topology LLM-generated 1/2 Mathlib/Topology/Homotopy/Product.lean 1 2 ['github-actions', 'jcommelin', 'yuanyi-350'] ADedecker
assignee:ADedecker
0-67548
18 hours ago
1-70746
1 day ago
1-70438
1 day
38696 e-271828
author:e-271828
feat(Analysis/Complex): formalize Morera's theorem [LLM-generated] ## Summary This PR formalizes Morera's theorem: a continuous complex-valued function with vanishing integrals along all triangles is holomorphic. ## Main Definitions and Theorems - `eventually_bound_of_tendstoUniformlyOn`: Shows that uniformly converging continuous functions on a compact set are eventually uniformly bounded. This is used as a dominating function for the DCT. - `segmentIntegral`: Defines the complex integral along a straight line segment. - `hasDerivAt_complexPrimitive`: Proves that the primitive function defined by segment integrals is complex differentiable with derivative `f`. - `morera_theorem`: The main result, concluding that `f` is differentiable by leveraging the analyticity of holomorphic functions in Mathlib. ## Implementation Notes Following the discussion on Zulip, this code has been manually refined to ensure strict adherence to Mathlib's coding standards, including: - Proper naming conventions and docstrings. - Elimination of unnecessary dependencies. - Use of existing library theorems such as `Asymptotics.isLittleO_iff` and `AnalyticAt.deriv`. The proof structure focuses on the connection between measure-theoretic interval integrals and complex differentiability, providing a robust foundation for further complex analysis formalizations. As per the previous advice from @j-loreaux and Mathlib's policy, the initial structure of this PR was assisted by an LLM (Gemini), though strictly manually refined. Could a maintainer please attach the LLM-generated label to this PR? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor LLM-generated 256/0 Mathlib/Analysis/Complex/CauchyIntegral.lean 1 3 ['e-271828', 'github-actions'] j-loreaux
assignee:j-loreaux
0-67547
18 hours ago
1-61412
1 day ago
1-61104
1 day
38701 loefflerd
author:loefflerd
feat(Mathlib/Topology): functional-analytic prereqs for PR 37984 Various miscellaneous constructions around spaces of continuous functions and continuous linear maps, needed for the theory of nonarchimedean measures being developed in PR 37984. The main new result is a criterion for the map `C(X, R) ⊗[R] C(Y, R) → C(X × Y, R)` to have dense image. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 88/0 Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/ContinuousMap/Algebra.lean,Mathlib/Topology/UniformSpace/ProdApproximation.lean 3 1 ['github-actions'] j-loreaux
assignee:j-loreaux
0-67545
18 hours ago
1-48973
1 day ago
1-48665
1 day
38710 FLDutchmann
author:FLDutchmann
fix(Tactic/Algebra): compatibility with module system `algebra` does not work in any files using the module system because the lemmas used are not imported pulically. This issue was not caught because the test file did not use the module system. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 4/2 Mathlib/Tactic/Algebra/Basic.lean,MathlibTest/Algebra.lean 2 1 ['github-actions'] JovanGerb
assignee:JovanGerb
0-67544
18 hours ago
1-26350
1 day ago
1-26042
1 day
36169 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Indexed): `iSup` of `sup`s vs `sup` of `iSup`s `ciSup_sup_eq`/`ciInf_inf_eq` match `CompleteLattice`'s `iSup_sup_eq`/`iInf_inf_eq`, and in a `ConditionallyCompleteLinearOrder` we get an inequality without any bounded assumptions. `Finset.ciSup_union` for `ConditionallyCompleteLinearOrderBot` matches `CompleteLattice`'s `Finset.iSup_union`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 58/0 Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 3 11 ['SnirBroshi', 'Vierkantor', 'github-actions', 'vihdzp'] Vierkantor
assignee:Vierkantor
0-65445
18 hours ago
0-68508
18 hours ago
22-21058
22 days
38748 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Basic): `G.edgeSet ⊆ s.sym2 ↔ G.support ⊆ s` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 19/4 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 1 ['github-actions'] nobody
0-62593
17 hours ago
0-62665
17 hours ago
0-62357
17 hours
38739 CoolRmal
author:CoolRmal
feat: Analytic Hahn Banach theorem for locally convex spaces Closes #38419 This PR proves Hahn-Banach theorem for locally convex spaces, which allow us to generalize both [ContinuousLinearMap.exist_extension_of_finiteDimensional_range](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Module/HahnBanach.html#ContinuousLinearMap.exist_extension_of_finiteDimensional_range) and [Submodule.ClosedComplemented.of_finiteDimensional](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Module/HahnBanach.html#Submodule.ClosedComplemented.of_finiteDimensional) (I also moved these two lemmas to the new file I created). Some helper lemmas about continuity of seminorms/linear functions are added. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 118/40 Mathlib.lean,Mathlib/Analysis/LocallyConvex/HahnBanach.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Seminorm.lean 5 2 ['CoolRmal', 'github-actions'] nobody
0-61913
17 hours ago
0-61973
17 hours ago
0-62654
17 hours
38097 NoahW314
author:NoahW314
feat: add `IndiscreteTopology` instances --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 24/0 Mathlib/Topology/Homotopy/Contractible.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Separation/Connected.lean 4 5 ['NoahW314', 'github-actions', 'scholzhannah', 'vihdzp'] PatrickMassot
assignee:PatrickMassot
0-60302
16 hours ago
14-24908
14 days ago
14-43639
14 days
37076 ertwro
author:ertwro
feat(Combinatorics/SimpleGraph/Hasse): Hasse diagram is triangle-free Add `SimpleGraph.hasse_cliqueFree_three`: the Hasse diagram of a preorder is triangle-free (`CliqueFree 3`). This is the graph-theoretic formulation of `not_covBy_of_lt_of_lt`: if `a ⋖ b` and `b ⋖ c`, then `¬ a ⋖ c`, so no three elements can be pairwise adjacent in the Hasse diagram. The proof extracts three vertices from a hypothetical 3-clique, case-splits on the covering directions (8 cases), and closes each by `not_covBy_of_lt_of_lt` (6 transitive cases) or `lt_asymm` (2 cyclic cases). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 11/0 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 21 ['Rida-Hamadani', 'SnirBroshi', 'ertwro', 'github-actions', 'vlad902'] nobody
0-59492
16 hours ago
11-56977
11 days ago
19-66449
19 days
38392 ldct
author:ldct
feat: (anti-)periodicity of complex sinh,cosh,tanh Add antiperiodicity and periodicity theorems for complex sinh/cosh/tanh from AlexKontorovich/PrimeNumberTheoremAnd --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 41/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean 1 3 ['SnirBroshi', 'github-actions', 'j-loreaux', 'ldct'] j-loreaux
assignee:j-loreaux
0-58276
16 hours ago
0-58311
16 hours ago
0-58003
16 hours
38092 SnirBroshi
author:SnirBroshi
chore(Order/Defs/Unbundled): deprecate `def Symmetric` in favor of `class Std.Symm` --- [Mathlib's `def Symmetric`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#Symmetric) [Core's `class Std.Symm`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Std.Symm) [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/) t-order 468/412 Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/Normed/Operator/Compact/FredholmAlternative.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/IsConnected.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Graph/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Combinatorics/Graph/Lattice.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Pairwise.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Pairwise/List.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/MeasureTheory/Measure/AEDisjoint.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PropInstances.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Radical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Graph.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/GDelta.lean 81 4 ['SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
0-56815
15 hours ago
0-56880
15 hours ago
13-55707
13 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 8/1 Mathlib/Order/PropInstances.lean 1 2 ['github-actions', 'robin-carlier'] nobody
0-53542
14 hours ago
0-53602
14 hours ago
34-61651
34 days
37930 vlad902
author:vlad902
chore(SimpleGraph): move `cycleGraph` to its own file PR #34797 re-defined `cycleGraph` independent of `circulantGraph`. Now move the definition of `cycleGraph` to its own file so that the definition can be used without importing the algebra hierarchy. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 173/148 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean 3 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-51100
14 hours ago
0-51123
14 hours ago
0-51202
14 hours
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 maintainer-merge 100/0 Mathlib.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Sym2/Card.lean 3 20 ['SnirBroshi', 'eric-wieser', 'github-actions', 'joneugster', 'themathqueen'] joneugster
assignee:joneugster
0-49977
13 hours ago
5-79581
5 days ago
37-49465
37 days
38744 eric-wieser
author:eric-wieser
feat: add `Nat.Coprime.divisors_mul` The main result here is that products of divisors taken from coprime naturals are unique. A similar statement could be ``` theorem Nat.Coprime.divisors_mul' {m n : ℕ} (hmn : m.Coprime n) : divisors (m * n) = (divisors m).attach.disjiUnion (fun i => (divisors n).map ⟨(i.1 * ·), mul_right_injective₀ sorry⟩) sorry := sorry ``` but this seems even uglier. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-data 23/1 Mathlib/Data/Finset/NatDivisors.lean 1 1 ['github-actions'] nobody
0-47458
13 hours ago
0-77550
21 hours ago
0-77242
21 hours
38582 dennj
author:dennj
feat(LinearAlgebra/Matrix): add Hadamard matrices Introduce `Matrix.IsHadamard` over a general `Ring R`, with the basic theory: - `IsHadamard` and `IsComplexHadamard` predicates (Definitions 2.3.1 and 2.7.1 of de Launey–Flannery, *Algebraic Design Theory*). - `IsHadamard.det_sq`: the Hadamard determinant identity `(det A)² = n^n`. - `IsHadamard.det_ne_zero`: over an integral domain of characteristic zero. - `IsHadamard.transpose`: `Aᵀ` is Hadamard whenever `A` is (Theorem 2.3.6), proved over `[CommRing R] [IsDomain R] [CharZero R]` via the adjugate. - `IsHadamard.card_eq_sq_of_const_row_sum`: a Hadamard matrix with constant row sum `s` has order `s²` (slightly stronger than Theorem 2.3.7: the constant-column-sum hypothesis is implied by orthogonality). - `IsHadamard.kronecker`: the Sylvester (Kronecker product) construction. - `IsHadamard.four_dvd_card`: order of a Hadamard matrix of order > 2 is divisible by 4. `Matrix.mul_eq_smul_one_symm`: if `M * N = c • 1` and `det M ≠ 0` over an integral domain, then `N * M = c • 1`. Used here for the transpose proof, but generally useful, analogous to how `mul_eq_one_comm` works over stably finite rings, but covers the integral-domain case (e.g. `ℤ`, `ℤ[X]`) where matrix inverses don't exist. ## References Adds the de Launey–Flannery bibliography entry, cited from the new file. Human-made PR with LLM used for proof golfing and documentation t-algebra new-contributor
label:t-algebra$
152/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/HadamardMatrix.lean,docs/references.bib 4 10 ['JJYYY-JJY', 'dennj', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
0-47015
13 hours ago
3-17514
3 days ago
3-17206
3 days
35652 dennj
author:dennj
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` Adds three lemmas: - IsLeftRegular.mul_eq_of_comm (Algebra/Group/Defs.lean): if a is left-regular, a * b = c, and c commutes with a, then b * a = c. Generalises IsLeftRegular.mul_eq_one_symm from the c = 1 case. - IsRightRegular.mul_eq_of_comm: symmetric version. - mul_eq_smul_one_symm (Algebra/Group/Action/Defs.lean): scalar variant of mul_eq_one_symm. For a monoid β with a compatible scalar action by α, if a * b = c • 1 and a is left-regular, then b * a = c • 1. Proven in one line via IsLeftRegular.mul_eq_of_comm, since c • 1 is central thanks to IsScalarTower α β β and SMulCommClass α β β. The additive analogues are produced by to_additive. The general mul_eq_of_comm helpers capture the underlying pattern: "a left/right-regular element can be cancelled when the conclusion commutes with it" and are reusable beyond this PR's specialisation. Human made PR t-algebra new-contributor LLM-generated
label:t-algebra$
19/0 Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean 2 7 ['dagurtomas', 'dennj', 'eric-wieser', 'github-actions', 'grunweg'] ocfnash
assignee:ocfnash
0-46740
12 hours ago
3-65751
3 days ago
21-52157
21 days
38750 openendings
author:openendings
feat(Data/Nat): add padicValNat_add_eq_min Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including - padicValNat_eq_of_dvd_of_not_dvd - padicValNat_add_of_gt - padicValNat_add_eq_min --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor CI 37/0 Mathlib/Data/Nat/MaxPowDiv.lean 1 2 ['github-actions'] nobody
0-44208
12 hours ago
0-44579
12 hours ago
0-45696
12 hours
38449 WenrongZou
author:WenrongZou
feat(MvPowerSeries): some lemmas about `subst` of infinite sum In this PR, I add some lemmas about substituion of a infinite sum equal to infinite sum of substitution. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 34/0 Mathlib/RingTheory/MvPowerSeries/Substitution.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-44155
12 hours ago
0-44177
12 hours ago
6-12281
6 days
37492 xgenereux
author:xgenereux
feat(Torsion/PrimaryComponent): restricted surjective map on primaryComponent is surjective Given a surjective linear map between modules ` φ : M₁ →ₗ[A] M₂`, its restriction to primary components ``` primaryComponent.map P.asIdeal φ : ↥(primaryComponent M₁ P.asIdeal) →ₗ[A] ↥(primaryComponent M₂ P.asIdeal) ``` is also surjective when `P` is a non zero prime ideal in a Dedekind domain `A` and `M₁` and `M₂` are torsion. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [ ] depends on: #37466 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
42/0 Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-43812
12 hours ago
0-43654
12 hours ago
0-50009
13 hours
38660 sharky564
author:sharky564
feat(Topology/Homeomorph): add Equiv.IsHomeomorph_iff and LinearEquiv.IsHomeomorph_iff This PR adds two characterisations of `IsHomeomorph` for bundled equivalences. For a plain `Equiv` between topological spaces, `Equiv.isHomeomorph_iff` states that the equivalence is a homeomorphism if and only if it is continuous in both directions. The corresponding statement for a `LinearEquiv` between topological modules is added as `LinearEquiv.isHomeomorph_iff`, derived from the `Equiv` version. --- The motivation comes from work on topological complements of submodules in PR #38547, where one wants to upgrade a `LinearEquiv` to a `ContinuousLinearEquiv` and the cleanest characterisation is in terms of continuity in both directions. The existing API offers `isHomeomorph_iff_exists_inverse`, but for equivalences this requires manually identifying the existential inverse with `e.symm`, which is unnecessarily indirect. t-topology new-contributor 17/0 Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean 2 7 ['ADedecker', 'github-actions', 'scholzhannah', 'sharky564'] mcdoll
assignee:mcdoll
0-43511
12 hours ago
1-25287
1 day ago
2-3990
2 days
38731 martinwintermath
author:martinwintermath
feat(LinearAlgebra/AffineSpace/AffineSubspace): using `AffineSubspace.direction` to reinterpret `AffineSubspace` as `Submodule` * add `AffineSubspace.vsub_self_of_zero_mem` that states `s -ᵥ s = s ` if `0 ∈ s` * add `AffineSubspace.direction_eq_self_of_zero_mem` that states that if `0 ∈ s`, then the directions coerce back to the affine subspace. * add corresponding `CanLift` instance. * modify doc-string of `AffineSubspace.direction` to state that this can be used for reinterpretation of an affine subspace as a submodule. * add `Coe` instance based on `Submodule.toAffineSubspace` and adds corresponding @[coe] attribute. The PR also performs a slight cleanup of the file: statements about `SetLike` or `Submodule.toAffineSubspace` have been moved closer to their respective definitions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
56/26 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 1 3 ['github-actions', 'wwylele'] nobody
0-43314
12 hours ago
1-5949
1 day ago
1-6792
1 day
28613 espottesmith
author:espottesmith
feat(Combinatorics): define undirected hypergraphs This PR defines undirected hypergraphs: ``` @[ext] structure Hypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The hyperedge set -/ hyperedgeSet : Set (Set α) /-- All hyperedges must be subsets of the vertex set -/ hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet ``` In addition to the main definition, some additional definitions and related lemmas are provided: - vertex adjacency - hyperedge adjacency - vertex "stars" - special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs) - (some) hypergraph cardinality - subhypergraphs, induced subhypergraphs, and partial hypergraphs This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib. In the near future, goals include: - defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β` - coersion/generalization of graph as 2-uniform hypergraph - conversion of a hypergraph into its associated clique graph/two-section graph - constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`) - rank and co-rank - walks, paths, cycles, etc. on hypergraphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 378/2 Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean,lake-manifest.json 3 57 ['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot', 'tb65536'] b-mehta
assignee:b-mehta
0-41149
11 hours ago
4-48345
4 days ago
81-20759
81 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'] YaelDillies
assignee:YaelDillies
0-41097
11 hours ago
27-37816
27 days ago
85-20975
85 days
38062 tb65536
author:tb65536
feat(RingTheory/RamificationInertia): alternate definitions of ramification index and inertia degree This PR adds alternate definitions of ramification index and inertia degree, following the discussion here: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Improving.20the.20definition.20of.20ramification.20index.3F --- - [x] depends on: #38081 - [x] depends on: #38082 - [x] depends on: #38083 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-ring-theory t-number-theory
label:t-algebra$
215/0 Mathlib.lean,Mathlib/RingTheory/RamificationInertia/Inertia.lean,Mathlib/RingTheory/RamificationInertia/Ramification.lean 3 19 ['github-actions', 'mathlib-dependent-issues', 'riccardobrasca', 'tb65536', 'xroblot'] riccardobrasca
assignee:riccardobrasca
0-40862
11 hours ago
2-39649
2 days ago
2-39342
2 days
36963 seewoo5
author:seewoo5
feat(ModularForms): SL2 action and Serre derivative --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Equivariance of Serre derivative under SL2 action. More precisely, $$\partial_k (F|_k \gamma) = (\partial_{k} F)|_{k+2} \gamma$$. From [Sphere Packing Project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean). t-number-theory large-import 164/1 Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/NumberTheory/ModularForms/Derivative.lean 2 9 ['github-actions', 'loefflerd', 'seewoo5', 'tb65536', 'wwylele'] tb65536
assignee:tb65536
0-40845
11 hours ago
13-84201
13 days ago
15-37460
15 days
38556 JovanGerb
author:JovanGerb
feat(GCongr): `applyRflOrId` This PR defines `MVarId.applyRflOrId`, which is a version of the `rfl` tactic (`MVarId.applyRfl`) that also closes goals of the form `p → p`. My original intent was to include this feature in `rfl` itself, but this proposal was rejected by core. As a result of this change, the operators `→`, `∧` and `∨` now only need to have a single `gcongr` lemma each. This is beneficial for the new `grw` implementation. I've also removed the `gcongr` attribute from `List.Sublist.append_left`, `List.Sublist.append_right`, `List.Perm.append_left` and `List.Perm.append_right` since they are similarly redundant. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 76/18 Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/CoreAttrs.lean,MathlibTest/GCongr/Core.lean,MathlibTest/GCongr/implications.lean 4 7 ['JovanGerb', 'Vierkantor', 'github-actions'] Vierkantor
assignee:Vierkantor
0-38577
10 hours ago
1-26044
1 day ago
3-81841
3 days
38757 xgenereux
author:xgenereux
feat(IsDedekindDomain.HeightOneSpectrum): simp lemma ofPrime_prime simp lemma for the composition of `ofPrime` and `prime`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory easy 3/0 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 1 1 ['github-actions'] nobody
0-38503
10 hours ago
0-38600
10 hours ago
0-38292
10 hours
38753 tb65536
author:tb65536
chore(GroupTheory/Nilpotent): to_additivize file This PR to_additivizes `Nilpotent.lean`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
201/35 Mathlib/GroupTheory/Commutator/Finite.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Subgroup/Center.lean 3 1 ['github-actions'] nobody
0-36886
10 hours ago
0-36886
10 hours ago
0-36579
10 hours
38319 Zetetic-Dhruv
author:Zetetic-Dhruv
feat(Combinatorics/SetFamily): Assouad's dual VC bound Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family `𝒜 : Finset (Finset α)` has VC dimension at most `d`, then for any ground set `X : Finset α` the dual family `{𝒜.filter (· ∋ x) : x ∈ X}` has VC dimension at most `2 ^ (d + 1) - 1`. New declarations (in `Finset` namespace): - `dualFamily 𝒜 X`: for each `x ∈ X`, the subfamily `{A ∈ 𝒜 | x ∈ A}` - `mem_dualFamily` (`@[simp]`): membership characterisation - `exists_shatters_of_dualFamily_shatters`: Assouad's bitstring-coding lemma - `vcDim_dualFamily_le`: the headline VC bound Proof by Assouad's classical bitstring-coding argument. Sits on top of `Finset.shatterer` / `Finset.vcDim` from `Mathlib.Combinatorics.SetFamily.Shatter`. References: - P. Assouad, Densite et dimension, Ann. Inst. Fourier 33(3) (1983), Thm 2.13 - J. Matousek, Lectures on Discrete Geometry, GTM 212, Springer, 2002, Section 10.3 Lemma 10.3.3 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 200/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib 3 26 ['Shreyas4991', 'Zetetic-Dhruv', 'github-actions'] nobody
0-35619
9 hours ago
8-42681
8 days ago
9-71984
9 days
38756 kim-em
author:kim-em
fix: make Countable deriver work under the module system This PR removes `private` from the helper lemmas (`cons_eq_imp_init`, `cons_eq_imp`, `pair_encode_step`) and definitions (`encode`, `encode_injective`) in `Mathlib.Tactic.DeriveCountable` that the deriving handler emits into user-facing code. Under the module system, `private` declarations are mangled to `_private..0.` and absent from the importer's environment without `import all`, so `deriving Countable` on a downstream `module` file failed with `Unknown constant '_private.…cons_eq_imp_init'`. These helpers form part of the deriver's public surface and so were always semantically wrong to mark `private`; the previous looser `private` semantics happened to mask the mistake. Reported by Niklas Halonen on Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Unknown.20constant.20when.20deriving.20Countable.20with.20module.20system Adds `MathlibTest/deriving_countable_module.lean` as a regression test in `module` mode covering both the original MWE and a recursive case (which exercises `cons_eq_imp` and `pair_encode_step`). 🤖 Prepared with Claude Code t-meta 44/5 Mathlib/Tactic/DeriveCountable.lean,MathlibTest/deriving_countable_module.lean 2 1 ['github-actions'] nobody
0-34015
9 hours ago
0-34082
9 hours ago
0-34236
9 hours
38760 ocfnash
author:ocfnash
feat: use Cartan's criterion for semisimplicty to drop redundant hypotheses Thanks to @jano-wol 's work culminating in #38749 we can drop two redundant hypotheses about non-degeneracy of Killing forms. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
21/11 Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basis.lean 2 2 ['github-actions', 'ocfnash'] nobody
0-32550
9 hours ago
0-32740
9 hours ago
0-32432
9 hours
38763 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/GammaSpecAdjunction): remove an erw - rewrites `toStalk_stalkMap_toΓSpec` by folding the old `erw` into the surrounding `simp only`/`rw` chain Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 4/4 Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean 1 1 ['github-actions'] nobody
0-31006
8 hours ago
0-31079
8 hours ago
0-30771
8 hours
38761 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/EllipticCurve/Jacobian/Point): remove erws - rewrites `neg_of_Z_ne_zero` with a `simp only` chain in place of the former `erw` - rewrites `addXYZ_neg` by splitting the vector equality into coordinate goals handled by `rw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 7/4 Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean 1 1 ['github-actions'] nobody
0-31005
8 hours ago
0-31083
8 hours ago
0-30775
8 hours
38764 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/Modules/Tilde): remove an erw - rewrites the naturality proof in `fromTildeΓNatTrans` by making the `FullSubcategory.comp_hom` and `NatTrans.comp_app` steps explicit in the `rw` chain Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 3/1 Mathlib/AlgebraicGeometry/Modules/Tilde.lean 1 1 ['github-actions'] nobody
0-30997
8 hours ago
0-31077
8 hours ago
0-30769
8 hours
38765 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/Restrict): remove erws - replaces the `erw`-based argument in `isPullback_morphismRestrict` with `IsOpenImmersion.isPullback` - shortens `morphismRestrictRestrictBasicOpen` to a direct rewrite with `Scheme.Opens.ι_image_basicOpen` and `Scheme.basicOpen_res_eq` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 4/17 Mathlib/AlgebraicGeometry/Restrict.lean 1 1 ['github-actions'] nobody
0-30996
8 hours ago
0-31074
8 hours ago
0-30766
8 hours
38767 yuanyi-350
author:yuanyi-350
chore(Analysis/Fourier/FourierTransformDeriv): remove an erw - rewrites `hasDerivAt_fourier` to use `fourierIntegral_continuousLinearMap_apply'`, `VectorFourier.fourierIntegral`, and `fourier_real_eq` in place of the former `erw` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 4/7 Mathlib/Analysis/Fourier/FourierTransformDeriv.lean 1 1 ['github-actions'] nobody
0-30993
8 hours ago
0-31070
8 hours ago
0-30762
8 hours
38762 yuanyi-350
author:yuanyi-350
chore(AlgebraicGeometry/EllipticCurve/Projective/Point): remove erws - rewrites `neg_of_Z_ne_zero` by splitting the `Fin 3` equality and closing the coordinates with `rw` - rewrites `addXYZ_neg` with `rw` followed by `simp` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebraic-geometry LLM-generated 7/3 Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean 1 1 ['github-actions'] nobody
0-30990
8 hours ago
0-31081
8 hours ago
0-30773
8 hours
38771 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/Eigenspace/Basic): remove an erw - rewrites `genEigenspace_restrict` by replacing the induction with a single `simp only` chain using the restriction and kernel lemmas Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated
label:t-algebra$
4/8 Mathlib/LinearAlgebra/Eigenspace/Basic.lean 1 1 ['github-actions'] nobody
0-30933
8 hours ago
0-31040
8 hours ago
0-30732
8 hours
38769 yuanyi-350
author:yuanyi-350
chore(GroupTheory/FreeGroup/NielsenSchreier): remove an erw - rewrites the `mapEnd` step in `endIsFree` with `simp only [Functor.mapEnd, DFunLike.coe, this, hF']` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-group-theory 1/3 Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean 1 1 ['github-actions'] nobody
0-30929
8 hours ago
0-31044
8 hours ago
0-30736
8 hours
38773 yuanyi-350
author:yuanyi-350
chore(MeasureTheory/Measure/Haar/Quotient): remove erws - rewrites the two quotient-measure lemmas to use `rw` directly on `projection_respects_measure_apply` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-measure-probability 2/4 Mathlib/MeasureTheory/Measure/Haar/Quotient.lean 1 1 ['github-actions'] nobody
0-30923
8 hours ago
0-31036
8 hours ago
0-30728
8 hours
38774 yuanyi-350
author:yuanyi-350
chore(NumberTheory/Padics/Complex): remove an erw - rewrites `norm_eq_norm'` to expand `Valuation.restrict_def`, `embedding_restrict₀`, and `PadicAlgCl.valuation_coe` inside `simp only` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-number-theory LLM-generated 2/3 Mathlib/NumberTheory/Padics/Complex.lean 1 1 ['github-actions'] nobody
0-30891
8 hours ago
0-31034
8 hours ago
0-30726
8 hours
38754 EtienneC30
author:EtienneC30
feat: generalize multiplication of independent random variables to scalar multiplication If `X` and `Y` are independent then `∫ ω, X ω * Y ω ∂μ = ∫ ω, X ω ∂μ * ∫ ω, Y ω ∂μ`. We generalize this to the case of scalar multiplication. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 84/33 Mathlib/Probability/Independence/Integration.lean 1 1 ['github-actions'] nobody
0-30678
8 hours ago
0-40048
11 hours ago
0-39740
11 hours
38775 Raph-DG
author:Raph-DG
feat(Topology): Skyscraper sheaves are flasque In this PR we show that skyscraper sheaves are flasque. In particular, we show that a skyscraper sheaf valued in an object A whose map to the terminal object is an epimorphism is a flasque sheaf. We also show the useful corollary that in particular, any skyscraper sheaf is flasque if the sheaf takes values in a category with a zero object --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 34/0 Mathlib/Topology/Sheaves/Flasque.lean 1 1 ['github-actions'] nobody
0-30577
8 hours ago
0-30654
8 hours ago
0-30346
8 hours
38736 yuanyi-350
author:yuanyi-350
chore(GroupTheory/PushoutI): remove an erw - rewrites the `h₁` simplification in `eq_one_of_smul_normalized` into a single `simp only` chain, replacing the `rw` and `erw` steps around `equiv_one` and `mul_one` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-group-theory maintainer-merge 2/3 Mathlib/GroupTheory/PushoutI.lean 1 3 ['github-actions', 'tb65536'] tb65536
assignee:tb65536
0-29788
8 hours ago
0-32080
8 hours ago
0-80295
22 hours
38534 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability): bundle PFun into a structure with FunLike instance This PR refactors PFun from def PFun α β := α → Part β to a structure with a FunLike instance. [Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29) **Core Architectural Changes** * **Structure Transition:** `PFun` is now a structure with a single field `toFun : α → Part β`. Raw lambdas are now explicitly packed using `PFun.mk` or `PFun.lift`. * **API Alignment:** Added the `FunLike (α →. β) α (Part β)` instance and `initialize_simps_projections`. Replaced direct `funext` usage with `DFunLike.ext`. Added comprehensive `@[simp]` lemmas for the structure (`mk_apply`, `coe_mk`, `toFun_eq_coe`, `lift_apply`). * **New Helpers:** Introduced `PFun.const` and `PFun.empty` to reduce boilerplate. **API & Breaking Changes** * **Loss of Defeq:** `PFun` is no longer definitionally equal to a raw function. Basic lemmas (like `PFun.res_univ`) now require explicit extensionality (`ext x y; rfl`). * **`prodLift_fst_comp_snd_comp`:** Rewrote the LHS using explicit `PFun.mk` wrappers. This Breaking API Change resolves a `simpNF` linter failure caused by the new `comp_lift` simp lemma. * **simpNF Compliance:** Removed `@[simp]` from `coe_val` and changed `mem_lift_iff` to `@[simp↓]` to prevent overlapping rewrite rules with `lift_apply`. **Downstream Impact** The refactor heavily impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). The strict structure boundary breaks definitional equality, meaning tactics like `simp` and `grind` can no longer "see through" the function automatically. As a result, several proofs (e.g., `fix_aux`, `ppred`, `mem_eval`, and `unitIso`) grew in size, requiring explicit `ext` + `simp` breakdowns. **Affected Files:** * **Core:** `Mathlib/Data/PFun.lean` * **Computability:** `Partrec`, `PartrecBasis`, `PartrecCode`, `RE`, `RecursiveIn`, `Ackermann`, `Halting`, `StateTransition`, `TuringDegree`, `TuringMachine/Config` * **Category Theory:** `Category/PartialFun.lean` *(Successfully removed the `respectTransparency false` hack here!)* * **Other:** `Data/Finset/PImage.lean`, `NumberTheory/Dioph.lean` new-contributor t-computability 1261/801 Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean 14 3 ['github-actions', 'mathlib-bors'] nobody
0-28045
7 hours ago
0-28124
7 hours ago
1-22169
1 day
38735 yuanyi-350
author:yuanyi-350
chore(GroupTheory/HNNExtension): remove an erw - rewrites the two `unitsSMul_neg` branches to use `rw` and `simp` directly with `IsComplement.equiv_mul_left`, instead of `conv_lhs => erw [...]` - replaces `erw [dif_neg this]` with `rw [dif_neg this]` in `exists_normalWord_prod_eq` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated t-group-theory maintainer-merge 3/16 Mathlib/GroupTheory/HNNExtension.lean 1 7 ['github-actions', 'tb65536', 'yuanyi-350'] tb65536
assignee:tb65536
0-27828
7 hours ago
0-29259
8 hours ago
0-79789
22 hours
38758 TBUGTB
author:TBUGTB
feat(LinearAlgebra/ConvexSpace): StdSimplex bind operation Define the monadic bind operation for StdSimplex and add basic API lemmas. This operation is needed for formalising the Komlós lemma used in the construction of Stochastic Integrals (cf. [this PR](https://github.com/RemyDegenne/brownian-motion/pull/399) in the brownian-motion project). t-algebra new-contributor brownian
label:t-algebra$
47/0 Mathlib/LinearAlgebra/ConvexSpace.lean 1 2 ['github-actions'] nobody
0-27069
7 hours ago
0-35670
9 hours ago
0-35797
9 hours
35510 chrisflav
author:chrisflav
feat(RingTheory): weakly étale algebras From Proetale. --- - [x] depends on: #35455 - [x] depends on: #35590 - [x] depends on: #37998 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 132/0 Mathlib.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Weakly.lean,Mathlib/RingTheory/RingHom/Flat.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-26244
7 hours ago
0-26318
7 hours ago
0-27956
7 hours
36783 wwylele
author:wwylele
feat(RingTheory/Localization): R ⧸ pⁿ ≃ₐ[R] 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 58/0 Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Nilpotent.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean 3 7 ['chrisflav', 'github-actions', 'wwylele'] chrisflav and mattrobball
assignee:mattrobball assignee:chrisflav
0-21431
5 hours ago
0-21847
5 hours ago
43-22530
43 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$
81/0 Mathlib.lean,Mathlib/Algebra/Module/StablyFree/Basic.lean 2 9 ['dagurtomas', 'github-actions', 'mbkybky', 'robin-carlier'] themathqueen
assignee:themathqueen
0-21268
5 hours ago
20-30695
20 days ago
39-1487
39 days
38715 smmercuri
author:smmercuri
refactor(Algebra): replace `AlgHomClass` coercions with structure-specific coercions This PR removes the coercion from `F` to `AlgHom` via `AlgHomClass F R A B` in favour of type-specific projections --- See also #37827 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 135/102 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/CommBialgCat.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FinitePresentation.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Spectrum/Prime/Homeomorph.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean 40 3 ['github-actions', 'leanprover-radar', 'smmercuri'] nobody
0-20500
5 hours ago
0-20500
5 hours ago
0-20600
5 hours
38198 JovanGerb
author:JovanGerb
chore(Data/Real/Basic): `no_expose` the private operations This PR puts `no_expose` on all of the operations on `Real` that are defined in terms of quotients. This is a step in the direction of not exposing the definiton of `Real`. Note that I leave the `irreducible_def`s as is. This is because the `simpNF` linter does not participate in the module system, and it would time out otherwise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 11/32 Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean 3 8 ['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar'] nobody
0-17556
4 hours ago
12-39019
12 days ago
12-39652
12 days
34045 smmercuri
author:smmercuri
feat: `algebraMap K L` is uniform continuous with respect to adic topologies, when the ideal `w` of `L` lies above `v` - `A` is a Dedekind domain with field of fractions `K`. - `B` is a Dedekind domain with field of fractions `L`. - `L` is a field extension of `K`. - `v` is a height one prime ideal of `A`. - `w` is a height one prime ideal of `B` lying over `v`. Then respective valuations are related via the ramification index, and `algebraMap (WithVal (v.valuation K)) (WithVal (w.valuation L))` is uniform continuous. --- - [x] depends on: #34049 - [x] depends on: #35972 - [x] depends on: #36144 - [x] depends on: #36310 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-algebra
label:t-algebra$
159/12 Mathlib.lean,Mathlib/Algebra/Order/Hom/Units.lean,Mathlib/NumberTheory/RamificationInertia/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Valuation/Discrete/RankOne.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 6 10 ['dagurtomas', 'github-actions', 'jjdishere', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] nobody
0-16837
4 hours ago
3-21980
3 days ago
21-23906
21 days
38734 yuanyi-350
author:yuanyi-350
chore(AlgebraicTopology/SimplicialObject/Basic): remove an erw - rewrites the `toArrow` and `whiskeringObj` naturality proofs for augmented simplicial and cosimplicial objects by extending the `rw` chains with `Functor.id_map`, `Functor.const_map_app`, and `NatTrans.comp_app`, instead of using `erw` on `η.w` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology codex LLM-generated maintainer-merge 15/19 Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean 1 5 ['dagurtomas', 'github-actions', 'joelriou', 'yuanyi-350'] dagurtomas
assignee:dagurtomas
0-16481
4 hours ago
0-32315
8 hours ago
0-79765
22 hours
38768 yuanyi-350
author:yuanyi-350
chore(Condensed/Light/Epi): remove an erw Removes an `erw` that is now handled by `simp`. Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-condensed LLM-generated maintainer-merge 2/8 Mathlib/Condensed/Light/Epi.lean 1 3 ['dagurtomas', 'github-actions'] nobody
0-15993
4 hours ago
0-16094
4 hours ago
0-30725
8 hours
37832 YaelDillies
author:YaelDillies
chore(Algebra/Order/GroupWithZero): flatten `Unbundled` folder The algebraic order classes are unbundled now. --- More thought is needed to do the same for `Algebra.Order.Monoid` since filenames conflict. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra t-order
label:t-algebra$
20/20 Mathlib.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Bounds.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/GroupWithZero/OrderIso.lean,Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean 19 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-15985
4 hours ago
0-16011
4 hours ago
19-20820
19 days
38026 mrdouglasny
author:mrdouglasny
feat(Analysis/Calculus): define absolutely monotone functions ## Summary - Define `AbsolutelyMonotoneOn f s` for functions `f : ℝ → ℝ` that are smooth on `s` with all iterated derivatives within `s` nonneg - Prove closure under `add`, `smul`, `mul` - Show `exp`, `cosh`, constants, and powers are absolutely monotone on appropriate domains This is the first part of a split of #37879. Follow-up PRs will add: - Bernstein backward direction (nonneg coefficients → absolutely monotone) - Bernstein forward direction (absolutely monotone → analytic at 0) - Matrix applications (Schur product theorem for power series, entrywise exp) ## Test plan - [ ] CI passes (build + lint) - [ ] Verify `AbsolutelyMonotoneOn` structure and examples type-check 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 (1M context) t-analysis new-contributor LLM-generated 123/0 Mathlib.lean,Mathlib/Analysis/Calculus/AbsolutelyMonotone.lean,docs/references.bib 3 28 ['ADedecker', 'github-actions', 'j-loreaux', 'mrdouglasny', 'sgouezel', 'vihdzp', 'wwylele'] sgouezel
assignee:sgouezel
0-15730
4 hours ago
0-15774
4 hours ago
8-36602
8 days
38631 FordUniver
author:FordUniver
feat(Combinatorics/SimpleGraph/Copy): add indLabeledCopyCount and indCopyCount Adds `indLabeledCopyCount` and `indCopyCount` to `SimpleGraph`, along with API mirroring the non-induced variants `labelledCopyCount` and `copyCount`. `indLabeledCopyCount_le_labelledCopyCount` and `indCopyCount_le_copyCount` relate the two families. The main auxiliary addition is `Embedding.ofIsInduced`, the canonical embedding of an induced subgraph into the ambient graph. --- This has been on my list for a while and addresses and resolves an explicit TODO in `Mathlib/Combinatorics/SimpleGraph/Copy.lean`. I am trying to push formalized flag algebras in Lean and need it for that. There are some additional things either building on this or orthogonal to this that I intentionally deferred and would do PRs for soon-ish: - A lot of uses of `Classical` seem like they should be replaced by `Fintype` or `Decidable{Rel,Eq}` assumptions? - Based on the first point, a lot of this could easily be made computational (another TODO in the file). - One can easily relate labelled and unlabelled count (induced and not-necessarily induced) through the number of automorphisms - One can express the induced counts through (a sum of) non-induced counts and vice-versa. - For all of this fractional density values and real limit values could be defined. **Standard disclosure.** *This PR was developed with assistance from LLM code tools, used for Mathlib style alignment and proof compactness. The mathematical content and proof strategy originate from myself; I have reviewed and vouch for the final code.* t-combinatorics new-contributor 128/5 Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 3 31 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'plp127'] nobody
0-14705
4 hours ago
1-4307
1 day ago
2-7316
2 days
36621 quantumsnow
author:quantumsnow
feat: add the category of topological pairs This is needed for the Eilenberg-Steenrod axioms for a homology theory. --- - [x] depends on: #37540 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor maintainer-merge 264/9 Mathlib.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Category/TopPair.lean,Mathlib/Topology/Homotopy/TopCat/Basic.lean 5 109 ['chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'quantumsnow', 'vlad902'] j-loreaux
assignee:j-loreaux
0-14391
3 hours ago
0-14391
3 hours ago
16-29168
16 days
28499 yoh-tanimoto
author:yoh-tanimoto
feat(MeasureTheory/VectorMeasure): add integral of a vector-valued function against a vector measure add `VectorMeasureWithPairing.integral` for normed vector spaces `E`, `F`, a Banach space `G` , a continuous linear pairing `B : E →L[ℝ] F →L[ℝ] → G` and an `F`-valued vector measure `μ`, which should be informally written as `∫ B (f x) ∂μ x`. motivation: there are natural vector measures such as signed measures and complex measures, and their integrals appear naturally e.g. in a proof of the spectral theorem for general bounded normal operators on a Hilbert space. - [x] depends on: #26160 for the definition and lemmas about the total variation of a vector measure. t-measure-probability 222/5 Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean 3 93 ['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'yoh-tanimoto'] EtienneC30
assignee:EtienneC30
0-14356
3 hours ago
8-36852
8 days ago
14-7292
14 days
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 V D E Gr`: A typeclass parameterized by a vertex type `V`, dart type `D` and a graph type `Gr` (with `V`, `D` & `E` as an `outParam`). * `GraphLike.verts : Set V`: The set of vertices of the graph. * `GraphLike.darts : Set D`: The set of darts of the graph. * `GraphLike.edges : Set E`: The set of edges of the graph. * `GraphLike.Adj : V → V → Prop`: The adjacency relation, defined by default as `∃ d ∈ darts, fst d = u ∧ snd d = v`. * Instance of `GraphLike V (Digraph V)` with `darts G := { (u, v) | G.Adj u v }` * Instance of `GraphLike V (SimpleGraph V)` with `darts G := { (u, v) | G.Adj u v }` * Instance of `GraphLike V (Graph V E)` with `darts G := {d : Dart α β | G.IsLink (edge d) (src d) (tgt d)}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 407/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/GraphLike.lean,Mathlib/Combinatorics/Graph/GraphLike.lean,Mathlib/Combinatorics/GraphLike/Basic.lean,Mathlib/Combinatorics/SimpleGraph/GraphLike.lean 5 46 ['IvanRenison', 'Jun2M', 'SnirBroshi', 'github-actions', 'lauramonk', 'mathlib-merge-conflicts'] YaelDillies
assignee:YaelDillies
0-14198
3 hours ago
2-76851
2 days ago
43-37728
43 days
38147 vihdzp
author:vihdzp
chore: deprecate `Cardinal.zero_le` This is a duplicate of `zero_le` in the root namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 9/10 Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Order.lean 2 5 ['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
0-13805
3 hours ago
0-13869
3 hours ago
12-77580
12 days
34015 erdOne
author:erdOne
feat(AlgebraicGeometry): category of schemes affine over a base --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 522/11 Mathlib.lean,Mathlib/AlgebraicGeometry/AffineOver.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/RelativeGluing.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Sites/Hypercover/Subcanonical.lean 8 42 ['chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
0-13628
3 hours ago
0-13628
3 hours ago
30-75885
30 days
38223 Deicyde
author:Deicyde
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds We define `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, following the pattern of `TopCat` in `Mathlib.Topology.Category.TopCat.Basic`. We also implement `HasForget₂ (MfldCat 𝕜 n) TopCat`—the forgetful functor into the category of topological spaces. For more discussion see the Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032) Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API. ### Future work - ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560 - ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270 - Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`. - Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor t-category-theory 225/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 3 52 ['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] kim-em
assignee:kim-em
0-13337
3 hours ago
5-68135
5 days ago
6-66787
6 days
38662 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): faces of the boundary --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 67/0 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean 1 3 ['dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
0-13227
3 hours ago
0-13294
3 hours ago
2-6331
2 days
38772 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/TensorProduct/Subalgebra): remove erws - rewrites `lTensorBot` and `rTensorBot` by folding the former `erw` steps into the surrounding `rw` chains Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated maintainer-merge
label:t-algebra$
6/10 Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean 1 4 ['github-actions', 'themathqueen'] nobody
0-13049
3 hours ago
0-31038
8 hours ago
0-30730
8 hours
38770 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/AffineSpace/Combination): remove an erw - replaces the `erw` in `affineSpan_eq_affineSpan_lineMap_units` with `rw` on both the hypothesis and the goal Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated easy maintainer-merge
label:t-algebra$
1/1 Mathlib/LinearAlgebra/AffineSpace/Combination.lean 1 3 ['github-actions', 'themathqueen'] nobody
0-12970
3 hours ago
0-31042
8 hours ago
0-30734
8 hours
38737 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/Dimension/ErdosKaplansky): remove an erw - replaces `erw [nat_lt_lift_iff, one_lt_iff_nontrivial]` with `rw [Cardinal.one_lt_lift_iff, Cardinal.one_lt_iff_nontrivial]` in `lift_rank_lt_rank_dual'` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated maintainer-merge
label:t-algebra$
1/1 Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean 1 3 ['github-actions', 'themathqueen'] nobody
0-12861
3 hours ago
1-849
1 day ago
1-541
1 day
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 maintainer-merge 34/5 Mathlib/Order/Filter/ENNReal.lean 1 3 ['YaelDillies', 'github-actions'] nobody
0-12835
3 hours ago
0-12794
3 hours ago
33-28178
33 days
38741 eric-wieser
author:eric-wieser
feat: Nat.card lemmas for Sym and Sym2 These are just translations of the `Fintype` counterparts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 90/0 Mathlib.lean,Mathlib/Data/Sym/NatCard.lean 2 8 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
0-12375
3 hours ago
0-51732
14 hours ago
0-52216
14 hours
38441 yuanyi-350
author:yuanyi-350
doc(CategoryTheory): fix category docstrings - fixes the docstring for discrete sums to refer to sums rather than products - fixes the conical pullback docstring to name `HasConicalPullback` - fixes the `AsType` equivalence docstring to refer to `AsType α` Extracted from #38413 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex documentation LLM-generated t-category-theory easy maintainer-merge 3/3 Mathlib/CategoryTheory/Discrete/SumsProducts.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean,Mathlib/CategoryTheory/FinCategory/AsType.lean 3 3 ['dagurtomas', 'github-actions'] joelriou
assignee:joelriou
0-11598
3 hours ago
6-65772
6 days ago
6-65464
6 days
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
label:t-algebra$
467/157 Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/LinearAlgebra/ConvexSpace.lean,Mathlib/LinearAlgebra/ConvexSpace/AffineSpace.lean 3 78 ['ADedecker', 'YaelDillies', 'b-mehta', 'bryangingechen', 'erdOne', 'faenuccio', 'github-actions', 'grunweg', 'kbuzzard', 'mathlib-bors', 'ocfnash'] nobody
0-11134
3 hours ago
0-11198
3 hours ago
5-58917
5 days
38235 vihdzp
author:vihdzp
refactor: `not_isSuccLimit_iff` → `not_isSuccLimit_iff_succ_eq` A lemma with such a simple name as `not_isSuccLimit_iff` shouldn't require a partial successor order! The new `not_isSuccLimit_iff` is a straightforward unfolding of the definitions and requires only a preorder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 36/20 Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Order/SuccPred.lean 6 1 ['github-actions'] nobody
0-11085
3 hours ago
11-37960
11 days ago
11-37688
11 days
37677 vihdzp
author:vihdzp
feat: club sets In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal. We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`. We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set. --- The idea is to eventually rework [`Ordinal.deriv`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/FixedPoint.html#Ordinal.deriv). This is simply the enumerator function for the fixed points of `f`, and enumerator functions for club sets are always normal. - [x] depends on: #37670 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order 158/0 Mathlib.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Club.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean 4 7 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] nobody
0-10990
3 hours ago
6-43579
6 days ago
8-59397
8 days
33313 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Coloring/Edge): create a basic edge-coloring API Module name decided on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Coloring.20module.20names/with/583281500). --- Future work (which I'm working on): - Relating degrees to edge-colorability (`G.maxDegree ≤ G.chromaticIndex`, `G.EdgeColorable 1 ↔ G.maxDegree ≤ 1`, `G.chromaticIndex = 1 ↔ G.maxDegree = 1`, `G.EdgeColorable 2 ↔ G.maxDegree ≤ 2`, `G.chromaticIndex = 2 ↔ G.maxDegree = 2`) - [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 300/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Edge.lean 2 27 ['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ooovi'] YaelDillies
assignee:YaelDillies
0-10896
3 hours ago
0-10955
2 hours ago
37-46918
37 days
37973 vihdzp
author:vihdzp
chore(Order/Interval/Set/InitialSeg): clean up file We do various small golfs, remove unneeded namespaces, and deprecate some confusing names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 28/37 Mathlib/Order/Interval/Set/InitialSeg.lean 1 1 ['github-actions'] nobody
0-10741
2 hours ago
17-55711
17 days ago
17-55403
17 days
38363 vihdzp
author:vihdzp
chore: split `SetTheory.Cardinal.Cofinality` We split this file into a `Basic` file with only the basic results on `Order.cof`, and an `Ordinal` file for the interactions with ordinals. This avoids an import cycle in a subsequent PR. The module docstrings were rewritten, but no theorems were changed. --- This is necessary for #38362, as otherwise I'd get the cycle `Cardinal.Cofinality` → `Ordinal.Enum` → `Cardinal.Aleph` → `Cardinal.Arithmetic` → `Cardinal.Cofinality`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 219/198 Mathlib.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Ordinal/FundamentalSequence.lean 8 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-10736
2 hours ago
0-10763
2 hours ago
7-69127
7 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 74/4 Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Regular.lean 2 7 ['github-actions', 'mathlib-merge-conflicts', 'mattdiamond', 'plp127', 'vihdzp'] alreadydone
assignee:alreadydone
0-10663
2 hours ago
16-66316
16 days ago
28-15469
28 days
37675 vihdzp
author:vihdzp
feat: `Order.cof Ordinal = univ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order 11/0 Mathlib/SetTheory/Cardinal/Cofinality.lean 1 1 ['github-actions'] nobody
0-10608
2 hours ago
24-84113
24 days ago
24-83805
24 days
38005 robin-carlier
author:robin-carlier
chore(Algebra): remove simps projections for structures of bundled objects I noticed that currently, adding a `@[simps]` tag to a `ModuleCat`-valued definition will generate projections for the `isModule` fields. These projections are removed. Same in `BialgCat` and `HopfAlgCat`. --- I did not look very hard for all cases of this, but those three should be a starter. Renaming `carrier` to `coe` will break a few things, so I opted for keeping it like this for now, feel free to disagree, but this will make the diff bigger. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
4/0 Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean 4 1 ['github-actions'] nobody
0-10322
2 hours ago
17-11270
17 days ago
17-14107
17 days
38782 tb65536
author:tb65536
chore(RingTheory/IntegralClosure/IsIntegralClosure/Basic): clean up variables `RingTheory/IntegralClosure/IsIntegralClosure/Basic` has some redundant variables. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
1/3 Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean 1 1 ['github-actions'] nobody
0-10299
2 hours ago
0-10299
2 hours ago
0-9992
2 hours
37304 vihdzp
author:vihdzp
feat: if `s ∪ t` is directed then one of `s` or `t` is Co-authored-by: Kamille Bidan <25210160030@m.fudan.edu.cn> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 58/0 Mathlib/Order/Bounds/Basic.lean 1 16 ['NoneMore', 'YaelDillies', 'b-mehta', 'fpvandoorn', 'github-actions', 'mathlib-bors', 'plp127', 'vihdzp'] bryangingechen
assignee:bryangingechen
0-10201
2 hours ago
0-10249
2 hours ago
18-71165
18 days
38256 sgouezel
author:sgouezel
chore: fix implicit-reducible diamond in languages --- The diff is misleading, I'm mostly moving `withConstantsStructure` up to be able to use it in `withConstantsSelfStructure` (which is a particular case of it) through `inferInstance`, instead of having two separate definitions hidden behind two different opaque functions. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic maintainer-merge 9/10 Mathlib/ModelTheory/LanguageMap.lean 1 3 ['JovanGerb', 'github-actions'] nobody
0-9486
2 hours ago
11-15791
11 days ago
11-15483
11 days
38666 nipzu
author:nipzu
feat(MeasureTheory/Constructions/Polish): Measurability of `tprod`s/`tsum`s of measurable functions This PR adds theorems `[AE]Measurable.tprod` and their additive versions for products/sums of (ae)measurable functions to Borel spaces with Polish topology. These new theorems are marked with `fun_prop`. There are already theorems `[AE]Measurable.[e]nnreal_tsum` that are special cases of these new theorems. I don't know what the conventions are for whether those special cases should be kept or deprecated/removed. Edit: - Added also theorems `[AE]StronglyMeasurable.tprod` and `[AE][Strongly]Measurable.tprod'` that apply to `∑' i, f i` instead of `fun x => ∑' i, f i x` with weaker assumptions. Some LLM assistance was used in golfing the `tprod'` proofs. - Replaced usage of `[AE]Measurable.[e]nnreal_tsum` in mathlib with the new theorems. - Deprecated `[AE]Measurable.[e]nnreal_tsum` and `Measurable.ennreal_tsum'`. --- - [x] depends on: #38697 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import new-contributor 181/23 Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Measure/GiryMonad.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean,Mathlib/Probability/Kernel/MeasurableLIntegral.lean 10 13 ['CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'nipzu', 'sgouezel'] EtienneC30
assignee:EtienneC30
0-9387
2 hours ago
0-10244
2 hours ago
1-31487
1 day
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 9 ['eric-wieser', 'github-actions', 'themathqueen'] themathqueen
assignee:themathqueen
0-9058
2 hours ago
34-68536
34 days ago
34-68228
34 days
38127 riccardobrasca
author:riccardobrasca
feat: add ClassGroup.extendedHom --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra t-ring-theory
label:t-algebra$
110/6 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/RingTheory/ClassGroup/Basic.lean,Mathlib/RingTheory/ClassGroup/ExtendedHom.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean 9 9 ['faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] mattrobball
assignee:mattrobball
0-8507
2 hours ago
0-37987
10 hours ago
13-58033
13 days
38126 JovanGerb
author:JovanGerb
feat: overlapping instances linter This is a new attempt at the overlapping instances linter, with better performance. One question is where to put the yellow squiggle of the warning message. It is now at the start of the definition value, i.e. the `by` token for typical proofs. This is slightly annoying, because the yellow squiggle is overridden by the red squiggle from "unsolved goals". Another annoyance is the need for `withSetBoolOptionIn`. This is a private declaration in the `unusedInstancesInType` linter, with a link to an unsolved issue. I've marked it public, but maybe it should go to a separate file, depending on how fast we think the issue will be resolved. See #35095 and #34955 for previous iterations of this linter. See #14731 for an old attempt at a weaker form of this linter. Co-authored-by: @thorimur --- - [ ] depends on: #38151 - [ ] depends on: #38150 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 564/3 Mathlib.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Functor.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/Init.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/Logic/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/OverlappingInstances.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Connected/PathConnected.lean,MathlibTest/OverlappingInstances.lean,MathlibTest/Subsingleton.lean,MathlibTest/Variable.lean,MathlibTest/WhitespaceLinter.lean,MathlibTest/congr.lean 22 67 ['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'thorimur'] thorimur
assignee:thorimur
0-8314
2 hours ago
0-8418
2 hours ago
8-21235
8 days
38314 pedroscortes
author:pedroscortes
feat(CategoryTheory/Monoidal): tensorμ_braid_swap and tensor-product IsCommComonObj ## Summary Two symmetric-monoidal coherence results: 1. `MonoidalCategory.tensorμ_braid_swap` (in `Monoidal/Braided/Basic.lean`) — canonical rearrangement `tensorμ A A Y Y` intertwines the braiding on `A ⊗ Y` with the pair of braidings on `A` and `Y`. Sibling of `CategoryTheory.MonObj.mul_braiding`. 2. Tensor-product instance for `IsCommComonObj` (in `Monoidal/CommComon_.lean`): if `A, B` carry commutative comonoid structures in a symmetric monoidal category, so does `A ⊗ B`. Fills a gap alongside the existing `instCommComonObjUnit` and `instIsCommComonObjOfCartesian`. ## Downstream consumer The `IsCommComonObj` tensor-product instance is load-bearing for an external library (markovcat, formalising Fritz–Klingler Markov categories). t-category-theory new-contributor maintainer-merge 15/0 Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CommComon_.lean 2 19 ['dagurtomas', 'github-actions', 'joelriou', 'pedroscortes', 'robin-carlier'] riccardobrasca
assignee:riccardobrasca
0-7639
2 hours ago
0-16625
4 hours ago
8-59375
8 days
38650 joelriou
author:joelriou
feat(CategoryTheory): the opposite of a triangulated subcategory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 81/0 Mathlib.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Subcategory.lean 2 3 ['dagurtomas', 'github-actions'] nobody
0-7639
2 hours ago
2-19777
2 days ago
2-19469
2 days
38659 ldct
author:ldct
chore(Counterexamples/MapFloor): remove `respectTransparency` It seemed better to make this an `abbrev` since we want to copy most of the instances over. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 7/13 Counterexamples/MapFloor.lean 1 4 ['github-actions', 'grunweg'] nobody
0-7455
2 hours ago
1-73042
1 day ago
1-72734
1 day
30666 erdOne
author:erdOne
feat(NumberTheory): every number field has a ramified prime --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra maintainer-merge
label:t-algebra$
260/10 Mathlib.lean,Mathlib/Algebra/Ring/Int/Field.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/ExistsRamified.lean,Mathlib/NumberTheory/RamificationInertia/Inertia.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/KrullDimension/Basic.lean 12 42 ['MichaelStollBayreuth', 'erdOne', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'tb65536', 'xroblot'] jcommelin
assignee:jcommelin
0-6577
1 hour ago
0-12650
3 hours ago
14-5904
14 days
38785 scholzhannah
author:scholzhannah
feat: use `alias_in` attribute for CW complexes Using the `alias_in` attribute for classical CW complexes to get rid of the `export` sections. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 90/58 Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.lean 3 1 ['github-actions'] nobody
0-5866
1 hour ago
0-5942
1 hour ago
0-5634
1 hour
38722 chrisflav
author:chrisflav
chore(CategoryTheory/Monoidal): additivize `ModObj` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 124/21 Mathlib/CategoryTheory/Monoidal/Mod.lean,Mathlib/Tactic/Translate/ToAdditive.lean 2 2 ['dagurtomas', 'github-actions'] nobody
0-5718
1 hour ago
1-11951
1 day ago
1-11772
1 day
38777 JJYYY-JJY
author:JJYYY-JJY
feat(Algebra/Module/RingHom): add Module.compHom_smul_def This PR adds `Module.compHom_smul_def`, a rewrite for the scalar action induced by `Module.compHom`. The theorem says that after pulling a module structure back along `f : S →+* R`, the action of `s : S` is the original action of `f s : R`. This makes it possible to write `rw [Module.compHom_smul_def]` instead of manually unfolding `Module.compHom`. It is analogous to 'compHom_smul_def' in `Mathlib/Algebra/Algebra/Defs.lean` and `Mathlib/Algebra/Group/Action/Hom`. This will only add the public rewrite lemma; the existing TODO about the internal proof is intentionally left in place. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
5/0 Mathlib/Algebra/Module/RingHom.lean 1 4 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions'] nobody
0-3295
54 minutes ago
0-29038
7 hours ago
0-28730
7 hours
38704 kbuzzard
author:kbuzzard
perf: raise prio of various Mul->SMul instances The instances `instSMulOfMul` /`instVAddOfAdd`, `MulZeroClass.toSMulWithZero`, `Monoid.toMulAction` / `AddMonoid.toAddAction`, `MonoidWithZero.toMulActionWithZero` and `Semiring.toModule` are all of the form `F X -> G X X` (so rarely apply) and are essentially always the right choice when they do apply (I know of no counterexample, in fact). They are also all at lowered priority on master, a decision which came from mathlib3 (which had a very different algorithm for typeclass inference). I have raised them to higher priority than default (in fact to 1100) and this causes a speedup of around 20% in several of the slowest files in mathlib (`Mathlib.RingTheory.Etale.QuasiFinite`, `Mathlib.RingTheory.DedekindDomain.Different`, `Mathlib.RingTheory.ZariskisMainTheorem`,...) and a general speedup in far more files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
82/15 Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean 6 29 ['JovanGerb', 'Whysoserioushah', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar'] nobody
0-2789
46 minutes ago
1-6271
1 day ago
1-5965
1 day
38745 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): rename labelledCopyCount, add @[no_expose] Renames `labelledCopyCount` to `labeledCopyCount` (American spelling per the [naming conventions](https://leanprover-community.github.io/contribute/naming.html#spelling)) and adds `@[no_expose]` to `labeledCopyCount` and `copyCount`. Deprecated aliases are provided for all renamed declarations. --- Should probably be a prerequisite for #38631. t-combinatorics new-contributor 31/19 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 12 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions'] nobody
0-2697
44 minutes ago
0-13273
3 hours ago
0-51412
14 hours
37997 emlis42
author:emlis42
feat(Algebra/ContinuedFractions): generalize determinant formula to GenContFract Let $g$ be a `GenContFract K`. In this PR I generalize the determinant formula for continued fractions from the simple continued fraction case $$A_n B_{n+1} - B_n A_{n+1} = (-1)^n$$ to the generalized continued fraction product formula $$A_n B_{n+1} - B_n A_{n+1} = (-a_0) (-a_1) \dots (-a_n)$$ - The `SimpContFract` version is still available unchanged, so this should avoid breaking existing users of the old API. - The use of `0` as the default partial numerator in `(g.partNums.get? i).getD 0` allows product formulation that remains valid when the fraction is terminated. t-algebra new-contributor large-import
label:t-algebra$
53/28 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean 2 13 ['emlis42', 'github-actions', 'themathqueen', 'vihdzp'] ocfnash
assignee:ocfnash
0-1557
25 minutes ago
3-15578
3 days ago
17-27487
17 days
38665 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): characterization of Kan complexes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 87/2 Mathlib/AlgebraicTopology/SimplicialSet/CategoryWithFibrations.lean,Mathlib/AlgebraicTopology/SimplicialSet/KanComplex.lean 2 3 ['dagurtomas', 'github-actions'] nobody
0-1354
22 minutes ago
2-3922
2 days ago
2-3707
2 days
38170 maddycrim
author:maddycrim
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma From FLT Project Main Definitions: `Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
9/0 Mathlib/Algebra/Module/FinitePresentation.lean 1 16 ['github-actions', 'maddycrim', 'themathqueen', 'vlad902'] nobody
0-575
9 minutes ago
9-63685
9 days ago
12-86021
12 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
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
28-39562
28 days ago
28-39598
28 days ago
28-67811
28 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
27-64555
27 days ago
27-64613
27 days ago
41-74633
41 days
37871 JJYYY-JJY
author:JJYYY-JJY
feat: support intros and simple rintro in introMerge * Extend the `introMerge` linter to handle `intros` and a safe subset of `rintro` tactics, allowing it to suggest merging a wider variety of adjacent introduction tactics. * Introduce helper functions to normalize supported `rcases` and `rintro` patterns into equivalent `intro` arguments for consistent analysis. * Add tests to verify the correct merging of mixed introduction tactics and ensure intervening tactics prevent merging. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta new-contributor 101/9 Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean 3 3 ['copilot-pull-request-reviewer', 'github-actions'] dwrensha
assignee:dwrensha
19-68323
19 days ago
20-59334
20 days ago
20-62263
20 days
37928 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`. `Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`. `FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`). Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed. Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required. new-contributor 30/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 5 ['github-actions', 'vihdzp'] nobody
18-75528
18 days ago
19-34479
19 days ago
19-34171
19 days
37720 cjrl
author:cjrl
feat(Data/Fintype/Card): existsUnique_notMem_image_of_injective_of_card_succ This pull requests adds a small theorem `existsUnique_notMem_image_of_injective_of_card_succ` to `Mathlib/Data/Fintype/Card` that says given an injective map f : α → β such that β has cardinality one more than α, there exists a unique element of β not in the image of f. This can be viewed as going in the opposite direction of `card_lt_of_injective_of_notMem`. This little fact is needed for our Latin Square PR #36698. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor t-set-theory 15/0 Mathlib/Data/Fintype/Card.lean 1 6 ['IvanRenison', 'cjrl', 'github-actions'] nobody
18-2432
18 days ago
18-2490
18 days ago
23-56033
23 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 38/0 Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean 2 16 ['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] nobody
18-1624
18 days ago
18-1675
18 days ago
33-58566
33 days
37718 SabrinaJewson
author:SabrinaJewson
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones `{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 366/0 Mathlib.lean,Mathlib/Order/Std.lean,MathlibTest/OrderOfStd.lean 3 2 ['github-actions'] bryangingechen
assignee:bryangingechen
15-67964
15 days ago
23-71343
23 days ago
23-71528
23 days
32692 WilliamCoram
author:WilliamCoram
feat: define multivariate restricted power series We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property. This work generalises my previous work in #26089 which will need to be refactored. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-number-theory new-contributor 137/0 Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean 3 43 ['WilliamCoram', 'erdOne', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] alreadydone
assignee:alreadydone
14-23642
14 days ago
14-23702
14 days ago
32-37056
32 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 222/233 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean 2 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
13-40603
13 days ago
13-40627
13 days ago
30-8635
30 days
37819 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas This is a modification of #34093. See #34093 for details. --- - [x] depends on: #33941 - [x] depends on: #37258 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 337/10 Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean 6 3 ['github-actions', 'mathlib-dependent-issues'] Komyyy
assignee:Komyyy
13-10307
13 days ago
21-62055
21 days ago
21-65565
21 days
37893 abeldonate
author:abeldonate
feat: Module theory theorems Added three theorems: - annihilator_sup - torsionOf_eq_annihilator_span_singleton - annihilator_eq_iInf_torsionOf new-contributor t-algebra
label:t-algebra$
15/0 Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 2 8 ['abeldonate', 'github-actions', 'scholzhannah', 'wwylele'] nobody
13-10028
13 days ago
13-17702
13 days ago
14-30271
14 days
38049 WilliamCoram
author:WilliamCoram
feat: lemmas towards showing gaussNorm on MvPowerSeries is an absolute value We prove lemmas: ``gaussNorm_mul_le`` and ``gaussNorm_le_mul`` which will allow us to show it is an absolute value on Mv restricted power series. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 144/1 Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean 1 4 ['WilliamCoram', 'github-actions'] nobody
13-695
13 days ago
16-10671
16 days ago
16-10363
16 days
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 112/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 39 ['SnirBroshi', 'SproutSeeds', 'github-actions', 'jcommelin', 'ksenono'] b-mehta
assignee:b-mehta
11-67875
11 days ago
13-18164
13 days ago
112-85845
112 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$
105/1 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 24 ['eric-wieser', 'github-actions', 'slavanaprienko', 'wwylele'] kim-em
assignee:kim-em
11-67871
11 days ago
25-56323
25 days ago
26-71503
26 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'] nobody
10-68431
10 days ago
64-7886
64 days ago
66-41864
66 days
37527 bryanboehnke
author:bryanboehnke
feat(LocalRing/Etale): Finite étale extensions of local rings are monogenic Formalization of Lemma 3.2 from https://arxiv.org/abs/2503.07846: Given a finite extension of local rings R -> S, if the extension is étale, then there exists β ∈ S such that R[β] = S. Furthermore, if f(z) ∈ R[z] is the minimal polynomial of β, then f′(β) is a unit in S. This file also includes some relevant intermediate results used in the formalization of the proof of Lemma 3.1 from the same paper. Co-authored-by: George Peykanu Co-authored-by: Bianca Viray Co-authored-by: Grant Yang --- - [ ] depends on: #36421 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 148/0 Mathlib.lean,Mathlib/RingTheory/LocalRing/Etale.lean 2 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
10-67727
10 days ago
10-67751
10 days ago
11-2020
11 days
37071 ericluap
author:ericluap
feat: Dedekind completion of rationals is isomorphic to EReal t-order new-contributor 143/4 Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/DedekindCut.lean,Mathlib/Order/Completion.lean,Mathlib/Order/Concept.lean 5 49 ['ericluap', 'github-actions', 'vihdzp', 'wwylele'] vihdzp
assignee:vihdzp
10-55861
10 days ago
10-61180
10 days ago
16-49184
16 days
38309 ntapiam
author:ntapiam
feat(Algebra/NonAssoc): dendriform algebras Define dendriform semirings and algebras --- This PR introduces dendriform structures such as dendriform semirings and algebras, and proves basic facts linking them to their pre-Lie counterparts. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
270/0 Mathlib.lean,Mathlib/Algebra/NonAssoc/Dendriform/Defs.lean,docs/references.bib 3 3 ['github-actions'] nobody
10-5855
10 days ago
10-7193
10 days ago
10-6983
10 days
38310 ZRTMRH
author:ZRTMRH
feat(Combinatorics/Quiver/Schreier): word evaluation and reachability Adds word evaluation and reachability results to the Schreier graph API. * `SchreierGraph.evalWord` : evaluates a word `List (S × Bool)` as an element of the ambient group, where `(s, true)` contributes `ι s` and `(s, false)` contributes `(ι s)⁻¹`. * `SchreierGraph.evalWord_eq_lift` : agreement with `FreeGroup.lift`. * `SchreierGraph.evalWord_mem_closure` : every word evaluates into the subgroup generated by `ι`. * `SchreierGraph.pathFromWord` : a Bool-tagged word yields a path in `Symmetrify (SchreierGraph V ι)` from `x` to `evalWord ι w • x`. * `SchreierGraph.reachable_iff` : two vertices are connected by a path in the symmetrification iff some element of the subgroup closure carries one to the other. Follow-up to #36320. This PR was written with AI assistance (Claude). The code has been reviewed by the author. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 157/0 Mathlib/Combinatorics/Quiver/Schreier.lean 1 2 ['github-actions'] nobody
10-822
10 days ago
10-901
10 days ago
10-593
10 days
38343 mortarsanjaya
author:mortarsanjaya
chore(Data/Nat/Cast/Order/Ring): move two Nat lemmas to Data/Nat/Basic These two lemmas have no correlation with `Nat.cast`, and the proof can be golfed to fit `Data/Nat/Basic`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 22/27 Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean 2 2 ['github-actions'] nobody
8-76248
8 days ago
9-4716
9 days ago
9-4408
9 days
38316 tannerduve
author:tannerduve
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction Add `lfp` for endomorphisms on an ωCPO with a least element and its basic API (`map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`) and the Scott induction theorem `lfp_induction` Also add corresponding induction principles for `Part.fix`: `fix_scott_induction` (ω-Scott continuous functional, admissible predicate) and `fix_scott_induction_pointwise` new-contributor 110/0 Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib 3 2 ['github-actions'] nobody
7-85349
7 days ago
9-68904
9 days ago
9-69122
9 days
38390 mortarsanjaya
author:mortarsanjaya
feat(Data/Nat/Cast/Order/Basic): introduce new class `IsMonotoneNatCast` The class says that `Nat.cast` is monotone in an `AddMonoidWithOne`. Basically, we use this class when we only care about comparing the elements of a monoid that comes from the `Nat`s (so we do not have to care about the compatibility between the additive structure of the monoid and its order structure). --- Other than that, I'm also reorganizing some section naming, and I change the proof of the `Nontrivial` instance at the bottom to using `NeZero.nontrivial`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 28/18 Mathlib/Data/Nat/Cast/Order/Basic.lean 1 6 ['github-actions', 'leanprover-radar', 'mortarsanjaya', 'vihdzp'] nobody
7-71751
7 days ago
7-76535
7 days ago
7-76227
7 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'] urkud
assignee:urkud
7-67824
7 days ago
30-16480
30 days ago
30-69586
30 days
38373 Nicola9Falciola
author:Nicola9Falciola
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
3/0 Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean 1 7 ['Nicola9Falciola', 'SnirBroshi', 'github-actions'] nobody
7-23247
7 days ago
7-23304
7 days ago
8-11437
8 days
38214 emlis42
author:emlis42
feat(Algebra/ContinuedFractions): add Euler's continued fraction This PR formalizes Euler’s continued fractions by providing `Euler` which construct one by giving head term and coefficients with some basic property. We also introduce a transformation `GenContFract.toEuler` that maps a generalized continued fraction `g : GenContFract K` to an equivalent Euler-form continued fraction. new-contributor t-algebra
label:t-algebra$
262/0 Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean 2 15 ['github-actions', 'mathlib-bors', 'wwylele'] nobody
7-8547
7 days ago
7-8547
7 days ago
7-11991
7 days
38114 javgomzar
author:javgomzar
feat(FinitelyPresentedGroup): add finite groups instance Add IsFinitelyPresented instance for finite groups. Co-authored-by: Hang Lu Su , Thomas Browning --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor large-import 32/3 Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean 2 32 ['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] mattrobball
assignee:mattrobball
6-67818
6 days ago
8-73857
8 days ago
11-77090
11 days
37062 tannerduve
author:tannerduve
feat(Computability): Turing join and semilattice structure on Turing degrees ## Summary - Add `Partrec.kronecker` (equality test) and `Partrec.join` (disjoint union by parity) in `Partrec.lean` - Prove `Nat.RecursiveIn` is closed under computable conditionals (`cond_const`, `cond`) - Show each component reduces to the join (`left_le_join`, `right_le_join`) and the join is the least upper bound (`join_le`) - Establish `SemilatticeSup` instance on `TuringDegree` t-computability new-contributor large-import 311/15 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 7 ['Komyyy', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] Komyyy
assignee:Komyyy
6-59227
6 days ago
17-16933
17 days ago
17-78919
17 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 20/0 Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean 2 10 ['Multramate', 'chrisflav', 'github-actions', 'hommmmm'] chrisflav
assignee:chrisflav
5-35844
5 days ago
5-35844
5 days ago
42-62581
42 days
35504 JoaBjo
author:JoaBjo
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property Add the main analytic results for the exponential distribution: - moment-generating function `mgf id (expMeasure r) t = r / (r - t)` for `t < r` - mean `∫ x, x ∂(expMeasure r) = r⁻¹` - variance `Var[id; expMeasure r] = r⁻¹ ^ 2` - `ℒp` membership for all `p` - tail probability `P(X > x) = exp (-(r * x))` - memoryless property `P(X > s + t | X > s) = P(X > t)` The MGF is computed by reducing to the known improper integral `∫ exp(c * x)` on `Ioi`, and integrability is deduced by contradiction from the positive closed-form value. The mean and variance are computed via the Gamma function integral `∫₀^∞ x^(n-1) exp(-r x) dx = Γ(n) / rⁿ`. The memoryless property follows from the exponential identity `exp(-(r(s+t))) = exp(-rt) * exp(-rs)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 200/0 Mathlib/Probability/Distributions/Exponential.lean 1 6 ['JoaBjo', 'Timeroot', 'github-actions'] kex-y
assignee:kex-y
5-32098
5 days ago
5-32152
5 days ago
21-30903
21 days
38344 robo7179
author:robo7179
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/0 Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean 1 5 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
5-32066
5 days ago
8-86010
8 days ago
8-86088
8 days
38093 mortarsanjaya
author:mortarsanjaya
feat(Algebra/Order/Ring/Unbundled/Basic): add a generalization of `two_mul_le_add_of_sq_eq_mul` The equality `r^2 = a * b` in the hypothesis can be weakened to `r^2 ≤ a * b`. The implementation requires adding an appropriate `ZeroLEOneClass` instance. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor maintainer-merge
label:t-algebra$
16/7 Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean 2 13 ['github-actions', 'leanprover-radar', 'mortarsanjaya', 'themathqueen'] themathqueen
assignee:themathqueen
4-4330
4 days ago
9-80096
9 days ago
14-42983
14 days
34713 dennj
author:dennj
feat(Probability/Markov): stationary distributions for stochastic matrices This PR proves that every row-stochastic matrix on a finite nonempty state space has a stationary distribution in the standard simplex. Main additions to `Mathlib/Probability/Markov/Stationary.lean`: - `IsStationary`: A distribution μ is stationary for matrix P if μ ᵥ* P = μ - `cesaroAverage`: Cesàro average of iterates of a vector under a matrix - `Matrix.rowStochastic.exists_stationary_distribution`: existence theorem The proof uses Cesàro averaging: start with uniform distribution, form averages, extract convergent subsequence by compactness, show limit is stationary via L¹ non-expansiveness. Also adds `vecMul_mem_stdSimplex` to `Stochastic.lean`: multiplying a probability vector by a row-stochastic matrix preserves simplex membership. This is human-made PR with AI help in golfing proof and documenting the code. t-algebra new-contributor
label:t-algebra$
166/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean,Mathlib/Probability/Markov/Stationary.lean 3 16 ['dennj', 'dupuisf', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
3-75350
3 days ago
3-75350
3 days ago
14-21655
14 days
37722 SabrinaJewson
author:SabrinaJewson
feat(Order/Cover): intervals equal singletons iff To complement `Set.Icc_eq_singleton_iff`, this introduces: - `Set.Ioc_eq_singleton_iff` - `Set.Ico_eq_singleton_iff` - `Set.Ioi_eq_singleton_iff` - `Set.Iio_eq_singleton_iff` - `Set.Ioo_eq_singleton_iff` Unforunately because of the order of the ands, the last cannot be made self-dual. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 39/0 Mathlib/Order/Cover.lean 1 3 ['github-actions', 'mathlib-merge-conflicts'] Komyyy and bryangingechen
assignee:bryangingechen assignee:Komyyy
3-67712
3 days ago
21-70151
21 days ago
23-56605
23 days
35672 dennj
author:dennj
feat(RingTheory/Polynomial/Cyclotomic): vanishing sums and fiber equidistribution at primitive roots ## Summary Building on `sum_eq_zero_iff_forall_eq` from #34592, this PR adds: - cyclotomic_dvd_of_aeval_eq_zero, exists_int_smul_cyclotomic_of_natDegree_le_totient — integer polynomials vanishing at a primitive n-th root are divisible by cyclotomic n ℤ, and (for degree ≤ φ(n)) integer multiples of it. - sum_eq_zero_iff_forall_eq and its ℤ / ZMod p variants — vanishing iff all coefficients equal. - sum_fiber_eq_sum_fiber_of_sum_weighted_pow_eq_zero, card_fiber_eq_card_div_of_sum_pow_eq_zero — fiber equidistribution. - cyclotomic_prime_coeff — the formula (cyclotomic p R).coeff i = if i < p then 1 else 0, generalising existing coeff_zero/coeff_one lemmas. - References: [deLauneyFlannery2011, Lemma 2.8.5] (underlying ℚ/ℕ fact) and [armario2024, Lemma 7 and Theorem 3] (ℤ statement and the fiber-counting application). Theorems imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory Human made PR with LLM used for documentation and proof golfing t-ring-theory new-contributor 128/2 Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean,docs/references.bib 3 6 ['dennj', 'github-actions', 'grunweg', 'ocfnash'] ocfnash
assignee:ocfnash
3-54384
3 days ago
3-54384
3 days ago
13-13437
13 days
38527 archiebrowne
author:archiebrowne
feat(Geometry/Manifold): continuously differentiable actions define the class `ContDiffSMul 𝕜 M X n` which asserts that the map `(c, x) ↦ c • x` is `n` times continuously differentiable on `M × X`. Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction. t-differential-geometry new-contributor 281/0 Mathlib.lean,Mathlib/Analysis/ContDiffMulAction.lean 2 11 ['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] PatrickMassot and grunweg
assignee:grunweg assignee:PatrickMassot
3-42606
3 days ago
4-886
4 days ago
5-8302
5 days
35733 mkaratarakis
author:mkaratarakis
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental. Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua). This PR is essentially the first half of page 490 in the book. The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$. 1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem. 2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system. 3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.). 4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$. 5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma. 6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor 913/49 Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean 4 17 ['MichaelStollBayreuth', 'github-actions', 'mkaratarakis', 'tb65536'] tb65536
assignee:tb65536
3-38784
3 days ago
26-15482
26 days ago
38-82010
38 days
38420 eliasjudin
author:eliasjudin
feat(Algebra/MvPolynomial): add coefficient lemma for uniqueAlgEquiv Adds `MvPolynomial.coeff_uniqueAlgEquiv` and `MvPolynomial.coeff_uniqueAlgEquiv_symm`, identifying coefficients under `MvPolynomial.uniqueAlgEquiv` in both directions. t-algebraic-geometry new-contributor 19/0 Mathlib/Algebra/MvPolynomial/Equiv.lean 1 5 ['eliasjudin', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
3-30037
3 days ago
6-37906
6 days ago
7-11707
7 days
38345 emlis42
author:emlis42
feat(NumberTheory): add Int.divisors This PR adds `Int.divisors` in `Mathlib/NumberTheory/Divisors.lean`. Defines `Int.divisors` as the disjoint union of positive and negative `Nat.divisors`. Basic lemmas: * `mem_divisors` * `divisors_zero`, `divisors_eq_empty`, `divisors_one` * `one_mem_divisors`, `neg_one_mem_divisors` * `nonempty_divisors` * `mem_divisors_self` * `divisors_neg` Lemmas relating to `divisorsAntidiag`: * `image_fst_divisorsAntidiag` * `image_snd_divisorsAntidiag` t-number-theory new-contributor maintainer-merge 61/2 Mathlib/NumberTheory/Divisors.lean 1 21 ['Multramate', 'SnirBroshi', 'emlis42', 'github-actions', 'tb65536'] tb65536
assignee:tb65536
3-26870
3 days ago
8-17986
8 days ago
8-67419
8 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` - `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 10/0 Mathlib/Data/Matrix/Mul.lean 1 9 ['dennj', 'eric-wieser', 'github-actions', 'joneugster', 'themathqueen'] joneugster
assignee:joneugster
3-11943
3 days ago
3-69386
3 days ago
75-37119
75 days
38027 8e7
author:8e7
feat(Combinatorics/SimpleGraph/Star): define star graphs Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334. --- All lemmas are hand written first, then golfed with the help of Claude Code. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 85/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean 2 39 ['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] nobody
2-60059
2 days ago
14-60005
14 days ago
16-57962
16 days
38596 JJYYY-JJY
author:JJYYY-JJY
Add an API for row echelon forms of matrices We write this PR to add `Mathlib.LinearAlgebra.Matrix.Echelon`, which is a theorem-oriented API for row-equivalence, echelon form, and reduced row echelon form of matrices. The main additions are elementary row-scaling matrices, `Matrix.RowEquivalent`, echelon and reduced-echelon predicates, semantic representative predicates, existence and uniqueness of reduced echelon representatives over fields, and the noncomputable canonical representative `Matrix.rref`. This is intentionally a semantic/theorem API rather than an executable row-reduction algorithm. Co-authored-by: Joseph Qian Co-authored-by: Veer Shukla Co-authored-by: Dhruv Bhatia Co-authored-by: Zheng Wu <1036819072@qq.com> --- This interface is motivated by downstream work on certified row-reduction algorithms. The executable algorithms, row-operation logs, LU factorization, and determinant routines are intentionally out of scope for this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
1495/4 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean 3 6 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'github-actions', 'wwylele'] nobody
2-52416
2 days ago
2-60983
2 days ago
2-60675
2 days
38370 FordUniver
author:FordUniver
feat(Data.Finset.Powerset): add filter_powerset_subset and filter_powersetCard_subset Add four lemmas characterising subsets of `powerset` and `powersetCard` that contain a fixed set `s`: - `Finset.powerset_filter_sdiff`: `t.powerset.filter (s ⊆ ·) = (t \ s).powerset.image (· ∪ s)` - `Finset.card_powerset_filter`: the count is `2 ^ (t.card - s.card)` - `Finset.powersetCard_filter_sdiff`: `(t.powersetCard n).filter (s ⊆ ·) = ((t \ s).powersetCard (n - s.card)).image (· ∪ s)` - `Finset.card_powersetCard_filter`: the count is `Nat.choose (t.card - s.card) (n - s.card)` The bijection lemmas are stated as set equalities, which is strictly stronger than asserting a bijection: they imply cardinality equality, give a direct membership characterisation, and are usable as rewrites. The cardinality lemmas follow in three lines via `card_image_of_injOn`, using `LeftInvOn.injOn` to derive injectivity from the left inverse `· \ s`. The hypothesis `s.card ≤ n` in the `powersetCard` variants is necessary: without it, natural subtraction silently gives the wrong count (`Nat.choose k 0 = 1 ≠ 0`). Co-authored-by: Malte Jackisch --- We ran into this while formalizing Goodman's formula on triangle densities in graphs as part of an ongoing flag algebras project in Lean, and it seemed worth upstreaming. **Disclosure.** *This PR was developed with assistance from LLM code tools, used for Mathlib style alignment and proof compactness. The mathematical content and proof strategy originate from formalization work by Malte Jackisch (co-author) and myself; the final code has been reviewed and vouched for by both of us.* t-data new-contributor 52/0 Mathlib/Data/Finset/Powerset.lean 1 13 ['FordUniver', 'github-actions', 'mathlib-bors', 'wwylele'] nobody
2-37538
2 days ago
8-6420
8 days ago
8-23315
8 days
38628 tautschnig
author:tautschnig
feat(Data/ZMod/Basic): unit characterization for ZMod (p ^ d) Add two lemmas characterizing units in `ZMod (p ^ d)` for a prime `p`: * `ZMod.isUnit_natCast_of_not_dvd_pow`: a natural number not divisible by `p` is a unit in `ZMod (p ^ d)`. * `ZMod.prime_natCast_not_isUnit_pow`: the prime `p` is not a unit in `ZMod (p ^ d)` when `d ≥ 1`. These complement the existing `isUnit_prime_iff_not_dvd` (which characterizes when a *prime* is a unit in `ZMod n`) by characterizing when an *arbitrary* natural number is a unit in `ZMod (p ^ d)`. **Motivation.** Arithmetic verification over fixed-width bitvectors works in `ZMod (2 ^ d)`. A Gröbner basis solver over this ring needs to know which constants are invertible: odd constants are units (enabling algebraic simplification), while even constants are not (requiring fallback to SAT). These lemmas formalize that characterization for any prime, not just 2. Further work related to Gröbner basis will be published once #29203 (and, before that, #34873) have been merged. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 12/0 Mathlib/Data/ZMod/Basic.lean 1 2 ['github-actions'] nobody
2-31805
2 days ago
2-31870
2 days ago
2-31562
2 days
38606 dennj
author:dennj
feat: preparation for Vanishing Sum of Roots of Unity Adds the Mathlib API extensions needed for an upcoming formalization of the Lam-style classification theorem for vanishing sums of roots of unity. * Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean + `exists_eq_const_of_sum_smul_eq_zero_of_sum_eq_zero_of_linearIndependent`: if `∑ vᵢ = 0` and the first `n-1` of `n` vectors are linearly independent, every linear relation has constant coefficients. * Mathlib/RingTheory/Radical/NatInt.lean + `Nat.totient_eq_div_radical_mul_totient_radical`: Euler's totient splits as `φ(n) = (n / rad n) * φ(rad n)`. * Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean + `IsPrimitiveRoot.sum_range_pow_mul_div_eq_zero_of_dvd`: the `d` evenly-spaced powers of a primitive `k`-th root sum to zero, for `d ∣ k` and `1 < d`. * Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean (new) + `IsPrimitiveRoot.linearDisjoint_adjoin_pow_of_coprime`: cyclotomic subfields of coprime orders are linearly disjoint over `ℚ`. * Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean (new) + `IsPrimitiveRoot.coeffs_eq_of_sum_pow_eq_zero_prime_coprime`: in the cyclotomic field of order `p * m` with `p` prime coprime to `m`, any `ℚ⟮ζ^p⟯`-linear relation among powers of `ζ^m` has all coefficients equal. --- I need these as preparation to start formalizing the theorem: Let k be a positive integer. If a finite family of complex k-th roots of unity sums to zero, then the size of the family is a non-negative integer combination of the prime divisors of k. --- Human-made PR with AI used for golfing and documentation new-contributor 219/0 Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean,Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean,Mathlib/RingTheory/Radical/Totient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 6 2 ['github-actions'] nobody
2-24047
2 days ago
2-24119
2 days ago
2-53658
2 days
38364 openendings
author:openendings
feat: create Order/DirectedCompletePartialOrder/Defs.lean Define DirectedCompletePartialOrder and its interaction with iSup and sSup. --- A DirectedCompletePartialOrder is equivalently: - a partial order with LUBs of nonempty directed sets; - what happens when you remove ⊥ from a CompletePartialOrder; or - a ConditionallyCompletePartialOrder in which every directed set is BddAbove. Like CPOs, DCPOs are commonly studied in denotational semantics. Potential applications: - [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`. - [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 123/0 Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib 3 4 ['SnirBroshi', 'github-actions', 'openendings'] nobody
1-76322
1 day ago
7-66442
7 days ago
8-40960
8 days
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II Supersedes https://github.com/leanprover-community/mathlib4/pull/33519 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 723/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 4 200 ['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] fpvandoorn
assignee:fpvandoorn
1-67511
1 day ago
11-21580
11 days ago
56-28725
56 days
38584 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace/Reproducing): Add outerKernel, mem_iff --- Adds the `outerKernel` definition and the theorem `mem_iff`. These are needed for proving statements involving embeddings of RKHS. I can split `mem_of_posSemidef` and `mem_iff` off into a different pull request if that is preferred. The theorems `mem_of_posSemidef` and `posSemidef_of_mem` are the two directions of `mem_iff`. `posSemidef_of_mem` is slightly stronger than the converse direction of `mem_iff` in the sense that it also specifies the constant `c` in the statement. The specified `c` is in fact the smallest possible `c` for which the statement holds. The statement `mem_of_posSemidef` proves `∃ (g : H), (g : X → V) = f`. We could instead write `f ∈ (coeCLM 𝕜 (H:=H)).range`. Making this change would require the addition of the line `simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]` in the beginning of the proof. The full beginning is then ``` lemma mem_of_posSemidef (f : X → V) {c : ℝ} (hc : ((c : 𝕜) ^ 2 • kernel H - outerKernel 𝕜 f).PosSemidef) : f ∈ (coeCLM 𝕜 (H:=H)).range := by simp only [LinearMap.mem_range, coe_coe, coeCLM_apply] let Laux : ... ``` Making a `MemRKHS` like MemLp and MemSobolev and then writing `MemRKHS H f` is also an option. Happy to change it to whatever is preferred. The proof of `mem_of_posSemidef` is based on the idea that any function f in the RKHS satisfies `=\sum_{n} ` for `x_n\in X` and `v_n\in V` by the reproducing property. We define the operator L(\sum_n K(\cdot,x_n)v_n) = \sum_{n} . This is bounded by the condition based on the kernels, and thus extends to a bounded linear operator on the RKHS. Its Riesz' representer agrees pointwise with f. AI: When asking how to avoid Classical.choose in constructing the operator L, Claude suggested the approach of going through the quotient. I made the proof using Claude as supplementary Loogle. Afterwards, I asked it to help shorted the proofs. Some suggestions for `mem_of_posSemidef` were applied. The other suggestions were not helping or not correct. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 126/1 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 2 ['github-actions'] ADedecker
assignee:ADedecker
1-67489
1 day ago
3-9655
3 days ago
3-9725
3 days
38551 TTony2019
author:TTony2019
feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` ### Summary We prove that the affine span of a product set equals the product of the affine spans, and that the intrinsic interior of a product set equals the product of the intrinsic interiors. - `affineSpan_prod_eq`: for `s : Set P₁` and `t : Set P₂`, `affineSpan k (s ×ˢ t) = (affineSpan k s) ×ˢ (affineSpan k t)` as sets. - `intrinsicInterior_prod_eq`: for `s : Set P` and `t : Set Q`, `intrinsicInterior 𝕜 (s ×ˢ t) = intrinsicInterior 𝕜 s ×ˢ intrinsicInterior 𝕜 t`. These two theorems are added to `Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean` and `Mathlib/Analysis/Convex/Intrinsic.lean`. ### Collaboration Co-authored-by: @imathwy new-contributor 144/0 Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/Prod.lean 5 21 ['TTony2019', 'github-actions', 'wwylele'] nobody
1-62726
1 day ago
1-62790
1 day ago
4-6355
4 days
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`. Summary of additions: - **Full shift and shift action** - `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type). - Right shift `shift g x` with convention `(shift g x) h = x (h * g)`. - **Cylinders and topology** - `cylinder U x : Set (G → A)` for finite `U : Finset G`. - Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed. - Equality with dependent products: `cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API. - **Patterns, occurrences, and subshifts** - `Pattern A G` with finite `support : Finset G` and `data : support → A`. - `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law. - `forbids F` and `Subshift A G` (closed, shift-invariant subsets). - `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness. - **Language on finite shapes and counting** - `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`. - **Entropy along a shape sequence** - `limsupAtTop` (as an `sInf` of eventual upper bounds). - `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)` for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`). - **Specializations** - `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`. - `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`. Mathematical remarks: - The API is **shape-parametric**: entropy is defined along user-provided finite shapes. - On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss). This PR does not assume amenability; the family of shapes is an explicit input. Motivation: Provide a clean, reusable base for symbolic dynamics on groups in mathlib. Future work: - Add a Følner predicate and prove shape-independence / limit existence on amenable groups. - Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors). - Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch). t-dynamics new-contributor 631/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean 3 187 ['Sfgangloff', 'botbaki-review', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] urkud
assignee:urkud
1-57293
1 day ago
1-57294
1 day ago
164-52055
164 days
37926 e-271828
author:e-271828
feat(Analysis/Analytic): add AnalyticAt properties for iterated dslope This PR adds three fundamental lemmas in the `AnalyticAt` namespace to establish the analyticity of the (iterated) `dslope` function: * `AnalyticAt.dslope_of_ne` * `AnalyticAt.iterate_dslope_of_ne` * `AnalyticAt.iterate_dslope` (at the singularity, using `has_fpower_series_iterate_dslope_fslope`) These properties are crucial for factoring out removable singularities iteratively while preserving analyticity. This PR was assisted by LLMs (Aristotle and Gemini). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 18/0 Mathlib/Analysis/Analytic/IsolatedZeros.lean 1 10 ['e-271828', 'github-actions', 'j-loreaux', 'wwylele'] j-loreaux
assignee:j-loreaux
1-41618
1 day ago
1-41618
1 day ago
18-69108
18 days
38014 cduenasnavarro
author:cduenasnavarro
feat(InformationTheory): linear codes over finite fields and minimum distance properties Define linear codes over a finite field `F` as finite-dimensional subspaces of `Fin n → F`, together with their minimum Hamming distance. Main definitions: * `LinearCode` * `minDist` * `LinearCodeWithDist` * `hammingSphere` Main results: * `minDist_eq_sInf_pairwiseDist`: characterisation of the minimum distance via pairwise distances * `disjoint_spheres`: Hamming spheres of radius `t` around distinct codewords are disjoint if `2 * t < d` Pending: * Choosing an adequate book reference --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 143/0 Mathlib.lean,Mathlib/InformationTheory/Coding/LinearCode.lean 2 37 ['cduenasnavarro', 'github-actions', 'linesthatinterlace', 'rkirov', 'vihdzp', 'wwylele'] RemyDegenne
assignee:RemyDegenne
1-31215
1 day ago
16-86373
16 days ago
17-428
17 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. (2/5) 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 large-import 179/1 Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 5 88 ['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] b-mehta
assignee:b-mehta
1-14564
1 day ago
1-38972
1 day ago
59-37552
59 days
36704 adam84-hub
author:adam84-hub
chore(Function): add surjective_iff Adds an explicit discoverable definitional lemma for `Function.Surjective`. - addresses #31745 - scope is intentionally tiny: one theorem in `Mathlib/Logic/Function/Defs.lean` AI was used for drafting; I reviewed the final code and understand it well enough to vouch for it. t-logic new-contributor 4/0 Mathlib/Logic/Function/Defs.lean 1 13 ['SnirBroshi', 'adam84-hub', 'github-actions', 'plp127', 'vihdzp'] nobody
1-11898
1 day ago
1-11898
1 day ago
1-13714
1 day
38672 drocta
author:drocta
feat(Algebra/Colimit/DirectLimit): add Algebra structure for DirectLimit add `Algebra` instance to `DirectLimit`. also add a few lemmas for it for the algebra map, and also define the `of`, `lift`, and the `of_f`, `lift_of` and `hom_ext` lemmas for it. --- Use of AI: I again made some use of ChatGPT for some advice while writing this code, as well as the auto-complete in VS Code. However, I can personally vouch for all of these contributions, and that I understand all of it. This is the second part of my project towards supporting direct limits of $C^*$-algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ). This PR adds an import of `Mathlib.Algebra.Algebra.Hom` (because it needs `AlgHom` and `AlgHomClass` ) in addition to the import of `Mathlib.Algebra.Star.StarRingHom` added in PR #38308 . In the next PR I intend to make, these two should be replaced with an import of `Mathlib.Algebra.Star.StarAlgHom` . t-algebra new-contributor large-import
label:t-algebra$
84/0 Mathlib/Algebra/Colimit/DirectLimit.lean 1 5 ['drocta', 'github-actions', 'mathlib-bors'] nobody
0-73056
20 hours ago
1-67872
1 day ago
1-67700
1 day
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 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 25 ['Maldooor', 'github-actions', 'lua-vr', 'mcdoll', 'samueloettl'] mcdoll
assignee:mcdoll
0-71083
19 hours ago
1-21380
1 day ago
67-19885
67 days
29434 ntapiam
author:ntapiam
feat(NonAssoc/LieAdmissible): prove every ring/algebra is LieAdmissible -awaiting-author t-algebra new-contributor
label:t-algebra$
32/6 Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] ocfnash
assignee:ocfnash
0-67566
18 hours ago
15-45168
15 days ago
15-45954
15 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'] fpvandoorn
assignee:fpvandoorn
0-67564
18 hours ago
46-52649
46 days ago
46-52341
46 days
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 LLM-generated t-data 121/0 Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml 5 24 ['euprunin', 'github-actions', 'kennethgoodman', 'vihdzp', 'wwylele'] joneugster
assignee:joneugster
0-67559
18 hours ago
19-24948
19 days ago
26-67005
26 days
37682 SabrinaJewson
author:SabrinaJewson
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ `LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction). If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib). This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions. `LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed. [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491) --- - [x] depends on: #37735 - [x] depends on: #37772 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 52/38 Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean 3 10 ['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] bryangingechen
assignee:bryangingechen
0-67558
18 hours ago
20-76456
20 days ago
22-73257
22 days
38696 e-271828
author:e-271828
feat(Analysis/Complex): formalize Morera's theorem [LLM-generated] ## Summary This PR formalizes Morera's theorem: a continuous complex-valued function with vanishing integrals along all triangles is holomorphic. ## Main Definitions and Theorems - `eventually_bound_of_tendstoUniformlyOn`: Shows that uniformly converging continuous functions on a compact set are eventually uniformly bounded. This is used as a dominating function for the DCT. - `segmentIntegral`: Defines the complex integral along a straight line segment. - `hasDerivAt_complexPrimitive`: Proves that the primitive function defined by segment integrals is complex differentiable with derivative `f`. - `morera_theorem`: The main result, concluding that `f` is differentiable by leveraging the analyticity of holomorphic functions in Mathlib. ## Implementation Notes Following the discussion on Zulip, this code has been manually refined to ensure strict adherence to Mathlib's coding standards, including: - Proper naming conventions and docstrings. - Elimination of unnecessary dependencies. - Use of existing library theorems such as `Asymptotics.isLittleO_iff` and `AnalyticAt.deriv`. The proof structure focuses on the connection between measure-theoretic interval integrals and complex differentiability, providing a robust foundation for further complex analysis formalizations. As per the previous advice from @j-loreaux and Mathlib's policy, the initial structure of this PR was assisted by an LLM (Gemini), though strictly manually refined. Could a maintainer please attach the LLM-generated label to this PR? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor LLM-generated 256/0 Mathlib/Analysis/Complex/CauchyIntegral.lean 1 3 ['e-271828', 'github-actions'] j-loreaux
assignee:j-loreaux
0-67547
18 hours ago
1-61412
1 day ago
1-61104
1 day
37076 ertwro
author:ertwro
feat(Combinatorics/SimpleGraph/Hasse): Hasse diagram is triangle-free Add `SimpleGraph.hasse_cliqueFree_three`: the Hasse diagram of a preorder is triangle-free (`CliqueFree 3`). This is the graph-theoretic formulation of `not_covBy_of_lt_of_lt`: if `a ⋖ b` and `b ⋖ c`, then `¬ a ⋖ c`, so no three elements can be pairwise adjacent in the Hasse diagram. The proof extracts three vertices from a hypothetical 3-clique, case-splits on the covering directions (8 cases), and closes each by `not_covBy_of_lt_of_lt` (6 transitive cases) or `lt_asymm` (2 cyclic cases). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 11/0 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 21 ['Rida-Hamadani', 'SnirBroshi', 'ertwro', 'github-actions', 'vlad902'] nobody
0-59492
16 hours ago
11-56977
11 days ago
19-66449
19 days
38582 dennj
author:dennj
feat(LinearAlgebra/Matrix): add Hadamard matrices Introduce `Matrix.IsHadamard` over a general `Ring R`, with the basic theory: - `IsHadamard` and `IsComplexHadamard` predicates (Definitions 2.3.1 and 2.7.1 of de Launey–Flannery, *Algebraic Design Theory*). - `IsHadamard.det_sq`: the Hadamard determinant identity `(det A)² = n^n`. - `IsHadamard.det_ne_zero`: over an integral domain of characteristic zero. - `IsHadamard.transpose`: `Aᵀ` is Hadamard whenever `A` is (Theorem 2.3.6), proved over `[CommRing R] [IsDomain R] [CharZero R]` via the adjugate. - `IsHadamard.card_eq_sq_of_const_row_sum`: a Hadamard matrix with constant row sum `s` has order `s²` (slightly stronger than Theorem 2.3.7: the constant-column-sum hypothesis is implied by orthogonality). - `IsHadamard.kronecker`: the Sylvester (Kronecker product) construction. - `IsHadamard.four_dvd_card`: order of a Hadamard matrix of order > 2 is divisible by 4. `Matrix.mul_eq_smul_one_symm`: if `M * N = c • 1` and `det M ≠ 0` over an integral domain, then `N * M = c • 1`. Used here for the transpose proof, but generally useful, analogous to how `mul_eq_one_comm` works over stably finite rings, but covers the integral-domain case (e.g. `ℤ`, `ℤ[X]`) where matrix inverses don't exist. ## References Adds the de Launey–Flannery bibliography entry, cited from the new file. Human-made PR with LLM used for proof golfing and documentation t-algebra new-contributor
label:t-algebra$
152/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/HadamardMatrix.lean,docs/references.bib 4 10 ['JJYYY-JJY', 'dennj', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
0-47015
13 hours ago
3-17514
3 days ago
3-17206
3 days
35652 dennj
author:dennj
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` Adds three lemmas: - IsLeftRegular.mul_eq_of_comm (Algebra/Group/Defs.lean): if a is left-regular, a * b = c, and c commutes with a, then b * a = c. Generalises IsLeftRegular.mul_eq_one_symm from the c = 1 case. - IsRightRegular.mul_eq_of_comm: symmetric version. - mul_eq_smul_one_symm (Algebra/Group/Action/Defs.lean): scalar variant of mul_eq_one_symm. For a monoid β with a compatible scalar action by α, if a * b = c • 1 and a is left-regular, then b * a = c • 1. Proven in one line via IsLeftRegular.mul_eq_of_comm, since c • 1 is central thanks to IsScalarTower α β β and SMulCommClass α β β. The additive analogues are produced by to_additive. The general mul_eq_of_comm helpers capture the underlying pattern: "a left/right-regular element can be cancelled when the conclusion commutes with it" and are reusable beyond this PR's specialisation. Human made PR t-algebra new-contributor LLM-generated
label:t-algebra$
19/0 Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean 2 7 ['dagurtomas', 'dennj', 'eric-wieser', 'github-actions', 'grunweg'] ocfnash
assignee:ocfnash
0-46740
12 hours ago
3-65751
3 days ago
21-52157
21 days
38750 openendings
author:openendings
feat(Data/Nat): add padicValNat_add_eq_min Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including - padicValNat_eq_of_dvd_of_not_dvd - padicValNat_add_of_gt - padicValNat_add_eq_min --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor CI 37/0 Mathlib/Data/Nat/MaxPowDiv.lean 1 2 ['github-actions'] nobody
0-44208
12 hours ago
0-44579
12 hours ago
0-45696
12 hours
38660 sharky564
author:sharky564
feat(Topology/Homeomorph): add Equiv.IsHomeomorph_iff and LinearEquiv.IsHomeomorph_iff This PR adds two characterisations of `IsHomeomorph` for bundled equivalences. For a plain `Equiv` between topological spaces, `Equiv.isHomeomorph_iff` states that the equivalence is a homeomorphism if and only if it is continuous in both directions. The corresponding statement for a `LinearEquiv` between topological modules is added as `LinearEquiv.isHomeomorph_iff`, derived from the `Equiv` version. --- The motivation comes from work on topological complements of submodules in PR #38547, where one wants to upgrade a `LinearEquiv` to a `ContinuousLinearEquiv` and the cleanest characterisation is in terms of continuity in both directions. The existing API offers `isHomeomorph_iff_exists_inverse`, but for equivalences this requires manually identifying the existential inverse with `e.symm`, which is unnecessarily indirect. t-topology new-contributor 17/0 Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean 2 7 ['ADedecker', 'github-actions', 'scholzhannah', 'sharky564'] mcdoll
assignee:mcdoll
0-43511
12 hours ago
1-25287
1 day ago
2-3990
2 days
28613 espottesmith
author:espottesmith
feat(Combinatorics): define undirected hypergraphs This PR defines undirected hypergraphs: ``` @[ext] structure Hypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The hyperedge set -/ hyperedgeSet : Set (Set α) /-- All hyperedges must be subsets of the vertex set -/ hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet ``` In addition to the main definition, some additional definitions and related lemmas are provided: - vertex adjacency - hyperedge adjacency - vertex "stars" - special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs) - (some) hypergraph cardinality - subhypergraphs, induced subhypergraphs, and partial hypergraphs This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib. In the near future, goals include: - defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β` - coersion/generalization of graph as 2-uniform hypergraph - conversion of a hypergraph into its associated clique graph/two-section graph - constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`) - rank and co-rank - walks, paths, cycles, etc. on hypergraphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 378/2 Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean,lake-manifest.json 3 57 ['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot', 'tb65536'] b-mehta
assignee:b-mehta
0-41149
11 hours ago
4-48345
4 days ago
81-20759
81 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'] YaelDillies
assignee:YaelDillies
0-41097
11 hours ago
27-37816
27 days ago
85-20975
85 days
38319 Zetetic-Dhruv
author:Zetetic-Dhruv
feat(Combinatorics/SetFamily): Assouad's dual VC bound Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family `𝒜 : Finset (Finset α)` has VC dimension at most `d`, then for any ground set `X : Finset α` the dual family `{𝒜.filter (· ∋ x) : x ∈ X}` has VC dimension at most `2 ^ (d + 1) - 1`. New declarations (in `Finset` namespace): - `dualFamily 𝒜 X`: for each `x ∈ X`, the subfamily `{A ∈ 𝒜 | x ∈ A}` - `mem_dualFamily` (`@[simp]`): membership characterisation - `exists_shatters_of_dualFamily_shatters`: Assouad's bitstring-coding lemma - `vcDim_dualFamily_le`: the headline VC bound Proof by Assouad's classical bitstring-coding argument. Sits on top of `Finset.shatterer` / `Finset.vcDim` from `Mathlib.Combinatorics.SetFamily.Shatter`. References: - P. Assouad, Densite et dimension, Ann. Inst. Fourier 33(3) (1983), Thm 2.13 - J. Matousek, Lectures on Discrete Geometry, GTM 212, Springer, 2002, Section 10.3 Lemma 10.3.3 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 200/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib 3 26 ['Shreyas4991', 'Zetetic-Dhruv', 'github-actions'] nobody
0-35619
9 hours ago
8-42681
8 days ago
9-71984
9 days
38534 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability): bundle PFun into a structure with FunLike instance This PR refactors PFun from def PFun α β := α → Part β to a structure with a FunLike instance. [Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29) **Core Architectural Changes** * **Structure Transition:** `PFun` is now a structure with a single field `toFun : α → Part β`. Raw lambdas are now explicitly packed using `PFun.mk` or `PFun.lift`. * **API Alignment:** Added the `FunLike (α →. β) α (Part β)` instance and `initialize_simps_projections`. Replaced direct `funext` usage with `DFunLike.ext`. Added comprehensive `@[simp]` lemmas for the structure (`mk_apply`, `coe_mk`, `toFun_eq_coe`, `lift_apply`). * **New Helpers:** Introduced `PFun.const` and `PFun.empty` to reduce boilerplate. **API & Breaking Changes** * **Loss of Defeq:** `PFun` is no longer definitionally equal to a raw function. Basic lemmas (like `PFun.res_univ`) now require explicit extensionality (`ext x y; rfl`). * **`prodLift_fst_comp_snd_comp`:** Rewrote the LHS using explicit `PFun.mk` wrappers. This Breaking API Change resolves a `simpNF` linter failure caused by the new `comp_lift` simp lemma. * **simpNF Compliance:** Removed `@[simp]` from `coe_val` and changed `mem_lift_iff` to `@[simp↓]` to prevent overlapping rewrite rules with `lift_apply`. **Downstream Impact** The refactor heavily impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). The strict structure boundary breaks definitional equality, meaning tactics like `simp` and `grind` can no longer "see through" the function automatically. As a result, several proofs (e.g., `fix_aux`, `ppred`, `mem_eval`, and `unitIso`) grew in size, requiring explicit `ext` + `simp` breakdowns. **Affected Files:** * **Core:** `Mathlib/Data/PFun.lean` * **Computability:** `Partrec`, `PartrecBasis`, `PartrecCode`, `RE`, `RecursiveIn`, `Ackermann`, `Halting`, `StateTransition`, `TuringDegree`, `TuringMachine/Config` * **Category Theory:** `Category/PartialFun.lean` *(Successfully removed the `respectTransparency false` hack here!)* * **Other:** `Data/Finset/PImage.lean`, `NumberTheory/Dioph.lean` new-contributor t-computability 1261/801 Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean 14 3 ['github-actions', 'mathlib-bors'] nobody
0-28045
7 hours ago
0-28124
7 hours ago
1-22169
1 day
38758 TBUGTB
author:TBUGTB
feat(LinearAlgebra/ConvexSpace): StdSimplex bind operation Define the monadic bind operation for StdSimplex and add basic API lemmas. This operation is needed for formalising the Komlós lemma used in the construction of Stochastic Integrals (cf. [this PR](https://github.com/RemyDegenne/brownian-motion/pull/399) in the brownian-motion project). t-algebra new-contributor brownian
label:t-algebra$
47/0 Mathlib/LinearAlgebra/ConvexSpace.lean 1 2 ['github-actions'] nobody
0-27069
7 hours ago
0-35670
9 hours ago
0-35797
9 hours
38026 mrdouglasny
author:mrdouglasny
feat(Analysis/Calculus): define absolutely monotone functions ## Summary - Define `AbsolutelyMonotoneOn f s` for functions `f : ℝ → ℝ` that are smooth on `s` with all iterated derivatives within `s` nonneg - Prove closure under `add`, `smul`, `mul` - Show `exp`, `cosh`, constants, and powers are absolutely monotone on appropriate domains This is the first part of a split of #37879. Follow-up PRs will add: - Bernstein backward direction (nonneg coefficients → absolutely monotone) - Bernstein forward direction (absolutely monotone → analytic at 0) - Matrix applications (Schur product theorem for power series, entrywise exp) ## Test plan - [ ] CI passes (build + lint) - [ ] Verify `AbsolutelyMonotoneOn` structure and examples type-check 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 (1M context) t-analysis new-contributor LLM-generated 123/0 Mathlib.lean,Mathlib/Analysis/Calculus/AbsolutelyMonotone.lean,docs/references.bib 3 28 ['ADedecker', 'github-actions', 'j-loreaux', 'mrdouglasny', 'sgouezel', 'vihdzp', 'wwylele'] sgouezel
assignee:sgouezel
0-15730
4 hours ago
0-15774
4 hours ago
8-36602
8 days
38631 FordUniver
author:FordUniver
feat(Combinatorics/SimpleGraph/Copy): add indLabeledCopyCount and indCopyCount Adds `indLabeledCopyCount` and `indCopyCount` to `SimpleGraph`, along with API mirroring the non-induced variants `labelledCopyCount` and `copyCount`. `indLabeledCopyCount_le_labelledCopyCount` and `indCopyCount_le_copyCount` relate the two families. The main auxiliary addition is `Embedding.ofIsInduced`, the canonical embedding of an induced subgraph into the ambient graph. --- This has been on my list for a while and addresses and resolves an explicit TODO in `Mathlib/Combinatorics/SimpleGraph/Copy.lean`. I am trying to push formalized flag algebras in Lean and need it for that. There are some additional things either building on this or orthogonal to this that I intentionally deferred and would do PRs for soon-ish: - A lot of uses of `Classical` seem like they should be replaced by `Fintype` or `Decidable{Rel,Eq}` assumptions? - Based on the first point, a lot of this could easily be made computational (another TODO in the file). - One can easily relate labelled and unlabelled count (induced and not-necessarily induced) through the number of automorphisms - One can express the induced counts through (a sum of) non-induced counts and vice-versa. - For all of this fractional density values and real limit values could be defined. **Standard disclosure.** *This PR was developed with assistance from LLM code tools, used for Mathlib style alignment and proof compactness. The mathematical content and proof strategy originate from myself; I have reviewed and vouch for the final code.* t-combinatorics new-contributor 128/5 Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 3 31 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'plp127'] nobody
0-14705
4 hours ago
1-4307
1 day ago
2-7316
2 days
36621 quantumsnow
author:quantumsnow
feat: add the category of topological pairs This is needed for the Eilenberg-Steenrod axioms for a homology theory. --- - [x] depends on: #37540 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor maintainer-merge 264/9 Mathlib.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Category/TopPair.lean,Mathlib/Topology/Homotopy/TopCat/Basic.lean 5 109 ['chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'quantumsnow', 'vlad902'] j-loreaux
assignee:j-loreaux
0-14391
3 hours ago
0-14391
3 hours ago
16-29168
16 days
38223 Deicyde
author:Deicyde
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds We define `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, following the pattern of `TopCat` in `Mathlib.Topology.Category.TopCat.Basic`. We also implement `HasForget₂ (MfldCat 𝕜 n) TopCat`—the forgetful functor into the category of topological spaces. For more discussion see the Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032) Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API. ### Future work - ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560 - ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270 - Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`. - Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor t-category-theory 225/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 3 52 ['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] kim-em
assignee:kim-em
0-13337
3 hours ago
5-68135
5 days ago
6-66787
6 days
38666 nipzu
author:nipzu
feat(MeasureTheory/Constructions/Polish): Measurability of `tprod`s/`tsum`s of measurable functions This PR adds theorems `[AE]Measurable.tprod` and their additive versions for products/sums of (ae)measurable functions to Borel spaces with Polish topology. These new theorems are marked with `fun_prop`. There are already theorems `[AE]Measurable.[e]nnreal_tsum` that are special cases of these new theorems. I don't know what the conventions are for whether those special cases should be kept or deprecated/removed. Edit: - Added also theorems `[AE]StronglyMeasurable.tprod` and `[AE][Strongly]Measurable.tprod'` that apply to `∑' i, f i` instead of `fun x => ∑' i, f i x` with weaker assumptions. Some LLM assistance was used in golfing the `tprod'` proofs. - Replaced usage of `[AE]Measurable.[e]nnreal_tsum` in mathlib with the new theorems. - Deprecated `[AE]Measurable.[e]nnreal_tsum` and `Measurable.ennreal_tsum'`. --- - [x] depends on: #38697 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import new-contributor 181/23 Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Measure/GiryMonad.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean,Mathlib/Probability/Kernel/MeasurableLIntegral.lean 10 13 ['CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'nipzu', 'sgouezel'] EtienneC30
assignee:EtienneC30
0-9387
2 hours ago
0-10244
2 hours ago
1-31487
1 day
38314 pedroscortes
author:pedroscortes
feat(CategoryTheory/Monoidal): tensorμ_braid_swap and tensor-product IsCommComonObj ## Summary Two symmetric-monoidal coherence results: 1. `MonoidalCategory.tensorμ_braid_swap` (in `Monoidal/Braided/Basic.lean`) — canonical rearrangement `tensorμ A A Y Y` intertwines the braiding on `A ⊗ Y` with the pair of braidings on `A` and `Y`. Sibling of `CategoryTheory.MonObj.mul_braiding`. 2. Tensor-product instance for `IsCommComonObj` (in `Monoidal/CommComon_.lean`): if `A, B` carry commutative comonoid structures in a symmetric monoidal category, so does `A ⊗ B`. Fills a gap alongside the existing `instCommComonObjUnit` and `instIsCommComonObjOfCartesian`. ## Downstream consumer The `IsCommComonObj` tensor-product instance is load-bearing for an external library (markovcat, formalising Fritz–Klingler Markov categories). t-category-theory new-contributor maintainer-merge 15/0 Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CommComon_.lean 2 19 ['dagurtomas', 'github-actions', 'joelriou', 'pedroscortes', 'robin-carlier'] riccardobrasca
assignee:riccardobrasca
0-7639
2 hours ago
0-16625
4 hours ago
8-59375
8 days
38777 JJYYY-JJY
author:JJYYY-JJY
feat(Algebra/Module/RingHom): add Module.compHom_smul_def This PR adds `Module.compHom_smul_def`, a rewrite for the scalar action induced by `Module.compHom`. The theorem says that after pulling a module structure back along `f : S →+* R`, the action of `s : S` is the original action of `f s : R`. This makes it possible to write `rw [Module.compHom_smul_def]` instead of manually unfolding `Module.compHom`. It is analogous to 'compHom_smul_def' in `Mathlib/Algebra/Algebra/Defs.lean` and `Mathlib/Algebra/Group/Action/Hom`. This will only add the public rewrite lemma; the existing TODO about the internal proof is intentionally left in place. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
5/0 Mathlib/Algebra/Module/RingHom.lean 1 4 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions'] nobody
0-3295
54 minutes ago
0-29038
7 hours ago
0-28730
7 hours
38745 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): rename labelledCopyCount, add @[no_expose] Renames `labelledCopyCount` to `labeledCopyCount` (American spelling per the [naming conventions](https://leanprover-community.github.io/contribute/naming.html#spelling)) and adds `@[no_expose]` to `labeledCopyCount` and `copyCount`. Deprecated aliases are provided for all renamed declarations. --- Should probably be a prerequisite for #38631. t-combinatorics new-contributor 31/19 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 12 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions'] nobody
0-2697
44 minutes ago
0-13273
3 hours ago
0-51412
14 hours
37997 emlis42
author:emlis42
feat(Algebra/ContinuedFractions): generalize determinant formula to GenContFract Let $g$ be a `GenContFract K`. In this PR I generalize the determinant formula for continued fractions from the simple continued fraction case $$A_n B_{n+1} - B_n A_{n+1} = (-1)^n$$ to the generalized continued fraction product formula $$A_n B_{n+1} - B_n A_{n+1} = (-a_0) (-a_1) \dots (-a_n)$$ - The `SimpContFract` version is still available unchanged, so this should avoid breaking existing users of the old API. - The use of `0` as the default partial numerator in `(g.partNums.get? i).getD 0` allows product formulation that remains valid when the fraction is terminated. t-algebra new-contributor large-import
label:t-algebra$
53/28 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean 2 13 ['emlis42', 'github-actions', 'themathqueen', 'vihdzp'] ocfnash
assignee:ocfnash
0-1557
25 minutes ago
3-15578
3 days ago
17-27487
17 days
38170 maddycrim
author:maddycrim
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma From FLT Project Main Definitions: `Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
9/0 Mathlib/Algebra/Module/FinitePresentation.lean 1 16 ['github-actions', 'maddycrim', 'themathqueen', 'vlad902'] nobody
0-575
9 minutes ago
9-63685
9 days ago
12-86021
12 days

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
38633 JovanGerb
author:JovanGerb
chore: golf some `grw` proofs This PR cleans up a few `grw` proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 9/20 Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Data/Int/LeastGreatest.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean 5 1 ['github-actions'] nobody
2-12957
2 days ago
2-27507
2 days ago
2-27199
2 days
38740 Bergschaf
author:Bergschaf
feat(Order/Sublattice): The range of a LatticeHom is a Sublattice --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy 12/0 Mathlib/Order/Sublattice.lean 1 1 ['github-actions'] nobody
0-82057
22 hours ago
0-82086
22 hours ago
0-81836
22 hours
38365 vihdzp
author:vihdzp
feat: `#Ordinal = univ` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory easy 6/1 Mathlib/SetTheory/Ordinal/Univ.lean 1 2 ['b-mehta', 'github-actions', 'vihdzp'] nobody
0-69439
19 hours ago
8-39533
8 days ago
8-39225
8 days
38757 xgenereux
author:xgenereux
feat(IsDedekindDomain.HeightOneSpectrum): simp lemma ofPrime_prime simp lemma for the composition of `ofPrime` and `prime`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory easy 3/0 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 1 1 ['github-actions'] nobody
0-38503
10 hours ago
0-38600
10 hours ago
0-38292
10 hours
38770 yuanyi-350
author:yuanyi-350
chore(LinearAlgebra/AffineSpace/Combination): remove an erw - replaces the `erw` in `affineSpan_eq_affineSpan_lineMap_units` with `rw` on both the hypothesis and the goal Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-algebra LLM-generated easy maintainer-merge
label:t-algebra$
1/1 Mathlib/LinearAlgebra/AffineSpace/Combination.lean 1 3 ['github-actions', 'themathqueen'] nobody
0-12970
3 hours ago
0-31042
8 hours ago
0-30734
8 hours
38441 yuanyi-350
author:yuanyi-350
doc(CategoryTheory): fix category docstrings - fixes the docstring for discrete sums to refer to sums rather than products - fixes the conical pullback docstring to name `HasConicalPullback` - fixes the `AsType` equivalence docstring to refer to `AsType α` Extracted from #38413 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex documentation LLM-generated t-category-theory easy maintainer-merge 3/3 Mathlib/CategoryTheory/Discrete/SumsProducts.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalPullbacks.lean,Mathlib/CategoryTheory/FinCategory/AsType.lean 3 3 ['dagurtomas', 'github-actions'] joelriou
assignee:joelriou
0-11598
3 hours ago
6-65772
6 days ago
6-65464
6 days

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
38604 wwylele
author:wwylele
chore(Algebra/Module): remove some `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
14/30 Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean 2 1 ['github-actions'] nobody
2-59002
2 days ago
2-59073
2 days ago
2-58765
2 days
38564 wwylele
author:wwylele
chore(Algebra/Group): remove `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
20/32 Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/GroupWithZero/Basic.lean 3 1 ['github-actions'] jcommelin
assignee:jcommelin
0-67550
18 hours ago
3-61472
3 days ago
3-61164
3 days