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: May 10, 2026 at 17:09 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
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
38-29279
1 month ago
38-29315
38 days ago
38-57767
38 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
37-12476
1 month ago
44-62409
44 days ago
44-68037
44 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
37-11326
1 month ago
37-12477
37 days ago
38-44421
38 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
36-64173
1 month ago
36-64247
36 days ago
36-64178
36 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
33-32438
1 month ago
34-31063
34 days ago
34-30994
34 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
32-82797
1 month ago
32-82857
32 days ago
35-13025
35 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
30-70965
1 month ago
34-9010
34 days ago
34-8941
34 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
29-35256
29 days ago
29-35316
29 days ago
54-7026
54 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
29-32896
29 days ago
29-32957
29 days ago
47-30472
47 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
29-32860
29 days ago
55-75428
55 days ago
55-75359
55 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
28-78209
28 days ago
28-78267
28 days ago
34-4115
34 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
27-78549
27 days ago
27-78607
27 days ago
33-45989
33 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
26-13142
26 days ago
26-13170
26 days ago
45-54538
45 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
24-76025
24 days ago
25-7282
25 days ago
25-7651
25 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
24-19194
24 days ago
24-19158
24 days ago
39-39652
39 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
23-77865
23 days ago
53-86391
53 days ago
53-86322
53 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
23-54974
23 days ago
23-55041
23 days ago
23-54972
23 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
23-30320
23 days ago
23-30344
23 days ago
39-84991
39 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
22-72360
22 days ago
22-72432
22 days ago
22-72363
22 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
22-29004
22 days ago
22-30431
22 days ago
22-30362
22 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
21-57592
21 days ago
23-7881
23 days ago
122-75801
122 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
21-57590
21 days ago
46-27917
46 days ago
65-21668
65 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
21-57589
21 days ago
46-11777
46 days ago
50-47784
50 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
21-3746
21 days ago
21-17996
21 days ago
21-22651
21 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
20-58150
20 days ago
42-18750
42 days ago
74-60021
74 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
20-58149
20 days ago
43-82101
43 days ago
43-82768
43 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
20-57633
20 days ago
22-13308
22 days ago
37-29011
37 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
19-45005
19 days ago
19-45063
19 days ago
45-42188
45 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
19-28275
19 days ago
19-28339
19 days ago
65-12790
65 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
19-11352
19 days ago
19-12244
19 days ago
19-12465
19 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
18-70500
18 days ago
19-8873
19 days ago
19-8804
19 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
18-55218
18 days ago
18-55293
18 days ago
18-55224
18 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
17-70270
17 days ago
18-4601
18 days ago
21-4231
21 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
17-62216
17 days ago
17-71046
17 days ago
19-40920
19 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
17-57546
17 days ago
42-48842
42 days ago
42-48773
42 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
17-57541
17 days ago
40-6197
40 days ago
40-59542
40 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
17-49910
17 days ago
17-49968
17 days ago
17-51451
17 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
17-23767
17 days ago
17-23838
17 days ago
17-23769
17 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
17-10521
17 days ago
17-19588
17 days ago
17-19519
17 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
17-728
17 days ago
17-784
17 days ago
36-3494
36 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
16-84664
16 days ago
16-84664
16 days ago
17-1947
17 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
16-57538
16 days ago
24-28727
24 days ago
24-29052
24 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
16-57535
16 days ago
18-63574
18 days ago
21-67046
21 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
16-52507
16 days ago
17-1284
17 days ago
17-1272
17 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
16-27948
16 days ago
16-28008
16 days ago
16-30583
16 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
15-75693
15 days ago
16-83807
16 days ago
16-84176
16 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
15-49140
15 days ago
16-60459
16 days ago
78-45197
78 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
15-45970
15 days ago
42-38914
42 days ago
72-31606
72 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
15-45860
15 days ago
15-45935
15 days ago
15-45866
15 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
15-37408
15 days ago
15-62116
15 days ago
15-62047
15 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
15-21815
15 days ago
15-21869
15 days ago
31-20859
31 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
15-21783
15 days ago
18-75727
18 days ago
18-76044
18 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
15-5405
15 days ago
21-66718
21 days ago
21-66649
21 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
15-4309
15 days ago
15-4379
15 days ago
15-4310
15 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
14-57463
14 days ago
38-13507
38 days ago
38-13438
38 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
14-32979
14 days ago
14-56641
14 days ago
14-56572
14 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
14-12967
14 days ago
14-73447
14 days ago
14-73378
14 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
14-10884
14 days ago
14-10953
14 days ago
14-10884
14 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
14-10827
14 days ago
15-1544
15 days ago
15-1475
15 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
14-10335
14 days ago
14-10335
14 days ago
14-10266
14 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
14-2763
14 days ago
14-2788
14 days ago
28-84253
28 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
13-57438
13 days ago
116-75255
116 days ago
116-75186
116 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
13-57433
13 days ago
37-27553
37 days ago
51-11312
51 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
13-57429
13 days ago
31-59868
31 days ago
33-46561
33 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
13-44135
13 days ago
13-44205
13 days ago
13-44136
13 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
12-77783
12 days ago
13-23724
13 days ago
13-25724
13 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
12-57281
12 days ago
14-41619
14 days ago
15-36253
15 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
12-51067
12 days ago
12-51069
12 days ago
13-66309
13 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
12-49776
12 days ago
24-49722
24 days ago
26-47918
26 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
12-26466
12 days ago
13-12271
13 days ago
17-26622
17 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
12-22541
12 days ago
12-22586
12 days ago
29-20728
29 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
12-9409
12 days ago
12-9624
12 days ago
12-9555
12 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
12-7064
12 days ago
12-61400
12 days ago
12-61331
12 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
11-78090
11 days ago
12-7576
12 days ago
47-44816
47 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
11-75505
11 days ago
11-75507
11 days ago
11-75438
11 days
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
11-73352
11 days ago
11-73378
11 days ago
11-74256
11 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
11-66039
11 days ago
17-56159
17 days ago
18-30916
18 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
11-57231
11 days ago
12-37657
12 days ago
12-38260
12 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
11-57228
11 days ago
21-11297
21 days ago
66-18681
66 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
11-57227
11 days ago
49-75096
49 days ago
70-30039
70 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
11-57225
11 days ago
53-9481
53 days ago
53-9420
53 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
11-57222
11 days ago
22-34372
22 days ago
30-26160
30 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
11-57221
11 days ago
33-9912
33 days ago
33-9843
33 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
11-57220
11 days ago
33-8588
33 days ago
33-8519
33 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
11-57219
11 days ago
33-8453
33 days ago
33-8384
33 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
11-57205
11 days ago
12-52241
12 days ago
12-52172
12 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
11-52443
11 days ago
11-52507
11 days ago
13-82711
13 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
11-50300
11 days ago
11-50327
11 days ago
14-37366
14 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
11-47010
11 days ago
11-47011
11 days ago
174-42011
174 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
11-41022
11 days ago
11-41022
11 days ago
17-53177
17 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
11-39919
11 days ago
11-52353
11 days ago
12-83812
12 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
11-37383
11 days ago
16-85902
16 days ago
38-61858
38 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
11-37047
11 days ago
15-44260
15 days ago
16-65613
16 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
11-36848
11 days ago
12-33762
12 days ago
12-33693
12 days
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
11-15673
11 days ago
11-15673
11 days ago
11-15605
11 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
11-15424
11 days ago
11-15424
11 days ago
11-15357
11 days
37389 martinwintermath
author:martinwintermath
chore(LinearAlgebra/SesquilinearForm): generalize `orthogonalBilin` in order to simplify definition of `orthogonal` - generalize `Submodule.orthogonalBilin` to `CommSemiring` and `AddCommMonoid`, and to general sesquilinear forms with inputs from different modules. This enables subsequent changes. - redefine `BilinForm.orthogonal` in terms of `orthogonalBilin`. - reorder arguments of `Submodule.orthogonalBilin` to match other instances of duality across mathlib. For comparison Before ```lean4 Submodule.orthogonalBilin.{u_1, u_2, u_5, u_6} {R : Type u_1} {R₁ : Type u_2} {M : Type u_5} {M₁ : Type u_6} [CommRing R] [CommRing R₁] [AddCommGroup M₁] [Module R₁ M₁] [AddCommGroup M] [Module R M] {I₁ Iβ‚‚ : R₁ β†’+* R} (N : Submodule R₁ M₁) (B : M₁ β†’β‚›β‚—[I₁] M₁ β†’β‚›β‚—[Iβ‚‚] M) : Submodule R₁ M₁ ``` After ```lean4 Submodule.orthogonalBilin.{u_1, u_2, u_3, u_5, u_6, u_7} {R : Type u_1} {R₁ : Type u_2} {Rβ‚‚ : Type u_3} {M : Type u_5} {M₁ : Type u_6} {Mβ‚‚ : Type u_7} [CommSemiring R] [CommSemiring R₁] [CommSemiring Rβ‚‚] [AddCommMonoid M] [Module R M] [AddCommMonoid M₁] [Module R₁ M₁] [AddCommMonoid Mβ‚‚] [Module Rβ‚‚ Mβ‚‚] {I₁ : R₁ β†’+* R} {Iβ‚‚ : Rβ‚‚ β†’+* R} (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
11-15108
11 days ago
11-15016
11 days ago
40-70156
40 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
11-14205
11 days ago
11-14205
11 days ago
12-14454
12 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
11-14105
11 days ago
11-14105
11 days ago
11-14037
11 days
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
11-12533
11 days ago
11-12598
11 days ago
11-13626
11 days
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
11-3613
11 days ago
11-60499
11 days ago
11-60430
11 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
11-3426
11 days ago
11-3426
11 days ago
11-3358
11 days
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
11-326
11 days ago
11-326
11 days ago
11-259
11 days
33392 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(LinearAlgebra/Transvection/Generation): non-exceptional case in DieudonnΓ©'s theorem We prove the theorem of [DieudonnΓ©-1955][J. DieudonnΓ©, β€œSur les gΓ©nΓ©rateurs des groupes classiques”]. Let `K` be a division ring and `V` be a `K`-module. * `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_eq_one`: If `e.fixedReduce = 1`, then `e` can be written as the product of `finrank K (V β§Έ e.fixedSubmodule) - 1` transvections and one dilatransvection. This is the first part of the non-exceptional case in DieudonnΓ©'s theorem. (This statement is not interesting when `e = 1`.) * `LinearEquiv.mem_transvections_pow_mul_dilatransvections_of_fixedReduce_ne_smul_id`: If `e.fixedReduce` is not a homothety, then `e` can be written as the product of `finrank K (V β§Έ e.fixedSubmodule) - 1` transvections and one dilatransvection. This is the second part of the non-exceptional case in DieudonnΓ©'s theorem. * `LinearEquiv.IsExceptional`: A linear equivalence `e : V ≃ₗ[K] V` is exceptional if `1 < finrank K (V β§Έ e.fixedSubmodule)` and if `e.fixedReduce` is a nontrivial homothety. * `LinearEquiv.mem_dilatransvections_pow_of_notIsExceptional`: This is the non-exceptional case in DieudonnΓ©'s theorem, as a combination of the two preceding statements. --- - [x] depends on: #33348 - [x] depends on: #33282 - [x] depends on: #33347 - [ ] depends on: #33387 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
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
10-78272
10 days ago
10-78301
10 days ago
41-38189
41 days
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
10-69847
10 days ago
10-69890
10 days ago
57-48211
57 days
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
10-67129
10 days ago
11-49862
11 days ago
15-43478
15 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
10-64920
10 days ago
10-64997
10 days ago
10-64928
10 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
10-57906
10 days ago
10-57932
10 days ago
18-58009
18 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
10-57281
10 days ago
56-42366
56 days ago
56-42297
56 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
10-57275
10 days ago
30-66173
30 days ago
32-63213
32 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
10-57268
10 days ago
16-73622
16 days ago
16-73555
16 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
10-52310
10 days ago
10-52382
10 days ago
10-52313
10 days
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
10-50019
10 days ago
24-14625
24 days ago
24-33595
24 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
10-49209
10 days ago
21-46694
21 days ago
29-56405
29 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
10-40817
10 days ago
10-40840
10 days ago
10-41158
10 days
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
10-33872
10 days ago
10-33894
10 days ago
16-2237
16 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
10-33031
10 days ago
10-82066
10 days ago
10-83148
10 days
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
10-26603
10 days ago
10-26603
10 days ago
10-26535
10 days
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
10-5710
10 days ago
10-5811
10 days ago
10-20681
10 days
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
10-5702
10 days ago
10-5728
10 days ago
29-10776
29 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
10-5447
10 days ago
10-5491
10 days ago
18-26558
18 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
10-613
10 days ago
10-672
10 days ago
47-36874
47 days
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
9-77674
9 days ago
13-5295
13 days ago
27-17443
27 days
38747 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Basic): more `neighborSet` and `IsIsolated` lemmas --- `neighborSet_mono` moved from `Maps.lean` to `Basic.lean` with a simpler proof [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 72/17 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean 4 2 ['github-actions', 'vlad902'] nobody
9-62496
9 days ago
9-69452
9 days ago
10-37272
10 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'] nobody
9-58148
9 days ago
35-1119
35 days ago
36-24585
36 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'] j-loreaux
assignee:j-loreaux
9-56979
9 days ago
32-44742
32 days ago
39-76416
39 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'] eric-wieser
assignee:eric-wieser
9-56976
9 days ago
73-84003
73 days ago
76-31820
76 days
35865 vihdzp
author:vihdzp
chore: review `Cardinal.ord` API This PR does the following: - Mark `Cardinal.ord` as no expose. - Prove the defining property `gciOrdCard` earlier. - Deprecate the unused `ord.orderEmbedding` (it simply restates that the function is strictly monotonic). - Rename `ord_nat` β†’ `ord_natCast`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 39/36 Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean 3 6 ['github-actions', 'mathlib-merge-conflicts'] b-mehta
assignee:b-mehta
9-56975
9 days ago
31-67255
31 days ago
67-11468
67 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 and dwrensha
assignee:dwrensha assignee:alexjbest
9-56974
9 days ago
27-63547
27 days ago
41-4565
41 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'] alreadydone
assignee:alreadydone
9-56971
9 days ago
29-84815
29 days ago
29-84747
29 days
37870 Jun2M
author:Jun2M
feat(Combinatorics/Graph): `Simple` typeclass for `Graph` This PR introduces two type classes on `Graph`: `Loopless` and `Simple`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 93/0 Mathlib.lean,Mathlib/Combinatorics/Graph/Simple.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
9-55035
9 days ago
9-55059
9 days ago
29-3023
29 days
38716 YaelDillies
author:YaelDillies
feat(Algebra/Order): `NNRat.cast_sub` From AddCombi --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
29/22 Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Data/Finset/Density.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/NNRat/Order.lean,Mathlib/Data/Rat/Star.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/Topology/Instances/Rat.lean 10 1 ['github-actions'] nobody
9-36398
9 days ago
9-36462
9 days ago
9-40776
9 days
38795 YaelDillies
author:YaelDillies
feat(Algebra/Group/Action/Pointwise): `#(s ∩ (a β€’ t)) = #{x ∈ s Γ—Λ’ t | x.1 / x.2 = a}` The `Finset` lemma already exists. From AddCombi --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
37/18 Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean 3 1 ['github-actions'] nobody
9-30191
9 days ago
9-30251
9 days ago
9-32400
9 days
38745 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): rename labelledCopyCount Renames `labelledCopyCount` to `labeledCopyCount` (American spelling per the [naming conventions](https://leanprover-community.github.io/contribute/naming.html#spelling)). 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 15 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions'] nobody
9-28837
9 days ago
10-2990
10 days ago
10-41368
10 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
9-11749
9 days ago
9-11535
9 days ago
18-49278
18 days
35868 Raph-DG
author:Raph-DG
feat(Topology): add variant of the sheaf condition which assumes non triviality of the cover In this PR we add in a variant of the sheaf condition which assumes the cover present in the sheaf condition is nontrivial in the sense that the indexing type is nonempty and the values of the presheaf on each element of the cover are nonempty. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 54/0 Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean 1 5 ['Raph-DG', 'chrisflav', 'github-actions'] PatrickMassot
assignee:PatrickMassot
9-10757
9 days ago
9-30723
9 days ago
15-8120
15 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 10 ['JovanGerb', 'github-actions', 'mathlib-bors', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
8-81578
8 days ago
9-9246
9 days ago
22-83736
22 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. new-contributor t-algebra
label:t-algebra$
19/0 Mathlib/Algebra/MvPolynomial/Equiv.lean 1 5 ['eliasjudin', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
8-72171
8 days ago
16-27623
16 days ago
17-1663
17 days
35610 IvanRenison
author:IvanRenison
feat(Data/Fin): add several lemmas about subtraction of `Fin.{castLT, castAdd, castSucc, castPred}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 66/0 Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/SuccPred.lean 2 13 ['IvanRenison', 'chrisflav', 'github-actions', 'robin-carlier', 'wwylele'] eric-wieser
assignee:eric-wieser
8-68179
8 days ago
8-68179
8 days ago
74-15218
74 days
38825 tb65536
author:tb65536
feat(RingTheory/Spectrum/FreeLocus): rank of fiber over residue field This PR proves the formula `finrank p.ResidueField (p.Fiber M) = finrank R M`. --- [![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/Spectrum/Prime/FreeLocus.lean 1 1 ['github-actions'] nobody
8-67572
8 days ago
8-67572
8 days ago
8-67505
8 days
38826 tb65536
author:tb65536
feat(RingTheory/LocalRing/ResidueField/Fiber): `IsLiesOverAlgebra` instance We use the new `IsLiesOverAlgebra` predicate from #38465 to express the fact that the existing `R_p`-algebra instance on `(p.Fiber S)_q` agrees with the one coming from the fact that `q` lies over `p`. (The point of this predicate is to avoid exactly this sort of diamond). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
7/1 Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean 1 1 ['github-actions'] nobody
8-66742
8 days ago
8-66742
8 days ago
8-66674
8 days
38646 yuanyi-350
author:yuanyi-350
refactor(Analysis): golf `Mathlib/Analysis/Normed/Unbundled/SpectralNorm` - rewrites `spectralValue_eq_zero_iff` via `eq_X_pow_iff_natDegree_le_natTrailingDegree` and `spectralValueTerms_of_lt_natDegree` - rewrites `spectralNorm.eq_of_normalClosure'` as two applications of `spectralNorm.eq_of_tower` - tidies `spectralNorm_unique` by switching the local transported structures to `set`/`letI`/`haveI` with `inferInstanceAs` Extracted from #37968 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-analysis LLM-generated 9/23 Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean 1 7 ['github-actions', 'leanprover-radar', 'sgouezel', 'themathqueen', 'yuanyi-350'] sgouezel
assignee:sgouezel
8-57657
8 days ago
9-3014
9 days ago
10-84372
10 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 t-number-theory
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'] alreadydone
assignee:alreadydone
8-57451
8 days ago
13-11697
13 days ago
31-13862
31 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'] bryangingechen
assignee:bryangingechen
8-57443
8 days ago
32-53813
32 days ago
32-53744
32 days
38382 dagurtomas
author:dagurtomas
feat(CategoryTheory/Limits): explicit coends in `Type` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 211/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Chosen/End.lean,Mathlib/CategoryTheory/Limits/Types/End.lean 3 7 ['dagurtomas', 'github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
8-57436
8 days ago
9-45310
9 days ago
11-556
11 days
38821 Jun2M
author:Jun2M
feat(Data/List): rotation of sublist is sublist of rotation This PR proves `(βˆƒ L₁ : List Ξ±, L ~r L₁ ∧ L₁ <+ L') ↔ (βˆƒ Lβ‚‚ : List Ξ±, L <+ Lβ‚‚ ∧ Lβ‚‚ ~r L')`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 10/0 Mathlib/Data/List/Rotate.lean 1 3 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
8-52523
8 days ago
8-76464
8 days ago
8-76395
8 days
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 5 ['SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
8-51855
8 days ago
8-51882
8 days ago
23-42844
23 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 random `to_dual` (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 55/42 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/SetTheory/Cardinal/Order.lean 3 9 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
8-51732
8 days ago
8-51756
8 days ago
23-50093
23 days
33143 wwylele
author:wwylele
feat(PowerSeries): pentagonal number theorem The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part. --- - [x] depends on: #30436 - [x] depends on: #38179 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
361/6 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Pentagonal.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml 5 59 ['copilot-pull-request-reviewer', 'github-actions', 'jcommelin', 'mathlib-dependent-issues', 'tb65536', 'urkud', 'vihdzp', 'wwylele'] chrisflav
assignee:chrisflav
8-49141
8 days ago
8-59572
8 days ago
118-71360
118 days
38841 SnirBroshi
author:SnirBroshi
feat(Mathlib/Order/SuccPred/Limit): more `WithTop` lemmas about `IsMin`/`CovBy`/`IsSuccLimit` --- Continues the work from #38244 We should probably also have such lemmas for `WithTopBot`/`WithBotTop`, but that's for another day [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 111/30 Mathlib/Order/Cover.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/Order/WithBot.lean 3 1 ['github-actions'] nobody
8-21294
8 days ago
8-31810
8 days ago
8-32548
8 days
38830 Jun2M
author:Jun2M
feat(Data/List): Nodup and head & getLast lemmas Given a Nodup list: * If a prefix contains the last element, they are equal * If a suffix contains the first element, they are equal * If an infix contains the first element, it is a prefix * If an infix contains the last element, it is a suffix * If the first and the last element are the same, it is a singleton * `countP` is cardinality of the filter of `toFinset`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 29/0 Mathlib/Data/Finset/Card.lean,Mathlib/Data/List/Nodup.lean 2 6 ['SnirBroshi', 'github-actions'] nobody
8-13805
8 days ago
8-13815
8 days ago
8-47665
8 days
37618 WenrongZou
author:WenrongZou
feat(PowerSeries): rename a power series as multivariate power series --- In this PR, I define the `PowerSeries.toMvPowerSeries` which use `Polynomial.toMvPolynomial` as reference. Also there is some missing APIs in `MvPowerSeries/Equiv.lean` with respect to `MvPolynomial/Equiv.lean`. I will try to add them in next several PRs. - [x] depends on: #37576 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 80/1 Mathlib/RingTheory/MvPowerSeries/Equiv.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
8-12449
8 days ago
8-32045
8 days ago
8-33708
8 days
38316 tannerduve
author:tannerduve
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction Adds `ContinuousHom.lfp` for endomorphisms on an Ο‰CPO with `βŠ₯`, as the `Ο‰Sup` of the iterate chain from `βŠ₯`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `Ο‰Sup_iterate_induction`). For `Part.fix`, adds: * `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`. * `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] βŠ₯`/`iterateChain`. * `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is Ο‰-Scott continuous. * `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`. * `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. new-contributor 114/0 Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib 3 2 ['github-actions'] nobody
7-82519
7 days ago
19-58621
19 days ago
19-59078
19 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'] mariainesdff
assignee:mariainesdff
7-57101
7 days ago
26-70041
26 days ago
26-71589
26 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 63/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
7-42239
7 days ago
12-74960
12 days ago
12-74891
12 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 maintainer-merge 9/2 docs/1000.yaml 1 12 ['YaelDillies', 'github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] nobody
7-26196
7 days ago
7-26258
7 days ago
18-27845
18 days
38634 Maldooor
author:Maldooor
feat(MeasureTheory): `restrict_absolutelyContinuous_restrict` Adding three lemmas about absolute continuity of restrictions of measures to subsets. --- [![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 4 ['EtienneC30', 'Maldooor', 'github-actions'] EtienneC30
assignee:EtienneC30
7-25232
7 days ago
7-25232
7 days ago
9-56354
9 days
38835 yuanyi-350
author:yuanyi-350
refactor(NumberTheory): golf `Mathlib/NumberTheory/Zsqrtd/GaussianInt` - rewrites `normSq_le_normSq_of_re_le_of_im_le` to reduce to the squared-coordinate inequalities and finish with `nlinarith` 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 3/5 Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean 1 9 ['MichaelStollBayreuth', 'github-actions', 'yuanyi-350'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
7-12461
7 days ago
7-15523
7 days ago
8-39065
8 days
33355 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870. ### Main definitions - `SimpleGraph.IsVertexReachable`: vertices remain reachable after removing strictly fewer than `k` other vertices. - `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable. Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). new-contributor t-combinatorics 216/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean 3 147 ['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
7-9438
7 days ago
7-19777
7 days ago
42-76412
42 days
38823 matthewjasper
author:matthewjasper
chore(LinearAlgebra/TensorProduct): fix diamond in `AddCommGroup` instance The `SMul` instance for tensor products directly used `AddCon.lift`, so wasn't type correct at instance transparency. This caused a diamond with the `AddCommGroup` instance on tensor products because after unfolding some types didn't match, so I've wrapped the sMul function in a semireducible def to prevent this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
30/23 Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean 2 5 ['github-actions', 'kbuzzard', 'leanprover-radar'] nobody
7-9303
7 days ago
8-70957
8 days ago
8-70888
8 days
34435 huaizhangchu
author:huaizhangchu
feat(Probability): convolution of Poisson distributions This PR proves that the convolution of two Poisson distributions is again a Poisson distribution: `Poisson(r₁) βˆ— Poisson(rβ‚‚) = Poisson(r₁ + rβ‚‚)` ## Main results - `poissonMeasureReal_charFun`: characteristic function of Poisson distribution is `exp(r(exp(it) - 1))` - `poissonMeasureReal_conv_poissonMeasureReal`: convolution of Poisson distributions on ℝ - `poissonMeasure_conv_poissonMeasure`: convolution of Poisson distributions on β„• - `poissonMeasure_add_poissonMeasure_of_indepFun`: sum of independent Poisson random variables ## Proof strategy Uses characteristic functions: `Ο†(t) = exp(r(eⁱᡗ - 1))`, then pulls back from ℝ to β„•. --- - [x] depends on: #34521 - [ ] depends on: #36374 t-measure-probability large-import new-contributor 123/17 Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean 2 83 ['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'huaizhangchu', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pfaffelh', 'vianna04', 'yuanyi-350'] EtienneC30
assignee:EtienneC30
7-7731
7 days ago
7-7731
7 days ago
66-20668
66 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. Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems. Co-authored-by: IvΓ‘n Renison <85908989+IvanRenison@users.noreply.github.com> --- Except for a couple of `cycleBypass` ones, 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 108/79 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
6-69872
6 days ago
37-68047
37 days ago
37-67978
37 days
38890 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Basic): more `WithTop` instances Adds the following instances: ``` CompleteLattice Ξ± β†’ CompleteLattice (WithTop Ξ±) CompleteLinearOrder Ξ± β†’ CompleteLinearOrder (WithBot Ξ±) ConditionallyCompleteLinearOrder Ξ± β†’ ConditionallyCompleteLinearOrder (WithTop Ξ±) ConditionallyCompleteLinearOrder Ξ± β†’ ConditionallyCompleteLinearOrderBot (WithBot Ξ±) ``` and some simp lemmas to help. --- These `#synth`s all succeed after this PR:
(code) ```lean variable {Ξ± : Type*} [Preorder Ξ±] #synth Preorder Ξ±α΅’α΅ˆ #synth Preorder <| WithTop Ξ± #synth Preorder <| WithBot Ξ± #synth Preorder <| WithTopBot Ξ± #synth Preorder <| WithBotTop Ξ± variable {Ξ± : Type*} [PartialOrder Ξ±] #synth PartialOrder Ξ±α΅’α΅ˆ #synth PartialOrder <| WithTop Ξ± #synth PartialOrder <| WithBot Ξ± #synth PartialOrder <| WithTopBot Ξ± #synth PartialOrder <| WithBotTop Ξ± variable {Ξ± : Type*} [LinearOrder Ξ±] #synth LinearOrder Ξ±α΅’α΅ˆ #synth LinearOrder <| WithTop Ξ± #synth LinearOrder <| WithBot Ξ± #synth LinearOrder <| WithTopBot Ξ± #synth LinearOrder <| WithBotTop Ξ± variable {Ξ± : Type*} [CompleteLattice Ξ±] #synth CompleteLattice Ξ±α΅’α΅ˆ #synth CompleteLattice <| WithTop Ξ± -- new #synth CompleteLattice <| WithBot Ξ± #synth CompleteLattice <| WithTopBot Ξ± #synth CompleteLattice <| WithBotTop Ξ± variable {Ξ± : Type*} [CompleteLinearOrder Ξ±] #synth CompleteLinearOrder Ξ±α΅’α΅ˆ #synth CompleteLinearOrder <| WithTop Ξ± #synth CompleteLinearOrder <| WithBot Ξ± -- new #synth CompleteLinearOrder <| WithTopBot Ξ± #synth CompleteLinearOrder <| WithBotTop Ξ± variable {Ξ± : Type*} [ConditionallyCompleteLattice Ξ±] #synth ConditionallyCompleteLattice Ξ±α΅’α΅ˆ #synth ConditionallyCompleteLattice <| WithTop Ξ± #synth ConditionallyCompleteLattice <| WithBot Ξ± #synth CompleteLattice <| WithTopBot Ξ± #synth CompleteLattice <| WithBotTop Ξ± variable {Ξ± : Type*} [ConditionallyCompleteLinearOrder Ξ±] #synth ConditionallyCompleteLinearOrder Ξ±α΅’α΅ˆ #synth ConditionallyCompleteLinearOrder <| WithTop Ξ± -- new #synth ConditionallyCompleteLinearOrderBot <| WithBot Ξ± -- new #synth CompleteLinearOrder <| WithTopBot Ξ± #synth CompleteLinearOrder <| WithBotTop Ξ± variable {Ξ± : Type*} [ConditionallyCompleteLinearOrderBot Ξ±] #synth ConditionallyCompleteLinearOrder Ξ±α΅’α΅ˆ #synth CompleteLinearOrder <| WithTop Ξ± #synth ConditionallyCompleteLinearOrderBot <| WithBot Ξ± -- new #synth CompleteLinearOrder <| WithTopBot Ξ± #synth CompleteLinearOrder <| WithBotTop Ξ± ```
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-order 63/9 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean 1 1 ['github-actions'] nobody
6-60918
6 days ago
6-60994
6 days ago
6-60925
6 days
37179 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add lemmas about left and right elements of `SimpleGraph.sum` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 18/0 Mathlib/Combinatorics/SimpleGraph/Sum.lean 1 3 ['WilliamCoram', 'github-actions'] b-mehta
assignee:b-mehta
6-57232
6 days ago
45-73042
45 days ago
45-72973
45 days
38872 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable` - replaces the `aeSeq`-based construction in `measurable_limit_of_tendsto_metrizable_ae` with a direct choice of the pointwise limit - proves a.e. measurability via `aemeasurable_of_tendsto_metrizable_ae` and then takes the measurable representative 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 11/19 Mathlib/MeasureTheory/Constructions/BorelSpace/Metrizable.lean 1 2 ['github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
6-57223
6 days ago
7-15511
7 days ago
7-15442
7 days
38875 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Covering/Besicovitch` - shortens the proof of `r_t0` in `exists_closedBall_covering_tsum_measure_le` by turning the contradiction argument into a direct lambda - replaces the manual `simp only` proof with `mem_iUnionβ‚‚` and a final `simp [r, this]` 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 3/8 Mathlib/MeasureTheory/Covering/Besicovitch.lean 1 2 ['github-actions', 'yuanyi-350'] RemyDegenne
assignee:RemyDegenne
6-57220
6 days ago
7-14354
7 days ago
7-14285
7 days
38876 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable` - rewrites `memLp_trim_of_mem_lpMeasSubgroup` to use `hf.mk f` instead of unpacking `hf.choose` - shortens the norm comparison to a direct rewrite with `eLpNorm_trim` and `hf.ae_eq_mk` 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 3/8 Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean 1 2 ['github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
6-57219
6 days ago
7-14019
7 days ago
7-13950
7 days
38881 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic` - shortens `stronglyMeasurable_in_set` by inlining the restricted approximation sequence and folding the `hg_eq` / `hg_zero` helper lemmas into the two `by_cases` branches 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 7/13 Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean 1 2 ['github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
6-57216
6 days ago
7-11962
7 days ago
7-11893
7 days
38882 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/AEMeasurableOrder` - replaces the manual `ΞΌ t = 0` to `ae` conversion with `measure_eq_zero_iff_ae_notMem` - rewrites the two density arguments in `aemeasurable_of_exist_almost_disjoint_supersets` using `s_dense.exists_between` and `mem_iUnionβ‚‚` 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 7/18 Mathlib/MeasureTheory/Function/AEMeasurableOrder.lean 1 2 ['github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
6-57215
6 days ago
7-11743
7 days ago
7-11674
7 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 ['Parcly-Taxel', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
6-49036
6 days ago
43-82090
43 days ago
43-82781
43 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$
155/0 Mathlib.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/LinearAlgebra/Matrix/HadamardMatrix.lean,docs/references.bib 5 14 ['JJYYY-JJY', 'dennj', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
6-48753
6 days ago
13-7231
13 days ago
13-7162
13 days
38871 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph): add parity lemmas for outer and inner vertices Adds three lemmas to `SimpleGraph.DegreeSum`: - `sum_degrees_option_zmod_two`: the handshaking lemma for `Option I` over ZMod 2 - `degree_none_zmod_two_eq_sum`: simp-normal form of the above - `card_degree_one_option_eq_outer_zmod_two`: under degree bound ≀ 2, count of degree-1 inner vertices equals outer vertex degree mod 2 t-combinatorics new-contributor 65/3 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean 1 6 ['0xTerencePrime', 'SnirBroshi', 'github-actions'] nobody
6-45604
6 days ago
7-15832
7 days ago
7-15763
7 days
38897 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the two endpoints have different colors, then the number of color-changing edges is odd. This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns antichains in a power set. This file formalizes the topological/combinatorial parity statement used as the base case in higher-dimensional Sperner arguments. ## Key declarations - `SpernerColoring`: type-safe coloring via `Fin (n + 1) β†’ ZMod 2` - `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2` - `totalDiff`: telescoping sum of all edge differences - `diffEdges`: the `Finset` of bichromatic (color-changing) edges - `sperner_1d`: main theorem β€” `Odd (diffEdges c).card` ## Design notes - Using `Fin (n + 1) β†’ ZMod 2` instead of `β„• β†’ ZMod 2` makes boundary conditions unrepresentable at the type level, eliminating out-of-bounds cases entirely. - The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero` to cancel all interior vertices, avoiding parity case splits. This is intended as the 1D base case, the approach generalizes to higher-dimensional Sperner's Lemma in future work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 133/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean 2 3 ['github-actions', 'grunweg'] nobody
6-36838
6 days ago
6-46988
6 days ago
6-46919
6 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$
26/1 Mathlib/Algebra/EuclideanDomain/Basic.lean 1 3 ['github-actions', 'wwylele'] nobody
6-34228
6 days ago
11-1679
11 days ago
11-1977
11 days
38755 TJHeeringa
author:TJHeeringa
feat(Analysis/innerProductSpace/GramMatrix): Add Gram.posSemidef_of_mapL --- `Analysis/innerProductSpace/TensorProduct` has a TODO for a continuous version of `TensorProduct.map`. One place which contains a proof for this is at [stack](https://math.stackexchange.com/a/3934668). This PR is lemma 1 of that. It is written with `.PosSemidef` instead of `≀` because the LΓΆwner Order on matrices is only defined in lean for matrices with values in `π•œ`. No AI used. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 14/0 Mathlib/Analysis/InnerProductSpace/GramMatrix.lean 1 10 ['TJHeeringa', 'github-actions', 'themathqueen'] urkud
assignee:urkud
6-23194
6 days ago
9-27674
9 days ago
9-54737
9 days
38912 yuanyi-350
author:yuanyi-350
chore(Algebra/Category/Grp/LeftExactFunctor): remove an erw - rewrites `unitIsoAux` by expanding the functorial unit and multiplication maps directly in the `rw` chain - replaces the final `erw`/manual simplification mix with a `simp only [types_tensorObj_def]` proof step Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 8/6 Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean 1 1 ['github-actions'] nobody
6-21952
6 days ago
6-22129
6 days ago
6-22060
6 days
38915 yuanyi-350
author:yuanyi-350
chore(Algebra/Category/ModuleCat/Presheaf/Sheafification): remove an erw - rewrites `homEquiv_naturality_left_symm` by expanding the composite passed to `toSheaf_map_sheafificationHomEquiv_symm` - replaces the `erw` step with a direct `rw`/`simp only [Functor.map_comp]` proof Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 3/4 Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean 1 1 ['github-actions'] nobody
6-21945
6 days ago
6-22123
6 days ago
6-22054
6 days
38916 yuanyi-350
author:yuanyi-350
chore(CategoryTheory/CatCommSq): remove an erw - rewrites `hInv_hInv` by using `conv_rhs` with `iso_hom_naturality` - removes the `rw`/`erw` pair around `Functor.comp_map` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 3/2 Mathlib/CategoryTheory/CatCommSq.lean 1 1 ['github-actions'] nobody
6-21943
6 days ago
6-22079
6 days ago
6-22010
6 days
38917 yuanyi-350
author:yuanyi-350
chore(CategoryTheory/Comma/Basic): remove an erw - rewrites the `full_map` proof by pushing `Functor.comp_map` and the naturality equalities into a single `rw`/`simp only` chain - removes the `erw`-based transport of `Ξ±.naturality_assoc` and `Ξ².naturality` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 5/5 Mathlib/CategoryTheory/Comma/Basic.lean 1 1 ['github-actions'] nobody
6-21941
6 days ago
6-22077
6 days ago
6-22008
6 days
38832 yuanyi-350
author:yuanyi-350
refactor(NumberTheory): golf `Mathlib/NumberTheory/FrobeniusNumber` - rewrites `frobeniusNumber_pair` to use `Nat.exists_add_mul_eq_of_gcd_dvd_of_mul_pred_le` instead of constructing the witnesses via the Chinese remainder argument - closes the final witness equality by applying `succ_inj` to the resulting additive decomposition 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 3/12 Mathlib/NumberTheory/FrobeniusNumber.lean 1 3 ['YaelDillies', 'github-actions', 'yuanyi-350'] tb65536
assignee:tb65536
6-14773
6 days ago
8-41663
8 days ago
8-41594
8 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 17 ['faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] mattrobball
assignee:mattrobball
6-12268
6 days ago
10-27704
10 days ago
23-47989
23 days
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- I think this is useful and one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) β‰  0 instead of the special case CharZero R with n β‰  0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 26 ['Maldooor', 'github-actions', 'lua-vr', 'mcdoll', 'samueloettl'] mcdoll
assignee:mcdoll
6-4265
6 days ago
11-11097
11 days ago
77-9841
77 days
35753 Vilin97
author:Vilin97
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods. Follow-up PR: #35755 (forward Euler method convergence). I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it. --- The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. - [ ] depends on: #38091 t-topology new-contributor LLM-generated maintainer-merge 201/0 Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean 2 58 ['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] j-loreaux
assignee:j-loreaux
5-81768
5 days ago
8-68868
8 days ago
41-31678
41 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 maintainer-merge 480/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib 4 18 ['copilot-pull-request-reviewer', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
5-80287
5 days ago
5-80025
5 days ago
39-68118
39 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 103/0 Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/Minimal.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Sober.lean 5 3 ['ADedecker', 'github-actions', 'mathlib-merge-conflicts'] urkud
assignee:urkud
5-79696
5 days ago
5-79733
5 days ago
22-58937
22 days
38816 tb65536
author:tb65536
refactor(GroupTheory/Finiteness): make duplicate definitions into abbrevs The definitions `Submonoid.FG`, `Group.FG`, and `Subgroup.FG` are all equivalent to `Monoid.FG`, so I've made them into abbrevs. In the future we might even want to consider deprecating all but one to avoid having four ways to write the same thing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
140/122 Mathlib/Algebra/AffineMonoid/Irreducible.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/MonoidLocalization/Finite.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Defs.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean 9 5 ['eric-wieser', 'github-actions', 'j-loreaux', 'tb65536'] nobody
5-64768
5 days ago
8-79801
8 days ago
8-79733
8 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 149/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 19 ['CoolRmal', 'github-actions', 'j-loreaux', 'leanprover-radar', 'scholzhannah'] j-loreaux
assignee:j-loreaux
5-59238
5 days ago
5-59293
5 days ago
14-4449
14 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'] eric-wieser
assignee:eric-wieser
5-57450
5 days ago
43-82104
43 days ago
43-82825
43 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'] themathqueen
assignee:themathqueen
5-57446
5 days ago
38-71226
38 days ago
38-71157
38 days
37984 loefflerd
author:loefflerd
feat: abstract theory of measures General foundations of non-archimedean measure theory (intended for applications to Iwasawa algebras) --- - [x] depends on: #38701 t-topology 458/0 Mathlib.lean,Mathlib/NumberTheory/Padics/Measure/Basic.lean,Mathlib/NumberTheory/Padics/Measure/Group.lean,Mathlib/NumberTheory/Padics/Measure/Topology.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] PatrickMassot
assignee:PatrickMassot
5-57444
5 days ago
5-71834
5 days ago
5-72493
5 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'] alreadydone
assignee:alreadydone
5-57443
5 days ago
26-388
26 days ago
26-319
26 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'] themathqueen
assignee:themathqueen
5-57442
5 days ago
24-47901
24 days ago
24-47832
24 days
38801 TBUGTB
author:TBUGTB
feat(Topology/Order): order topology on WithTop API lemmas Upstream lemmas on the order topology on WithTop from the brownian motion project. Co-authored-by: Kexing Ying --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology brownian new-contributor 24/0 Mathlib/Order/Filter/AtTopBot/Basic.lean,Mathlib/Topology/Order/WithTop.lean 2 8 ['TBUGTB', 'github-actions', 'plp127', 'vihdzp'] j-loreaux
assignee:j-loreaux
5-57440
5 days ago
8-25634
8 days ago
9-10652
9 days
38880 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/LpSpace/Complete` - shortens `ae_tendsto_of_cauchy_eLpNorm'` by rewriting the telescoping partial sums in `hx.hasSum.tendsto_sum_nat` directly and concluding with `add_const`, instead of introducing an intermediate eventual `βˆƒ l` 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/20 Mathlib/MeasureTheory/Function/LpSpace/Complete.lean 1 2 ['Parcly-Taxel', 'github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
5-57437
5 days ago
7-12236
7 days ago
7-12167
7 days
38883 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/AEMeasurableSequence` - rewrites `iSup` by filtering directly along `aeSeq_eq_fun_ae hf hp`, instead of proving a subset statement about `aeSeqSet` and then using `measure_mono_null` 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 2/6 Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean 1 2 ['github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
5-57436
5 days ago
7-11524
7 days ago
7-11455
7 days
38895 emlis42
author:emlis42
chore(Algebra/ContinuedFractions): golf This PR simplifies some proofs in `Algebra/ContinuedFractions` t-algebra new-contributor
label:t-algebra$
39/63 Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean 7 2 ['github-actions'] nobody
5-55954
5 days ago
5-61165
5 days ago
6-49399
6 days
37714 mortarsanjaya
author:mortarsanjaya
feat(Algebra/Order/Floor/Defs): `Nat.cast` is strictly monotone in `FloorSemiring` and `FloorRing` As title says, and without the `IsOrderedRing` assumption. Other than that, I removed the `IsOrderedRing` assumption from pretty much all the lemmas in `Algebra/Order/Floor/Defs` that could possibly have this assumption removed, and reduced some `IsStrictOrderedRing` assumptions to `IsOrderedRing` + `Nontrivial`. Due to strict monotonicity, we can also provide `CharZero` instance on `FloorSemiring` and `FloorRing`. Thus we can remove the `NeZero` and `Nontrivial` instances on them. The changes on `/Ring` and `/Semiring` are trivial changes due to some lemmas not requiring an `IsOrderedRing` instance anymore. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
96/39 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean 5 24 ['dagurtomas', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mortarsanjaya'] eric-wieser
assignee:eric-wieser
5-41748
5 days ago
9-17519
9 days ago
33-16940
33 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
5-41656
5 days ago
27-6650
27 days ago
27-68875
27 days
38906 lua-vr
author:lua-vr
feat(ConditionallyCompleteLattice/Indexed): add binary versions of lemmas Add binary versions of some of the lemmas. Those are useful when the domain is indexed over the members of a set. From the Carleson project. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order carleson 22/5 Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 1 12 ['JovanGerb', 'SnirBroshi', 'github-actions', 'grunweg', 'lua-vr'] nobody
5-36948
5 days ago
6-9273
6 days ago
6-20051
6 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 27 ['ADedecker', 'EtienneC30', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] nobody
5-30951
5 days ago
5-30991
5 days ago
45-26272
45 days
38951 thomaskwaring
author:thomaskwaring
feat(Order/PrimeSeparator): remove unnecessary hypotheses In `mem_ideal_sup_principal`, boundedness and distributivity were unused, and in `prime_ideal_of_disjoint_filter_ideal`, boundedness was only used to produce an element of the filter `F`, which is already nonempty by definition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 9/19 Mathlib/Order/PrimeSeparator.lean 1 2 ['github-actions'] nobody
5-29529
5 days ago
5-29616
5 days ago
5-29547
5 days
38866 j-mayoral
author:j-mayoral
feat(PresentedGroup): free-product of presentations is isomorphic to the presentation of the union (over the disjoint union of generators) --- Adds the theorem that the free product of presentations is isomorphic to the presentation on the disjoint union of the generators with the union of the relations. That is, `<Ξ± | R₁> * <Ξ² | Rβ‚‚> ≃* <Ξ± βŠ• Ξ² | iΞ±(R₁) βˆͺ iΞ²(Rβ‚‚)>`. Don't know if the current file is the best to add this result. I have the feeling this could be made more elegant, avoiding the need to state lemmas explicitly about the relations of the canonical maps, by instead working with relations on the free product of free groups and then studying how quotienting by relations behaves in terms of isomorphisms. However, that approach is less straightforward, so I prefer to keep the current PR as is and discuss possible refinements there to get better feedback (I’m new and still learning). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-group-theory large-import 60/0 Mathlib/GroupTheory/PresentedGroup.lean 1 6 ['github-actions', 'j-mayoral', 'kbuzzard'] tb65536
assignee:tb65536
5-24482
5 days ago
6-41746
6 days ago
7-18097
7 days
31222 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): `Hom` commute with flat base change In this PR, we proved `Hom_S (M \tensor S, N \tensor S)` is base change of `Hom_R (M, N)` with respect to `LinearMap.baseChangeHom`. Co-authored-by: Wang Jingting --- - [x] depends on: #31218 - [x] depends on: #31219 - [x] depends on: #31696 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
49/0 Mathlib/Algebra/Module/FinitePresentation.lean 1 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
5-16656
5 days ago
9-66707
9 days ago
9-66904
9 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'] alreadydone
assignee:alreadydone
5-16166
5 days ago
27-25328
27 days ago
27-37053
27 days
38925 yuanyi-350
author:yuanyi-350
chore(ModelTheory/ElementaryMaps): remove an erw - rewrites `map_boundedFormula` by avoiding the `iff_eq_eq` detour and using the restricted free-variable realization lemma directly - shortens `isElementary_of_exists` by replacing the `map_rel` `erw` with explicit `simp_rw` 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-logic maintainer-merge 9/7 Mathlib/ModelTheory/ElementaryMaps.lean 1 3 ['github-actions', 'j-loreaux', 'loefflerd'] nobody
5-12936
5 days ago
6-22061
6 days ago
6-21992
6 days
38833 yuanyi-350
author:yuanyi-350
refactor(NumberTheory): golf `Mathlib/NumberTheory/EllipticDivisibilitySequence` - rewrites `complEDSβ‚‚_mul_b` by evaluating the parity split directly with `simp_rw` and `split_ifs`, removing the separate `Int.negInduction` proof 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 3/8 Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 1 3 ['github-actions', 'loefflerd', 'yuanyi-350'] loefflerd
assignee:loefflerd
5-8375
5 days ago
8-41661
8 days ago
8-41592
8 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
5-7266
5 days ago
17-18122
17 days ago
46-20379
46 days
38967 abeldonate
author:abeldonate
doc(Algebra/Module/Projective): remove TODOs Remove the TODO list, since the have already been implemented on an instance. t-algebra new-contributor
label:t-algebra$
0/7 Mathlib/Algebra/Module/Projective.lean 1 3 ['github-actions'] nobody
5-4318
5 days ago
5-5988
5 days ago
5-5919
5 days
33958 chrisflav
author:chrisflav
feat(AlgebraicGeometry): the small affine étale site We define the small affine étale site of a scheme `S`. The underlying category is the category of commutative rings `R` equipped with an étale structure morphism `Spec R ⟢ S`. This category is essentially small (in contrast to the full small étale site). We show that it has the same category of sheaves as the small étale site of `S` and deduce from this that étale sheafification of presheaves with values in `Type u` exists and that the category of sheaves on the étale site with values in a Grothendieck abelian category is Grothendieck abelian. In particular, this allows us to define the étale cohomology groups of a sheaf with values in `Ab.{u}` to be in `Type u`. From Proetale. Co-authored-by: Joël Riou --- - [x] depends on: #35711 - [x] depends on: #35240 - [x] depends on: #34976 - [x] depends on: #33957 - [x] depends on: #38820 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 261/1 Mathlib.lean,Mathlib/AlgebraicGeometry/LimitsOver.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Sites/Affine.lean,Mathlib/AlgebraicGeometry/Sites/AffineEtale.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean 6 20 ['chrisflav', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
4-85301
4 days ago
4-85301
4 days ago
8-62109
8 days
38786 martinwintermath
author:martinwintermath
feat(Data/SetLike): add `IsConcreteNeg` Add file `SetLike/Pointwise.lean` with main definition `class IsConcreteNeg` which expresses that a given `Neg` on a `SetLike` objects is compatible with the injection into sets. This is in analogy to `SetLike.IsConcreteLE`. For demonstration: - we rework negation on `Submodule` to make use of `IsConcreteNeg` - we provide `Neg` in `AffineSubspace` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry 185/20 Mathlib.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Data/SetLike/Pointwise.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Pointwise.lean,Mathlib/LinearAlgebra/Span/Basic.lean 6 2 ['github-actions', 'mathlib-bors'] nobody
4-81023
4 days ago
4-80954
4 days ago
4-81179
4 days
34742 Brian-Nugent
author:Brian-Nugent
feat(SheafCohomology): add API for Sheaf Cohomology Defines `H.equivβ‚€`, the additive equivalence between `H F 0` and `F.obj.obj (op T)` 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 99/23 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 3 53 ['Brian-Nugent', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster', 'mathlib-merge-conflicts', 'robin-carlier'] robin-carlier
assignee:robin-carlier
4-80293
4 days ago
4-80397
4 days ago
85-68335
85 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
4-75747
4 days ago
4-75747
4 days ago
23-3388
23 days
36501 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/GradedAlgebra/Homogeneous/RingQuot): graded structure on the quotient of a graded ring by a homogeneous ideal Define the graded structure on the quotient of a graded ring by a homogeneous ideal Co-authored with: @mariainesdff (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$
551/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 131 ['AntoineChambert-Loir', 'chrisflav', 'eric-wieser', 'github-actions', 'robin-carlier'] eric-wieser, ocfnash, robin-carlier
assignee:eric-wieser assignee:ocfnash assignee:robin-carlier
4-71548
4 days ago
10-78407
10 days ago
34-75423
34 days
38974 Brian-Nugent
author:Brian-Nugent
chore: fix documentation of `LocallyQuasiFinite` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry easy 6/5 Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean 1 1 ['github-actions'] nobody
4-68204
4 days ago
4-69279
4 days ago
4-69210
4 days
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 3 ['SnirBroshi', 'dagurtomas', 'github-actions'] nobody
4-66579
4 days ago
4-66579
4 days ago
11-64031
11 days
38975 ldct
author:ldct
feat(EReal): Add equations for EReal Add equational lemmas for the simplifier to simplify `[natural number literal] + ⊀` in `EReal`, and add a test file in `MathlibTest/EReal.lean`. Without these lemmas, `simp` fails to close many of the goals in `MathlibTest/EReal.lean`. I believe simp should close all of them. An alternative is to add something like this as a simp lemma, to allow `top_add_of_ne_bot` to make progress, but it's not clear to me that this is desirable as a simp lemma, since it's not equational ``` example {n : β„•} [n.AtLeastTwo] : (ofNat(n) : EReal) β‰  ⊀ := by exact Ne.symm (not_eq_of_beq_eq_false rfl) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 32/0 Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean 2 2 ['github-actions', 'vihdzp'] nobody
4-62346
4 days ago
4-65334
4 days ago
4-65265
4 days
37712 eric-wieser
author:eric-wieser
feat: add a `LawfulXor` typeclass I've put this in mathlib since it can use `Function.Involutive`; it can of course be upstreamed at a later date. Having this generalization encourages downstream code in cslib to be expressed in terms of involutive functions, rather than just `^^^` on bitvectors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 130/0 Mathlib.lean,Mathlib/Data/LawfulXor.lean 2 6 ['eric-wieser', 'github-actions', 'linesthatinterlace'] nobody
4-57706
4 days ago
4-57778
4 days ago
11-50301
11 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. new-contributor t-measure-probability 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'] EtienneC30
assignee:EtienneC30
4-57466
4 days ago
13-65067
13 days ago
24-11611
24 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'] TwoFX
assignee:TwoFX
4-57464
4 days ago
29-14665
29 days ago
36-56961
36 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 257/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'] mattrobball
assignee:mattrobball
4-57460
4 days ago
7-70449
7 days ago
25-68833
25 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'] fpvandoorn
assignee:fpvandoorn
4-57459
4 days ago
21-42833
21 days ago
21-42764
21 days
38778 felixpernegger
author:felixpernegger
feat(Topology/EMetricSpace): instances of weak extended metric spaces Continuation of #38105. In particular, this makes `ENNReal` and `EReal` weak extended metric spaces. After this PR one can probably generalise various results/definition which use `(Pseudo)EMetricSpace` to use `Weak(Pseudo)EMetricSpace` (so that they in particular also hold for `ENNReal` and `EReal`) t-topology 247/0 Mathlib.lean,Mathlib/Topology/EMetricSpace/Weak.lean 2 1 ['github-actions'] PatrickMassot
assignee:PatrickMassot
4-57454
4 days ago
5-55358
5 days ago
5-56243
5 days
38815 dagurtomas
author:dagurtomas
feat(Tactic/CategoryTheory): extend `@[to_app]` to natural transformations This extends the `@[to_app]` attribute so it also generates componentwise lemmas from equalities of natural transformations between functors, while preserving the existing bicategory behavior. It also ensures generated component lemmas remain usable by dsimp when they are definitionally true. t-category-theory LLM-generated t-meta 148/22 Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/CategoryTheory/ToApp.lean 3 1 ['github-actions'] kim-em
assignee:kim-em
4-57453
4 days ago
8-83648
8 days ago
8-83633
8 days
37707 MavenRain
author:MavenRain
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor Addresses #34962 new-contributor t-combinatorics 44/31 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 4 ['MavenRain', 'SnirBroshi', 'github-actions'] nobody
4-50429
4 days ago
4-51515
4 days ago
4-53086
4 days
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
4-36590
4 days ago
26-18507
26 days ago
26-18591
26 days
36785 hommmmm
author:hommmmm
feat(RingTheory/Localization): Nagata's criterion for primality in localization away ## Summary - Add `dvd_of_mem_span_singleton_localization`: if `p` is prime and `p ∀ x`, then membership in the span of the image of `x` in `R[1/p]` implies divisibility by `x`. - Add `prime_of_prime_in_localization` (Nagata's criterion): if `p` is prime, `x` is irreducible, and the image of `x` in `R[1/p]` is prime, then `x` is prime. ## References - [Stacks Project, Tag 0AFU](https://stacks.math.columbia.edu/tag/0afu) ## AI Disclosure This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 50/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 8 ['chrisflav', 'github-actions', 'hommmmm'] chrisflav
assignee:chrisflav
4-35660
4 days ago
4-35660
4 days ago
27-19732
27 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. - [x] depends on: #38933 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 193/2 Mathlib.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/UFD.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Localization.lean 6 20 ['chrisflav', 'github-actions', 'mathlib-dependent-issues', 'mbkybky', 'tb65536'] chrisflav
assignee:chrisflav
4-34131
4 days ago
5-35380
5 days ago
53-35576
53 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'] mattrobball
assignee:mattrobball
4-34125
4 days ago
25-46530
25 days ago
25-47622
25 days
38950 smmercuri
author:smmercuri
chore(Algebra): `coe_algHom` -> `coe_toAlgHom` --- There are also instances of `coe_ringHom`, `coe_linearMap` etc which I can fix in follow-up PRs [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 78/64 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/Cyclotomic/Gal.lean,Mathlib/RingTheory/Algebraic/MvPolynomial.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/DividedPowerAlgebra/Init.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/GradedAlgebra/AlgHom.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/FundamentalTheorem.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,Mathlib/RingTheory/TensorProduct/Maps.lean 33 2 ['github-actions'] nobody
4-31014
4 days ago
5-27538
5 days ago
5-29304
5 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 4 ['dagurtomas', 'github-actions'] nobody
4-30786
4 days ago
12-21587
12 days ago
12-21518
12 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. This follows other basic definitions such as `IsMax`/`CovBy`. [![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 2 ['JovanGerb', 'github-actions'] nobody
4-28776
4 days ago
13-58777
13 days ago
13-61539
13 days
38483 jessealama
author:jessealama
feat(Algebra/BigOperators): add `Antiperiodic.sum_Ico_shift` Three lemmas about `Finset` sums of `Function.Antiperiodic` functions: `sum_map_add_right` says that for `f` antiperiodic with antiperiod `c`, summing `f` over a `Finset` shifted by `c` (via `addRightEmbedding c`) negates the sum over the original; `sum_Ico_shift` is the half-open-interval specialization, immediate via `Finset.map_add_right_Ico`; and `sum_Ico_mul_add_sum_Ico_mul_shift_eq_zero` is a bilinear cancellation variant. Spun off from #29713 (Euler-PoincarΓ© formula), where the bilinear form is used. t-algebra
label:t-algebra$
63/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean 2 5 ['github-actions', 'j-loreaux', 'jessealama', 'wwylele'] nobody
4-22210
4 days ago
5-37749
5 days ago
15-10711
15 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 7 ['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] JovanGerb
assignee:JovanGerb
4-22025
4 days ago
27-16973
27 days ago
65-25362
65 days
38949 YaelDillies
author:YaelDillies
chore: untag duplicated `gcongr` lemmas Follow-up to #38793 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 11/9 Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Analysis/SpecialFunctions/Sigmoid.lean,Mathlib/Data/Finset/Density.lean,Mathlib/RingTheory/Localization/Submodule.lean 6 3 ['JovanGerb', 'github-actions'] nobody
4-16551
4 days ago
4-16638
4 days ago
5-38970
5 days
37310 CoolRmal
author:CoolRmal
feat(MeasureTheory): uniformly distributed outer regular measures in a second countable pseudometric space are unique up to a finite constant In this PR we define uniformly distributed measures and prove [Christensen's Lemma](https://en.wikipedia.org/wiki/Spherical_measure), which says that uniformly distributed outer regular measures in a second countable pseudometric space are unique up to a finite constant. A classical application of Christensen's Lemma is to show that the restriction of the `n - 1`-dimensional Hausdorff measure onto an `n`-dimensional sphere coincides with the spherical measure. This will be done in another PR. --- - [x] depends on: #37311 - [x] depends on: #37312 - [x] depends on: #37313 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 201/1 Mathlib.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/UniformlyDistributed.lean,Mathlib/Order/LiminfLimsup.lean 4 17 ['CoolRmal', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'wwylele'] RemyDegenne
assignee:RemyDegenne
4-16075
4 days ago
5-59189
5 days ago
9-3016
9 days
38989 grunweg
author:grunweg
chore: remove `(d)simp only []` Either remove them (when they were unnecessary), or replace by something more low-level. --- I'm happy to make them `simp only` instead, if that is preferred. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 10/17 Counterexamples/AharoniKorman.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/ModelTheory/Encoding.lean 11 4 ['b-mehta', 'github-actions', 'grunweg'] nobody
4-15618
4 days ago
4-30886
4 days ago
4-30817
4 days
37553 grunweg
author:grunweg
chore: golf using .ne and friends ne_of_gt -> .ne' ne_of_lt -> .ne le_of_lt -> .le Drive-by golfs using gcongr and positivity and been split into separate PRs. --- - [x] depends on: #37462 - [x] depends on: #37715 - [x] depends on: #37554 - [x] depends on: #37845 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 302/321 Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Poisson.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Real/ConjExponents.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean 114 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
4-14660
4 days ago
4-27736
4 days ago
10-41084
10 days
38979 ldct
author:ldct
feat(EReal): simplify nat + ⊀ Alternative version of https://github.com/leanprover-community/mathlib4/pull/38975 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 28/2 Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean 3 6 ['SnirBroshi', 'eric-wieser', 'github-actions', 'ldct', 'leanprover-radar'] nobody
4-10461
4 days ago
4-10227
4 days ago
4-10288
4 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
4-6058
4 days ago
11-47644
11 days ago
11-47575
11 days
39006 tb65536
author:tb65536
feat(Algebra/Field/Subfield/Basic): add definition of finitely generated fields This PR adds a definition of finitely generated fields with API relating this definition to the existing definitions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
18/0 Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean 3 1 ['github-actions'] nobody
4-4465
4 days ago
4-4465
4 days ago
4-4398
4 days
38884 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/Egorov` - shortens `tendstoUniformlyOn_diff_iUnionNotConvergentSeq` by extracting the needed distance bound from `hx` with a single `not_lt.mp` argument, instead of unpacking `hx` via a long `simp`/`push Not` chain 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/Function/Egorov.lean 1 2 ['github-actions', 'yuanyi-350'] sgouezel
assignee:sgouezel
4-3502
4 days ago
7-11311
7 days ago
7-11242
7 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$
287/1 Mathlib.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean 4 30 ['Multramate', 'Whysoserioushah', 'faenuccio', 'github-actions', 'kbuzzard', 'riccardobrasca'] faenuccio
assignee:faenuccio
4-3155
4 days ago
9-60509
9 days ago
13-79894
13 days
36216 michaellee94
author:michaellee94
feat(CategoryTheory): characterize pullback squares via the `Over` category --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor maintainer-merge 47/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Basic.lean 1 18 ['dagurtomas', 'github-actions', 'joelriou', 'michaellee94'] robin-carlier
assignee:robin-carlier
4-1192
4 days ago
4-1219
4 days ago
6-51980
6 days
38431 joelriou
author:joelriou
refactor(Topology): redefine Delta-generated spaces Delta-generated spaces are made particular cases of `X`-generated spaces, where `X` is a family of topological spaces. --- - [x] depends on: #38080 - [x] depends on: #37799 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology large-import 139/208 Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Convenient/Category.lean,Mathlib/Topology/Convenient/GeneratedBy.lean 4 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
3-86260
3 days ago
3-86158
3 days ago
3-86167
3 days
39011 Vierkantor
author:Vierkantor
chore(Algebra/Polynomial/Module): workaround for backward.inferInstanceAs This PR, like #38990, works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `PolynomialModule` with `Finsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `PolynomialModule`'s `FunLike` instance, instead of the custom `CoeFun` instance. This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `PolynomialModule` and `Finsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `PolynomialModule` an `@[implicit_reducible]`, because we need different multiplication on it than `Finsupp` has. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
8/5 Mathlib/Algebra/Polynomial/Module/Basic.lean 1 1 ['github-actions'] nobody
3-86125
3 days ago
3-86209
3 days ago
3-86140
3 days
38968 eric-wieser
author:eric-wieser
fix: improve defeqs of comp actions The (deliberately) non-reducible `SMul.comp.smul` definition caused us to end with these failing unification examples at instance reducibility: ```lean example : (Module.compHom β„• (RingHom.id β„•)).toSMul = SMul.comp β„• (RingHom.id β„•) := by with_reducible_and_instances rfl example : (Module.compHom β„• (RingHom.id β„•)).toMulAction = MulAction.compHom β„• (MonoidHom.id β„•) := by with_reducible_and_instances rfl ``` There are two issues this fixes: * the `compHom` constructors are inconsistent on whether they use `SMul.comp.smul` or reimplement its contents * we need `SMul.comp.smul` to be instance-reducible, so that when invoked with the identity function it is instance-defeq to the original action. As a bonus, allowing these to unify means we can have a single `SMul.comp_smul_def` lemma that works for all of the `compHom` definitions. We could also consider changing `compHom` to take a `HomClass` in order to remove the casts entirely, which would remove the need to add these `SMul.comp` terms. This PR leaves that for possible future work, noting that in the past we have moved away from writing `def`s taking `HomClass`es. Co-authored-by: Junye Ji --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Refined from #38777 t-algebra
label:t-algebra$
35/19 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean 5 3 ['JJYYY-JJY', 'eric-wieser', 'github-actions'] nobody
3-62496
3 days ago
3-71926
3 days ago
3-71857
3 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'] nobody
3-58149
3 days ago
33-61060
33 days ago
33-61484
33 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'] EtienneC30
assignee:EtienneC30
3-57249
3 days ago
26-76090
26 days ago
26-76784
26 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'] riccardobrasca
assignee:riccardobrasca
3-57246
3 days ago
22-62936
22 days ago
22-65532
22 days
38885 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/LpOrder` - rewrites `coeFn_nonneg` to use the `Lp.coeFn_zero` eventual equality directly via `trans_le`, instead of a separate `filter_upwards` 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 1/4 Mathlib/MeasureTheory/Function/LpOrder.lean 1 2 ['github-actions', 'yuanyi-350'] RemyDegenne
assignee:RemyDegenne
3-57242
3 days ago
7-11091
7 days ago
7-11022
7 days
38886 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Function/SimpleFuncDenseLp` - rewrites `measure_preimage_lt_top_of_memLp` via `FinMeasSupp.of_lintegral_ne_top` and `FinMeasSupp.map_iff`, instead of expanding `eLpNorm'` and splitting through `ENNReal.mul_lt_top_iff` 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 9/21 Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean 1 2 ['github-actions', 'yuanyi-350'] RemyDegenne
assignee:RemyDegenne
3-57241
3 days ago
7-10883
7 days ago
7-10814
7 days
39004 zhuyizheng
author:zhuyizheng
chore(ModelTheory): fix hypo of `realize_liftAt` changes the hypo of `realize_liftAt` from the incorrect `(hmn : m + n' ≀ n + 1)` to the correct `(hmn : m ≀ n)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 2/2 Mathlib/ModelTheory/Semantics.lean 1 3 ['github-actions', 'plp127', 'zhuyizheng'] nobody
3-57090
3 days ago
4-6819
4 days ago
4-6750
4 days
39018 khwilson
author:khwilson
feat(Topology/Separation/Regular): facts about `nhdsSet` in normal spaces A few lemmas about `nhdsSet` in normal spaces that mirror `nhds` in regular spaces. Originally built as part of a proof of Michael's Selection Theorem, that didn't make the final cut, but nonetheless seemed useful to the library. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 24/0 Mathlib/Topology/Separation/Regular.lean 1 1 ['github-actions'] nobody
3-52022
3 days ago
3-52098
3 days ago
3-52044
3 days
37755 YaelDillies
author:YaelDillies
refactor(Data/Finsupp): use `single` in `uniqueEquiv` In essence, this changes `(Finsupp.uniqueEquiv i).symm m` from having support `univ.filter (fun _ ↦ m β‰  0)` to having support `if m = 0 then {i} else βˆ…`. These are equal, but having the RHS be `single 1 r` is much more useful in practice. Similarly for `MonoidAlgebra`. Also rename `Equiv.finsuppUnique` to `Finsupp.uniqueEquiv` and change the `Unique ΞΉ` argument into `Subsingleton ΞΉ` and `i : ΞΉ`. Similarly for `AddEquiv` and `LinearEquiv`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 98/74 Mathlib/Algebra/FreeAlgebra/Cardinality.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/RepresentationTheory/Action.lean,Mathlib/RepresentationTheory/Equiv.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/GaussNorm.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/TensorProduct/Free.lean 21 6 ['YaelDillies', 'eric-wieser', 'github-actions'] nobody
3-46865
3 days ago
3-77645
3 days ago
3-77815
3 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 LLM-generated 157/0 Mathlib/Combinatorics/Quiver/Schreier.lean 1 2 ['github-actions'] nobody
3-43544
3 days ago
19-77018
19 days ago
19-76949
19 days
38907 YaelDillies
author:YaelDillies
chore(Geometry): move `ConvexSpace` out of `LinearAlgebra` `ConvexSpace` is convex geometry, not linear algebra --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry file-removed maintainer-merge 6/7 Mathlib.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/README.md 5 5 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
3-42000
3 days ago
3-42039
3 days ago
6-2177
6 days
38873 yuanyi-350
author:yuanyi-350
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/BorelSpace/Real` - rewrites `measurable_const_mul` by splitting off the `c = 0` case and proving the nonzero case via `measurable_of_continuousOn_compl_singleton` - replaces the ad hoc case analysis on `βŠ₯`, `⊀`, and real coefficients with a direct continuity argument for multiplication on `EReal` 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/19 Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean 1 3 ['LorenzoLuccioli', 'github-actions', 'yuanyi-350'] kex-y
assignee:kex-y
3-41354
3 days ago
3-60664
3 days ago
6-71704
6 days
39003 TwoFX
author:TwoFX
chore: avoid declaring duplicate instances `LE String` and `LT String` Since forever, mathlib has declared `LE String` and `LT String` instances which are propositionally, but not definitionally, equal to the `LE String` and `LT String` instances that have shipped with core. This regularly leads to problems with automation that expects instances to be canonical, most recently as described in leanprover/lean4#13544. This PR demotes the mathlib instances to definitions, and redefines the `LinearOrder String` instance to use the core-provided instances rather than the ones defined in mathlib. It also redeclares the theorems `String.lt_iff_toList_lt` and `String.le_iff_toList_le` to be about the core-provided instances rather than the mathlib ones, and the theorems about the mathlib instances are now called `String.lt_iff_toList_lt'` and `String.le_iff_toList_le'`. Deprecating the material related to the mathlib instances would be a logical next step, but it might make sense to wait with this until core ships more API for `LE String` and `LT String` (right now it ships none). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 31/14 Mathlib/Data/String/Basic.lean 1 5 ['TwoFX', 'eric-wieser', 'github-actions'] nobody
3-38048
3 days ago
3-39874
3 days ago
3-40278
3 days
39016 vihdzp
author:vihdzp
chore: deprecate `WithZero.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-algebra
label:t-algebra$
14/24 Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/FieldTheory/RatFunc/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 4 1 ['github-actions'] nobody
3-38031
3 days ago
3-38489
3 days ago
3-40640
3 days
39023 TBUGTB
author:TBUGTB
feat(Algebra/Order): API lemmas on floor and abs Co-authored-by: Etienne Marion @EtienneC30 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra brownian new-contributor
label:t-algebra$
9/0 Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Ring/Abs.lean 2 3 ['TBUGTB', 'github-actions'] nobody
3-25270
3 days ago
3-28459
3 days ago
3-28390
3 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 3 ['github-actions', 'mathlib-dependent-issues', 'sgouezel'] sgouezel
assignee:sgouezel
3-19040
3 days ago
55-22543
55 days ago
55-22475
55 days
39029 felixpernegger
author:felixpernegger
chore: remove redundant `unfold`s This PR removed roughly (estimated by files I went through) half of the `unfold`'s in mathlib which can be removed such that the proof still works (found by searching `unfold ` in VSCode in manually going through ~600/1100 occurences). I originally planned to replace all, but I couldn't find any relevant discussion if this is actually a good practice, so to save potentially wasted time, I make this PR now. (similarly with the `clear` tactic) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 63/108 Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Computability/TuringMachine/PostTuringMachine.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/ChineseRemainder.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Prime.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Data/ZMod/Basic.lean 44 3 ['felixpernegger', 'github-actions', 'leanprover-radar'] nobody
3-18389
3 days ago
3-22976
3 days ago
3-22907
3 days
28685 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the ErdΕ‘s-Stone theorem Proves the minimal degree-version of the ErdΕ‘s-Stone theorem: If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`. The double-counting construction from the proof is available in `namespace ErdosStone`. --- - [x] depends on: #25843 - [x] depends on: #27597 - [x] depends on: #27599 - [x] depends on: #28443 - [x] depends on: #28445 - [x] depends on: #28446 - [x] depends on: #28447 This is the first of several pull requests towards the full ErdΕ‘s-Stone(-Simonovits) theorem, hence the name of the file. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 329/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 2 19 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] b-mehta
assignee:b-mehta
3-16321
3 days ago
6-58286
6 days ago
66-66959
66 days
39030 FordUniver
author:FordUniver
feat(Analysis/SpecialFunctions/Pow/Continuity): add Filter.Tendsto.rpow_const_nhds_zero Specialises `Filter.Tendsto.rpow_const` to base `β†’ 0`. The strict `0 < p` (rather than `0 ≀ p` from the parent) is needed to identify `0 ^ p` with `0`. Refactors the one in-tree call site (`ZetaAsymp.term_tsum_of_lt`). Co-authored-by: Sebastian Pokutta <23001135+pokutta@users.noreply.github.com> --- This came out of a Frank–Wolfe convergence formalisation, where gap rates of the form `f t ^ p β†’ 0` recur and manually discharging the disjunction together with the `0 ^ p = 0` rewrite every time is a bit of a nuisance. A sweep over mathlib turned up `ZetaAsymp.term_tsum_of_lt` as the one place the same pattern already appears in the library. I am not 100% sure on what the convention of adding these single-line specializations is, but this specific case did seem worth adding to me. new-contributor t-analysis 7/3 Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean 2 2 ['github-actions'] nobody
3-14488
3 days ago
3-22534
3 days ago
3-22465
3 days
39033 tb65536
author:tb65536
feat(Analysis/DirichletEigenvalue): Dirichlet eigenvalues of a set This PR defines the Dirichlet eigenvalues of a set (in the sense of "can you hear the shape of a drum"). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 58/0 Mathlib.lean,Mathlib/Analysis/DirichletEigenvalue.lean 2 1 ['github-actions'] nobody
3-14072
3 days ago
3-14072
3 days ago
3-14005
3 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 large-import 70/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean 4 4 ['chrisflav', 'github-actions'] nobody
3-12362
3 days ago
3-12362
3 days ago
16-6708
16 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 8 ['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mattrobball', 'ooovi'] nobody
3-12290
3 days ago
37-54330
37 days ago
51-64589
51 days
38999 joelriou
author:joelriou
feat(Algebra/Homology): homology sequence and acyclic complexes This PR adds lemmas `ShortComplex.ShortExact.acyclic_X₁/β‚‚/₃` which allow to deduce that certain homological complexes in a short exact sequence are acyclic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-algebra maintainer-merge
label:t-algebra$
61/2 Mathlib/Algebra/Homology/HomologySequenceLemmas.lean 1 6 ['dagurtomas', 'github-actions', 'joelriou'] nobody
3-687
3 days ago
3-1489
3 days ago
4-17877
4 days
38867 jvanwinden
author:jvanwinden
feat(Probability/Process/Adapted): add IsProgressive and basic API This PR is a follow-up of #38254 and introduces a `Measurable` variant of `IsStronglyProgressive` with basic API. The statements of the lemmas are modeled after the corresponding lemma's for `Measurable`, and the proof is simply to apply them pointwise in `i`. I have refrained from adding too many basic lemma's, since it remains to be seen if `IsProgressive` will see extensive use. Zulip discussion at [#Brownian motion > Adapted Filtrations for Markov Chains and Markov Processes](https://leanprover.zulipchat.com/#narrow/channel/509433-Brownian-motion/topic/Adapted.20Filtrations.20for.20Markov.20Chains.20and.20Markov.20Processes/with/563702867) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 91/9 Mathlib/Probability/Process/Adapted.lean 1 3 ['RemyDegenne', 'github-actions', 'jvanwinden'] kex-y
assignee:kex-y
2-79724
2 days ago
7-23133
7 days ago
7-23198
7 days
38527 archiebrowne
author:archiebrowne
feat(Analysis/Calculus): 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 317/24 Mathlib.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/ContDiffMulAction.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean 6 11 ['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] PatrickMassot and grunweg
assignee:grunweg assignee:PatrickMassot
2-73931
2 days ago
2-74006
2 days ago
10-59846
10 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 87/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 7 ['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] nobody
2-72710
2 days ago
3-26315
3 days ago
29-6102
29 days
38336 chrisflav
author:chrisflav
feat(CategoryTheory/Monoidal): `MulAction` induced by a `ModObj` We define the `MulAction` on hom types induced by a monoid object `M` action on `X` in a cartesian monoidal category. --- - [x] depends on: #38342 Given that `Mathlib.CategoryTheory.Monoidal.Cartesian.Mod`, I think the import increase is fine. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import 153/3 Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mod.lean,Mathlib/CategoryTheory/Monoidal/Mod.lean 3 14 ['JovanGerb', 'chrisflav', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
2-70142
2 days ago
2-70142
2 days ago
3-71486
3 days
38903 lua-vr
author:lua-vr
feat(Covering/Vitali): add `exists_disjoint_subfamily_covering_enlargement_ball` Adds the analogous version `exists_disjoint_subfamily_covering_enlargement_ball` of the Vitali covering theorem for open balls. For the Carleson project. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 37/0 Mathlib/MeasureTheory/Covering/Vitali.lean 1 2 ['github-actions'] EtienneC30
assignee:EtienneC30
2-70066
2 days ago
6-33353
6 days ago
6-33284
6 days
39055 vihdzp
author:vihdzp
chore: deprecate `not_lt_zero'` and `bot_eq_zero''` Two easy pickings from #38663. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 24/37 Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Data/Int/WithZero.lean,Mathlib/Data/List/Shortlex.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/Topology/MetricSpace/PiNat.lean 11 1 ['github-actions'] nobody
2-60574
2 days ago
2-64295
2 days ago
2-64226
2 days
39059 vihdzp
author:vihdzp
feat: `IsBotOneClass (Associates M)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
11/9 Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/RingTheory/ChainOfDivisors.lean 2 1 ['github-actions'] nobody
2-58249
2 days ago
2-58325
2 days ago
2-60282
2 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'] nobody
2-58149
2 days ago
23-75509
23 days ago
35-18256
35 days
39061 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk/Paths): a trail which isn't a path has a cycle subwalk - `p.IsPath ↔ βˆ€ (v : V) (w : G.Walk v v), w.IsSubwalk p β†’ w.Nil` - `p.IsTrail β†’ (p.IsPath ↔ βˆ€ (v : V) (w : G.Walk v v), w.IsSubwalk p β†’ Β¬w.IsCycle)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 28/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean 2 1 ['github-actions'] nobody
2-57539
2 days ago
2-57623
2 days ago
2-57554
2 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'] bryangingechen
assignee:bryangingechen
2-57196
2 days ago
24-86282
24 days ago
29-4024
29 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'] riccardobrasca
assignee:riccardobrasca
2-57196
2 days ago
20-57468
20 days ago
20-78376
20 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'] TwoFX
assignee:TwoFX
2-57194
2 days ago
26-67501
26 days ago
26-67432
26 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'] dagurtomas
assignee:dagurtomas
2-57192
2 days ago
24-47496
24 days ago
24-49957
24 days
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 11 ['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar'] TwoFX
assignee:TwoFX
2-57191
2 days ago
22-28736
22 days ago
22-29608
22 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'] riccardobrasca
assignee:riccardobrasca
2-57190
2 days ago
22-14284
22 days ago
22-15430
22 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'] ocfnash
assignee:ocfnash
2-57189
2 days ago
20-27775
20 days ago
20-27706
20 days
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 9/12 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean 1 2 ['dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
2-57187
2 days ago
9-494
9 days ago
10-16125
10 days
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 6/3 Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean 1 3 ['dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
2-57186
2 days ago
9-60914
9 days ago
10-13033
10 days
38957 wwylele
author:wwylele
chore(GroupTheory/DivisibleHull): remove `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-group-theory maintainer-merge 5/12 Mathlib/GroupTheory/DivisibleHull.lean 1 3 ['github-actions', 'grunweg', 'wwylele'] jcommelin
assignee:jcommelin
2-57185
2 days ago
4-75461
4 days ago
5-10900
5 days
38984 kebekus
author:kebekus
feat: variants of the principle of isolated zeros for meromorphic functions Add simple, but useful, variants of the principle of isolated zeros for meromorphic functions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 24/1 Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Analysis/Meromorphic/Order.lean 2 1 ['github-actions'] themathqueen
assignee:themathqueen
2-57184
2 days ago
4-39184
4 days ago
4-39115
4 days
39036 ajhendel
author:ajhendel
doc: fix Lean 3 namespace in DiophantineApproximation The implementation notes section references the Lean 3 namespace \`real.contfrac_legendre\`, but this was renamed to \`Real.ContfracLegendre\` during the port. This fixes the reference. --- Co-Authored-By: Claude Opus 4.6 t-number-theory new-contributor maintainer-merge 1/1 Mathlib/NumberTheory/DiophantineApproximation/Basic.lean 1 4 ['github-actions', 'tb65536'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
2-57183
2 days ago
3-11011
3 days ago
3-10942
3 days
39056 vihdzp
author:vihdzp
feat: `IsBotOneClass β„•+` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 17/14 Mathlib/Data/PNat/Basic.lean,Mathlib/Data/PNat/Defs.lean,Mathlib/Data/PNat/Prime.lean 3 1 ['github-actions'] nobody
2-54995
2 days ago
2-55062
2 days ago
2-59702
2 days
39057 vihdzp
author:vihdzp
feat: `min` and `max` theorems for `IsBotZeroClass` We also remove a redundant `ZeroLEOneClass Ordinal` instance (which can now be inferred via `CanonicallyOrderedAdd` β†’ `IsBotZeroClass` β†’ `ZeroLEOneClass`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order 36/22 Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/EMetricSpace/Diam.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean 7 1 ['github-actions'] nobody
2-50821
2 days ago
2-50891
2 days ago
2-55125
2 days
38918 yuanyi-350
author:yuanyi-350
chore(CategoryTheory/Groupoid/FreeGroupoid): remove an erw - rewrites `lift` by simplifying the quotient-lift compatibility condition with `simp only` - replaces the remaining `erw` chain with a direct rewrite through `Quiver.symmetrify_reverse` and `Groupoid.reverse_eq_inv` Extracted from #38415 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex LLM-generated 5/3 Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean 1 2 ['github-actions', 'loefflerd'] nobody
2-39547
2 days ago
6-22075
6 days ago
6-22006
6 days
38029 Thmoas-Guan
author:Thmoas-Guan
refactor(RingTheory): refactor APIs 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 94/78 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,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/KrullDimension/Zero.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean 9 14 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
2-35649
2 days ago
2-35649
2 days ago
24-63355
24 days
35287 arnoudvanderleer
author:arnoudvanderleer
feat(AlgebraicTopology/SimplicialSet): define isomorphisms in simplicial sets, and the coherent isomorphism simplicial set show that any edge in a simplicial set, that is the image of the forward edge of the coherent isomorphism under a simplicial set morphism, is an isomorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor infinity-cosmos 367/3 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/CoherentIso.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveCodiscrete.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean 6 111 ['arnoudvanderleer', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier'] robin-carlier
assignee:robin-carlier
2-34194
2 days ago
9-27864
9 days ago
28-12193
28 days
39067 mbkybky
author:mbkybky
feat(Algebra/Module): define modules admitting finite free resolutions We say that an `R`-module `M` has a finite free resolution if there exists an exact sequence `0 ⟢ Eβ‚™ ⟢ β‹― ⟢ Eβ‚€ ⟢ M ⟢ 0` such that `Eα΅’` are finite free `R`-modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
186/0 Mathlib.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Basic.lean 3 1 ['github-actions'] nobody
2-33107
2 days ago
2-33355
2 days ago
2-33286
2 days
38970 themathqueen
author:themathqueen
chore(Analysis/InnerProductSpace/Projection): rename `orthogonalProjection` to `orthogonalProjectionOnto` To match the current (continuous) linear projection to a submodule along its complement `Submodule.projection(Onto)(L)`, we change `Submodule.orthogonalProjection` to `Submodule.orthogonalProjectionOnto` (and later will change `Submodule.starProjection` to `Submodule.orthogonalProjection`). --- Zulip thread: [#**mathlib4>Two variants of linear projections**](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Two.20variants.20of.20linear.20projections/with/591234152) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 267/183 Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Projection/Reflection.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,docs/overview.yaml,docs/undergrad.yaml 20 16 ['ADedecker', 'eric-wieser', 'github-actions', 'themathqueen'] mcdoll
assignee:mcdoll
2-31591
2 days ago
2-31539
2 days ago
4-45361
4 days
36103 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial/CharacteristicSet): add Characteristic Set This PR adds some definitions and theorems of Characteristic Set Method (also known as Wu's Method). Definitions: * `MvPolynomial.mainDegree` * `MvPolynomial.initialOf` * `MvPolynomial.reducedTo` * `TriangulatedSet` * `MvPolynomial.pseudo` * `MvPolynomial.setPseudo` * `MvPolynomial.isRemainder` * `MvPolynomial.isSetRemainder` * `AscendingSetTheory` * `TriangulatedSet.isAscendingSet` * `HasBasicSet` * `TriangulatedSet.isCharacteristicSet` * `MvPolynomial.List.characteristicSet` * `MvPolynomial.List.zeroDecomposition` Main Theorems: * `MvPolynomial.initialOf_mul_eq`: $init_i(p \cdot q) = init_i(p) \cdot init_i(q)$ if there is no zero divisors in the coefficient ring. * `TriangulatedSet.instWellFoundedLT`: The set of Triangulated Sets is well-founded under the lexicographic ordering. * `MvPolynomial.pseudo_remainder_isRemainder`: The remainder $r$ of $g$ by $f$ is reduced with respect to $f$ and satisfies $init(f)^s \cdot g = q \cdot f + r$ for some $s \in \mathbb{N}$ and $q \in R[X_{\sigma}]$. * `MvPolynomial.setPseudo_remainder_isSetRemainder`: The remainder $r$ of $g$ by a set $S$ is reduced with respect to $S$ and satisfies $(\prod S_i^{e_i}) \cdot g = \sum q_i \cdot S_i + r$ for some sequences $\{e_i\}$ and $\{q_i\}$. * `MvPolynomial.setPseudo_remainder_eq_zero_of_mem`: The remainder of $p$ by a set $S$ is $0$ if $p \in S$. * `MvPolynomial.List.basicSet_append_lt_of_exists_reducedToSet`: Appending an element which is reduced w.r.t. the basic set of list strictly decreases the order. * `MvPolynomial.List.characteristicSet_isCharacteristicSet`: The computed Characteristic Set $CS$ satisfies the key algebraic property (pseudo-remainder of input polynomials is 0) and the geometric property ( $Zero(PS) \subseteq Zero(CS)$ ). * `MvPolynomial.List.vanishingSet_eq_zeroDecomposition_union`: The zero set of a polynomial system $PS$ can be decomposed into a finite union of "quasi-varieties" defined by triangular sets: $Zero(PS) = \bigcup_{CS \in \mathcal{ZD}} Zero(CS / \text{InitialProd}(CS))$ The PR is upstreamized from [github.com/WuProver/lean_characteristic_set](https://github.com/WuProver/lean_characteristic_set) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #36386 - [x] depends on: #37791 t-algebra new-contributor
label:t-algebra$
3860/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/AscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/CharacteristicSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Initial.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/MainDegree.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Order.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/PseudoDivision.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Reduce.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/StandardAscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/TriangularSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/WeakAscendingSet.lean,docs/references.bib 12 20 ['Hagb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-27943
2 days ago
2-27985
2 days ago
6-15003
6 days
38990 Vierkantor
author:Vierkantor
chore(Algebra/DirectSum): workaround for `backward.inferInstanceAs` This PR works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `DirectSum` with `DFinsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `DirectSum`'s `FunLike` instance, instead of the custom `CoeFun` instance. I unsqueezed a few `simp`s, which all ran pretty much instant on my machine so it shouldn't cause much slowdown. Also we fix two porting notes. This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `DirectSum` and `DFinsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `DirectSum` an `@[implicit_reducible]`, because we need different multiplication on it than `DFinsupp` has. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt t-ring-theory
label:t-algebra$
36/38 Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean 9 2 ['JovanGerb', 'github-actions'] nobody
2-27427
2 days ago
4-27543
4 days ago
4-28503
4 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 8 ['github-actions', 'grunweg', 'scholzhannah'] grunweg, mcdoll, urkud
assignee:urkud assignee:grunweg assignee:mcdoll
2-24566
2 days ago
2-32415
2 days ago
9-20708
9 days
35316 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor large-import 84/1 Mathlib/Analysis/Analytic/Order.lean 1 29 ['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'kebekus', 'mathlib-dependent-issues', 'mkaratarakis'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
2-24237
2 days ago
3-63653
3 days ago
27-11533
27 days
39075 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra/CommRingCat): colimit of local ring via local hom In this PR, we deal with filtered colimit of local ring via local homomorphisms, proving it is again local, with maximal ideal equal to the union of images of maximal ideals. Co-authored-by: Wang Jingting --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
209/0 Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean 2 1 ['github-actions'] nobody
2-16450
2 days ago
2-17308
2 days ago
2-17356
2 days
39078 fpvandoorn
author:fpvandoorn
feat: add lemmas about products over Finset.Iio * Mostly useful for `β„•` * I added the `Finset.Iic` lemmas by symmetry, but I'm happy to remove them if we think they are redundant. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
29/0 Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean 1 1 ['github-actions'] nobody
2-15915
2 days ago
2-15995
2 days ago
2-15926
2 days
37851 gaetanserre
author:gaetanserre
feat(Category/Kernel): `Stoch` is a positive Markov category `Stoch` is a positive category (see _A synthetic approach to Markov kernels, conditional independence and theorems on sufficient statistics_, Fritz, 2020, Example 11.25). Add several `Deterministic` instances for `SFinKer` and `Stoch` associators, unitors, braiding, counit, and comul morphisms. - [x] depends on: #38211 - [x] depends on: #38212 - [x] depends on: #39042 - [x] depends on: #39043 - [x] depends on: #39051 - [x] depends on: #39052 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability t-category-theory 97/10 Mathlib/Probability/Kernel/Category/SFinKer.lean,Mathlib/Probability/Kernel/Category/Stoch.lean 2 23 ['RemyDegenne', 'dagurtomas', 'gaetanserre', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot'] RemyDegenne
assignee:RemyDegenne
2-14234
2 days ago
2-14320
2 days ago
10-11985
10 days
39082 emlis42
author:emlis42
feat(Analysis\Calculus\Deriv): add deriv_const_op This PR adds some lemmas so `simp` can automatically evaluate derivatives of partially applied heterogeneous operations such as `HAdd.hAdd`, `HMul.hMul` `HDiv.hDiv`, and `HPow.hPow`. t-analysis new-contributor 47/5 Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,MathlibTest/Deriv.lean 7 2 ['github-actions'] nobody
2-12384
2 days ago
2-12463
2 days ago
2-13114
2 days
34759 Hagb
author:Hagb
feat(RingTheory/MvPolynomial/MonomialOrder): add degree with `βŠ₯` as degree of `0` `withBotDegree` is to distinguish the degree of zero polynomial from the degree of non-zero constant polynomial. `MonomialOrder.degree` of both are 0, while `withBotDegree` is `βŠ₯` for zero polynomial and 0 for non-zero constant polynomial. `MonomialOrder.withBotDegree` is to `MonomialOrder.degree` as `Polynomial.degree` is to `Polynomial.natDegree`. It's upstreamized from https://github.com/WuProver/groebner_proj. --- `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 [`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 243/2 Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 2 17 ['Hagb', 'github-actions', 'joneugster', 'mariainesdff', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
2-11076
2 days ago
2-11151
2 days ago
36-85553
36 days
38814 sharky564
author:sharky564
refactor(LinearAlgebra/Projection): refactor `quotientEquivOfIsCompl` via `LinearEquiv.ofLinear` This PR refactors `Submodule.quotientEquivOfIsCompl` to use `LinearEquiv.ofLinear` rather than `LinearEquiv.symm <| LinearEquiv.ofBijective`. The new definition makes both directions of the equivalence explicit: the forward idirection is `Submodule.liftQ` of the projection onto `q` along `p`, and the backward direction is `Submodule.mkQ` composed with the inclusion `q` in `E`. --- The motivation is work on topological complements of submodules in PR #38547. The proof of `IsCompl.isTopCompl_iff_continuous_quotientEquiv` reduces, via the quotient-map property of `mkQ`, to identifying the composite `quotientEquivOfIsCompl ∘ mkQ` with the linear projection. This identifications feels like it should belong at the algebraic level and not mixed in with the topological reasoning. Additionally, these lemmas seem useful independently. t-algebra new-contributor maintainer-merge
label:t-algebra$
43/22 Mathlib/LinearAlgebra/Projection.lean 1 27 ['ADedecker', 'github-actions', 'sharky564', 'themathqueen'] nobody
2-6610
2 days ago
4-6520
4 days ago
8-37014
8 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 t-number-theory 166/23 Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean 3 17 ['AntoineChambert-Loir', 'MichaelStollBayreuth', 'Ruben-VandeVelde', 'github-actions', 'xroblot'] jcommelin
assignee:jcommelin
2-4720
2 days ago
6-11791
6 days ago
12-6364
12 days
39091 tb65536
author:tb65536
feat(FieldTheory/Galois/IsGaloisGroup): add version of `IsGaloisGroup.to_isFractionRing` assuming only `IsIntegral` This PR adds a version of `IsGaloisGroup.to_isFractionRing` assuming only `Algebra.IsIntegral A B` (which is weaker than the existing assumption `Finite G`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
22/9 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/RingTheory/Invariant/Basic.lean 2 1 ['github-actions'] nobody
2-2523
2 days ago
2-2523
2 days ago
2-2455
2 days
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$
13/2 Mathlib/GroupTheory/Torsion.lean 1 2 ['github-actions', 'robin-carlier'] nobody
2-2167
2 days ago
2-2233
2 days ago
10-81883
10 days
39073 tb65536
author:tb65536
feat(RingTheory/RamificationInertia/Inertia): add `inertiaDeg'_pos` This PR adds a positivity lemma for the new `inertiaDeg'` (which will eventually replace `inertiaDeg`). An extra import is needed to synthesize finiteness on the residue fields. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
6/0 Mathlib/RingTheory/RamificationInertia/Inertia.lean 1 1 ['github-actions'] nobody
2-2046
2 days ago
2-2046
2 days ago
2-1979
2 days
39072 tb65536
author:tb65536
feat(RingTheory/Unramified/Locus): add `iff` lemma relating `Unramified` to `IsUnramifiedAt` This PR adds an `iff` lemma relating `Unramified` to `IsUnramifiedAt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
10/2 Mathlib/RingTheory/RingHom/Unramified.lean,Mathlib/RingTheory/Unramified/Locus.lean 2 1 ['github-actions'] nobody
2-2013
2 days ago
2-2013
2 days ago
2-1945
2 days
39070 tb65536
author:tb65536
chore(RingTheory/Ideal/GoingUp): weaken `IsIntegralClosure` to `Algebra.IsIntegral` Several results in `GoingUp.lean` assumed `IsIntegralClosure` when they only used `Algebra.IsIntegral`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
37/30 Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/Ideal/GoingUp.lean 3 1 ['github-actions'] nobody
2-1709
2 days ago
2-1709
2 days ago
2-1641
2 days
38806 CBirkbeck
author:CBirkbeck
feat(NumberTheory/ModularForms): Ξ” = (Eβ‚„Β³ - E₆²) / 1728 Proves the classical identity expressing the modular discriminant as a combination of Eisenstein series: $$\Delta = \frac{E_4^3 - E_6^2}{1728}.$$ The work was done as part of the Sphere packing project. This PR was done with the help of Claude Code. (Resubmission of #37789 with a renamed branch; earlier dependency work has been merged via #37979.) t-number-theory file-removed LLM-generated 211/22 Mathlib.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/CuspFormSubmodule.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/NumberTheory/ModularForms/LevelOne/Basic.lean,Mathlib/NumberTheory/ModularForms/LevelOne/DimensionFormula.lean,Mathlib/NumberTheory/ModularForms/LevelOne/GradedRing.lean,Mathlib/NumberTheory/ModularForms/NormTrace.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean 10 22 ['CBirkbeck', 'github-actions', 'loefflerd'] loefflerd
assignee:loefflerd
2-1634
2 days ago
4-29907
4 days ago
6-79767
6 days
37840 tb65536
author:tb65536
chore(RingTheory/Localization/AtPrime/Basic): use `under` instead of `comap (algebraMap R S)` This PR switches over from `comap (algebraMap R S)` to `under`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra maintainer-merge
label:t-algebra$
171/149 Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/IntegralClosure/GoingDown.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/LocalProperties/Injective.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean 20 14 ['chrisflav', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'tb65536'] chrisflav and erdOne
assignee:erdOne assignee:chrisflav
1-84353
1 day ago
1-84353
1 day ago
23-22714
23 days
38899 thorimur
author:thorimur
feat: `#scope` This PR is the first step in creating a toolset of (transient) utilities for assisting with moving declaration commands between files (including sorting out their dependencies, and integrating their needs into the new location). Capturing the current scope necessary for the command is the first task, and to that end this PR contributes the command `#scope`, which reifies the current scope into portable syntax. `#scope` by itself produces a try-this suggestion placing a scope specification after `#scope`, of the following form: ``` #scope (@[expose])? (public)? (noncomputable)? (section)? scope (universe ...)? (namespace ...)? (open @id₁ @idβ‚‚ ...)? (open scoped @id₁ @idβ‚‚ ...)? (set_options key₁ val₁, keyβ‚‚ valβ‚‚ ...)? (variable ...)? (include ...)? (omit ...)? ``` This is intended to fully capture the "semantic" aspects of the current scope, but not the full scope stack (and so e.g. disregards `section`s). Likewise this slightly-unusual syntax (e.g. `open @Foo` instead of `open Foo`) is intended to act as a portable record of the open declaration which can be acted on by automation, and to discourage interpretation as a "normal" `open` statement. By itself, this is only a slightly odd `#where`. Future PRs (e.g. #38900) will build on this in order to provide a suite of tools for transporting scopes between files and managing them once there, making it easier to move declarations. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 512/3 Mathlib.lean,Mathlib/Lean/Elab/Options.lean,Mathlib/Lean/Name.lean,Mathlib/Util/Scope.lean,MathlibTest/Scope.lean 5 3 ['JovanGerb', 'github-actions', 'thorimur'] JovanGerb
assignee:JovanGerb
1-82352
1 day ago
6-32833
6 days ago
6-32771
6 days
33506 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end Co-authored-by: Vlad Tsyrklevich Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com> --- - [x] depends on: #33249 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 111/5 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean 5 60 ['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
1-80342
1 day ago
2-49751
2 days ago
20-28882
20 days
39098 BoltonBailey
author:BoltonBailey
chore(Data/Vector): add `grind` to cons lemmas This PR affects `List.Vector.head_cons` and `List.Vector.tail_cons`. It moves the simp attribute assignment of these lemmas to the lemma declarations and also applies the `grind =` attribute. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/2 Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean 2 2 ['github-actions'] nobody
1-79350
1 day ago
1-79842
1 day ago
1-79773
1 day
39074 tb65536
author:tb65536
feat(RingTheory/RamificationInertia/Ramification): relate `ramificationIdx'` to `Algebra.IsUnramifiedAt` This PR relates the new `ramificationIdx'` (which will eventually replace `ramificationIdx`) to `Algebra.IsUnramifiedAt`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra large-import
label:t-algebra$
30/0 Mathlib/RingTheory/RamificationInertia/Ramification.lean 1 1 ['github-actions'] nobody
1-79279
1 day ago
2-8535
2 days ago
2-8467
2 days
33178 gw90
author:gw90
feat(Analysis/CStarAlgebra/Spectrum): Adding lemmas that the CStarAlgebra norm equals the square root of the spectral radius of star a * a Adds lemmas that the ||a||^2_A=sqrt(spectralRadius C (star a * a)). I think it would be helpful to have these lemmas available in Mathlib. It'll help with some of the other things I'm working on. Feel free to move them to a different file or rename them as you see fit. new-contributor t-analysis 24/0 Mathlib/Analysis/CStarAlgebra/Spectrum.lean 1 17 ['github-actions', 'gw90', 'themathqueen', 'vihdzp'] nobody
1-78145
1 day ago
1-78503
1 day ago
2-7243
2 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 9 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'scholzhannah'] urkud
assignee:urkud
1-74276
1 day ago
1-74314
1 day ago
38-83148
38 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 224/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 3 57 ['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] kim-em
assignee:kim-em
1-72901
1 day ago
1-76325
1 day ago
15-39972
15 days
39058 vihdzp
author:vihdzp
chore: `IsBotZeroClass (Fin n)` We also deprecate a bunch of theorems that now follow from the typeclass. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order 31/28 Archive/Imo/Imo2024Q5.lean,Mathlib/AlgebraicTopology/Quasicategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Data/Fin/SuccPred.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Grade.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean 13 1 ['github-actions'] nobody
1-71021
1 day ago
2-54478
2 days ago
2-59850
2 days
39063 khwilson
author:khwilson
feat(Topology/Algebra/Module/LocallyConvex): a very nice basis of locally convex spaces In proving facts about locally convex spaces, you often work with a basis of the neighborhoods of 0 that are open, symmetric, convex, antitone, and have the property that `V (n + 1) + V (n + 1) βŠ† V n` and `closure (V (n + 1)) βŠ† V n`. These lemmas construct such a basis. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 89/0 Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean 2 2 ['github-actions', 'khwilson'] nobody
1-68732
1 day ago
2-49575
2 days ago
2-49520
2 days
35394 HugLycan
author:HugLycan
feat(Tactic/Positivity): make positivity work for types that are not partial orders Make positivity work for types that are not partial orders Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR. `Strictness` now depends on `Option Q(PartialOrder $Ξ±)` instead of `Q(PartialOrder $Ξ±)`, and the constructors `Strictness.positive`/`Strictness.nonnegative` now have their `Q(PartialOrder $Ξ±)` typeclass arguments. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta 661/375 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Factorial/DoubleFactorial.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/Height/Projectivization.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,MathlibTest/positivity.lean 54 69 ['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
1-60133
1 day ago
3-61206
3 days ago
46-19308
46 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'] nobody
1-58124
1 day ago
22-64491
22 days ago
29-51306
29 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'] nobody
1-58124
1 day ago
27-85106
27 days ago
28-438
28 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'] b-mehta
assignee:b-mehta
1-57297
1 day ago
17-174
17 days ago
45-38055
45 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'] b-mehta
assignee:b-mehta
1-57296
1 day ago
27-77792
27 days ago
43-48522
43 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'] joneugster
assignee:joneugster
1-57294
1 day ago
38-73271
38 days ago
38-73202
38 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'] joneugster
assignee:joneugster
1-57293
1 day ago
38-24945
38 days ago
38-24876
38 days
37761 EtienneC30
author:EtienneC30
feat: define Bernoulli distribution Define the Bernoulli distribution over an arbitrary measurable space as `Ber(x, y, p) := toNNReal p β€’ dirac x + toNNReal (Οƒ p) β€’ dirac y`. Deprecate `PMF.binomial`. Co-authored-by: @DavidLedvinka --- - [ ] depends on: #37762 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import 206/7 Mathlib.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Probability.lean,Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/SetBernoulli.lean,Mathlib/Probability/Moments/SubGaussian.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,Mathlib/Probability/ProbabilityMassFunction/Constructions.lean,Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 9 2 ['github-actions', 'mathlib-dependent-issues'] sgouezel
assignee:sgouezel
1-57292
1 day ago
2-8998
2 days ago
2-9791
2 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 4 ['github-actions', 'kbuzzard', 'leanprover-radar', 'themathqueen'] joneugster
assignee:joneugster
1-57289
1 day ago
24-79057
24 days ago
24-79004
24 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'] alreadydone
assignee:alreadydone
1-57288
1 day ago
22-31104
22 days ago
22-31134
22 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 6 ['SnirBroshi', 'github-actions', 'jcommelin', 'joneugster', 'kim-em'] joneugster
assignee:joneugster
1-57287
1 day ago
19-62898
19 days ago
19-63447
19 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 5 ['dagurtomas', 'github-actions', 'ntapiam'] ocfnash
assignee:ocfnash
1-57286
1 day ago
2-23064
2 days ago
17-28292
17 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'] joneugster
assignee:joneugster
1-57285
1 day ago
19-66955
19 days ago
19-66886
19 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'] joneugster
assignee:joneugster
1-57284
1 day ago
19-50679
19 days ago
19-50610
19 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'] joneugster
assignee:joneugster
1-57282
1 day ago
18-76307
18 days ago
18-76624
18 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 23/27 Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean 2 6 ['dagurtomas', 'github-actions', 'mortarsanjaya'] joneugster
assignee:joneugster
1-57281
1 day ago
18-80833
18 days ago
18-80764
18 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'] joneugster
assignee:joneugster
1-57280
1 day ago
13-80901
13 days ago
18-44178
18 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'] ocfnash
assignee:ocfnash
1-57278
1 day ago
17-13021
17 days ago
18-1393
18 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'] joneugster
assignee:joneugster
1-57277
1 day ago
18-6687
18 days ago
18-6618
18 days
38943 felixpernegger
author:felixpernegger
feat(Topology/CWComplex/Classical): discrete spaces are CW complexes as well as some useful lemmas This is partly based on code by @scholzhannah I think this is notable to include, since it is pretty much the only (easy) "topological" sufficient condition for something being a CW complex there is. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 89/3 Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/DiscreteSubset.lean 2 28 ['felixpernegger', 'github-actions', 'scholzhannah'] PatrickMassot
assignee:PatrickMassot
1-57275
1 day ago
4-28129
4 days ago
5-42097
5 days
39064 kim-em
author:kim-em
feat: make showLinter detect tactics that assign metavariables This PR removes a short-circuit in `showLinter` that suppressed the linter whenever the syntactic goal was unchanged by a `show` tactic. A `show` invocation can still have side-effects on the metavariable context β€” tactic elaboration may assign metavariables while leaving the goal type unchanged β€” so the existing `instantiateMVars`-based diff check should run unconditionally. The fast path for the genuine no-op case is preserved: if `before` and `after` types still match after `instantiateMVars`, the linter doesn't fire. This was discovered while adapting Mathlib to nightly-2026-05-03 in https://github.com/leanprover-community/mathlib4-nightly-testing/pull/215 and is being extracted here so it can land independently of that bump. πŸ€– Prepared with Claude Code t-linter 1/1 Mathlib/Tactic/Linter/Style.lean 1 1 ['github-actions'] thorimur
assignee:thorimur
1-57274
1 day ago
2-39379
2 days ago
2-39310
2 days
39101 ldct
author:ldct
feat: Tag exp_nat_mul and exp_int_mul Tag these two lemmas to allow - pushing the `^` in `(exp ...)^...` - pushing the `exp` in `exp (... * ...)` and add unit tests. Also tag the real versions, and `exp 0` for `push exp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 28/2 Mathlib/Analysis/Complex/Exponential.lean,MathlibTest/push.lean 2 1 ['github-actions'] nobody
1-55231
1 day ago
1-55172
1 day ago
1-57437
1 day
36376 jessealama
author:jessealama
feat(SimpleGraph): hamiltonian cycle from cyclic permutation This PR provides `IsHamiltonian.of_perm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if Οƒ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v β†’ Οƒ v` is an edge of `G`, then `G` is Hamiltonian. ### New definitions and lemmas **`Mathlib/Data/List/Chain.lean`**: - `IsChain.iterate`: `List.iterate f a n` is a chain under `r` whenever `r a (f a)` holds for all `a` **`Mathlib/Data/List/Iterate.lean`**: - `getLast_iterate`: the last element of `List.iterate f a n` is `f^[n - 1] a` **`Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean`** (new file): - `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport` - `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API **`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**: - `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s` **`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**: - `IsCycleOn.injOn_sym2_pow_apply`: the unordered-pair edge map `k ↦ s((f ^ k) a, (f ^ (k + 1)) a)` is injective on `[0, #s)` when `#s β‰  2` - `IsCycleOn.sym2_pow_apply_ne`: edge distinctness for cycle-on permutations β€” `s((f ^ k) a, (f ^ (k + 1)) a) β‰  s(a, f a)` when `k β‰  0`, `k < #s`, and `#s β‰  2` - `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers **`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**: - `cons_isHamiltonianCycle_iff`: a Hamiltonian path closed by an edge outside its support is a Hamiltonian cycle, and conversely - `IsHamiltonian.of_perm`: the main theorem --- - [x] depends on: #36307 t-combinatorics maintainer-merge 182/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian/Perm.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean 8 75 ['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-44876
1 day ago
4-25694
4 days ago
42-30687
42 days
38859 SnirBroshi
author:SnirBroshi
feat(Order/CompleteLattice/Basic): tag `iSup_of_empty'` with `@[simp]` The theorem says `iSup f = sSup βˆ…` when the domain of `f` is empty, and dually `iInf f = sInf βˆ…`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 31/47 Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/LinearAlgebra/Eigenspace/Pi.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Lift.lean 14 1 ['github-actions'] nobody
1-37668
1 day ago
7-27560
7 days ago
7-31267
7 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 109/7 Mathlib.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/NatCard.lean,Mathlib/Data/Sym/Sym2.lean 4 18 ['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions'] nobody
1-37403
1 day ago
2-60449
2 days ago
8-77538
8 days
38464 xroblot
author:xroblot
feat(FieldTheory/Galois/IsGaloisGroup): generalize mulEquivCongr Generalizes `mulEquivCongr` from field extensions to domain extensions. The field version is renamed to `mulEquivCongr'`. Also adds some simp lemmas. --- - [x] depends on: #38377 t-algebra
label:t-algebra$
56/15 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 2 ['github-actions', 'mathlib-dependent-issues'] nobody
1-37069
1 day ago
2-4760
2 days ago
2-5745
2 days
39084 scholzhannah
author:scholzhannah
feat: generalize `OpenPartialHomeomorph.Defs` file to `PartialHomeomorph` As discussed on Zulip ([#mathlib4 > Generalizing `PartialHomeomorph`?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60PartialHomeomorph.60.3F/with/536896273)), I renamed `PartialHomeomorph` to `OpenPartialHomeomorph` in #29113. In this PR I now add a new `PartialHomeomorph` which is a `PartialEquiv` that is continuous on both source and target. An `OpenPartialHomeomorph` is then a `PartialHomeomorph` that additionally has open source and target. In subsequent PRs I will generalize the other files. See this draft PR (#39071) for what I think the end result to be. `PartialHomeomorph` should find uses at least for and manifolds (`ModelWithCorners`). Afterwards, I want to add a `ClosedPartialHomeomorph` to use for CWComplexes. --- I don't have a lot of experience doing these kind of modifications of a large piece of code. Additionally, I am not familiar with the main uses of `OpenPartialHomeomorph` in Mathlib. So while I did this to the best of my abilities, you should read this carefully because there might be things I did wrong or in non-ideal ways. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 286/47 Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/OpenPartialHomeomorph/Basic.lean,Mathlib/Topology/OpenPartialHomeomorph/Composition.lean,Mathlib/Topology/OpenPartialHomeomorph/Constructions.lean,Mathlib/Topology/OpenPartialHomeomorph/Defs.lean,Mathlib/Topology/OpenPartialHomeomorph/IsImage.lean,Mathlib/Topology/PartialHomeomorph/Defs.lean 12 1 ['github-actions'] grunweg
assignee:grunweg
1-35903
1 day ago
2-8644
2 days ago
2-9196
2 days
38328 astrainfinita
author:astrainfinita
feat: `OrderSupSet` This PR introduces `OrderSupSet` and `OrderInfSet`, which are typeclasses expressing that `sSup` (resp., `sInf`) returns the least upper bound (resp., the greatest lower bound) of a set whenever one exists. This allows us to prove properties about the `sSup` of specific sets (such as `βˆ…`, singletons, finite sets, and `univ`) without any typeclasses asserting the existence of LUBs. For example, `sSup βˆ… = βŠ₯` holds for any type equipped with `OrderBot` `OrderSupSet`, no longer requiring typeclasses like `ConditionallyCompleteLinearOrderBot`. For a general set `s`, this gives a uniform way to extend results about `IsLUB s a β†’ motive a` to `motive (sSup s)`, `motive (⨆ i, f i)`, `motive (a βŠ” b)`, etc., which allows proof reuse for basic API such as [`csSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ConditionallyCompleteLattice/Basic.html#csSup_insert), [`iSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#iSup_insert), and [`sSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#sSup_insert) and downstream code like [`csSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#csSup_add), [`sSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#sSup_add), and [`sup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Lattice.html#sup_add). Furthermore, this allows us to refactor incrementally, reducing the dependency of results about various completeness typeclasses on the specific implementation of `sSup`. --- [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 156/73 Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean 7 16 ['JovanGerb', 'astrainfinita', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'openendings', 'vihdzp'] nobody
1-35425
1 day ago
1-35464
1 day ago
6-66103
6 days
39107 SnirBroshi
author:SnirBroshi
feat(Geometry/Manifold/ChartedSpace): `H β‰ƒβ‚œ M` β†’ `ChartedSpace H M` --- I thought it was strange that `Homeomorph`s didn't have this easy dot-notation, though I'm not familiar with this part of the library so I might be missing something. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 6/0 Mathlib/Geometry/Manifold/ChartedSpace.lean 1 1 ['github-actions'] nobody
1-35306
1 day ago
1-35392
1 day ago
1-35323
1 day
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` Co-authored by: Artie Khovanov --- In preparation of #36605. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge 20/14 Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 24 ['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
1-34818
1 day ago
1-34790
1 day ago
38-47746
38 days
39045 justus-springer
author:justus-springer
chore(AlgebraicGeometry/RationalMap): Move two lemmas to more appropriate place These two lemmas are simply about opens and have nothing to do with rational maps. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry easy 8/8 Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean,Mathlib/AlgebraicGeometry/RationalMap.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
1-33657
1 day ago
1-33694
1 day ago
2-41871
2 days
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. Created with the help of Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 154/46 Mathlib.lean,Mathlib/Analysis/LocallyConvex/HahnBanach.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Seminorm.lean 5 7 ['ADedecker', 'CoolRmal', 'github-actions'] ADedecker
assignee:ADedecker
1-33468
1 day ago
6-37824
6 days ago
10-52545
10 days
38536 CoolRmal
author:CoolRmal
feat: a lemma about the symmetric difference of unions Created with the help of Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 45/2 Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteBooleanAlgebra.lean 2 12 ['CoolRmal', 'SnirBroshi', 'eric-wieser', 'github-actions'] nobody
1-33459
1 day ago
3-69115
3 days ago
3-70838
3 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 40/33 Mathlib/Order/SuccPred/InitialSeg.lean,Mathlib/Order/SuccPred/Limit.lean 2 5 ['github-actions', 'plp127'] nobody
1-33229
1 day ago
1-33300
1 day ago
17-21518
17 days
38153 xroblot
author:xroblot
chore(IsGaloisGroup): refactor `IsGaloisGroup.quotient` Refactors the quotient construction in `IsGaloisGroup` to work at the level of ring extensions rather than intermediate fields. --- - [x] depends on: #38377 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
218/53 Mathlib/Algebra/Algebra/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 2 8 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] riccardobrasca
assignee:riccardobrasca
1-28200
1 day ago
1-28200
1 day ago
1-48866
1 day
39102 yuanyi-350
author:yuanyi-350
chore: reduce imports in 50 files --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 70/81 Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/LocallyConvex/Montel.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Instances.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Bounded.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Group/NullSubmodule.lean,Mathlib/Analysis/Normed/Group/Tannery.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/PSeriesComplex.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/Subadditive.lean,Mathlib/Analysis/SumIntegralComparisons.lean 48 9 ['JovanGerb', 'YaelDillies', 'github-actions', 'leanprover-radar', 'yuanyi-350'] nobody
1-24017
1 day ago
1-24038
1 day ago
1-37188
1 day
38994 JovanGerb
author:JovanGerb
feat(to_additive): support `(attr := reassoc)` This PR uses `registerGeneratingAttr`, so that `to_additive (attr := reassoc)` also tags the `_assoc` lemma with `to_additive`. This interacts awkwarly with `to_dual (attr := reassoc)`, because in that case, the `reassoc` attribute is responsible for handling the `to_dual` attribute. This is solved by adding a check so that we only insert a new translation if it doesn't already exist (e.g. because `reassoc` could have added it). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 22/18 Mathlib/CategoryTheory/Monoidal/Mod.lean,Mathlib/CategoryTheory/Monoidal/Mon.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,Mathlib/Tactic/Translate/Core.lean 4 2 ['chrisflav', 'github-actions'] nobody
1-21770
1 day ago
1-21843
1 day ago
2-10678
2 days
38865 JovanGerb
author:JovanGerb
chore: adaptations for quote4#134 This PR adds imports that are now necessary --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 4/2 Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/Tauto.lean,lake-manifest.json 3 7 ['JovanGerb', 'bryangingechen', 'eric-wieser', 'github-actions', 'leanprover-radar'] nobody
1-11988
1 day ago
7-28145
7 days ago
7-28076
7 days
39090 EngelsVon
author:EngelsVon
feat(Analysis/Calculus/DifferentialForm): Stokes theorem on boxes for differential forms ## Summary This PR adds the first instances of the **generalized Stokes theorem for differential forms** in Mathlib, building on the existing `extDeriv` API from `Analysis.Calculus.DifferentialForm.Basic` and the divergence theorem from `MeasureTheory.Integral.DivergenceTheorem`. ### New files #### `Mathlib.Analysis.Calculus.DifferentialForm.BoxStokes` (310 lines, **fully proved**) Stokes theorem on rectangular boxes `[a, b] βŠ‚ ℝ^(m+1)` for differential forms. **Key definitions:** - `detTopForm`: the determinant as a continuous alternating top-form - `topFormDensity` / `topFormIntegral`: density and integral of top-form fields - `boxFaceComponent Ο‰ i`: the signed `i`-th face component of an `m`-form (`(-1)^i Β· Ο‰(Γͺ_i)`) - `boxBoundaryIntegral Ο‰ a b`: the signed boundary integral over `βˆ‚[a,b]` **Main theorem:** - `box_stokes_of_contDiff`: `∫_{[a,b]} dΟ‰ = ∫_{βˆ‚[a,b]} Ο‰` for `CΒΉ` `m`-forms on `ℝ^(m+1)` The proof proceeds by: 1. Showing `topFormDensity (extDeriv Ο‰) = divergence of (boxFaceComponent Ο‰ Β·)` 2. Applying Mathlib's `integral_divergence_of_hasFDerivAt_off_countable'` #### `Mathlib.Analysis.Calculus.DifferentialForm.HalfSpaceStokes` (224 lines, partially proved) Stokes theorem on the upper half-space `{x : x_m β‰₯ 0}` with infrastructure. **Key definitions:** - `HalfSpace m`: `{x : Fin (m+1) β†’ ℝ | x (lastCoord m) β‰₯ 0}` - `boundaryIntegral m Ο‰`: integral of `Ο‰` over `βˆ‚β„^{m+1}_+` **Key lemmas (proved):** - `norm_insertNth_ge_norm`: `β€–xβ€– ≀ β€–Fin.insertNth i v xβ€–` for sup norm - `formField_vanishes_at_insertNth_norm`: vanishing of form fields at large norms **Main theorem (statement, proof TODO):** - `halfSpace_stokes`: `∫_{ℝ^{m+1}_+} dΟ‰ = ∫_{βˆ‚β„^{m+1}_+} Ο‰` ### Relationship to existing Mathlib - `MeasureTheory.Integral.DivergenceTheorem` proves the divergence theorem for vector fields (`ℝⁿ⁺¹ β†’ Eⁿ⁺¹`). This PR translates it into the language of differential forms (`E β†’ E [β‹€^Fin n]β†’L[π•œ] F`). - `Analysis.Calculus.DifferentialForm.Basic` defines `extDeriv`. This PR provides the first *integration* results for `extDeriv`. ### Why this belongs in Mathlib 1. **Fills a known gap**: Mathlib has no Stokes-type theorem for differential forms despite having `extDeriv` and the divergence theorem. 2. **Self-contained**: Box Stokes depends only on `extDeriv` API and the divergence theorem. 3. **Useful infrastructure**: `boxFaceComponent`, `topFormDensity`, and `norm_insertNth_ge_norm` are independently useful. ### Future work - Complete `halfSpace_stokes` (requires upstream API for `extDeriv` vanishing at zeros and `Fin.isClosedEmbedding_insertNth`) - Chart-level Stokes via coordinate changes - Partition of unity β†’ manifold Stokes ## Checklist - [x] The formulation of the main theorem is mathematically correct - [x] Proofs follow Mathlib conventions (to the best of our knowledge) - [ ] Code compiles on Mathlib CI (not tested locally due to build time) - [ ] `#lint` passes (not tested locally) t-analysis new-contributor LLM-generated 1246/0 Mathlib.lean,Mathlib/Analysis/Calculus/DifferentialForm/BoxStokes.lean,Mathlib/Analysis/Calculus/DifferentialForm/FullSpaceStokes.lean,Mathlib/Analysis/Calculus/DifferentialForm/HalfSpaceStokes.lean 4 4 ['EngelsVon', 'SnirBroshi', 'github-actions'] nobody
1-11847
1 day ago
1-13460
1 day ago
1-53111
1 day
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 65/43 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 15 ['gasparattila', 'github-actions', 'grunweg', 'joneugster', 'lecopivo', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
1-4337
1 day ago
1-4337
1 day ago
74-66618
74 days
39109 mbkybky
author:mbkybky
feat(RingTheory/LocalProperties): `Module.FinitePresentation` is a local property We show that if there exists a set `{ r }` of `R` such that `Mα΅£` is a finitely presented `Rα΅£`-module for each `r`, then `M` is a finitely presented `R`-module. Co-authored-by: Sihan Su @su00000 Co-authored-by: Yi Song @syur2 From the [Local Properties of Modules](https://github.com/mbkybky/module_localProperties) project. - [x] depends on: #39112 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 89/0 Mathlib.lean,Mathlib/RingTheory/LocalProperties/FinitePresentation.lean,Mathlib/RingTheory/Localization/Finiteness.lean 3 2 ['github-actions', 'mathlib-dependent-issues'] nobody
1-4213
1 day ago
1-5769
1 day ago
1-15865
1 day
36743 Jun2M
author:Jun2M
feat(Combinatorics/GraphLike): introduce `GraphLike` typeclass Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR introduces the `GraphLike` typeclass to capture the notions like `dart` and `walk` across various graph objects, such as `SimpleGraph`, `Graph`, and `Digraph`. The goal is that by abstracting these core components into a typeclass, we can prove these results once for all graph-like structures rather than duplicating them across different graph types. ### 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`. --- This PR generalises #35776 to also unify `Graph`. PRs depending on this PR are #39047 (graphLike with no multi edges) => #39050 (Digraph is graphLike) || V #36829 (undirected graphLike) => #39053 (Graph is graphLike) & #39054 (Simplegraph is graphLike) || V #36756 (def of walk on GraphLike) => #36971 (change Simplegraph to use GraphLike walk) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 186/0 Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean 2 72 ['IvanRenison', 'Jun2M', 'SnirBroshi', 'YaelDillies', 'github-actions', 'lauramonk', 'mathlib-merge-conflicts'] YaelDillies
assignee:YaelDillies
1-224
1 day ago
2-2551
2 days ago
53-898
53 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/) t-order 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 4 ['gasparattila', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-85544
23 hours ago
31-70748
31 days ago
31-71005
31 days
39123 SnirBroshi
author:SnirBroshi
chore(Data/Matrix/Basic): mention `mopMatrix` in `transpose{Ring/Alg}Equiv`s docstring and vice versa - `RingEquiv.mopMatrix` and `transposeRingEquiv` differ by a `ᡐᡒᡖ` since the latter assumes `CommMagma Ξ±` instead of `Mul Ξ±` - `AlgEquiv.mopMatrix` and `transposeAlgEquiv` differ by a `ᡐᡒᡖ` since the latter assumes `CommSemiring Ξ±` instead of `Semiring Ξ±` --- Also slightly golfs `RingEquiv.mopMatrix` as a drive-by. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 18/11 Mathlib/Data/Matrix/Basic.lean 1 1 ['github-actions'] nobody
0-80285
22 hours ago
0-80367
22 hours ago
0-80298
22 hours
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 649/0 Mathlib.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Data/FunLike/Module.lean,Mathlib/Data/FunLike/Ring.lean 5 19 ['Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll'] Vierkantor
assignee:Vierkantor
0-80016
22 hours ago
11-47150
11 days ago
12-30312
12 days
39117 joelriou
author:joelriou
feat(CategoryTheory): the right derived functor commutes with the shift A few lemmas are obtained about precomposing and postcomposing left/right Kan extensions or right/left derived functors with equivalences of categories. By applying these results to the equivalences given by shifts, we construct a family of isomorphisms which shows that the right derived functor commutes with shifts, and by proving certain compatibilities, we obtain a `Functor.CommShift` instance of the right derived functor of a functor which commutes with shifts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 305/7 Mathlib.lean,Mathlib/CategoryTheory/Functor/Derived/LeftDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean,Mathlib/CategoryTheory/Functor/Derived/RightDerivedCommShift.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/Localization.lean 7 1 ['github-actions'] nobody
0-75634
21 hours ago
0-75711
21 hours ago
0-76372
21 hours
39118 MichaelStollBayreuth
author:MichaelStollBayreuth
feat: add more API for (rel)index and ideals This adds a few more API lemmas for `{Add|}Subgroup.{FiniteIndex|IsFiniteRelIndex}` and connects the index with `Ideal.absNorm`; we also add the fact that (relative) indices of nonzero ideals in a Dedekind domain that is finite and free over the integers are finite. We also generalize `Algebra.norm_algebraMap` from base fields to commutative rings, assuming the algebra is free over the base ring, and add some more API (`Algebra.del_lsmul`, `Algebra.norm_natCast`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-ring-theory
label:t-algebra$
63/13 Mathlib/Algebra/Algebra/Tower.lean,Mathlib/GroupTheory/FiniteAbelian/Basic.lean,Mathlib/GroupTheory/Index.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Norm/Defs.lean 6 32 ['MichaelStollBayreuth', 'github-actions', 'tb65536'] nobody
0-74553
20 hours ago
0-74324
20 hours ago
1-664
1 day
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 23/0 Mathlib/Data/Finset/Preimage.lean,Mathlib/Data/Set/Function.lean 2 7 ['Rida-Hamadani', 'github-actions', 'joneugster', 'themathqueen'] joneugster
assignee:joneugster
0-74235
20 hours ago
0-73950
20 hours ago
34-36510
34 days
39095 tb65536
author:tb65536
feat(FieldTheory/Galois/IsGaloisGroup): `IsGaloisGroup` instance for `FixedPoints.subalgebra` This PR generalizes the existing `IsGaloisGroup` instance for `FixedPoints.intermediateField` to `FixedPoints.subalgebra`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
23/3 Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/GroupTheory/GroupAction/Defs.lean 3 5 ['eric-wieser', 'github-actions', 'tb65536'] nobody
0-73006
20 hours ago
0-73074
20 hours ago
1-39777
1 day
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 199/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib 3 34 ['Shreyas4991', 'YaelDillies', 'Zetetic-Dhruv', 'github-actions'] nobody
0-70766
19 hours ago
0-70766
19 hours ago
17-31346
17 days
38829 AnandGokhale
author:AnandGokhale
feat(Analysis/ODE/Gronwall): added gronwall-bellman inequality Added 2 lemmas and 1 theorem to Analysis.ODE.Gronwall, making progress towards a TODO. Lemma 1: Wrapper for Fundamental Theorem of Calculus Lemma 2: Wrapper for the continuity of an integral on a closed, ordered interval Theorem: Gronwall bellman inequality, as stated with proof in Appendix of Hassan Khalil, Nonlinear control, 3rd edition. t-analysis new-contributor large-import 125/2 Mathlib/Analysis/ODE/Gronwall.lean 1 12 ['AnandGokhale', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors'] j-loreaux
assignee:j-loreaux
0-70457
19 hours ago
1-70540
1 day ago
3-31021
3 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
0-68651
19 hours ago
13-66268
13 days ago
48-34552
48 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'] joneugster
assignee:joneugster
0-68638
19 hours ago
16-60529
16 days ago
19-43166
19 days
39085 bryangingechen
author:bryangingechen
ci(shake.yaml): shake Archive, Counterexamples, MathlibTest; do not commit explain.txt cf. https://github.com/leanprover-community/mathlib4/pull/39080#discussion_r3209205008 and [#mathlib4 > shake @ πŸ’¬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/shake/near/593801927) CI easy 6/1 .github/workflows/shake.yaml 1 2 ['bryangingechen', 'github-actions'] nobody
0-68387
18 hours ago
2-9895
2 days ago
2-9826
2 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 25 ['eric-wieser', 'github-actions', 'slavanaprienko', 'wwylele'] kim-em
assignee:kim-em
0-67746
18 hours ago
35-46040
35 days ago
36-61459
36 days
38318 JovanGerb
author:JovanGerb
feat(GRewrite): new `grw` implementation This PR adds a new implementation of the `grewrite` tactic. It replaces `grw` with the new implementation. The old implementation can be used with `grw +useKAbstract`. New features: - The new `grw` can rewrite terms with bound variables. - The new `grw` will only rewrite in places where this is valid. Previously, if there were both valid and non-valid positions, it would try rewriting everywhere and then complain. Future features that will build on the new implementation: - I'd like to add support for strict rewrites that can change the strictness of parts of the goal. This would require the concept of asymmetric `gcongr` lemmas, something like `le_imp_lt_of_lt_left` and `le_imp_lt_of_lt_right`. An example of such a lemma that already exists in mathlib is `Ico_subset_Ioo_left`. - I'd like to improve the support for rewriting with symmetric relations such as `=α΅₯`. The following doesn't work very well yet: ``` variable {R : Type*} [CommRing R] [ValuativeRel R] {x y z : R} example (h : x =α΅₯ y) : x <α΅₯ z ↔ y <α΅₯ z := by grw [h] ``` Limitations: - The new implementation does not support occurrences. So, `nth_grw` still uses the old `kabstract`-based implementation. The reason is that there are often multiple `gcongr` lemmas for rewriting in the same place (e.g. `add_le_add` and `add_le_add_left`), and it's tricky to keep track of exactly what is "the same" subexpression. - The new implementation tries `gcongr` lemmas one by one, and commits to the first `gcongr` lemma that lets us do a rewrite. This means that we need to lower the priority of `add_le_add_left`, so that `add_le_add` is preferred, so that we can rewrite on both sides of `+` at the same time. However, `mul_le_mul_of_nonneg_left` and `mul_le_mul_of_nonneg_right` are still tried before `mul_le_mul`, to avoid getting unnecessary side goals. - Because the new term is constructed from `gcongr` lemmas, rather than by instantiating the result of `kabstract`, it may be that metadata gets lost, or that some implicit arguments change. For example, rewriting inside `a ≀ b` for `a b : Nat` will change the instance argument from `Nat.instLE` to `Nat.instPreorder.toLE`. This is not really a problem. - Some problems arise when implementing a rewriting tactic that can rewrite under binders, because metavariables have a fixed local context of free variables that they are allowed to depend on. This issue also affects the new `rw` tactic that the FRO is currenlty working on. This PR works around this by "illegally" changing the local context of metavariabes, so as to allow them to depend on bound variables. This has the unfortunate side effect that the "Expected Type" view can get messed up when rewriting bound variables, because the expression is being delaborated with the wrong local context. But I think this is only a minor problem. We coould reconsider this design when the new `rw` tactic is done. Changes to `gcongr`: - The `@[goncgr]` attribute now checks more thoroughly whether the given lemma is of the right form. Some lemmas are not suitable for use in `grw`, but they still "feel" like a `gcongr` lemma, so we still allow them to be used in `gcongr`. For such cases I've added a linter warning that can be turned off. - I've refactored how `gcongr` lemmas are applied, in order to share this code between `gcongr` and `grw`. Now, binder names are taken from the goal when possible, rather than not giving any name to new free variables. This improves `gcongr` (as it means you don't anymore need to write `gcongr with ...` to give the variable a name), and allows `grw` to preserve binder names in the goal. The grewrite test file now tests the new `grw` implementation. Should I make a copy of the test file to also test the old implementation? I have put myself as the copyright holder, instead of Sebastian Zimmer, as I think this more accurately reflect code ownership. The original `grw` PR was by Sebastian in 2023, but it was majorly rewritten by me in 2025. Sebastian is still in the list of authors. --- - [x] depends on: #38558 - [x] depends on: #38556 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 632/236 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean,Mathlib/Analysis/Convex/StrictCombination.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/Order/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,MathlibTest/GCongr/GCongr.lean,MathlibTest/GCongr/implications.lean,MathlibTest/GRewrite.lean 22 39 ['JovanGerb', 'PatrickMassot', 'Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues'] dwrensha
assignee:dwrensha
0-63986
17 hours ago
0-63986
17 hours ago
1-82834
1 day
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'] nobody
0-58150
16 hours ago
16-16514
16 days ago
22-85537
22 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'] nobody
0-58149
16 hours ago
11-43623
11 days ago
39-28021
39 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 123/1 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 7 ['TJHeeringa', 'github-actions', 'themathqueen'] nobody
0-58148
16 hours ago
12-85772
12 days ago
12-86081
12 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'] nobody
0-58147
16 hours ago
41-84738
41 days ago
41-85224
41 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'] nobody
0-58146
16 hours ago
47-1124
47 days ago
47-2305
47 days
39129 wwylele
author:wwylele
feat(Topology/Algebra): lemma about infinite sum on ENat This works towards resolving a todo in the ENNReal file. I intentionally kept the change short for quicker review, and hopefully this new file can invite future contributions by adding more lemma on demand. Also a lot of existing machinery on ENNReal will be superseded by #38489 and can be reused for ENat. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 43/1 Mathlib.lean,Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean,Mathlib/Topology/Algebra/InfiniteSum/ENat.lean 3 2 ['github-actions', 'mathlib-bors'] nobody
0-57975
16 hours ago
0-58146
16 hours ago
0-58992
16 hours
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'] joneugster
assignee:joneugster
0-56963
15 hours ago
17-25938
17 days ago
17-26120
17 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'] jcommelin
assignee:jcommelin
0-56962
15 hours ago
24-13419
24 days ago
42-27012
42 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'] joneugster
assignee:joneugster
0-56958
15 hours ago
17-74660
17 days ago
17-74591
17 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/) t-measure-probability 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 2 ['gasparattila', 'github-actions'] EtienneC30
assignee:EtienneC30
0-56957
15 hours ago
15-21206
15 days ago
15-22051
15 days
38587 dagurtomas
author:dagurtomas
feat(Tactic/CategoryTheory): concrete category boilerplate Adds `mk_concrete_category`, a command for generating the initial boilerplate for concrete categories whose morphisms are given by a bundled function type. The command creates the wrapper `Hom` type, named category and concrete category instances, `ofHom`, `Hom.hom`, and the basic dsimp lemmas. It handles parameterized categories such as `ModuleCat`, and has a paired additive/multiplicative form for generating both structures at once (e.g. `MonCat`/`AddMonCat`). Includes test categories checking the generated declarations. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) LLM-generated t-meta t-category-theory 905/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/MkConcreteCategory.lean,MathlibTest/CategoryTheory/MkConcreteCategory.lean 4 8 ['dagurtomas', 'eric-wieser', 'github-actions'] adamtopaz
assignee:adamtopaz
0-56956
15 hours ago
3-47695
3 days ago
3-48387
3 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 6 ['dagurtomas', 'github-actions', 'justus-springer'] joelriou
assignee:joelriou
0-56955
15 hours ago
8-21700
8 days ago
9-42257
9 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 2 ['github-actions', 'wwylele'] mattrobball
assignee:mattrobball
0-56954
15 hours ago
11-4231
11 days ago
11-4163
11 days
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 5/3 Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean 1 5 ['dagurtomas', 'github-actions', 'yuanyi-350'] joelriou
assignee:joelriou
0-56953
15 hours ago
9-60881
9 days ago
10-11328
10 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 large-import 598/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
0-52715
14 hours ago
0-52795
14 hours ago
33-10269
33 days
37216 mbkybky
author:mbkybky
feat(Algebra/Module): a finite stably free module `M` is free if it is invertible We show that a finite stably free module `M` is free if it is invertible. - [x] depends on: #36951 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
74/0 Mathlib.lean,Mathlib/Algebra/Module/StablyFree/FreeOfInvertible.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean 3 11 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mbkybky', 'robin-carlier'] robin-carlier
assignee:robin-carlier
0-45944
12 hours ago
0-45944
12 hours ago
4-33384
4 days
39133 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra/ModuleCat): exactness of restrictScalars for general universe level Currently exactness of `ModuleCat.restrictScalars` is synth via being adjoint functor, however this needs the universe level to be some `max u v` where `u` is the universe level of the ring. Here we provide exactness of restrictScalars for general universe level using it preserves short exact sequence. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
46/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean 2 1 ['github-actions'] nobody
0-45482
12 hours ago
0-45562
12 hours ago
0-45493
12 hours
38126 JovanGerb
author:JovanGerb
feat: overlapping instances linter This PR implements the overlapping instances linter, with better performance than the previous attempt. An 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 --- - [x] depends on: #38151 - [x] depends on: #38150 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 770/47 Mathlib.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Invertible.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/Control/Applicative.lean,Mathlib/Control/Functor.lean,Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/Init.lean,Mathlib/Lean/Elab/InfoTree.lean,Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/DedekindDomain/LinearDisjoint.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/NormalClosure.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/OverlappingInstances.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Connected/PathConnected.lean,MathlibTest/OverlappingInstances.lean,MathlibTest/Subsingleton.lean,MathlibTest/Variable.lean,MathlibTest/WhitespaceLinter.lean,MathlibTest/congr.lean,MathlibTest/norm_num.lean 65 95 ['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'thorimur'] thorimur
assignee:thorimur
0-43852
12 hours ago
1-11479
1 day ago
16-81165
16 days
38896 peabrainiac
author:peabrainiac
feat(Algebra): multiplicative torsors Introduce a class `Torsor` for torsors of multiplicative groups, as a multiplicative counterpart to the existing `AddTorsor` for torsors of additive groups. --- Adopted / migrated from #8608. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra file-removed
label:t-algebra$
643/544 Mathlib.lean,Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Algebra/Torsor/Defs.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/Defs.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/MulAction.lean,scripts/noshake.json 14 2 ['github-actions', 'grunweg'] nobody
0-42100
11 hours ago
0-42173
11 hours ago
6-45791
6 days
39103 CoolRmal
author:CoolRmal
feat(MeasureTheory): triangle inequality for the variation of vector measures We show that the variation of vector measures satisfies the triangle inequality. As an application, we show that integrals are additive in vector measures and bilinear forms in #30230. Created with the help of Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 23/1 Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean 1 2 ['github-actions', 'yoh-tanimoto'] EtienneC30
assignee:EtienneC30
0-40588
11 hours ago
1-51259
1 day ago
1-51190
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-32635
9 hours ago
10-58225
10 days ago
32-11014
32 days
38855 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Indexed): `≀` version of `ciSup_or'` for `ConditionallyCompleteLattice` Deprime `ciSup_or'` because there's no `ciSup_or`, and add a `≀` version (and dual) for `ConditionallyCompleteLattice`. Only `≀` because equality does not hold when `p β‰  q` without `sSup βˆ… = βŠ₯`. --- `ciSup_or'` can't have a dual because there's no dual to `ConditionallyCompleteLinearOrderBot`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 8/1 Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 1 1 ['github-actions'] nobody
0-32466
9 hours ago
7-53674
7 days ago
7-53605
7 days
38856 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Indexed): `iSup_iSup_eq_{left/right}` for `ConditionallyCompleteLinearOrderBot` and `≀` versions for `ConditionallyCompleteLattice`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 32/9 Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 2 1 ['github-actions'] nobody
0-32303
8 hours ago
7-46593
7 days ago
7-46524
7 days
38869 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace): Add instance for quotient of InnerProductSpace --- Couldn't find the inner product space instance for a quotient of an inner product space. After confirming at [#Is there code for X? > Quotient of inner product space is inner product space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20inner.20product.20space.20is.20inner.20product.20space/with/592464432), I made this PR. Defines an innerProductSpace instance on the quotient based on the isometry with the orthogonal complement, which is a closed subspace of the full space and thus has an innerProductSpace instance. AI usage: Didn't understand how to properly apply `quotient_norm_mk_eq K.toAddSubgroup x`. Claude suggested using convert. Otherwise no AI used, aside from acting as secondary Loogle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 68/0 Mathlib/Analysis/InnerProductSpace/ProdL2.lean 1 21 ['TJHeeringa', 'github-actions', 'j-loreaux', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
0-31800
8 hours ago
0-31525
8 hours ago
5-59372
5 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
0-31127
8 hours ago
40-51974
40 days ago
40-51905
40 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
0-30241
8 hours ago
16-84234
16 days ago
16-86074
16 days
39019 urkud
author:urkud
chore(*): reduce defeq abuse of `Set Ξ± = Ξ± β†’ Prop` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt 16/15 Mathlib/Analysis/Complex/CoveringMap.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Data/Nat/Order/Lemmas.lean,Mathlib/NumberTheory/EulerProduct/ExpLog.lean,Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/FiberBundle/Basic.lean 8 3 ['JovanGerb', 'github-actions', 'urkud'] JovanGerb
assignee:JovanGerb
0-27744
7 hours ago
3-43327
3 days ago
3-43258
3 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 398/0 Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] YaelDillies
assignee:YaelDillies
0-27431
7 hours ago
37-27533
37 days ago
95-10931
95 days
38552 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet/Homology): computing homology using nondegenerate simplices Given a simplicial set `X` and an object `R` in a preadditive category `C` (with coproducts), we introduce the chain complex `X.normalizedChainComplex R` which is a direct factor of `X.chainComplex R`, and is homotopy equivalent to it. The `n`-chains are coproducts indexed by nondegenerate `n`-simplices of `X` instead of all `n`-simplices. It follows that if `X` has dimension `< d`, then the homology of `X` vanishes in degrees `β‰₯ d`. (This is an application of results previously obtained as part of the formalization of the Dold-Kan equivalence.) --- - [x] depends on: #38954 - [x] depends on: #38544 - [x] depends on: #38543 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 273/2 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/AlgebraicTopology/SimplicialSet/Homology/Nondegenerate.lean 3 12 ['github-actions', 'jcommelin', 'joelriou', 'mathlib-dependent-issues', 'mathlib-splicebot', 'robin-carlier'] nobody
0-19369
5 hours ago
0-19415
5 hours ago
0-19348
5 hours
38971 homeowmorphism
author:homeowmorphism
chore(FinitelyPresentedGroup): Use dot notation by default whenever possible and typo fix * Changing the usage of `IsNormalClosureFG N` to `N.IsNormalClosureFG` as the idiomatic use of the latter seems easier to read ("N is finitely generated under normal closure") and is in line with using dot notation for terms. * Fix a typo in the main definition docstring regarding the usage of `map`: it should be `.map` instead of `_map`. --- I used Copilot + Gemini Pro 3.1 to query about usage and took some of its suggestions. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-group-theory 7/7 Mathlib/GroupTheory/FinitelyPresentedGroup.lean 1 3 ['github-actions', 'homeowmorphism', 'tb65536'] tb65536
assignee:tb65536
0-19257
5 hours ago
4-84314
4 days ago
4-84245
4 days
39110 SnirBroshi
author:SnirBroshi
chore(Data/Set): reduce defeq abuse of `Set Ξ± = Ξ± β†’ Prop` These are among the first places that would fail if `Set Ξ±` wasn't defeq to `Ξ± β†’ Prop`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 37/23 Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Order/BooleanAlgebra/Set.lean 6 10 ['SnirBroshi', 'github-actions', 'leanprover-radar', 'themathqueen', 'vihdzp'] nobody
0-19018
5 hours ago
1-25815
1 day ago
1-25774
1 day
39038 joelriou
author:joelriou
feat(CategoryTheory): Guitart exact squares and quotient categories In this PR, we construct Guitart exact squares which involve quotient categories. --- - [x] depends on: #38998 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 103/0 Mathlib.lean,Mathlib/CategoryTheory/GuitartExact/Quotient.lean 2 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-17758
4 hours ago
0-17511
4 hours ago
0-17454
4 hours
39089 Whysoserioushah
author:Whysoserioushah
feat(RepresentationTheory): Define continuous representation co-authored-by : @rmhi --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
158/0 Mathlib.lean,Mathlib/RepresentationTheory/Continuous/Basic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 9 ['Whysoserioushah', 'github-actions', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
0-16978
4 hours ago
0-18937
5 hours ago
2-217
2 days
39122 justus-springer
author:justus-springer
feat(AlgebraicGeometry/): Birationality and rationality of schemes This is a first step (of hopefully many) towards some basic birational geometry. This PR: - Moves `RationalMap.lean` into a new subdirectory `Birational/` - Adds `Birational/Birational.lean`, which defines predicates `Birational`, `BirationalOver` and `IsRationalOver` for arbitrary schemes and provides basic API (e.g. that they are equivalence relations, and that affine space is rational). Some notes on the choice of definitions: There are multiple ways to define what it means for two schemes to be birational to each other. A common one is: "There exists a rational map with a rational inverse". However, this would require defining composition of rational maps, which is not always defined (In order to compose `f : X ‏ Y` with `g : Y ‏ Z`, you need at least `X` preirreducible, `Y` nonempty and `f` dominant). On the other hand, I can define "There exist dense subsets `U : Opens X` and `V : Opens Y` such that `U β‰… V` as schemes" for any two schemes `X` and `Y`, with no conditions. Hence I chose that as a definition. I'm also working on defining composition of rational maps, and once that's done, there should be a theorem connecting the two definitions. For now, I've defined `IsRationalOver S X` to mean there exists a `n : Type 0` such that `X` is birational to `𝔸(n; S)`. I fixed the universe of `n` to avoid bad universe levels in the type of `IsRationalOver`. At least I wasn't able to find a way to make this universe polymorphic and make the linter happy, but maybe there is a way. All references on birational geometry I could find just work with finite-dimensional varieties anyway, which would fit in `Type 0`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebraic-geometry 297/1 Mathlib.lean,Mathlib/AlgebraicGeometry/Birational/Birational.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/Restrict.lean 4 1 ['github-actions'] nobody
0-14433
4 hours ago
0-81020
22 hours ago
0-81722
22 hours
38848 jcreinhold
author:jcreinhold
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `βˆ‚Ξ”[n] β†ͺ Ξ”[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`. Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`). AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option. t-algebraic-topology new-contributor 120/3 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean 2 22 ['github-actions', 'jcreinhold', 'joelriou', 'mckoen'] joelriou
assignee:joelriou
0-13315
3 hours ago
0-78521
21 hours ago
7-47229
7 days
32058 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): Baer criterion for injective dimension 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`. By dimension shifting, we also have `M` has injective dimension not exceeding `n` iff `Ext^{n + 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$
162/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean 3 67 ['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
0-13000
3 hours ago
0-13069
3 hours ago
45-1440
45 days
39138 Thmoas-Guan
author:Thmoas-Guan
refactor(Algebra/GeometricallyReduced): refactor `Algebra.IsGeometricallyReduced` Refactor `Algebra.IsGeometricallyReduced` to adapt to general algebra over commutative ring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 41/16 Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean 1 1 ['github-actions'] nobody
0-11435
3 hours ago
0-31163
8 hours ago
0-31665
8 hours
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$
133/0 Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Shift.lean 2 5 ['copilot-pull-request-reviewer', 'github-actions'] themathqueen
assignee:themathqueen
0-9549
2 hours ago
0-10134
2 hours ago
21-71379
21 days
37934 Thmoas-Guan
author:Thmoas-Guan
feat(FieldTheory): definition of transcendental separable field extension In this PR, we introduce the concept of separably generated field extension and transcendental separable field extension. Further properties will be in #37838 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
69/0 Mathlib.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean 2 4 ['Thmoas-Guan', 'github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
0-9164
2 hours ago
0-9164
2 hours ago
8-27272
8 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/) 190/0 Mathlib/Topology/Algebra/InfiniteSum/Order.lean 1 6 ['SnirBroshi', 'github-actions', 'wwylele'] nobody
0-9031
2 hours ago
15-59777
15 days ago
15-60935
15 days
37592 erdOne
author:erdOne
feat(Geometry/Convex): indexed convex combinations 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$
540/172 Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/LinearAlgebra/ConvexSpace.lean,Mathlib/LinearAlgebra/ConvexSpace/AffineSpace.lean 3 88 ['ADedecker', 'YaelDillies', 'b-mehta', 'bryangingechen', 'erdOne', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'kbuzzard', 'martinwintermath', 'mathlib-bors', 'ocfnash'] nobody
0-8917
2 hours ago
0-42835
11 hours ago
10-12115
10 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 138/2 Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Grassmannian.lean 3 28 ['chrisflav', 'github-actions', 'mathlib-merge-conflicts', 'mpenciak', 'riccardobrasca', 'robin-carlier', 'smorel394'] riccardobrasca
assignee:riccardobrasca
0-8293
2 hours ago
1-49448
1 day ago
77-47557
77 days
38794 YaelDillies
author:YaelDillies
feat(Algebra/Order): stronger positivity criterion for `expect` From AddCombi --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
9/10 Mathlib/Algebra/Order/BigOperators/Expect.lean 1 7 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'riccardobrasca'] nobody
0-7940
2 hours ago
7-36601
7 days ago
8-17844
8 days
39139 or4nge19
author:or4nge19
feat(LinearAlgebra): Schur triangulation Adds Schur triangulation API for algebraically closed `RCLike`, proved by triangularizing an endomorphism, aiming at a more mathlib idiomatic approach than the original one in #20730 as it now (better) specializes the existing triangularization API and generalizes supporting lemmas in more natural places. A prerequisite for porting `Matrix.det_exp` proof from physlib. It also proves half of existing TODO in Eigenspace.Triangularizable. It may need a split into 2 PRs and coordination with #37006 . See [this](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Contribute.20Schur.20decomposition/with/532385359) and [this](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/.28Matrix.20and.20NormedSpace.2Eexp.29.20.7C.20det.20.28exp.20A.29.20.3D.20exp.20.28trace.20A.29/with/581264603) zulip discussions. Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 687/75 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/Triangularizable.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean 10 2 ['github-actions', 'wwylele'] nobody
0-7893
2 hours ago
0-23174
6 hours ago
0-23234
6 hours
38986 teorth
author:teorth
feat: lower bounds for Chebyshev theta and psi functions Adds lower bounds to Chebyshev.lean for the theta, psi, and prime counting functions. Relating to this, the lcm of the first n natural numbers is defined, with some basic API, and the psi function is shown to equal to the log of this lcm. A helper lemma on the prime factorization of a finset lcm is added to FinsetLemmas.lean. API for `primesLE` (the primes less than or equal to a natural number) is added to `PrimeCounting.lean`. The API for `primesBelow` (the primes strictly less than a natural number) has been moved from `SmoothNumbers.lean` to `PrimeCounting.lean` and the two API have been aligned. See also the discussion at https://leanprover.zulipchat.com/#narrow/channel/423402-PrimeNumberTheorem.2B/topic/A.20short.20proof.20of.20the.20Chebyshev.20lower.20bound Also made minor edits to `Primorial.lean` to link it to the new `primesLE`. A helper lemma that the log of a prime is always positive is added to `Analysis.SpecialFunctions.Log.Basic`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory large-import 392/60 Mathlib/Algebra/GCDMonoid/FinsetLemmas.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/PrimeCounting.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/NumberTheory/SmoothNumbers.lean 6 104 ['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'faenuccio', 'github-actions', 'grunweg', 'kim-em', 'tb65536', 'teorth', 'vihdzp'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
0-7044
1 hour ago
0-7096
1 hour ago
1-79075
1 day
38840 peabrainiac
author:peabrainiac
feat(Topology): continuous germs of maps Add a predicate `Filter.Germ.Continuous` for continuity of germs between topological spaces, and bundled types `ContinuousGerm x Y` / `PointedContinuousGerm x y` of continuous germs at `x` resp. continuous germs at `x` taking `x` to `y`. --- See also #10977, which tried to introduce smooth germs between manifolds a while ago, though with a focus on pointwise algebraic operations instead of composability. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 204/0 Mathlib.lean,Mathlib/Topology/ContinuousGerm.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Germ.lean 4 2 ['github-actions', 'j-loreaux'] nobody
0-6927
1 hour ago
8-32847
8 days ago
8-32778
8 days
39137 vihdzp
author:vihdzp
feat: normal function has a closed range --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 18/0 Mathlib/Order/IsNormal.lean 1 2 ['YaelDillies', 'github-actions'] nobody
0-6619
1 hour ago
0-36544
10 hours ago
0-36475
10 hours
37399 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Paths): `IsPath` and `Nil` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 10/3 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 2 5 ['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
0-6479
1 hour ago
40-50414
40 days ago
40-50489
40 days
39142 justus-springer
author:justus-springer
feat(Mathlib/AlgebraicGeometry/Restrict): Strengthen a technical lemma Strengthen the lemma `Scheme.ΞΉ_image_homOfLE_le_ΞΉ_image` so we get an equality instead of an LE. Also add a variant of `Scheme.homOfLE_apply` that takes in its argument unbundled, which is useful in the proof. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 16/6 Mathlib/AlgebraicGeometry/Restrict.lean 1 1 ['github-actions'] nobody
0-6077
1 hour ago
0-6156
1 hour ago
0-6087
1 hour
37350 aditya-ramabadran
author:aditya-ramabadran
feat(Analysis/Distribution): define canonical maps between Schwartz/test functions, distributions/tempered distributions Defines these canonical maps: (1) continuous linear map from $\mathcal D$ to $\mathcal S$, and (2) induced (linear) restriction map from $\mathcal S'$ to $\mathcal D'$, as assigned by @ADedecker. --- Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though. * Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM) * Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions * Induced map $\mathcal S'(E,F) \to \mathcal D'(Ξ©,F)$ is $\mathbb C$-linear The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions. Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 226/0 Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean 2 24 ['aditya-ramabadran', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
0-5606
1 hour ago
0-6553
1 hour ago
32-6780
32 days
39076 joelriou
author:joelriou
feat(Algebra/Homology): the homotopy category of bounded below cochain complexes --- - [ ] depends on: #38997 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 610/1 Mathlib.lean,Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/Opposite.lean,Mathlib/Algebra/Homology/Precylinder.lean,Mathlib/AlgebraicTopology/ModelCategory/Cylinder.lean,Mathlib/AlgebraicTopology/ModelCategory/LeftHomotopy.lean,Mathlib/AlgebraicTopology/ModelCategory/PathObject.lean,Mathlib/AlgebraicTopology/ModelCategory/RightHomotopy.lean,Mathlib/CategoryTheory/Shift/Quotient.lean,Mathlib/CategoryTheory/Triangulated/Subcategory.lean 14 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-4969
1 hour ago
0-4971
1 hour ago
0-5996
1 hour
39066 YaelDillies
author:YaelDillies
feat(Analysis): `LinearMap.id` is unitary This is for simp. From MeanFourier --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 10/6 Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean 2 5 ['github-actions', 'leanprover-radar', 'themathqueen'] nobody
0-3260
54 minutes ago
2-34357
2 days ago
2-34288
2 days
38962 sharky564
author:sharky564
refactor(Topology/Algebra/Module/LinearMap): rename subtypeL companion lemmas This PR renames the companion lemmas of `Submodule.subtypeL` for consistency with `Submodule.mkQL` (introduced in PR #38811). Specifically, `Submodule.coe_subtypeL` is renamed to `Submodule.toLinearMap_subtypeL` (to accurately reflect that it projects to the underlying LinearMap, not a function-level coercion), and `Submodule.coe_subtypeL'` is renamed to `Submodule.coe_subtypeL` (since this is the genuine function-level coercion lemma). --- This brings the `subtypeL` API in line with the `mkQL` naming convention established in PR #38811. No behavioural changes. t-topology new-contributor maintainer-merge 38/32 Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,scripts/nolints_prime_decls.txt 4 16 ['ADedecker', 'github-actions', 'sharky564', 'themathqueen'] dagurtomas
assignee:dagurtomas
0-3061
51 minutes ago
4-13638
4 days ago
4-26384
4 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$
325/25 Mathlib/Algebra/SkewPolynomial/Basic.lean 1 24 ['faenuccio', 'github-actions', 'mariainesdff'] faenuccio
assignee:faenuccio
0-1099
18 minutes ago
3-22778
3 days ago
12-20778
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
38-29279
1 month ago
38-29315
38 days ago
38-57767
38 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
27-78549
27 days ago
27-78607
27 days ago
33-45989
33 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
23-30320
23 days ago
23-30344
23 days ago
39-84991
39 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
21-57592
21 days ago
23-7881
23 days ago
122-75801
122 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
17-57541
17 days ago
40-6197
40 days ago
40-59542
40 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
16-84664
16 days ago
16-84664
16 days ago
17-1947
17 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
16-57535
16 days ago
18-63574
18 days ago
21-67046
21 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
15-21815
15 days ago
15-21869
15 days ago
31-20859
31 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
15-21783
15 days ago
18-75727
18 days ago
18-76044
18 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
13-57429
13 days ago
31-59868
31 days ago
33-46561
33 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
12-49776
12 days ago
24-49722
24 days ago
26-47918
26 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
11-66039
11 days ago
17-56159
17 days ago
18-30916
18 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
11-57228
11 days ago
21-11297
21 days ago
66-18681
66 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
11-52443
11 days ago
11-52507
11 days ago
13-82711
13 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
11-47010
11 days ago
11-47011
11 days ago
174-42011
174 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
10-57281
10 days ago
56-42366
56 days ago
56-42297
56 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
10-57275
10 days ago
30-66173
30 days ago
32-63213
32 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
10-49209
10 days ago
21-46694
21 days ago
29-56405
29 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
10-5447
10 days ago
10-5491
10 days ago
18-26558
18 days
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
9-77674
9 days ago
13-5295
13 days ago
27-17443
27 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'] eric-wieser
assignee:eric-wieser
9-56976
9 days ago
73-84003
73 days ago
76-31820
76 days
38745 FordUniver
author:FordUniver
chore(Combinatorics/SimpleGraph/Copy): rename labelledCopyCount Renames `labelledCopyCount` to `labeledCopyCount` (American spelling per the [naming conventions](https://leanprover-community.github.io/contribute/naming.html#spelling)). 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 15 ['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions'] nobody
9-28837
9 days ago
10-2990
10 days ago
10-41368
10 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. new-contributor t-algebra
label:t-algebra$
19/0 Mathlib/Algebra/MvPolynomial/Equiv.lean 1 5 ['eliasjudin', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
8-72171
8 days ago
16-27623
16 days ago
17-1663
17 days
38316 tannerduve
author:tannerduve
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction Adds `ContinuousHom.lfp` for endomorphisms on an Ο‰CPO with `βŠ₯`, as the `Ο‰Sup` of the iterate chain from `βŠ₯`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `Ο‰Sup_iterate_induction`). For `Part.fix`, adds: * `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`. * `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] βŠ₯`/`iterateChain`. * `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is Ο‰-Scott continuous. * `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`. * `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. new-contributor 114/0 Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib 3 2 ['github-actions'] nobody
7-82519
7 days ago
19-58621
19 days ago
19-59078
19 days
33355 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870. ### Main definitions - `SimpleGraph.IsVertexReachable`: vertices remain reachable after removing strictly fewer than `k` other vertices. - `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable. Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). new-contributor t-combinatorics 216/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean 3 147 ['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
7-9438
7 days ago
7-19777
7 days ago
42-76412
42 days
34435 huaizhangchu
author:huaizhangchu
feat(Probability): convolution of Poisson distributions This PR proves that the convolution of two Poisson distributions is again a Poisson distribution: `Poisson(r₁) βˆ— Poisson(rβ‚‚) = Poisson(r₁ + rβ‚‚)` ## Main results - `poissonMeasureReal_charFun`: characteristic function of Poisson distribution is `exp(r(exp(it) - 1))` - `poissonMeasureReal_conv_poissonMeasureReal`: convolution of Poisson distributions on ℝ - `poissonMeasure_conv_poissonMeasure`: convolution of Poisson distributions on β„• - `poissonMeasure_add_poissonMeasure_of_indepFun`: sum of independent Poisson random variables ## Proof strategy Uses characteristic functions: `Ο†(t) = exp(r(eⁱᡗ - 1))`, then pulls back from ℝ to β„•. --- - [x] depends on: #34521 - [ ] depends on: #36374 t-measure-probability large-import new-contributor 123/17 Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean 2 83 ['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'huaizhangchu', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'pfaffelh', 'vianna04', 'yuanyi-350'] EtienneC30
assignee:EtienneC30
7-7731
7 days ago
7-7731
7 days ago
66-20668
66 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$
155/0 Mathlib.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/LinearAlgebra/Matrix/HadamardMatrix.lean,docs/references.bib 5 14 ['JJYYY-JJY', 'dennj', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
6-48753
6 days ago
13-7231
13 days ago
13-7162
13 days
38871 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph): add parity lemmas for outer and inner vertices Adds three lemmas to `SimpleGraph.DegreeSum`: - `sum_degrees_option_zmod_two`: the handshaking lemma for `Option I` over ZMod 2 - `degree_none_zmod_two_eq_sum`: simp-normal form of the above - `card_degree_one_option_eq_outer_zmod_two`: under degree bound ≀ 2, count of degree-1 inner vertices equals outer vertex degree mod 2 t-combinatorics new-contributor 65/3 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean 1 6 ['0xTerencePrime', 'SnirBroshi', 'github-actions'] nobody
6-45604
6 days ago
7-15832
7 days ago
7-15763
7 days
38897 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the two endpoints have different colors, then the number of color-changing edges is odd. This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns antichains in a power set. This file formalizes the topological/combinatorial parity statement used as the base case in higher-dimensional Sperner arguments. ## Key declarations - `SpernerColoring`: type-safe coloring via `Fin (n + 1) β†’ ZMod 2` - `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2` - `totalDiff`: telescoping sum of all edge differences - `diffEdges`: the `Finset` of bichromatic (color-changing) edges - `sperner_1d`: main theorem β€” `Odd (diffEdges c).card` ## Design notes - Using `Fin (n + 1) β†’ ZMod 2` instead of `β„• β†’ ZMod 2` makes boundary conditions unrepresentable at the type level, eliminating out-of-bounds cases entirely. - The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero` to cancel all interior vertices, avoiding parity case splits. This is intended as the 1D base case, the approach generalizes to higher-dimensional Sperner's Lemma in future work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 133/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean 2 3 ['github-actions', 'grunweg'] nobody
6-36838
6 days ago
6-46988
6 days ago
6-46919
6 days
38755 TJHeeringa
author:TJHeeringa
feat(Analysis/innerProductSpace/GramMatrix): Add Gram.posSemidef_of_mapL --- `Analysis/innerProductSpace/TensorProduct` has a TODO for a continuous version of `TensorProduct.map`. One place which contains a proof for this is at [stack](https://math.stackexchange.com/a/3934668). This PR is lemma 1 of that. It is written with `.PosSemidef` instead of `≀` because the LΓΆwner Order on matrices is only defined in lean for matrices with values in `π•œ`. No AI used. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 14/0 Mathlib/Analysis/InnerProductSpace/GramMatrix.lean 1 10 ['TJHeeringa', 'github-actions', 'themathqueen'] urkud
assignee:urkud
6-23194
6 days ago
9-27674
9 days ago
9-54737
9 days
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- I think this is useful and one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) β‰  0 instead of the special case CharZero R with n β‰  0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 14/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 26 ['Maldooor', 'github-actions', 'lua-vr', 'mcdoll', 'samueloettl'] mcdoll
assignee:mcdoll
6-4265
6 days ago
11-11097
11 days ago
77-9841
77 days
35753 Vilin97
author:Vilin97
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods. Follow-up PR: #35755 (forward Euler method convergence). I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it. --- The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. - [ ] depends on: #38091 t-topology new-contributor LLM-generated maintainer-merge 201/0 Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean 2 58 ['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] j-loreaux
assignee:j-loreaux
5-81768
5 days ago
8-68868
8 days ago
41-31678
41 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'] alreadydone
assignee:alreadydone
5-57443
5 days ago
26-388
26 days ago
26-319
26 days
38801 TBUGTB
author:TBUGTB
feat(Topology/Order): order topology on WithTop API lemmas Upstream lemmas on the order topology on WithTop from the brownian motion project. Co-authored-by: Kexing Ying --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology brownian new-contributor 24/0 Mathlib/Order/Filter/AtTopBot/Basic.lean,Mathlib/Topology/Order/WithTop.lean 2 8 ['TBUGTB', 'github-actions', 'plp127', 'vihdzp'] j-loreaux
assignee:j-loreaux
5-57440
5 days ago
8-25634
8 days ago
9-10652
9 days
38895 emlis42
author:emlis42
chore(Algebra/ContinuedFractions): golf This PR simplifies some proofs in `Algebra/ContinuedFractions` t-algebra new-contributor
label:t-algebra$
39/63 Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean 7 2 ['github-actions'] nobody
5-55954
5 days ago
5-61165
5 days ago
6-49399
6 days
37714 mortarsanjaya
author:mortarsanjaya
feat(Algebra/Order/Floor/Defs): `Nat.cast` is strictly monotone in `FloorSemiring` and `FloorRing` As title says, and without the `IsOrderedRing` assumption. Other than that, I removed the `IsOrderedRing` assumption from pretty much all the lemmas in `Algebra/Order/Floor/Defs` that could possibly have this assumption removed, and reduced some `IsStrictOrderedRing` assumptions to `IsOrderedRing` + `Nontrivial`. Due to strict monotonicity, we can also provide `CharZero` instance on `FloorSemiring` and `FloorRing`. Thus we can remove the `NeZero` and `Nontrivial` instances on them. The changes on `/Ring` and `/Semiring` are trivial changes due to some lemmas not requiring an `IsOrderedRing` instance anymore. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
96/39 Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean 5 24 ['dagurtomas', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mortarsanjaya'] eric-wieser
assignee:eric-wieser
5-41748
5 days ago
9-17519
9 days ago
33-16940
33 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
5-41656
5 days ago
27-6650
27 days ago
27-68875
27 days
38951 thomaskwaring
author:thomaskwaring
feat(Order/PrimeSeparator): remove unnecessary hypotheses In `mem_ideal_sup_principal`, boundedness and distributivity were unused, and in `prime_ideal_of_disjoint_filter_ideal`, boundedness was only used to produce an element of the filter `F`, which is already nonempty by definition. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 9/19 Mathlib/Order/PrimeSeparator.lean 1 2 ['github-actions'] nobody
5-29529
5 days ago
5-29616
5 days ago
5-29547
5 days
38866 j-mayoral
author:j-mayoral
feat(PresentedGroup): free-product of presentations is isomorphic to the presentation of the union (over the disjoint union of generators) --- Adds the theorem that the free product of presentations is isomorphic to the presentation on the disjoint union of the generators with the union of the relations. That is, `<Ξ± | R₁> * <Ξ² | Rβ‚‚> ≃* <Ξ± βŠ• Ξ² | iΞ±(R₁) βˆͺ iΞ²(Rβ‚‚)>`. Don't know if the current file is the best to add this result. I have the feeling this could be made more elegant, avoiding the need to state lemmas explicitly about the relations of the canonical maps, by instead working with relations on the free product of free groups and then studying how quotienting by relations behaves in terms of isomorphisms. However, that approach is less straightforward, so I prefer to keep the current PR as is and discuss possible refinements there to get better feedback (I’m new and still learning). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-group-theory large-import 60/0 Mathlib/GroupTheory/PresentedGroup.lean 1 6 ['github-actions', 'j-mayoral', 'kbuzzard'] tb65536
assignee:tb65536
5-24482
5 days ago
6-41746
6 days ago
7-18097
7 days
38967 abeldonate
author:abeldonate
doc(Algebra/Module/Projective): remove TODOs Remove the TODO list, since the have already been implemented on an instance. t-algebra new-contributor
label:t-algebra$
0/7 Mathlib/Algebra/Module/Projective.lean 1 3 ['github-actions'] nobody
5-4318
5 days ago
5-5988
5 days ago
5-5919
5 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
4-75747
4 days ago
4-75747
4 days ago
23-3388
23 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. new-contributor t-measure-probability 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'] EtienneC30
assignee:EtienneC30
4-57466
4 days ago
13-65067
13 days ago
24-11611
24 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'] TwoFX
assignee:TwoFX
4-57464
4 days ago
29-14665
29 days ago
36-56961
36 days
37707 MavenRain
author:MavenRain
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor Addresses #34962 new-contributor t-combinatorics 44/31 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 4 ['MavenRain', 'SnirBroshi', 'github-actions'] nobody
4-50429
4 days ago
4-51515
4 days ago
4-53086
4 days
36785 hommmmm
author:hommmmm
feat(RingTheory/Localization): Nagata's criterion for primality in localization away ## Summary - Add `dvd_of_mem_span_singleton_localization`: if `p` is prime and `p ∀ x`, then membership in the span of the image of `x` in `R[1/p]` implies divisibility by `x`. - Add `prime_of_prime_in_localization` (Nagata's criterion): if `p` is prime, `x` is irreducible, and the image of `x` in `R[1/p]` is prime, then `x` is prime. ## References - [Stacks Project, Tag 0AFU](https://stacks.math.columbia.edu/tag/0afu) ## AI Disclosure This code is written without AI, then uses Claude Code with cameronfreer's [Lean4-skills](https://github.com/cameronfreer/lean4-skills) (specifically, the `review`, `refactor`, and `golf` workflow) for style changes, refactoring and golfing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 50/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 8 ['chrisflav', 'github-actions', 'hommmmm'] chrisflav
assignee:chrisflav
4-35660
4 days ago
4-35660
4 days ago
27-19732
27 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 4 ['dagurtomas', 'github-actions'] nobody
4-30786
4 days ago
12-21587
12 days ago
12-21518
12 days
36216 michaellee94
author:michaellee94
feat(CategoryTheory): characterize pullback squares via the `Over` category --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor maintainer-merge 47/0 Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Basic.lean 1 18 ['dagurtomas', 'github-actions', 'joelriou', 'michaellee94'] robin-carlier
assignee:robin-carlier
4-1192
4 days ago
4-1219
4 days ago
6-51980
6 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'] nobody
3-58149
3 days ago
33-61060
33 days ago
33-61484
33 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'] EtienneC30
assignee:EtienneC30
3-57249
3 days ago
26-76090
26 days ago
26-76784
26 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 LLM-generated 157/0 Mathlib/Combinatorics/Quiver/Schreier.lean 1 2 ['github-actions'] nobody
3-43544
3 days ago
19-77018
19 days ago
19-76949
19 days
39023 TBUGTB
author:TBUGTB
feat(Algebra/Order): API lemmas on floor and abs Co-authored-by: Etienne Marion @EtienneC30 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra brownian new-contributor
label:t-algebra$
9/0 Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Ring/Abs.lean 2 3 ['TBUGTB', 'github-actions'] nobody
3-25270
3 days ago
3-28459
3 days ago
3-28390
3 days
39030 FordUniver
author:FordUniver
feat(Analysis/SpecialFunctions/Pow/Continuity): add Filter.Tendsto.rpow_const_nhds_zero Specialises `Filter.Tendsto.rpow_const` to base `β†’ 0`. The strict `0 < p` (rather than `0 ≀ p` from the parent) is needed to identify `0 ^ p` with `0`. Refactors the one in-tree call site (`ZetaAsymp.term_tsum_of_lt`). Co-authored-by: Sebastian Pokutta <23001135+pokutta@users.noreply.github.com> --- This came out of a Frank–Wolfe convergence formalisation, where gap rates of the form `f t ^ p β†’ 0` recur and manually discharging the disjunction together with the `0 ^ p = 0` rewrite every time is a bit of a nuisance. A sweep over mathlib turned up `ZetaAsymp.term_tsum_of_lt` as the one place the same pattern already appears in the library. I am not 100% sure on what the convention of adding these single-line specializations is, but this specific case did seem worth adding to me. new-contributor t-analysis 7/3 Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean 2 2 ['github-actions'] nobody
3-14488
3 days ago
3-22534
3 days ago
3-22465
3 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 8 ['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mattrobball', 'ooovi'] nobody
3-12290
3 days ago
37-54330
37 days ago
51-64589
51 days
38527 archiebrowne
author:archiebrowne
feat(Analysis/Calculus): 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 317/24 Mathlib.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/ContDiffMulAction.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean 6 11 ['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] PatrickMassot and grunweg
assignee:grunweg assignee:PatrickMassot
2-73931
2 days ago
2-74006
2 days ago
10-59846
10 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 87/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 7 ['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] nobody
2-72710
2 days ago
3-26315
3 days ago
29-6102
29 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'] riccardobrasca
assignee:riccardobrasca
2-57196
2 days ago
20-57468
20 days ago
20-78376
20 days
39036 ajhendel
author:ajhendel
doc: fix Lean 3 namespace in DiophantineApproximation The implementation notes section references the Lean 3 namespace \`real.contfrac_legendre\`, but this was renamed to \`Real.ContfracLegendre\` during the port. This fixes the reference. --- Co-Authored-By: Claude Opus 4.6 t-number-theory new-contributor maintainer-merge 1/1 Mathlib/NumberTheory/DiophantineApproximation/Basic.lean 1 4 ['github-actions', 'tb65536'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
2-57183
2 days ago
3-11011
3 days ago
3-10942
3 days
35287 arnoudvanderleer
author:arnoudvanderleer
feat(AlgebraicTopology/SimplicialSet): define isomorphisms in simplicial sets, and the coherent isomorphism simplicial set show that any edge in a simplicial set, that is the image of the forward edge of the coherent isomorphism under a simplicial set morphism, is an isomorphism. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor infinity-cosmos 367/3 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/CoherentIso.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveCodiscrete.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean 6 111 ['arnoudvanderleer', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier'] robin-carlier
assignee:robin-carlier
2-34194
2 days ago
9-27864
9 days ago
28-12193
28 days
36103 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial/CharacteristicSet): add Characteristic Set This PR adds some definitions and theorems of Characteristic Set Method (also known as Wu's Method). Definitions: * `MvPolynomial.mainDegree` * `MvPolynomial.initialOf` * `MvPolynomial.reducedTo` * `TriangulatedSet` * `MvPolynomial.pseudo` * `MvPolynomial.setPseudo` * `MvPolynomial.isRemainder` * `MvPolynomial.isSetRemainder` * `AscendingSetTheory` * `TriangulatedSet.isAscendingSet` * `HasBasicSet` * `TriangulatedSet.isCharacteristicSet` * `MvPolynomial.List.characteristicSet` * `MvPolynomial.List.zeroDecomposition` Main Theorems: * `MvPolynomial.initialOf_mul_eq`: $init_i(p \cdot q) = init_i(p) \cdot init_i(q)$ if there is no zero divisors in the coefficient ring. * `TriangulatedSet.instWellFoundedLT`: The set of Triangulated Sets is well-founded under the lexicographic ordering. * `MvPolynomial.pseudo_remainder_isRemainder`: The remainder $r$ of $g$ by $f$ is reduced with respect to $f$ and satisfies $init(f)^s \cdot g = q \cdot f + r$ for some $s \in \mathbb{N}$ and $q \in R[X_{\sigma}]$. * `MvPolynomial.setPseudo_remainder_isSetRemainder`: The remainder $r$ of $g$ by a set $S$ is reduced with respect to $S$ and satisfies $(\prod S_i^{e_i}) \cdot g = \sum q_i \cdot S_i + r$ for some sequences $\{e_i\}$ and $\{q_i\}$. * `MvPolynomial.setPseudo_remainder_eq_zero_of_mem`: The remainder of $p$ by a set $S$ is $0$ if $p \in S$. * `MvPolynomial.List.basicSet_append_lt_of_exists_reducedToSet`: Appending an element which is reduced w.r.t. the basic set of list strictly decreases the order. * `MvPolynomial.List.characteristicSet_isCharacteristicSet`: The computed Characteristic Set $CS$ satisfies the key algebraic property (pseudo-remainder of input polynomials is 0) and the geometric property ( $Zero(PS) \subseteq Zero(CS)$ ). * `MvPolynomial.List.vanishingSet_eq_zeroDecomposition_union`: The zero set of a polynomial system $PS$ can be decomposed into a finite union of "quasi-varieties" defined by triangular sets: $Zero(PS) = \bigcup_{CS \in \mathcal{ZD}} Zero(CS / \text{InitialProd}(CS))$ The PR is upstreamized from [github.com/WuProver/lean_characteristic_set](https://github.com/WuProver/lean_characteristic_set) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #36386 - [x] depends on: #37791 t-algebra new-contributor
label:t-algebra$
3860/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/AscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/CharacteristicSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Initial.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/MainDegree.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Order.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/PseudoDivision.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Reduce.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/StandardAscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/TriangularSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/WeakAscendingSet.lean,docs/references.bib 12 20 ['Hagb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-27943
2 days ago
2-27985
2 days ago
6-15003
6 days
35316 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 4/5) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor large-import 84/1 Mathlib/Analysis/Analytic/Order.lean 1 29 ['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'kebekus', 'mathlib-dependent-issues', 'mkaratarakis'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
2-24237
2 days ago
3-63653
3 days ago
27-11533
27 days
39082 emlis42
author:emlis42
feat(Analysis\Calculus\Deriv): add deriv_const_op This PR adds some lemmas so `simp` can automatically evaluate derivatives of partially applied heterogeneous operations such as `HAdd.hAdd`, `HMul.hMul` `HDiv.hDiv`, and `HPow.hPow`. t-analysis new-contributor 47/5 Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,MathlibTest/Deriv.lean 7 2 ['github-actions'] nobody
2-12384
2 days ago
2-12463
2 days ago
2-13114
2 days
38814 sharky564
author:sharky564
refactor(LinearAlgebra/Projection): refactor `quotientEquivOfIsCompl` via `LinearEquiv.ofLinear` This PR refactors `Submodule.quotientEquivOfIsCompl` to use `LinearEquiv.ofLinear` rather than `LinearEquiv.symm <| LinearEquiv.ofBijective`. The new definition makes both directions of the equivalence explicit: the forward idirection is `Submodule.liftQ` of the projection onto `q` along `p`, and the backward direction is `Submodule.mkQ` composed with the inclusion `q` in `E`. --- The motivation is work on topological complements of submodules in PR #38547. The proof of `IsCompl.isTopCompl_iff_continuous_quotientEquiv` reduces, via the quotient-map property of `mkQ`, to identifying the composite `quotientEquivOfIsCompl ∘ mkQ` with the linear projection. This identifications feels like it should belong at the algebraic level and not mixed in with the topological reasoning. Additionally, these lemmas seem useful independently. t-algebra new-contributor maintainer-merge
label:t-algebra$
43/22 Mathlib/LinearAlgebra/Projection.lean 1 27 ['ADedecker', 'github-actions', 'sharky564', 'themathqueen'] nobody
2-6610
2 days ago
4-6520
4 days ago
8-37014
8 days
33178 gw90
author:gw90
feat(Analysis/CStarAlgebra/Spectrum): Adding lemmas that the CStarAlgebra norm equals the square root of the spectral radius of star a * a Adds lemmas that the ||a||^2_A=sqrt(spectralRadius C (star a * a)). I think it would be helpful to have these lemmas available in Mathlib. It'll help with some of the other things I'm working on. Feel free to move them to a different file or rename them as you see fit. new-contributor t-analysis 24/0 Mathlib/Analysis/CStarAlgebra/Spectrum.lean 1 17 ['github-actions', 'gw90', 'themathqueen', 'vihdzp'] nobody
1-78145
1 day ago
1-78503
1 day ago
2-7243
2 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 224/0 Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean 3 57 ['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] kim-em
assignee:kim-em
1-72901
1 day ago
1-76325
1 day ago
15-39972
15 days
35394 HugLycan
author:HugLycan
feat(Tactic/Positivity): make positivity work for types that are not partial orders Make positivity work for types that are not partial orders Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR. `Strictness` now depends on `Option Q(PartialOrder $Ξ±)` instead of `Q(PartialOrder $Ξ±)`, and the constructors `Strictness.positive`/`Strictness.nonnegative` now have their `Q(PartialOrder $Ξ±)` typeclass arguments. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta 661/375 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Factorial/DoubleFactorial.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/Height/Projectivization.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,MathlibTest/positivity.lean 54 69 ['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
1-60133
1 day ago
3-61206
3 days ago
46-19308
46 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'] b-mehta
assignee:b-mehta
1-57296
1 day ago
27-77792
27 days ago
43-48522
43 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 5 ['dagurtomas', 'github-actions', 'ntapiam'] ocfnash
assignee:ocfnash
1-57286
1 day ago
2-23064
2 days ago
17-28292
17 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 23/27 Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean 2 6 ['dagurtomas', 'github-actions', 'mortarsanjaya'] joneugster
assignee:joneugster
1-57281
1 day ago
18-80833
18 days ago
18-80764
18 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'] ocfnash
assignee:ocfnash
1-57278
1 day ago
17-13021
17 days ago
18-1393
18 days
39090 EngelsVon
author:EngelsVon
feat(Analysis/Calculus/DifferentialForm): Stokes theorem on boxes for differential forms ## Summary This PR adds the first instances of the **generalized Stokes theorem for differential forms** in Mathlib, building on the existing `extDeriv` API from `Analysis.Calculus.DifferentialForm.Basic` and the divergence theorem from `MeasureTheory.Integral.DivergenceTheorem`. ### New files #### `Mathlib.Analysis.Calculus.DifferentialForm.BoxStokes` (310 lines, **fully proved**) Stokes theorem on rectangular boxes `[a, b] βŠ‚ ℝ^(m+1)` for differential forms. **Key definitions:** - `detTopForm`: the determinant as a continuous alternating top-form - `topFormDensity` / `topFormIntegral`: density and integral of top-form fields - `boxFaceComponent Ο‰ i`: the signed `i`-th face component of an `m`-form (`(-1)^i Β· Ο‰(Γͺ_i)`) - `boxBoundaryIntegral Ο‰ a b`: the signed boundary integral over `βˆ‚[a,b]` **Main theorem:** - `box_stokes_of_contDiff`: `∫_{[a,b]} dΟ‰ = ∫_{βˆ‚[a,b]} Ο‰` for `CΒΉ` `m`-forms on `ℝ^(m+1)` The proof proceeds by: 1. Showing `topFormDensity (extDeriv Ο‰) = divergence of (boxFaceComponent Ο‰ Β·)` 2. Applying Mathlib's `integral_divergence_of_hasFDerivAt_off_countable'` #### `Mathlib.Analysis.Calculus.DifferentialForm.HalfSpaceStokes` (224 lines, partially proved) Stokes theorem on the upper half-space `{x : x_m β‰₯ 0}` with infrastructure. **Key definitions:** - `HalfSpace m`: `{x : Fin (m+1) β†’ ℝ | x (lastCoord m) β‰₯ 0}` - `boundaryIntegral m Ο‰`: integral of `Ο‰` over `βˆ‚β„^{m+1}_+` **Key lemmas (proved):** - `norm_insertNth_ge_norm`: `β€–xβ€– ≀ β€–Fin.insertNth i v xβ€–` for sup norm - `formField_vanishes_at_insertNth_norm`: vanishing of form fields at large norms **Main theorem (statement, proof TODO):** - `halfSpace_stokes`: `∫_{ℝ^{m+1}_+} dΟ‰ = ∫_{βˆ‚β„^{m+1}_+} Ο‰` ### Relationship to existing Mathlib - `MeasureTheory.Integral.DivergenceTheorem` proves the divergence theorem for vector fields (`ℝⁿ⁺¹ β†’ Eⁿ⁺¹`). This PR translates it into the language of differential forms (`E β†’ E [β‹€^Fin n]β†’L[π•œ] F`). - `Analysis.Calculus.DifferentialForm.Basic` defines `extDeriv`. This PR provides the first *integration* results for `extDeriv`. ### Why this belongs in Mathlib 1. **Fills a known gap**: Mathlib has no Stokes-type theorem for differential forms despite having `extDeriv` and the divergence theorem. 2. **Self-contained**: Box Stokes depends only on `extDeriv` API and the divergence theorem. 3. **Useful infrastructure**: `boxFaceComponent`, `topFormDensity`, and `norm_insertNth_ge_norm` are independently useful. ### Future work - Complete `halfSpace_stokes` (requires upstream API for `extDeriv` vanishing at zeros and `Fin.isClosedEmbedding_insertNth`) - Chart-level Stokes via coordinate changes - Partition of unity β†’ manifold Stokes ## Checklist - [x] The formulation of the main theorem is mathematically correct - [x] Proofs follow Mathlib conventions (to the best of our knowledge) - [ ] Code compiles on Mathlib CI (not tested locally due to build time) - [ ] `#lint` passes (not tested locally) t-analysis new-contributor LLM-generated 1246/0 Mathlib.lean,Mathlib/Analysis/Calculus/DifferentialForm/BoxStokes.lean,Mathlib/Analysis/Calculus/DifferentialForm/FullSpaceStokes.lean,Mathlib/Analysis/Calculus/DifferentialForm/HalfSpaceStokes.lean 4 4 ['EngelsVon', 'SnirBroshi', 'github-actions'] nobody
1-11847
1 day ago
1-13460
1 day ago
1-53111
1 day
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 199/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib 3 34 ['Shreyas4991', 'YaelDillies', 'Zetetic-Dhruv', 'github-actions'] nobody
0-70766
19 hours ago
0-70766
19 hours ago
17-31346
17 days
38829 AnandGokhale
author:AnandGokhale
feat(Analysis/ODE/Gronwall): added gronwall-bellman inequality Added 2 lemmas and 1 theorem to Analysis.ODE.Gronwall, making progress towards a TODO. Lemma 1: Wrapper for Fundamental Theorem of Calculus Lemma 2: Wrapper for the continuity of an integral on a closed, ordered interval Theorem: Gronwall bellman inequality, as stated with proof in Appendix of Hassan Khalil, Nonlinear control, 3rd edition. t-analysis new-contributor large-import 125/2 Mathlib/Analysis/ODE/Gronwall.lean 1 12 ['AnandGokhale', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-bors'] j-loreaux
assignee:j-loreaux
0-70457
19 hours ago
1-70540
1 day ago
3-31021
3 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 25 ['eric-wieser', 'github-actions', 'slavanaprienko', 'wwylele'] kim-em
assignee:kim-em
0-67746
18 hours ago
35-46040
35 days ago
36-61459
36 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 123/1 Mathlib/Analysis/InnerProductSpace/Reproducing.lean 1 7 ['TJHeeringa', 'github-actions', 'themathqueen'] nobody
0-58148
16 hours ago
12-85772
12 days ago
12-86081
12 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'] jcommelin
assignee:jcommelin
0-56962
15 hours ago
24-13419
24 days ago
42-27012
42 days
38869 TJHeeringa
author:TJHeeringa
feat(Analysis/InnerProductSpace): Add instance for quotient of InnerProductSpace --- Couldn't find the inner product space instance for a quotient of an inner product space. After confirming at [#Is there code for X? > Quotient of inner product space is inner product space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20inner.20product.20space.20is.20inner.20product.20space/with/592464432), I made this PR. Defines an innerProductSpace instance on the quotient based on the isometry with the orthogonal complement, which is a closed subspace of the full space and thus has an innerProductSpace instance. AI usage: Didn't understand how to properly apply `quotient_norm_mk_eq K.toAddSubgroup x`. Claude suggested using convert. Otherwise no AI used, aside from acting as secondary Loogle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 68/0 Mathlib/Analysis/InnerProductSpace/ProdL2.lean 1 21 ['TJHeeringa', 'github-actions', 'j-loreaux', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
0-31800
8 hours ago
0-31525
8 hours ago
5-59372
5 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 398/0 Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] YaelDillies
assignee:YaelDillies
0-27431
7 hours ago
37-27533
37 days ago
95-10931
95 days
38848 jcreinhold
author:jcreinhold
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `βˆ‚Ξ”[n] β†ͺ Ξ”[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`. Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`). AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option. t-algebraic-topology new-contributor 120/3 Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean 2 22 ['github-actions', 'jcreinhold', 'joelriou', 'mckoen'] joelriou
assignee:joelriou
0-13315
3 hours ago
0-78521
21 hours ago
7-47229
7 days
37350 aditya-ramabadran
author:aditya-ramabadran
feat(Analysis/Distribution): define canonical maps between Schwartz/test functions, distributions/tempered distributions Defines these canonical maps: (1) continuous linear map from $\mathcal D$ to $\mathcal S$, and (2) induced (linear) restriction map from $\mathcal S'$ to $\mathcal D'$, as assigned by @ADedecker. --- Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though. * Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM) * Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions * Induced map $\mathcal S'(E,F) \to \mathcal D'(Ξ©,F)$ is $\mathbb C$-linear The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions. Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 226/0 Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean 2 24 ['aditya-ramabadran', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
0-5606
1 hour ago
0-6553
1 hour ago
32-6780
32 days
38962 sharky564
author:sharky564
refactor(Topology/Algebra/Module/LinearMap): rename subtypeL companion lemmas This PR renames the companion lemmas of `Submodule.subtypeL` for consistency with `Submodule.mkQL` (introduced in PR #38811). Specifically, `Submodule.coe_subtypeL` is renamed to `Submodule.toLinearMap_subtypeL` (to accurately reflect that it projects to the underlying LinearMap, not a function-level coercion), and `Submodule.coe_subtypeL'` is renamed to `Submodule.coe_subtypeL` (since this is the genuine function-level coercion lemma). --- This brings the `subtypeL` API in line with the `mkQL` naming convention established in PR #38811. No behavioural changes. t-topology new-contributor maintainer-merge 38/32 Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,scripts/nolints_prime_decls.txt 4 16 ['ADedecker', 'github-actions', 'sharky564', 'themathqueen'] dagurtomas
assignee:dagurtomas
0-3061
51 minutes ago
4-13638
4 days ago
4-26384
4 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
38974 Brian-Nugent
author:Brian-Nugent
chore: fix documentation of `LocallyQuasiFinite` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry easy 6/5 Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean 1 1 ['github-actions'] nobody
4-68204
4 days ago
4-69279
4 days ago
4-69210
4 days
39045 justus-springer
author:justus-springer
chore(AlgebraicGeometry/RationalMap): Move two lemmas to more appropriate place These two lemmas are simply about opens and have nothing to do with rational maps. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry easy 8/8 Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean,Mathlib/AlgebraicGeometry/RationalMap.lean 2 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
1-33657
1 day ago
1-33694
1 day ago
2-41871
2 days
38536 CoolRmal
author:CoolRmal
feat: a lemma about the symmetric difference of unions Created with the help of Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 45/2 Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteBooleanAlgebra.lean 2 12 ['CoolRmal', 'SnirBroshi', 'eric-wieser', 'github-actions'] nobody
1-33459
1 day ago
3-69115
3 days ago
3-70838
3 days
39085 bryangingechen
author:bryangingechen
ci(shake.yaml): shake Archive, Counterexamples, MathlibTest; do not commit explain.txt cf. https://github.com/leanprover-community/mathlib4/pull/39080#discussion_r3209205008 and [#mathlib4 > shake @ πŸ’¬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/shake/near/593801927) CI easy 6/1 .github/workflows/shake.yaml 1 2 ['bryangingechen', 'github-actions'] nobody
0-68387
18 hours ago
2-9895
2 days ago
2-9826
2 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
39011 Vierkantor
author:Vierkantor
chore(Algebra/Polynomial/Module): workaround for backward.inferInstanceAs This PR, like #38990, works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `PolynomialModule` with `Finsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `PolynomialModule`'s `FunLike` instance, instead of the custom `CoeFun` instance. This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `PolynomialModule` and `Finsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `PolynomialModule` an `@[implicit_reducible]`, because we need different multiplication on it than `Finsupp` has. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
8/5 Mathlib/Algebra/Polynomial/Module/Basic.lean 1 1 ['github-actions'] nobody
3-86125
3 days ago
3-86209
3 days ago
3-86140
3 days
38957 wwylele
author:wwylele
chore(GroupTheory/DivisibleHull): remove `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-group-theory maintainer-merge 5/12 Mathlib/GroupTheory/DivisibleHull.lean 1 3 ['github-actions', 'grunweg', 'wwylele'] jcommelin
assignee:jcommelin
2-57185
2 days ago
4-75461
4 days ago
5-10900
5 days
38990 Vierkantor
author:Vierkantor
chore(Algebra/DirectSum): workaround for `backward.inferInstanceAs` This PR works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `DirectSum` with `DFinsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `DirectSum`'s `FunLike` instance, instead of the custom `CoeFun` instance. I unsqueezed a few `simp`s, which all ran pretty much instant on my machine so it shouldn't cause much slowdown. Also we fix two porting notes. This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `DirectSum` and `DFinsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `DirectSum` an `@[implicit_reducible]`, because we need different multiplication on it than `DFinsupp` has. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt t-ring-theory
label:t-algebra$
36/38 Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean 9 2 ['JovanGerb', 'github-actions'] nobody
2-27427
2 days ago
4-27543
4 days ago
4-28503
4 days
39019 urkud
author:urkud
chore(*): reduce defeq abuse of `Set Ξ± = Ξ± β†’ Prop` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt 16/15 Mathlib/Analysis/Complex/CoveringMap.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Data/Nat/Order/Lemmas.lean,Mathlib/NumberTheory/EulerProduct/ExpLog.lean,Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/FiberBundle/Basic.lean 8 3 ['JovanGerb', 'github-actions', 'urkud'] JovanGerb
assignee:JovanGerb
0-27744
7 hours ago
3-43327
3 days ago
3-43258
3 days