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 contains tables of

This dashboard was last updated on: February 12, 2026 at 12:30 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
33372 kex-y
author:kex-y
feat(Probability): Countable infimum of stopping times is a stopping time --- - [x] depends on: #33371 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability brownian 83/0 Mathlib/Probability/Process/Stopping.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] RemyDegenne
assignee:RemyDegenne
35-41364
1 month ago
38-79525
38 days ago
38-79298
38 days
27599 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `CompleteEquipartiteSubgraph` Define the complete equipartite subgraphs in `r` parts each of size `t` in `G` as the `r` subsets of vertices each of size `t` such that vertices in distinct subsets are adjacent. In this case `Nonempty (G.CompleteEquipartiteSubgraph r t)` is equivalent to `completeEquipartiteGraph r t ⊑ G`, that is, finding `r` subsets of vertices each of size `t` in `G` such that vertices in distinct subsets are adjacent is equivalent to finding an injective homomorphism from `completeEquipartiteGraph r t` to `G`. --- - [x] depends on: #27597 - [x] depends on: #30287 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 173/7 Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 1 34 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] YaelDillies
assignee:YaelDillies
35-5935
1 month ago
35-5062
35 days ago
106-60914
106 days
31891 jsm28
author:jsm28
feat(Geometry/Euclidean/Sphere/OrthRadius): lemmas for setting up and using polars Add further lemmas about `orthRadius` that are of use in setting up and using poles and polars. In particular, `ncard_inter_orthRadius_eq_two_of_dist_lt_radius` is the key part of showing that, in two dimensions, there are exactly two tangents to a circle from a point outside that circle (where the points of tangency lie on the polar of the point from which the two tangents are drawn). --- Feel free to golf the proof of `ncard_inter_orthRadius_eq_two_of_dist_lt_radius`, it could probably be rather shorter. --- - [ ] depends on: #32296 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 261/7 Mathlib/Geometry/Euclidean/Sphere/OrthRadius.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean 2 27 ['eric-wieser', 'github-actions', 'jsm28', 'mathlib4-dependent-issues-bot'] JovanGerb
assignee:JovanGerb
31-45564
1 month ago
31-44769
31 days ago
82-32197
82 days
33786 hdmkindom
author:hdmkindom
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n ℝ → Matrix p q ℝ`. The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances. mkdir Analysis/Matrix/Jacobian.lean ## Main definitions - `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k` ## Main theorems - `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian - `jacobianMatrix_comp`: Chain rule for Jacobian matrices - `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties - `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties t-analysis new-contributor 219/0 Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
30-41362
30 days ago
33-76037
33 days ago
34-20148
34 days
33292 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/LineGraph): lift copies/isomorphisms to line-graph --- Non-injective homomorphisms (`G →g G'`) cannot be lifted to a homomorphism on line-graphs (`G.lineGraph →g G'.lineGraph`) because e.g. `∀ k > 1` there is a homomorphism from `pathGraph k` to `G'` iff `G'` has an edge, and `∀ n > 0, (pathGraph (n + 1)).lineGraph ≃ pathGraph n`, but there is no homomorphism from `pathGraph k` to `pathGraph 1` because it has no edges. So for `G := pathGraph 3` and `G' := pathGraph 2` there is a `G →g G'` but no `G.lineGraph →g G'.lineGraph`. But we can lift `Copy`/`Embedding`/`Iso`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-combinatorics 47/4 Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Data/Sym/Sym2.lean 2 1 ['github-actions'] b-mehta
assignee:b-mehta
29-41340
29 days ago
47-21577
47 days ago
48-43252
48 days
33527 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): `w.toSubgraph ≤ G' ↔ w.edgeSet ⊆ G'.edgeSet` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 9/1 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 4 ['Rida-Hamadani', 'SnirBroshi', 'github-actions'] kmill
assignee:kmill
29-41336
29 days ago
39-57066
39 days ago
39-56839
39 days
30112 gaetanserre
author:gaetanserre
feat(Probability.Kernel): add representation of kernel as a map of a uniform measure Add results about isolation of kernels randomness. In particular, it shows that one can write a Markov kernel as the map by a deterministic of a uniform measure on `[0, 1]`. It corresponds to Lemma 4.22 in "[Foundations of Modern Probability](https://link.springer.com/book/10.1007/978-3-030-61871-1)" by Olav Kallenberg, 2021. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 189/0 Mathlib.lean,Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Probability/Kernel/Representation.lean 3 10 ['DavidLedvinka', 'RemyDegenne', 'gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot'] RemyDegenne
assignee:RemyDegenne
28-80853
28 days ago
28-79142
28 days ago
65-73308
65 days
31425 robertmaxton42
author:robertmaxton42
feat(Topology): implement delaborators for non-standard topology notation Add delaborators for unary and binary notation related to non-standard topologies in the TopologicalSpace namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 250/4 Mathlib.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/DelabNonCanonical.lean,MathlibTest/Delab/TopologicalSpace.lean 4 45 ['eric-wieser', 'github-actions', 'jcommelin', 'kckennylau', 'robertmaxton42'] PatrickMassot
assignee:PatrickMassot
26-16204
26 days ago
26-14218
26 days ago
80-12640
80 days
33838 chainstart
author:chainstart
feat(NumberTheory): add unitary divisors and unitary perfect numbers ## Summary This PR introduces the unitary divisor sum function σ* to Mathlib and proves that no odd unitary perfect numbers exist. ## Main Definitions - `Nat.UnitaryDivisor d n`: A divisor `d` of `n` is unitary if `gcd(d, n/d) = 1` - `Nat.unitaryDivisors n`: The `Finset` of all unitary divisors of `n` - `Nat.unitaryDivisorSum n` (notation `σ*`): Sum of all unitary divisors - `Nat.UnitaryPerfect n`: `n` is unitary perfect if `σ*(n) = 2n` ## Main Theorems **Multiplicativity:** - `unitaryDivisorSum_mul`: For coprime `m`, `n`, `σ*(mn) = σ*(m) · σ*(n)` - Proved via explicit bijection between unitary divisors of `mn` and pairs of unitary divisors **Prime Powers:** - `unitaryDivisors_prime_pow`: The unitary divisors of `p^k` are exactly `{1, p^k}` - `unitaryDivisorSum_prime_pow`: For prime `p` and `k ≥ 1`, `σ*(p^k) = p^k + 1` **Unitary Perfect Numbers:** - `no_odd_unitary_perfect`: There are no odd unitary perfect numbers > 1 (Subbarao-Warren 1966) - `UnitaryPerfect.even`: Every unitary perfect number is even - `UnitaryPerfect.eq_two_pow_mul_odd`: Every unitary perfect number has form `2^a · k` with `a ≥ 1`, `k` odd ## Mathematical Background A unitary perfect number is a positive integer `n` such that the sum of its unitary divisors equals `2n`. This generalizes the classical perfect numbers. Only five unitary perfect numbers are known: 6, 60, 90, 87360, and one with 24 digits. The main theorem (no odd unitary perfect numbers) was originally proved by Subbarao & Warren (1966) using prime factorization arguments. Our formalization uses `Nat.recOnPrimeCoprime` for structural induction. ## References - Subbarao, M. V., & Warren, L. J. (1966). Unitary perfect numbers. *Canadian Mathematical Bulletin*, 9(2), 147-153. - Wall, C. R. (1975). The fifth unitary perfect number. *Canadian Mathematical Bulletin*, 18(1), 115-122. ## Code Statistics - **Files**: 2 - **Lines**: ~520 - **Theorems**: 21 public declarations - **Sorry count**: 0 ## Checklist - [x] All theorem names follow mathlib conventions - [x] All lines ≤ 100 characters - [x] All public theorems have docstrings - [x] No `sorry` or `admit` - [x] Code builds successfully - [ ] CI tests pass (awaiting verification) new-contributor t-number-theory 554/0 Mathlib.lean,Mathlib/NumberTheory/UnitaryDivisor.lean,Mathlib/NumberTheory/UnitaryPerfect.lean 3 17 ['Ruben-VandeVelde', 'SnirBroshi', 'chainstart', 'github-actions', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
25-81012
25 days ago
26-163
25 days ago
31-80272
31 days
33712 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Angle/Unoriented/Projection): Add sameray_orthogonalProjection_vsub_of_angle_lt Add sameray_orthogonalProjection_vsub_of_angle_lt `sameray_orthogonalProjection_vsub_of_angle_lt` When an angle is acute, the vector to the orthogonal projection lies in the same ray as the given direction vector. new-contributor t-euclidean-geometry 20/0 Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean 1 3 ['JovanGerb', 'github-actions'] JovanGerb
assignee:JovanGerb
24-43829
24 days ago
28-75186
28 days ago
33-79211
33 days
34091 staroperator
author:staroperator
feat(SetTheory/Cardinal): generalize infinite pigeonhole principle 1. generalize `infinite_pigeonhole_card_lt` and `exists_infinite_fiber` only to require the domain `β` to be infinite instead of codomain `α`. 2. add `exists_uncountable_fiber` for uncountable sets. 3. fix a TODO in `le_range_of_union_finset_eq_top` (and also golf). PS: thanks ChatGPT for providing the informal proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 41/20 Mathlib/LinearAlgebra/Basis/Cardinality.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean 3 1 ['github-actions'] vihdzp
assignee:vihdzp
23-29901
23 days ago
25-27788
25 days ago
25-30005
25 days
33291 BoltonBailey
author:BoltonBailey
refactor(Computability): file for state transition systems This PR makes a new file to contain content having to do with state transition systems defined by a function `σ → Option σ`. This content was previously split over `PostTuringMachine.lean` and `TMComputable.lean`, but since these definitions don't only apply to Turing machines in particular, it seems sensible to refactor them and remove them from the `Turing` namespace and put them in a new `StateTransition` namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-computability 313/234 Mathlib.lean,Mathlib/Computability/PostTuringMachine.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TMConfig.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Computability/TuringMachine.lean 6 10 ['BoltonBailey', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
22-38880
22 days ago
22-39446
22 days ago
43-43226
43 days
33840 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/CantorNormalForm): Evaluate a Finsupp as a CNF Used in the CGT repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 191/18 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean 2 3 ['github-actions', 'plp127', 'vihdzp'] alreadydone
assignee:alreadydone
22-12104
22 days ago
31-41867
31 days ago
31-46708
31 days
33901 martinwintermath
author:martinwintermath
feat(LinearAlgebra/Span): add inter/union/sInf/sSup lemmas for Submodule.span This PR adds theorems about the interaction of `Submodule.span` with the lattice operations: * `inter`, `sInf` and `biInter` lemmas for `Submodule.span` * `union`, `sSup` and `biUnion` lemmas for `Submodule.span` It also adds `@[simp]` to `span_union` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
25/0 Mathlib/LinearAlgebra/Span/Defs.lean 1 3 ['github-actions', 'themathqueen'] kim-em
assignee:kim-em
22-3336
22 days ago
29-73507
29 days ago
29-73280
29 days
33793 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre, the main ingredient for the proof of the **Effros' Theorem**, see [#mathlib4 > Effros Theorem](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/566543328) introduce definition of a nowhere meagre set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 37/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean 3 2 ['MichaelStollBayreuth', 'github-actions'] kex-y
assignee:kex-y
21-76463
21 days ago
21-73946
21 days ago
33-74675
33 days
33121 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hasse): paths in a graph are isomorphic to path graphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 44/1 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 21 ['MrQubo', 'SnirBroshi', 'github-actions', 'mitchell-horner'] b-mehta
assignee:b-mehta
21-48284
21 days ago
22-86337
22 days ago
53-50595
53 days
34025 lua-vr
author:lua-vr
feat(Integral.Bochner.Set): add `tendsto_setIntegral_of_monotone₀` Adds the lemma `tendsto_setIntegral_of_monotone₀`, a version of `tendsto_setIntegral_of_monotone` requiring only `AEMeasurableSet` in the hypotheses. The previous version is redefined as a specialization. Also renames `integral_union_ae` to `setIntegral_union₀` for consistency with the rest of the library (it matches the existing `setIntegral_union`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Re-opened from #33206 and now taking respect for Windows users (thanks @ADedecker :). t-measure-probability 27/13 Mathlib/MeasureTheory/Integral/Bochner/Set.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
21-41338
21 days ago
27-32003
27 days ago
27-34441
27 days
33039 euprunin
author:euprunin
chore(Data/List): deprecate `ext_get_iff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 1/7 Mathlib/Data/List/Basic.lean 1 5 ['euprunin', 'github-actions', 'jcommelin'] kim-em and pechersky
assignee:kim-em assignee:pechersky
20-55682
20 days ago
48-52069
48 days ago
49-28946
49 days
31364 YaelDillies
author:YaelDillies
feat: binomial random graphs From LeanCamCombi and formal-conjectures --- - [x] depends on: #31391 - [x] depends on: #31392 - [x] depends on: #31393 - [x] depends on: #31394 - [x] depends on: #31396 - [x] depends on: #31397 - [x] depends on: #31398 - [x] depends on: #31442 - [x] depends on: #31443 - [x] depends on: #31445 - [x] depends on: #31908 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics t-measure-probability 170/0 Mathlib.lean,Mathlib/MeasureTheory/Constructions/SimpleGraph.lean,Mathlib/Probability/Combinatorics/BinomialRandomGraph/Defs.lean,Mathlib/Probability/Combinatorics/README.md 4 25 ['DavidLedvinka', 'LibertasSpZ', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] EtienneC30
assignee:EtienneC30
19-3144
19 days ago
19-2307
19 days ago
62-32516
62 days
34383 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): monotonicity and map lemmas for min/max cone tensor products Add minTensorProduct_mono, maxTensorProduct_mono, minTensorProduct_map_le, maxTensorProduct_map_le. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry 40/0 Mathlib/Geometry/Convex/Cone/TensorProduct.lean 1 1 ['github-actions'] nobody
18-60569
18 days ago
18-59726
18 days ago
18-59499
18 days
30640 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Acyclic): acyclic and bridge theorems --- - [x] depends on: #30542 - [x] depends on: #30570 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 75/79 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean 2 8 ['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
18-45254
18 days ago
18-44169
18 days ago
64-13469
64 days
33443 sahanwijetunga
author:sahanwijetunga
feat: Define Isometries of Bilinear Spaces --- We define Isometries of Bilinear Spaces, closely following the implementation of isometries of quadratic spaces. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
275/0 Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Isometry.lean,Mathlib/LinearAlgebra/BilinearForm/IsometryEquiv.lean 3 1 ['github-actions'] mattrobball
assignee:mattrobball
18-41349
18 days ago
28-42270
28 days ago
41-68886
41 days
34144 IvanRenison
author:IvanRenison
feat(Data/ENat): add lemma `ENat.iInf_eq_coe_iff` Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com> --- [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/ENat.2EiInf_eq_nat_iff/with/568699219) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 21/0 Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 3 13 ['IvanRenison', 'Ruben-VandeVelde', 'SnirBroshi', 'eric-wieser', 'github-actions'] TwoFX
assignee:TwoFX
18-41341
18 days ago
23-2624
23 days ago
23-10125
23 days
34153 euprunin
author:euprunin
feat: add `grind_pattern` for `Finset.card_{empty,singleton}` --- As suggested by @JovanGerb in https://github.com/leanprover-community/mathlib4/pull/33119#issuecomment-3682874125. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 4/0 Mathlib/Data/Finset/Card.lean 1 3 ['euprunin', 'github-actions', 'leanprover-radar'] TwoFX
assignee:TwoFX
18-41340
18 days ago
23-54553
23 days ago
23-54326
23 days
32260 jsm28
author:jsm28
feat(Geometry/Euclidean/Angle/Oriented/Affine): oriented angle bisection and halving unoriented angles Add lemmas relating points bisecting an oriented angle to explicit expressions for one unoriented angle in relation to half another unoriented angle. --- Feel free to golf. --- - [ ] depends on: #32259 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 107/0 Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean 2 5 ['github-actions', 'jsm28', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'wwylele'] JovanGerb
assignee:JovanGerb
17-73395
17 days ago
17-78369
17 days ago
57-52361
57 days
34112 euprunin
author:euprunin
chore: golf using `grind` and add `grind` annotations --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `Quandle.conj_swap`: 63 ms before, 35 ms after 🎉 * `Quiver.stronglyConnectedComponent_singleton_iff`: 17 ms before, 84 ms after * `Finset.memberSubfamily_union_nonMemberSubfamily`: <10 ms before, 94 ms after * `Finset.mem_sigmaLift`: 58 ms before, 72 ms after * `Equiv.Perm.support_swap_mul_eq`: 41 ms before, 109 ms after * `FirstOrder.Language.Theory.IsComplete.eq_complete_theory`: 13 ms before, 47 ms after This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 15/72 Mathlib/Algebra/Quandle.lean,Mathlib/Combinatorics/Quiver/ConnectedComponent.lean,Mathlib/Combinatorics/SetFamily/Compression/Down.lean,Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/ModelTheory/Semantics.lean 11 3 ['euprunin', 'github-actions', 'leanprover-radar'] robin-carlier
assignee:robin-carlier
17-55267
17 days ago
24-61915
24 days ago
24-61688
24 days
33909 YaelDillies
author:YaelDillies
feat(SetTheory/Cardinal): more lemmas about `ENat` and deduplicate a few pairs. From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 76/46 Mathlib/Data/Finite/Card.lean,Mathlib/Data/Set/Card.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/RingTheory/Length.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Cardinal/NatCount.lean,Mathlib/SetTheory/Cardinal/ToNat.lean 8 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] alreadydone
assignee:alreadydone
17-41346
17 days ago
20-53131
20 days ago
24-66508
24 days
33280 michelsol
author:michelsol
feat(MeasureTheory/Integral/IntervalIntegral): add variant `integral_deriv_eq_sub_uIoo` of 2nd theorem of calculus. Add a continuous on uIcc, differentiable on uIoo, deriv version of the 2nd fundamental theorem of calculus. This corresponds to what is written [here](https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus#Second_part). For example it makes it easier to compute the integral : ```lean4 ∫ x : ℝ in 0..1, (√(1 - x ^ 2))⁻¹ = ∫ x : ℝ in 0..1, deriv arcsin x = arcsin 1 - arcsin 0 ``` It is not possible to use [`interval_deriv_eq_sub`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.html#intervalIntegral.integral_deriv_eq_sub) which requires differentiability on all of [0,1], as `arcsin` isn't differentiable at 1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor maintainer-merge 14/0 Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 1 4 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
16-68849
16 days ago
48-65993
48 days ago
48-65766
48 days
31613 xyzw12345
author:xyzw12345
feat(RepresentationTheory/GroupCohomology): Non-abelian Group Cohomology In this PR, we develop the theory of non-abelian group cohomology, following the section in GTM 67 - Local Fields by Jean-Pierre Serre. We defined H0 and H1, constructed the connection maps, proved the long exact sequence, and constructed natural isomorphisms between our H0, H1 and the existing `groupCohomology` API. Co-authored by: Jiedong Jiang @jjdishere --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
634/0 Mathlib.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/NonAbelian.lean,Mathlib/RepresentationTheory/Rep.lean 4 8 ['eric-wieser', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'xyzw12345'] eric-wieser
assignee:eric-wieser
16-61836
16 days ago
17-8694
17 days ago
28-72388
28 days
34137 goliath-klein
author:goliath-klein
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): Remove `injectiveSeminorm` Currently, `injectiveSeminorm` is extensionally equal to `projectiveSeminorm`. Both implement what is commonly called the "projective tensor norm". # Background (C.f. [[Diestel et al.]](https://www.ams.org/bookstore/pspdf/mbk-52-prev.pdf)). On the algebraic tensor product of two Banach spaces X, Y, there are two distinguished norms. First the projective norm, or "largest reasonable crossnorm". Two equivalent expressions for it are: (L1) `‖u‖_∧ = sup { sum_i ‖x_i‖ ‖y_i‖ | sum_i x_i ⊗ y_i = u }`, (L2) `‖u‖_∧ = norm of the linear map that sends b : B(X,Y; 𝕂) to (lift b) u`, where `B(X,Y; Z)` is the set of bounded bilinear maps into a normed space `Z`. Second, there is the injective norm, or "smallest reasonable crossnorm": (S) `‖u‖_∨` = norm of the bilinear map that sends `f : X', g : Y'` to `(f⊗g) u`. # Mathlib The formalization treats tensor products of seminormed spaces over normed fields. In this context, `projectiveSeminorm` implements (L1). But `injectiveSeminorm u` doesn't implement (S), but the following variant of (L2): (L2') `sup_Z { norm of map sending b : B(X,Y; Z) to (lift b) u }.` In fact, `injectiveSeminorm = projectiveSeminorm `. The upper bound is proven in Mathlib. Equality is attained (somewhat tautologically) by choosing `Z` to be `X ⊗ Y` endowed with the projective seminorm. `projectiveSeminorm` is defined first; `injectiveSeminorm` builds on it. Then the theory of an isometric version of `PiTensorProduct.lift` is based on `injectiveSeminorm`. # Proposed change This PR deprecates `injectiveSeminorm` and ports all applications to (L1). This doesn't actually require too much work, leads to the same mathematical theory, and significantly reduces complexity (and potential for confusion!). There is a [companion PR](https://github.com/leanprover-community/mathlib4/pull/33969) which formalizes the equality of the current definitions and has a WIP / RFC implementation of the injective seminorm as commonly understood. Deprecations: - injectiveSeminorm - injectiveSeminorm_apply - norm_eval_le_injectiveSeminorm - injectiveSeminorm_le_projectiveSeminorm - injectiveSeminorm_tprod_le - Mathlib.Analysis.Normed.Module.PiTensorProduct.InjectiveSeminorm --- Co-authored-by: Davood H. H. Tehrani [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 169/207 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean 3 7 ['Ruben-VandeVelde', 'dupuisf', 'github-actions', 'goliath-klein'] dupuisf
assignee:dupuisf
16-55962
16 days ago
16-58094
16 days ago
20-42192
20 days
34298 CoolRmal
author:CoolRmal
feat(MeasureTheory): Integral over Ioi tends to zero This PR proves that if `f` is integrable on `Ioi a`, then `∫ x in Ioi (b i), f x ∂μ` tends to zero as `b i` tends to infinity. This is an easy corollary of `intervalIntegral_tendsto_integral_Ioi`. --- - [x] depends on #34197 - [x] depends on #34289 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 20/0 Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean 1 1 ['github-actions'] thorimur
assignee:thorimur
16-41343
16 days ago
16-54336
16 days ago
20-22194
20 days
34154 euprunin
author:euprunin
chore: golf using `grind` and add `grind` annotations --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `SimplicialObject.Splitting.IndexSet.eqId_iff_len_eq`: <10 ms before, 41 ms after * `Orientation.nonneg_inner_and_areaForm_eq_zero_iff_sameRay`: 311 ms before, 284 ms after 🎉 * `UV.compression_self`: 29 ms before, 19 ms after 🎉 * `AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_nonneg_or_nonpos`: 2828 ms before, 1399 ms after 🎉 * `Cycle.chain_iff_pairwise`: <10 ms before, 149 ms after * `List.dlookup_kunion_left`: 21 ms before, 104 ms after * `Polynomial.isRoot_of_isRoot_iff_dvd_derivative_mul`: 106 ms before, 183 ms after * `IsSepClosed.exists_root_C_mul_X_pow_add_C_mul_X_add_C`: 405 ms before, 291 ms after 🎉 * `InnerProductGeometry.norm_add_eq_add_norm_iff_angle_eq_zero`: 425 ms before, 309 ms after 🎉 * `Monoid.CoprodI.Word.mem_equivPair_tail_iff`: 161 ms before, 263 ms after * `pathComponent_congr`: <10 ms before, 31 ms after * `preCantorSet_antitone`: 2147 ms before, 683 ms after 🎉 * `tendstoLocallyUniformlyOn_iff_filter`: 11 ms before, 71 ms after This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 21/100 Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/AlgebraicTopology/SimplicialObject/Split.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Combinatorics/SetFamily/Compression/UV.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Opposite.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean 15 8 ['Parcly-Taxel', 'euprunin', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'tb65536'] kim-em
assignee:kim-em
16-22475
16 days ago
16-19867
16 days ago
16-66766
16 days
33458 NoneMore
author:NoneMore
feat(ModelTheory): add lifting for embeddings to languages with constants Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 35/0 Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean 2 3 ['Citronhat', 'github-actions'] fpvandoorn
assignee:fpvandoorn
15-13405
15 days ago
15-12544
15 days ago
41-4850
41 days
33963 gasparattila
author:gasparattila
feat(Topology/UniformSpace/Closeds): completeness of `(Nonempty)Compacts` This PR generalizes the completeness result of `NonemptyCompacts` from metric spaces to uniform spaces. --- - [x] depends on: #34036 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 71/8 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Closeds.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
15-1157
15 days ago
15-310
15 days ago
25-69745
25 days
34268 gasparattila
author:gasparattila
feat(Topology/Sets): continuity of operations on `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 144/17 Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sets/VietorisTopology.lean,Mathlib/Topology/UniformSpace/Closeds.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
15-498
15 days ago
14-85359
14 days ago
20-55209
20 days
34270 gasparattila
author:gasparattila
feat(Topology/UniformSpace/Closeds): `(Nonempty)Compacts.toCloseds` is a closed embedding --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 36/35 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Closeds.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
15-6
15 days ago
14-85552
14 days ago
20-55461
20 days
34192 bwangpj
author:bwangpj
feat(MeasureTheory): mulEquivHaarChar_eq_one_of_compactSpace From FLT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 16/0 Mathlib/MeasureTheory/Measure/Haar/MulEquivHaarChar.lean 1 2 ['github-actions', 'mathlib4-merge-conflict-bot'] RemyDegenne
assignee:RemyDegenne
14-51671
14 days ago
14-50997
14 days ago
19-78957
19 days
33764 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Diam): drop `Finite α` from `ediam_le_two_mul_radius` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 22/5 Mathlib/Combinatorics/SimpleGraph/Diam.lean 1 4 ['IvanRenison', 'Rida-Hamadani', 'github-actions', 'vlad902'] kmill
assignee:kmill
14-41324
14 days ago
27-49423
27 days ago
34-62836
34 days
34123 staroperator
author:staroperator
feat(Data/Set/Finite): finite distributivity for complete distributive lattices --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 52/0 Mathlib/Data/Set/Finite/Lattice.lean 1 11 ['github-actions', 'plp127', 'staroperator'] bryangingechen
assignee:bryangingechen
14-41321
14 days ago
23-60217
23 days ago
23-82831
23 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'` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 161/136 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/TMConfig.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/Data/Quot.lean,Mathlib/FieldTheory/PerfectClosure.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/SetTheory/Surreal/Multiplication.lean,Mathlib/Topology/Gluing.lean 26 11 ['SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] thorimur
assignee:thorimur
14-34356
14 days ago
16-52485
16 days ago
25-11793
25 days
34423 euprunin
author:euprunin
chore: golf using `grind` and add `grind` annotation --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `SubMulAction.ofStabilizer.isMultiplyPretransitive`: 242 ms before, 303 ms after * `Equiv.Perm.nodup_of_pairwise_disjoint`: <10 ms before, 100 ms after * `LucasLehmer.norm_num_ext.sModNat_eq_sMod`: 950 ms before, 758 ms after 🎉 * `IicProdIoc_preimage`: 70 ms before, 174 ms after This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 8/38 Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean 4 3 ['euprunin', 'github-actions', 'leanprover-radar'] eric-wieser
assignee:eric-wieser
14-8777
14 days ago
17-48129
17 days ago
17-47902
17 days
33416 vihdzp
author:vihdzp
chore(Order/GameAdd): add `elab_as_elim` attributes This PR does three things: - Rename `GameAdd.fix` to the more illustrative `GameAdd.recursion` - Add `elab_as_elim` attributes on `GameAdd.recursion` - Deprecate the duplicate `GameAdd.induction` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 24/14 Mathlib/Order/GameAdd.lean,Mathlib/SetTheory/PGame/Order.lean,Mathlib/SetTheory/ZFC/Ordinal.lean 3 1 ['github-actions'] alreadydone
assignee:alreadydone
13-80660
13 days ago
43-38488
43 days ago
43-38261
43 days
27100 staroperator
author:staroperator
feat(ModelTheory): Presburger definability and semilinear sets This PR formalizes the classical result that Presburger definable sets are the same as semilinear sets. As an application of this result, we show that the graph of multiplication is not Presburger definable. --- - [x] depends on: #26896 - [x] depends on: #27081 - [x] depends on: #27087 - [x] depends on: #27414 - [x] depends on: #32123 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic large-import 278/0 Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,docs/references.bib 4 8 ['awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] fpvandoorn
assignee:fpvandoorn
13-63893
13 days ago
13-62725
13 days ago
75-24451
75 days
34092 staroperator
author:staroperator
feat(SetTheory/ZFC): properties of `ZFSet.omega` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 77/10 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean 3 25 ['Komyyy', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] alreadydone
assignee:alreadydone
13-63295
13 days ago
13-62373
13 days ago
25-8246
25 days
34138 pfaffelh
author:pfaffelh
feat(MeasureTheory): Introduce `MassFunction α` giving rise to a `Measure α ⊤` Define `MassFunction α := α → ℝ≥0∞` Define `toMeasure (w : MassFunction α) : @Measure α ⊤` as a sum of diracs Show properties of the resulting objects This PR intends to start a more userfriendly interaction with probability mass functions (`PMF`). There are two main differences between `MassFunction` and `PMF`: * `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `MassFunction`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.) * The `toMeasure` function of `MassFunction` directly defines the measure as a sum of diracs, which immediately makes computations possible. Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 224/0 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/MassFunction.lean 4 10 ['DavidLedvinka', 'github-actions', 'metakunt', 'pfaffelh'] EtienneC30
assignee:EtienneC30
13-59790
13 days ago
13-56712
13 days ago
23-48988
23 days
34189 bwangpj
author:bwangpj
feat(MeasureTheory/Measure): haarScalarFactor_map From FLT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability FLT 38/16 Mathlib/MeasureTheory/Measure/Haar/Unique.lean 1 6 ['ADedecker', 'bwangpj', 'github-actions'] RemyDegenne
assignee:RemyDegenne
13-56950
13 days ago
13-56026
13 days ago
20-18645
20 days
33288 vihdzp
author:vihdzp
chore(Combinatorics/SimpleGraph/Paths): review API This PR does the following: - Add `grind` annotations. - Rename theorems `X_isY` to the more idiomatic `isY_X`. - Remove many redundant namespaces. - Golf accordingly. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 154/122 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Maps.lean 6 2 ['github-actions', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
13-55437
13 days ago
13-54546
13 days ago
38-72365
38 days
33817 FlAmmmmING
author:FlAmmmmING
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem of smallSchroder. In the previous definition, the small Schröder numbers were defined as ```LaTeX s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3... ``` , which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 61/39 Mathlib/Combinatorics/Enumerative/Schroder.lean 1 19 ['FlAmmmmING', 'github-actions', 'vihdzp'] awainverse
assignee:awainverse
13-41337
13 days ago
22-20337
22 days ago
32-57316
32 days
34227 stepan2698-cpu
author:stepan2698-cpu
feat: If sum of densities is at least one, the sumset covers the naturals Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/1 Mathlib/Combinatorics/Schnirelmann.lean 1 3 ['github-actions', 'grunweg', 'kbuzzard'] awainverse
assignee:awainverse
13-41334
13 days ago
21-43313
21 days ago
21-58101
21 days
34387 plp127
author:plp127
chore: don't expose `Shrink` Mark `Shrink` and `equivShrink` as `@[no_expose]`. This ensures downstream files using the module system can't take advantage of the specific definition of `Shrink` as an application of `Classical.choose`. See also [#general > Cardinality model incompatible with Lean compiler @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Cardinality.20model.20incompatible.20with.20Lean.20compiler/near/538013012) on Zulip for an example of bad things that can happen if `Shrink` is exposed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 2/1 Mathlib/Logic/Small/Defs.lean 1 2 ['github-actions', 'plp127', 'vihdzp'] awainverse
assignee:awainverse
13-41331
13 days ago
18-51672
18 days ago
18-51445
18 days
34539 grunweg
author:grunweg
feat(Cache): continue trying to download if the first repository had some errors For me, it happens occasionally when working on a mathlib PR that downloading from mathlib, just one file fails. (This is more likely when e.g. modifying a syntax linter, so all of mathlib has to be rebuilt, and the mathlib cache has no hits.) Right now, lake exe cache get then skips downloading files from my fork. This is not helpful; these cache files are the ones I would have liked to download. In such situations, I have to manually retry the command. Depending on my network, this can happen several times. This PR changes the cache to keep downloading from the second (or third, fourth, ...) repository. To prevent lots of wasted work, we only do so if the number of failed downloads is small (at most 10). --- The second commit is optional: I'm happy to remove it, if you feel strongly about this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI maintainer-merge 38/31 Cache/Requests.lean 1 8 ['bryangingechen', 'github-actions', 'grunweg'] kim-em
assignee:kim-em
13-19341
13 days ago
14-9405
14 days ago
14-38960
14 days
34029 lua-vr
author:lua-vr
feat(Order/PartialSups): add exists_partialSups_eq In a linear order, there exists an index `j ≤ i` for which `partialSups f i = f j`. --- Adapted from a proof generated by Aristotle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 20/0 Mathlib/Order/PartialSups.lean 1 1 ['github-actions', 'plp127'] bryangingechen
assignee:bryangingechen
12-81712
12 days ago
27-31378
27 days ago
27-31151
27 days
34028 floor-licker
author:floor-licker
feat(SimpleGraph): add max-flow/min-cut weak duality This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S. This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S). t-combinatorics new-contributor 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean 2 13 ['SnirBroshi', 'floor-licker', 'github-actions'] kmill
assignee:kmill
12-41344
12 days ago
16-80102
16 days ago
25-55175
25 days
34625 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: deprecate aliases of Classical lemmas These are reexported in Init.Classical "for Mathlib compat". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 10/13 Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/Logic/Basic.lean 3 3 ['Ruben-VandeVelde', 'github-actions', 'vihdzp'] nobody
12-11884
12 days ago
12-46236
12 days ago
12-46009
12 days
33143 wwylele
author:wwylele
feat(PowerSeries): pentagonal number theorem The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part. --- - [ ] depends on: #30436 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
331/1 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml 4 18 ['copilot-pull-request-reviewer', 'github-actions', 'jcommelin', 'mathlib4-dependent-issues-bot', 'vihdzp', 'wwylele'] kex-y
assignee:kex-y
11-53487
11 days ago
13-54987
13 days ago
47-21835
47 days
34364 YuvalFilmus
author:YuvalFilmus
feat(Chebyshev/RootsExtrema): bound iterated derivatives of Chebyshev T on [-1, 1] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 72/4 Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/RingTheory/Polynomial/Chebyshev.lean 2 12 ['YuvalFilmus', 'eric-wieser', 'github-actions'] eric-wieser
assignee:eric-wieser
11-53158
11 days ago
15-10329
15 days ago
18-81607
18 days
34406 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: Fin.tail_vecCons --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 6/6 Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Data/Fin/VecNotation.lean 2 1 ['github-actions'] adamtopaz
assignee:adamtopaz
11-53123
11 days ago
17-72338
17 days ago
17-72111
17 days
33520 NoneMore
author:NoneMore
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure. The other direction depends on #33458. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 55/0 Mathlib/ModelTheory/ElementarySubstructures.lean 1 3 ['Citronhat', 'NoneMore', 'github-actions'] awainverse
assignee:awainverse
11-41295
11 days ago
15-18357
15 days ago
40-2413
40 days
33850 YuvalFilmus
author:YuvalFilmus
feat(Chebyshev/ChebyshevGauss): Chebyshev–Gauss formula We prove the Chebyshev–Gauss quadrature formula, which reduces an integral with respect to the Chebyshev weight function to a finite sum. --- - [ ] depends on: #33676 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 167/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] ADedecker
assignee:ADedecker
11-41294
11 days ago
15-14868
15 days ago
15-14641
15 days
34489 xroblot
author:xroblot
feat(NumberField/CyclotomicField): first results about Galois theory This PR specializes the results of `Mathlib.NumberTheory.Cyclotomic.Gal` to the case of number fields. Main results: - Define the isomorphism between `Gal(ℚ(ζₙ)/ℚ)` and `(ℤ/nℤ)ˣ` - Let `m ∣ n`. Prove the following diagram commutes: ``` Gal(ℚ(ζₙ)/ℚ) ≃ (ℤ/nℤ)ˣ ↓ ↓ Gal(ℚ(ζₘ)/ℚ) ≃ (ℤ/mℤ)ˣ ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 83/0 Mathlib.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean 3 1 ['github-actions'] jcommelin
assignee:jcommelin
11-41290
11 days ago
15-70690
15 days ago
15-70463
15 days
34521 huaizhangchu
author:huaizhangchu
feat(MeasureTheory): add measurableEmbedding_natCast This PR adds a lemma stating that the coercion from `ℕ` to `ℝ` is a measurable embedding. ```lean lemma measurableEmbedding_natCast : MeasurableEmbedding (Nat.cast : ℕ → ℝ) := Nat.isClosedEmbedding_coe_real.measurableEmbedding ``` This is useful for proving properties about discrete probability distributions on `ℕ` by lifting them to `ℝ` and will be used in #34435. t-measure-probability new-contributor 3/0 Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
11-41287
11 days ago
14-78966
14 days ago
14-82237
14 days
33791 PhoenixIra
author:PhoenixIra
feat: Generalization of FixedPointApproximants to CompletePartialOrder --- This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 20 ['PhoenixIra', 'github-actions', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
11-5718
11 days ago
22-66472
22 days ago
22-66245
22 days
33275 YuvalFilmus
author:YuvalFilmus
feat(Trigonometric/Chebyshev/Extremal): Chebyshev polynomials maximize iterated derivatives We prove that Chebyshev polynomials maximized iterated derivatives at points x≥1. --- - [x] depends on: #33259 - [x] depends on: #33274 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 74/1 Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dupuisf
assignee:dupuisf
11-5571
11 days ago
19-47019
19 days ago
20-720
20 days
33449 yuanyi-350
author:yuanyi-350
feat(ProbabilityTheory): Add Poisson limit theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 129/2 Mathlib.lean,Mathlib/Probability/Distributions/Poisson.lean,Mathlib/Probability/Distributions/PoissonLimitThm.lean,Mathlib/Probability/ProbabilityMassFunction/Binomial.lean,docs/1000.yaml 5 12 ['EtienneC30', 'github-actions', 'vihdzp'] EtienneC30
assignee:EtienneC30
10-75778
10 days ago
10-74962
10 days ago
41-84455
41 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 22 ['b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] kmill
assignee:kmill
10-70634
10 days ago
10-69883
10 days ago
29-46557
29 days
33189 peabrainiac
author:peabrainiac
feat(Geometry/Manifold): the interior of a manifold is open Show that the interior and boundary of manifolds are well-defined in the sense that the definition of interior points does not depend on a choice of chart, and conclude that the interior and boundary of manifolds are open resp. closed. We only do this for $C^1$ manifolds because while it holds for finite-dimensional topological manifolds too, it is not clear to me whether it holds for infinite-dimensional topological manifolds, so that the finite-dimensional topological case probably needs to be treated separately from this infinite-dimensional $C^1$ case anyway. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 190/11 Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Topology/Closure.lean 3 26 ['Komyyy', 'github-actions', 'grunweg', 'peabrainiac'] grunweg
assignee:grunweg
10-60082
10 days ago
unknown
unknown
34230 smmercuri
author:smmercuri
refactor: use 1-field structure to define the `WithAbs` type synonym Following the Zulip threads [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/near/526234806) and [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithAbs.60.2F.60WithVal.60/with/569663323) and using `WithLp` as a template, we refactor the `WithAbs` type synonym as a 1-field structure. The main benefit being that it prevents defeq abuse. --- - [x] depends on: #34313 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 314/114 Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean 5 7 ['github-actions', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] dupuisf
assignee:dupuisf
10-41321
10 days ago
13-75873
13 days ago
15-55311
15 days
34588 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add generalizations of some padicVal{Nat,Int} lemmas Also drop the unnecessary primality condition from padicValInt_dvd. From flt-regular. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 34/16 Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean 2 1 ['github-actions'] mariainesdff
assignee:mariainesdff
10-41311
10 days ago
13-46275
13 days ago
13-46048
13 days
34171 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hasse): Define the Eulerian path of a path graph --- Such statements are left for a future PR, since they add imports so we probably want to split them into a separate file: ```lean theorem IsEulerian.ofPathGraph : ofPathGraph n |>.IsEulerian := by sorry theorem IsHamiltonian.ofPathGraph : ofPathGraph n |>.IsHamiltonian := by sorry theorem exists_path_iff_isContained_pathGraph : (∃ (u v : V) (w : G.Path u v), w.val.support.length = n) ↔ pathGraph n ⊑ G := by sorry ``` (the last statement also requires #33121, this PR gives the right-to-left implication and that PR gives the left-to-right) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 37/1 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 9 ['SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] kmill
assignee:kmill
10-22793
10 days ago
21-46291
21 days ago
22-77274
22 days
33082 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(GroupTheory/SpecificGroups/Alternating/Simple): the alternating group on at least 5 letters is simple. This is the conclusion of the story of the proof of simplicity of the alternating group using the Iwasawa criterion. * `Equiv.Perm.iwasawaStructure_two`: the natural `IwasawaStructure` of `Equiv.Perm α` acting on `Nat.Combination α 2` Its commutative subgroups consist of the permutations with support in a given element of `Nat.Combination α 2`. They are cyclic of order 2. * `alternatingGroup_of_le_of_normal`: If `α` has at least 5 elements, then a nontrivial normal subgroup of `Equiv.Perm α` contains the alternating group. * `alternatingGroup.iwasawaStructure_three`: the natural `IwasawaStructure` of `alternatingGroup α` acting on `Nat.Combination α 3` Its commutative subgroups consist of the permutations with support in a given element of `Nat.Combination α 2`. They are cyclic of order 3. * `alternatingGroup.iwasawaStructure_three`: the natural `IwasawaStructure` of `alternatingGroup α` acting on `Nat.Combination α 4` Its commutative subgroups consist of the permutations of cycleType (2, 2) with support in a given element of `Nat.Combination α 2`. They have order 4 and exponent 2 (`IsKleinFour`). * `alternatingGroup.normal_subgroup_eq_bot_or_eq_top`: If `α` has at least 5 elements, then a nontrivial normal subgroup of `alternatingGroup` is `⊤`. * `alternatingGroup.isSimpleGroup`: If `α` has at least 5 elements, then `alternatingGroup α` is a simple group. --- - [x] depends on: #34307 - [x] depends on: #34308 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 459/5 Mathlib.lean,Mathlib/GroupTheory/Perm/ConjAct.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/Simple.lean,Mathlib/GroupTheory/SpecificGroups/KleinFour.lean 8 54 ['AntoineChambert-Loir', 'Ruben-VandeVelde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] mattrobball
assignee:mattrobball
9-85597
9 days ago
10-416
10 days ago
10-14388
10 days
34455 vihdzp
author:vihdzp
chore(NumberTheory/MahlerMeasure): turn `BoxPoly` notation into a def --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 22/24 Mathlib/NumberTheory/MahlerMeasure.lean 1 10 ['MichaelStollBayreuth', 'fbarroero', 'github-actions', 'jcommelin', 'vihdzp'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
9-72966
9 days ago
9-78185
9 days ago
16-49743
16 days
34477 spanning-tree
author:spanning-tree
refactor(Order): make CompletePartialOrder extend OrderBot Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly. Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor. See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 15/1 Mathlib/Order/CompletePartialOrder.lean 1 2 ['Citronhat', 'github-actions'] pechersky
assignee:pechersky
9-41313
9 days ago
13-76005
13 days ago
16-30324
16 days
34664 GrigorenkoPV
author:GrigorenkoPV
feat(SetTheory/Ordinal/Arithmetic): prove isSuccPrelimit_iff_omega0_dvd --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory new-contributor 36/15 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Notation.lean 3 8 ['GrigorenkoPV', 'github-actions', 'vihdzp'] vihdzp
assignee:vihdzp
8-76655
8 days ago
9-80019
9 days ago
11-36538
11 days
34375 jvanwinden
author:jvanwinden
feat(MeasureTheory/Function/AEEqOfLIntegral): introduce lemmas for rewriting a.e. inequalities Introduce the following lemmas: - ae_le_const_iff_forall_gt_imp_ae_lt, - ae_const_le_iff_forall_lt_imp_ae_gt, - ae_le_const_iff_forall_gt_imp_ae_le, - ae_const_le_iff_forall_lt_imp_ae_ge, which can be used get an epsilon of room in a.e. inequalities, with the epsilon being outside the a.e. quantifier. The 'le/ge' variants require a dense ordering. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 24/0 Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean 1 4 ['github-actions', 'jvanwinden', 'urkud'] kex-y
assignee:kex-y
8-75136
8 days ago
18-76554
18 days ago
18-76327
18 days
34779 tb65536
author:tb65536
refactor(Computability/TMComputable): generalize from `FinEncoding` Much of `TMComputable.lean` is stated in terms of `FinEncoding` when only the `encode` function is used. This PR generalizes statements in `TMComputable.lean` to take in just the `encode` function, making them easier to use (since one does not have to additionally provide a `decode` function and a proof of `decode_encode`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 39/38 Mathlib/Computability/TMComputable.lean 1 1 ['github-actions'] nobody
8-71490
8 days ago
8-71490
8 days ago
8-71263
8 days
32570 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 22/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 2 19 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono', 'vlad902'] kmill
assignee:kmill
8-51104
8 days ago
8-51104
8 days ago
60-81881
60 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 127/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 24 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono'] awainverse
assignee:awainverse
8-49931
8 days ago
8-49931
8 days ago
61-18729
61 days
34636 CoolRmal
author:CoolRmal
feat(MeasureTheory/Analysis): the Fourier coefficients of a function can be computed by integrating over a box The main result proved in this PR is `integral_preimage`, which is the analogue of the one-dimensional result: [UnitAddCircle.integral_preimage](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.html#UnitAddCircle.integral_preimage). This theorem allows us to compute an integral over UnitAddTorus as an integral over a box in the Euclidean space. As an application, I prove that the Fourier coefficients of a function can be computed by integrating over a box. The main motivation for this PR is the higher dimensional Poisson summation formula, which is needed in the [Sphere Packing project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 80/0 Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean 2 1 ['github-actions'] RemyDegenne
assignee:RemyDegenne
8-41320
8 days ago
11-62309
11 days ago
11-63367
11 days
31449 kim-em
author:kim-em
feat(SemilocallySimplyConnected): definition and alternative formulation Note: Proofs in this PR were developed with assistance from Claude. t-topology 266/0 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SemilocallySimplyConnected.lean,Mathlib/Topology/Path.lean 5 15 ['ADedecker', 'alreadydone', 'github-actions', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
8-31804
8 days ago
8-30319
8 days ago
58-82651
58 days
29235 yoh-tanimoto
author:yoh-tanimoto
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE add `ClosedSubmodule.mapEquiv` for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with `closure` and `⊔`. motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by `Complex.I`) #29251 https://ems.press/content/serial-article-files/48171 - [x] depends on: #29230 for `Lattice` `CompleteLattice` t-topology 69/1 Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean 1 8 ['github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yoh-tanimoto'] fpvandoorn
assignee:fpvandoorn
8-19240
8 days ago
8-18029
8 days ago
105-13366
105 days
34191 IlPreteRosso
author:IlPreteRosso
feat(Topology/Algebra/InfiniteSum): Discrete Convolution API 1st PR Defines the very basics of the discrete convolution API. In analogy with [MeasureTheory.Convolution](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Convolution.html#MeasureTheory.convolution). Main definitions include - `mulFiber`, `convolution`, `ConvolutionExists`, `ConvolutionExists.add_distrib`, `ConvolutionExistsAt.smul_convolution`, `mulFiber_swapEquiv`, `convolution_comm` RM: - The main docstring is *as is* - Next step is triple sum intrastrcutre + `assoc` theorems for convolution (long) Continues the work from #33411 and #33410 (splitting into shorter PRs, carries over the modifications from previous reviews) t-topology new-contributor 277/0 Mathlib.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean 2 18 ['IlPreteRosso', 'github-actions', 'j-loreaux'] PatrickMassot
assignee:PatrickMassot
7-70210
7 days ago
7-69588
7 days ago
16-70120
16 days
34402 loefflerd
author:loefflerd
feat(Analysis/Complex/UpperHalfPlane): invariant measure Add the invariant measure on the upper half-plane (& prove that it is indeed invariant). Also includes various minor improvements to upper half-plane & related code: * improve documentation of `GeneralLinearGroup/FinTwo.lean` * remove no-longer-needed coercion notation --- - [x] depends on: #34597 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis 276/47 Mathlib.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean,Mathlib/NumberTheory/ModularForms/Basic.lean 7 6 ['github-actions', 'loefflerd', 'mathlib-dependent-issues', 'urkud'] ADedecker
assignee:ADedecker
7-57735
7 days ago
7-56864
7 days ago
12-54861
12 days
34557 kim-em
author:kim-em
feat(Topology/Homotopy): add Path.subpathOn for restricting paths to subintervals This PR adds `Path.subpathOn`, which extracts a subpath from a path γ on an interval [a, b] ⊆ [0, 1] by reparametrizing via the affine map t ↦ a + t(b - a). ### Main results - `Path.subpathOn`: definition of the restricted path - `Path.subpathOn_trans`: composing subpaths is homotopic to the combined subpath - `Path.subpathOn_self`: the trivial subpath [a,a] is homotopic to the constant path - `Path.subpathOn_zero_one`: the full subpath [0,1] is homotopic to the original path - Quotient-level versions of these theorems This material is split out from https://github.com/leanprover-community/mathlib4/pull/31576 to allow independent review. PR #31576 will depend on this PR once merged. 🤖 Prepared with Claude Code t-topology 216/0 Mathlib.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/UnitInterval.lean,Mathlib/Topology/UnitInterval/ConvexSpace.lean 4 3 ['github-actions', 'jcommelin'] jcommelin
assignee:jcommelin
7-36277
7 days ago
11-22266
11 days ago
11-50789
11 days
34558 kim-em
author:kim-em
feat(Topology): add StrictMono finite partition lemmas and path partitioning This PR adds: **In `UnitInterval.lean`:** - `exists_strictMono_Icc_subset_open_cover_Icc`: finite partition with strictly monotone points indexed by `Fin (n + 1)` for general closed intervals - `exists_strictMono_Icc_subset_open_cover_unitInterval`: the unit interval version - `continuous_convexCombo`: continuity of convex combinations **In `Path.lean`:** - `Path.exists_partition_in_cover`: Lebesgue partition lemma for paths - any open cover of a path's range can be refined to a finite partition - `Path.exists_partition_with_property`: neighborhood version - if every point on a path has a neighborhood with property P, get a partition with each segment in such a neighborhood These are useful for path homotopy arguments where a finite, strict partition is needed. This is split out from https://github.com/leanprover-community/mathlib4/pull/31576 to allow independent review. 🤖 Prepared with Claude Code t-topology 174/0 Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean 2 12 ['botbaki-review', 'github-actions', 'kim-em'] jcommelin
assignee:jcommelin
7-36276
7 days ago
12-10107
12 days ago
14-18002
14 days
34632 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): add `BipartiteDoubleCover` `bipartiteDoubleCover G` has two vertices `inl v` and `inr v` for each vertex `v` in `G` such that `inl v` (`inr v`) is adjacent to `inr w` (`inl w`) iff `v` is adjacent to `w` in `G`. --- This comes from splitting up #25841 into smaller PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 87/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 10 ['github-actions', 'mitchell-horner', 'vihdzp', 'vlad902'] kmill
assignee:kmill
7-36274
7 days ago
11-32668
11 days ago
12-34000
12 days
34671 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): `fromRel` is injective & more --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 23/9 Mathlib/Data/Sym/Sym2.lean 1 1 ['github-actions'] TwoFX
assignee:TwoFX
7-36272
7 days ago
11-17139
11 days ago
11-16912
11 days
34693 SnirBroshi
author:SnirBroshi
feat(Data/Finite/Card): `Nat.card`/`ENat.card` is strictly monotonic on finite sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 31/4 Mathlib/Data/Finite/Card.lean 1 1 ['github-actions'] TwoFX
assignee:TwoFX
7-36270
7 days ago
10-59376
10 days ago
10-59149
10 days
28248 YaelDillies
author:YaelDillies
feat: binomial random variables Define the binomial distribution and compute the expectation, variance, conditional variance of a binomial random variable. From MiscYD --- - [x] depends on: #31908 - [x] depends on: #31910 - [x] depends on: #31942 - [x] depends on: #31947 - [x] depends on: #34367 - [x] depends on: #34370 - [x] depends on: #34374 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 232/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/Bochner/Set.lean,Mathlib/Probability/Distributions/Binomial.lean 3 61 ['DavidLedvinka', 'RemyDegenne', 'YaelDillies', 'eric-wieser', 'github-actions', 'kex-y', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'pfaffelh', 'themathqueen'] kex-y
assignee:kex-y
7-19237
7 days ago
7-18122
7 days ago
32-4774
32 days
34427 CoolRmal
author:CoolRmal
feat(MeasureTheory): Strong measurability is preserved under division in a group with zero I proved that if `f,g` are two strongly measurable functions taking values in a group with zero, then `f/g` is still strongly measurable. As mentioned over here [#Is there code for X? > StronglyMeaurable.div₀](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/StronglyMeaurable.2Ediv.E2.82.80/with/569988425), I probably should also change the name of [MeasureTheory.StronglyMeasurable.div](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.html#MeasureTheory.StronglyMeasurable.div) into `StronglyMeasurable.div'` according to the docstring of [ContinuousDiv](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Group/Defs.html#ContinuousDiv). If I do this, then @to_additive will generate a theorem named `StronglyMeasurable.sub'`, which is a bit weird, so I am unsure whether I should change these names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 37/8 Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/Probability/Process/Adapted.lean 3 3 ['CoolRmal', 'EtienneC30', 'github-actions'] kex-y
assignee:kex-y
7-12553
7 days ago
7-11559
7 days ago
15-53669
15 days
34193 bwangpj
author:bwangpj
feat(Topology/Algebra/Ring): ContinuousAddEquiv.mulLeft, mulRight The additive homeomorphism from a topological ring to itself, induced by left/right multiplication by a unit. From FLT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology FLT 25/0 Mathlib/Topology/Algebra/Ring/Basic.lean 1 7 ['bwangpj', 'dagurtomas', 'eric-wieser', 'github-actions'] dagurtomas
assignee:dagurtomas
6-70476
6 days ago
22-9842
22 days ago
22-11972
22 days
26377 Whysoserioushah
author:Whysoserioushah
feat(RingTheory/SimpleRing/TensorProduct): tensor product of a simple algebra and a central simple algebra is simple co-authored-by: @jjaassoonn --- t-ring-theory large-import 326/8 Mathlib.lean,Mathlib/RingTheory/SimpleRing/TensorProduct.lean,Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/TwoSidedIdeal/Operations.lean 5 68 ['Ruben-VandeVelde', 'Whysoserioushah', 'eric-wieser', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-merge-conflict-bot', 'vlad902'] kbuzzard
assignee:kbuzzard
6-63712
6 days ago
6-63539
6 days ago
23-26859
23 days
30077 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfBivariate Containing a specialization of the implicit function theorem to a curried bivariate function. --- This PR is a synthesis of material from others which have failed to make progress. But there seems always to have been a different reason for it, so I'm afraid I keep trying where maybe I shouldn't. I think in this PR I have incorporated the great majority of suggestions already made (that I understood!). #26985 reviewed by j-loreaux and later on by winstonyin. #16743 and #26300 reviewed by sgouezel. [Zulip chat](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Inverse.20function.20theorem.20and.20ContinuousLinearEquiv/with/567586606) with Yury Kudryashov. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 397/145 Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Partial.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Bivariate.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 6 2 ['github-actions', 'mathlib4-merge-conflict-bot'] sgouezel
assignee:sgouezel
6-41430
6 days ago
9-65726
9 days ago
9-65499
9 days
34709 dennj
author:dennj
feat(Analysis/ODE): add discrete Grönwall inequality ## Summary Add discrete Grönwall inequality to `Mathlib/Analysis/ODE/DiscreteGronwall.lean` Provides bounds for recurrence inequalities of the form `u(n+1) ≤ c(n) * u(n) + b(n)` ### Main results - `discrete_gronwall_prod_general`: Product form working over any linearly ordered commutative ring - `prod_one_add_Ico_mono`: Auxiliary lemma for product comparisons over subintervals - `discrete_gronwall`: Classical exponential bound `u(n) ≤ (u(n₀) + ∑ b(k)) * exp(∑ c(i))` (ℝ-specific) - `discrete_gronwall_Ico`: Uniform bound over a finite interval (ℝ-specific) ## Related work Complements the continuous Grönwall inequality in `Mathlib.Analysis.ODE.Gronwall` ## References * Grönwall, T. H. (1919). "Note on the derivatives with respect to a parameter of the solutions of a system of differential equations". *Annals of Mathematics*, 20(4), 292–296. t-analysis new-contributor 174/0 Mathlib.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
6-41428
6 days ago
10-29963
10 days ago
10-29736
10 days
34729 vihdzp
author:vihdzp
chore: `no_expose` various `Ordinal` definitions These all have convoluted definitions that are better characterized by their API, or (in the case of `Ordinal.ToType`) are defined through choice and have no useful definitional equalities. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 13/11 Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean 2 3 ['github-actions', 'leanprover-radar', 'vihdzp'] b-mehta
assignee:b-mehta
6-41427
6 days ago
9-71213
9 days ago
9-70986
9 days
34821 kim-em
author:kim-em
chore: add GitHub Apps validation script and config This PR adds tooling to validate the GitHub Apps configuration after the recent bot account migration. **New files:** - `.github/github-apps.yml` - Documents all 8 GitHub Apps with their IDs, secrets, and workflow usage - `scripts/validate-github-apps.sh` - Validates apps exist, secrets are present, and workflows reference correct secrets - `.github/workflows/validate-github-apps.yml` - Weekly CI to run validation **Validation checks:** - App exists with expected ID via GitHub API - App is installed and not suspended - Required secrets exist in each repository - Workflow files reference the correct secrets - Warns about undocumented `MATHLIB_*` secrets **Issue found:** The validation script discovered that `MATHLIB_AUTO_MERGE_APP_ID` and `MATHLIB_AUTO_MERGE_PRIVATE_KEY` secrets are missing. These need to be added for the `mathlib-auto-merge` app (ID: 2784285). **Requirements:** `gh`, `yq`, and `jq` must be installed to run the script locally. 🤖 Prepared with Claude Code CI 642/0 .github/github-apps.yml,.github/workflows/validate-github-apps.yml,scripts/README.md,scripts/validate-github-apps.sh 4 2 ['bryangingechen', 'github-actions'] bryangingechen
assignee:bryangingechen
5-78312
5 days ago
8-27942
8 days ago
8-32591
8 days
34440 grunweg
author:grunweg
feat: linter for name components in uppercase Per the naming convention, these are errors (unless they are an abbreviation). Mathlib has *many* violations at the moment: for this reason, we add this as an environment linter and automatically add all current exceptions. Once these have been fixed, converting to a syntax linter is desirable. Until then, track the number of such exceptions as technical debt. --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20linter/with/570617527) Note to self: wait for CI, then do a final nolints update. and try to implement the follow-up soon [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter large-import maintainer-merge 1018/9 Mathlib/Tactic/Linter/Style.lean,MathlibTest/DoubleUnderscore.lean,MathlibTest/HashLint.lean,MathlibTest/Lint.lean,MathlibTest/LintStyle.lean,scripts/nolints.json,scripts/technical-debt-metrics.sh 7 18 ['github-actions', 'grunweg', 'joneugster'] joneugster
assignee:joneugster
5-77084
5 days ago
5-73652
5 days ago
7-75854
7 days
34182 IlPreteRosso
author:IlPreteRosso
feat(Data/Finsupp/Single, Data/Finsupp/Indicator): Add set_indicator_singleton, indicator_singleton; golfed single_eq_set_indicator, single_eq_indicator [Mathlib.Data.Finsupp.Single](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Single.html#Finsupp.single) - Add `set_indicator_singleton`, golfed `single_eq_set_indicator` [Mathlib.Data.Finsupp.Indicator](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Indicator.html#Finsupp.indicator_apply) - Add `indicator_singleton`, golfed `single_eq_indicator` Continues the work from #34095 large-import t-data new-contributor 17/17 Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean 2 29 ['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] eric-wieser and urkud
assignee:urkud assignee:eric-wieser
5-71121
5 days ago
22-23625
22 days ago
22-30226
22 days
34215 justus-springer
author:justus-springer
feat(FieldTheory/RatFunc): Degree of field extension K(X)/K(f) Prove that the degree of the field extension K(X)/K(f) of a rational function f equals the maximum of the degrees of its numerator and denominator. This is a crucial lemma towards proving Luroth's theorem. This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025. Co-authored-by: Miriam Philipp @miriamphilipp Co-authored-by: Junyan Xu @alreadydone --- - [ ] depends on: #34212 - [ ] depends on: #34213 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
228/0 Mathlib.lean,Mathlib/FieldTheory/RatFunc/Luroth.lean 2 8 ['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] jcommelin
assignee:jcommelin
5-70728
5 days ago
5-70018
5 days ago
14-85539
14 days
34151 gasparattila
author:gasparattila
feat(Topology/Sets): product of `Closeds` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 30/0 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/Closeds.lean,Mathlib/Topology/Sets/Compacts.lean 3 1 ['github-actions'] PatrickMassot
assignee:PatrickMassot
5-65331
5 days ago
5-64183
5 days ago
23-58652
23 days
34386 plp127
author:plp127
chore(Order/RelClasses): resolve TODO Resolves TODO in Mathlib/Order/RelClasses by removing `Eq.subset` and renaming `Eq.subset'` to `Eq.subset`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 9/11 Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Card.lean,Mathlib/Order/RelClasses.lean,Mathlib/Topology/IsLocalHomeomorph.lean 6 7 ['Vierkantor', 'github-actions', 'plp127', 'vihdzp'] Vierkantor
assignee:Vierkantor
5-54190
5 days ago
5-53411
5 days ago
18-9443
18 days
33252 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph/Coloring): use `IsIndepSet` instead of `IsAntichain` to spell "a color class is an independent set" --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 6/2 Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean 2 1 ['github-actions'] nobody
5-45211
5 days ago
37-48713
37 days ago
12-38825
12 days
34099 mcdoll
author:mcdoll
feat(Analysis/Distribution): Fourier multiplier We define Fourier multiplier with temperate growth functions acting on Schwartz functions as well as tempered distributions. We prove that the directional derivative and the Laplacian can be represented as Fourier multiplier. --- - [x] depends on: #34100 - [x] depends on: #34285 - [x] depends on: #34294 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 217/0 Mathlib.lean,Mathlib/Analysis/Distribution/FourierMultiplier.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] ADedecker
assignee:ADedecker
5-41422
5 days ago
9-19448
9 days ago
10-21997
10 days
34674 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions * Add `WithTop` versions of basic multiplicative order lemmas. * Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs. * Fix a typo in the `pos_of_ne_zero` alias name. new-contributor t-algebra
label:t-algebra$
46/15 Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean 3 4 ['Citronhat', 'Ruben-VandeVelde', 'github-actions'] dagurtomas
assignee:dagurtomas
5-41418
5 days ago
9-12945
9 days ago
10-84910
10 days
34757 Hagb
author:Hagb
feat(Algebra/MvPolynomial/Rename): some lemmas about `rename` and `killCompl` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
66/1 Mathlib/Algebra/MvPolynomial/Rename.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
5-41408
5 days ago
9-20302
9 days ago
9-20075
9 days
34760 astrainfinita
author:astrainfinita
chore: use `RelHomClass` in `IsChain.image` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 22/23 Counterexamples/AharoniKorman.lean,Mathlib/Order/Height.lean,Mathlib/Order/Preorder/Chain.lean 3 1 ['github-actions'] Vierkantor
assignee:Vierkantor
5-41406
5 days ago
9-14047
9 days ago
9-13820
9 days
34785 bwangpj
author:bwangpj
feat: closed subgroup of profinite group is intersection of open subgroups containing it --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 37/4 Mathlib/Topology/Algebra/ClopenNhdofOne.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
5-41403
5 days ago
8-67936
8 days ago
8-67709
8 days
34788 justus-springer
author:justus-springer
feat(Algebra/Polynomial/AlgebraMap): add Polynomial.aeval_eq_aeval_map This lemma is a special case of `Polynomial.map_aeval_eq_aeval_map` when `U = T` and `ψ` the identity. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
6/0 Mathlib/Algebra/Polynomial/AlgebraMap.lean 1 2 ['github-actions'] eric-wieser
assignee:eric-wieser
5-41402
5 days ago
8-65896
8 days ago
8-65669
8 days
32455 vihdzp
author:vihdzp
feat: order topologies of successor orders --- Co-authored by @j-loreaux [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-order maintainer-merge 126/43 Mathlib.lean,Mathlib/Order/Cover.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Order/SuccPred.lean 4 6 ['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] pechersky
assignee:pechersky
5-38332
5 days ago
5-35703
5 days ago
69-17537
69 days
28682 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): definition of regular local ring In this PR, we give the definition of regular local ring. The class `IsRegularLocalRing` is defined as `(maximalIdeal R).spanFinrank = ringKrullDim R` We also established the lemma `IsRegularLocalRing.iff_finrank_cotangentSpace` proving this definition is equivalent to the cotangent space version. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 133/0 Mathlib.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/RegularLocalRing/Defs.lean 5 51 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'mathlib4-merge-conflict-bot', 'mbkybky'] chrisflav
assignee:chrisflav
5-6310
5 days ago
5-4127
5 days ago
14-79409
14 days
32058 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): category version Baer criterion In this PR, we added the cateory version of Baer criterion stating that `M` is injective iff `Ext^1(R/I, M)` vanish for all ideal I. --- - [ ] depends on: #32316 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory
label:t-algebra$
133/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Baer.lean 2 5 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
5-711
5 days ago
5-711
5 days ago
5-484
5 days
32245 erdOne
author:erdOne
feat(RingTheory): the `coassoc_simps` simp set From Toric Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric t-meta 815/0 Mathlib.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/Tactic/Attr/Register.lean,MathlibTest/RingTheory/CoassocSimps.lean 4 3 ['erdOne', 'github-actions', 'riccardobrasca'] mattrobball
assignee:mattrobball
4-83693
4 days ago
11-8645
11 days ago
11-8418
11 days
33403 xroblot
author:xroblot
feat(GroupTheory/FiniteAbelian): prove that the restriction map is surjective Let `G` be a finite commutative group and let `H` be a subgroup. If `M` is a commutative monoid such that `G →* Mˣ` and `H →* Mˣ` are both finite (this is the case for example if `M` is a commutative domain), then any homomorphism `H →* Mˣ` can be extended to an homomorphism `G →* Mˣ`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 98/13 Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/NumberTheory/MulChar/Duality.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean 6 9 ['Ruben-VandeVelde', 'github-actions', 'robin-carlier', 'xroblot'] urkud
assignee:urkud
4-82483
4 days ago
4-80532
4 days ago
42-54518
42 days
17129 joneugster
author:joneugster
feat(Tactic/Linter): add unicode linter for unicode variant-selectors - add an addition to the unicode linter ensuring variant-selector only appear on specified characters and also ensuring these characters always have the correct variant selector to avoid confusions. - fix a bug from #34022 which broke autofixing - some smaller refactors - add `String.printCodepointHex` analog to the existing `printCodepointHex` which has been renamed to `Char.printCodepointHex` - pass the next char to `findBadUnicodeAux` to make it easier to consider a pair of consecutive characters - add some `ToString` instances to the test file to help debugging. (I really needed them badly...) - automatic fixes flagged by this linter Unicode characters can be followed by one of the two "variant-selectors" `\FE0E` (text) or `\FE0F` (emoji). These appear to the user as a single unicode character and they might copy them by accident. For example `✝️` (`\u271d\uFE0F`), `✝` (`\u271d`) and `✝︎` (`\u271d\uFE0E`) are three variants of the "same" unicode character. The one without variant-selector might display as either emoji or not, depending on the user's device and font. (e.g. for me it is an emoji while editing this message, but a text when previewing) Everything flagged by this linter can be fixed fully automatically with `lake exe lint-style --fix` or by commenting `bot fix style` on the PR. --- - tracking PR: #16215 ## Testing: First, drop the last commit from this PR (which includes only the autofixed style issues) Then call `lake exe lint-style`. You should see 13 new style errors. Next, add the following line to `nolints-style.txt`: ``` Mathlib/GroupTheory/GroupExtension/Defs.lean : line 26 : ERR_UNICODE_VARIANT : Unexpected unicode variant selector: "↗︎" (U+2197;U+fe0e). Consider deleting it. ``` now `lake exe lint-style` should only display 9 style errors. These can be applied with `lake exe lint-style --fix`. Next, remove the changes from `nolints-style.txt`. You should then see another 2 errors which can be fixed again. ## Zulip discussions: - https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F - https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Lean.20specific.20font ## Related PRs: - leanprover/lean4#5015 added some emoji-variant selectors to Emojis used in `Lean` itself. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 288/56 Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/Conv.lean,Mathlib/Tactic/Widget/GCongr.lean,MathlibTest/LintStyle.lean,MathlibTest/hint.lean,MathlibTest/hintAll.lean 11 32 ['YaelDillies', 'adomani', 'adomasbaliuka', 'github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant'] grunweg
assignee:grunweg
4-79257
4 days ago
unknown
unknown
34730 xroblot
author:xroblot
feat(RingTheory/Ideal): isomorphism between `stabilizer G Q / inertia G Q` and the Galois group of the residue fields extension Construct the isomorphism ```lean4 MulAction.stabilizer G Q ⧸ (Q.inertia G).subgroupOf (MulAction.stabilizer G Q) ≃* Gal((B ⧸ Q)/(A ⧸ P)) ``` where `Q` is a prime ideal of `B` above the ideal `P` of `A`. Also included - add the following abbreviation to make it easier to refer to the inertia group of an ideal ```lean4 abbrev Ideal.inertia (I : Ideal B) : Subgroup G := AddSubgroup.inertia I.toAddSubgroup G ``` - golf the proofs of `ncard_primesOver_mul_card_inertia_mul_finrank` - add ```lean4 lemma card_stabilizer_eq : Nat.card (MulAction.stabilizer G P) = p.ramificationIdxIn S * p.inertiaDegIn S ``` --- - [x] depends on: #34772 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 62/31 Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Polynomial/Morse.lean 7 17 ['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'tb65536', 'xroblot'] riccardobrasca
assignee:riccardobrasca
4-75820
4 days ago
4-75887
4 days ago
3-59766
3 days
34622 vihdzp
author:vihdzp
feat: Nat/Int casts on char two rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
49/7 Mathlib/Algebra/CharP/Two.lean,Mathlib/Data/Set/Insert.lean 2 10 ['erdOne', 'eric-wieser', 'github-actions', 'vihdzp'] erdOne
assignee:erdOne
4-69788
4 days ago
4-68390
4 days ago
12-18928
12 days
21838 joneugster
author:joneugster
feat(Cache): Allow arguments of the form `Mathlib.Data.+` which correspond to a folder but not a file Extend `lake exe cache get` to get cache for all files inside a specified folder, as well as the dependencies of these files. his can be used as `lake exe cache get Mathlib/Data/` or `lake exe cache get Mathlib.Data.+`. There is also the syntax `lake exe cache get Mathlib.Data.*` which means either file or folder. --- - [x] depends on: #21834 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta 59/24 Cache/IO.lean,Cache/Main.lean 2 17 ['eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mergify'] eric-wieser
assignee:eric-wieser
4-67836
4 days ago
5-3980
5 days ago
11-53358
11 days
34755 Hagb
author:Hagb
feat(Logic/Basic): `a ∧ (a → b) ↔ a ∧ b` and `(a → b) ∧ a ↔ b ∧ a` It can be used to prove goal like `a ∧ b` where `h : a` can help prove `b`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 9/1 Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Logic/Basic.lean 2 5 ['Hagb', 'github-actions', 'joneugster', 'leanprover-radar'] dagurtomas
assignee:dagurtomas
4-67609
4 days ago
9-18905
9 days ago
9-18678
9 days
34954 brianrabern
author:brianrabern
feat(Combinatorics/SimpleGraph/Acyclic): add colorable and chromaticN… …umber bridges for acyclic and tree graphs Add thin bridge lemmas expressing that acyclic graphs (forests) and trees are 2-colorable, and that their chromatic number is at most 2, directly in terms of `Colorable` and `chromaticNumber`. The existing `IsAcyclic.isBipartite` already proves this via the definitional equality `IsBipartite = Colorable 2`, but these bridges improve discoverability for users who reason about `Colorable` or `chromaticNumber` without passing through `IsBipartite`. This is a first step toward building out the graph coloring API. New declarations: - `IsAcyclic.colorable_two` - `IsTree.colorable_two` - `IsAcyclic.chromaticNumber_le_two` - `IsTree.chromaticNumber_le_two` All are one-line proofs reusing existing results; no new imports needed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 16/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 1 ['github-actions'] nobody
4-65304
4 days ago
unknown
unknown
34598 A-M-Berns
author:A-M-Berns
feat(Geometry/Polygon): nondegeneracy conditions and interconversion with Affine.Triangle This PR implements suggestions provided in [this comment](https://github.com/leanprover-community/mathlib4/pull/34393#issuecomment-3810047384) by @jsm28: interconversion between `Polygon P 3` and `Affine.Triangle` as well as the nondegeneracy conditions `NondegenerateVertices` and `NondegenerateEdges`. I tried to keep typeclass restrictions as minimal as possible. --- new-contributor t-euclidean-geometry maintainer-merge 114/5 Mathlib/Geometry/Polygon/Basic.lean 1 17 ['A-M-Berns', 'github-actions', 'jcommelin', 'jsm28'] jsm28
assignee:jsm28
4-53533
4 days ago
4-52848
4 days ago
11-79629
11 days
34702 pfaffelh
author:pfaffelh
feat(Data/FinsetPowerset): The set `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k` Show that `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k`. The proof builds on `powersetCard k s` (the subsets of `s : Finset _` with cardinality `k`), and an equivalence to the above set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data 52/1 Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Logic/Equiv/Fintype.lean 3 25 ['DavidLedvinka', 'b-mehta', 'eric-wieser', 'github-actions', 'joneugster', 'pfaffelh'] nobody
4-47124
4 days ago
4-44369
4 days ago
9-36424
9 days
33348 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(LinearAlgebra/Transvection): characterization of transvections among dilatransvections WIP. * `LinearEquiv.fixedReduce`. Pass a linear equivalence to the quotient by a fixed subspace. * Characterize transvections among dilatransvections by the fact that their reduction is the identity. --- - [x] depends on: #33347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
279/3 Mathlib/LinearAlgebra/Transvection.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
4-40934
4 days ago
7-59889
7 days ago
7-76551
7 days
33985 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`). --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-order 183/1 Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean 4 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
4-40933
4 days ago
8-27022
8 days ago
8-47231
8 days
34054 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s. --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order please-merge-master 168/0 Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
4-40932
4 days ago
8-28228
8 days ago
8-28001
8 days
34770 CoolRmal
author:CoolRmal
feat: generalize Submartingale.expected_stoppedValue_mono to processes taking values in an ordered module I generalize the Submartingale.expected_stoppedValue_mono to processes taking values in a normed ordered module with a ClosedIciTopology. I think this generalization is meaningful because there are many nontrivial examples satisfying these hypothesis. e.g. ℝⁿ equipped with product ordering, Lp spaces. I also replaced the finiteness of measure in several theorems by the assumption that the the filtration is sigma finite. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability brownian 10/8 Mathlib/Probability/Martingale/OptionalStopping.lean 1 4 ['CoolRmal', 'github-actions'] EtienneC30
assignee:EtienneC30
4-40929
4 days ago
7-60562
7 days ago
8-6031
8 days
34792 fpvandoorn
author:fpvandoorn
feat: review lemmas about tendsto and group operations * Add `Filter.tendsto_mul_const_iff`, `Filter.tendsto_const_mul_iff` and `Filter.tendsto_div_const_iff'`. * prime `Filter.tendsto_const_div_iff` (since it's about `Group` not `GroupWithZero` * Generalize a few results to nonabelian groups. In `Filter.tendsto_const_div_iff` this required changing `ContinuousDiv` to `IsTopologicalGroup` (which is actually equivalent for groups). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 36/22 Mathlib/Topology/Algebra/Group/Basic.lean 1 1 ['github-actions'] ocfnash
assignee:ocfnash
4-40928
4 days ago
7-79779
7 days ago
7-79552
7 days
33257 NickAdfor
author:NickAdfor
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) Prove bipartite iff all cycles are even This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length. Co-authored-by: Nick Adfor Co-authored-by: Yue Sun Co-authored-by: Aristotle AI --- ## Main results - `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem ## Key supporting lemmas - `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings - `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity - `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma - `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties ## Proof outline 1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color. 2. For cycles (start = end), this forces even length. 3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization. 4. Show this coloring is valid using bypass operations and path properties. ## Technical notes - Uses `SimpleGraph.Walk` for path/cycle representation - Handles both `IsPath` and `IsCycle` predicates - Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks - Requires `DecidableEq V` for some lemmas - Uses classical logic for case analysis ## Reviewer notes - The proof uses induction on walks and case analysis on colorings - Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations - All theorems are in the `SimpleGraph` namespace - The `bipartite_iff_all_cycles_even` theorem provides the complete characterization t-combinatorics new-contributor 164/8 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 70 ['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'kmill', 'mitchell-horner', 'vihdzp', 'vlad902'] nobody
4-39507
4 days ago
4-39915
4 days ago
12-40487
12 days
33668 Citronhat
author:Citronhat
feat(PMF): add lintegral formulas for PMF This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function: - `PMF.lintegral_eq_tsum` - `PMF.lintegral_eq_sum` These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability. In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. t-measure-probability new-contributor 14/5 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 2 ['DavidLedvinka', 'github-actions'] kex-y
assignee:kex-y
4-39395
4 days ago
36-45667
36 days ago
36-77118
36 days
33249 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): `take` is path if original walk is path Proves that taking or dropping the first `n` consecution darts from a path gives another path. --- - [x] depends on: #26614 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 32/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/List/Infix.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
4-37656
4 days ago
4-64276
4 days ago
4-64049
4 days
33688 Citronhat
author:Citronhat
feat(PMF): add expectation lemmas for Poisson PMF This PR adds some basic results about the Poisson distribution, its `PMF`, and its expectation. **New lemmas:** * `poissonPMF_apply` — an unfolding lemma for `poissonPMF`. * `poissonPMFReal_mul_eq_succ_mul` — the standard recursion identity for the Poisson mass function. * `poissonPMFReal_hasSum_nmul` — shows that `fun n ↦ poissonPMFReal r n * n` has sum `r`. * `poissonPMF_tsum_nmul` — the corresponding identity at the level of the `PMF`. * `poissonPMF_coe_tsum_nmul` — the same result after coercion to `ℝ`. Both `ℝ`-valued and `ℝ≥0∞`-valued formulations are included so that these results can be used conveniently in both Lebesgue and Bochner integration contexts. new-contributor t-measure-probability 21/0 Mathlib/Probability/Distributions/Poisson.lean 1 6 ['Citronhat', 'DavidLedvinka', 'github-actions'] urkud
assignee:urkud
4-37639
4 days ago
35-51672
35 days ago
36-46934
36 days
34699 tb65536
author:tb65536
feat(RingTheory/Lasker): prove first uniqueness theorem for primary decomposition This PR proves the first uniqueness theorem for primary decomposition: In any minimal primary decomposition `I = ⨅ i, q_i`, the ideals `√(q_i : M)` are exactly the associated primes of `I`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
38/6 Mathlib/RingTheory/IsPrimary.lean,Mathlib/RingTheory/Lasker.lean 2 7 ['erdOne', 'github-actions', 'tb65536'] mariainesdff
assignee:mariainesdff
3-47336
3 days ago
3-46292
3 days ago
10-48371
10 days
34093 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 297/0 Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 4 5 ['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
3-41414
3 days ago
8-22783
8 days ago
8-22556
8 days
34143 Parcly-Taxel
author:Parcly-Taxel
chore: make Dyck word definitions public * `equivTreeToFun` -> `toTree` * `equivTreeInvFun` -> `ofTree` Also remove the two `unusedHavesSuffices` nolints from a time when the linter was not as discerning. t-combinatorics tech debt maintainer-merge 29/51 Mathlib/Combinatorics/Enumerative/DyckWord.lean 1 12 ['Komyyy', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'vihdzp'] jcommelin
assignee:jcommelin
3-41413
3 days ago
9-12556
9 days ago
23-73425
23 days
34266 gasparattila
author:gasparattila
feat(Topology/Sets): basis of `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 147/0 Mathlib/Topology/Bases.lean,Mathlib/Topology/Sets/VietorisTopology.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
3-41412
3 days ago
14-85215
14 days ago
20-58453
20 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 ℕ. t-measure-probability large-import new-contributor 110/1 Mathlib/Probability/Distributions/Poisson.lean 1 14 ['CoolRmal', 'DavidLedvinka', 'github-actions', 'huaizhangchu'] RemyDegenne
assignee:RemyDegenne
3-41409
3 days ago
7-5215
7 days ago
8-33243
8 days
34559 sgouezel
author:sgouezel
feat: bounded variation functions have left and right limits, and limits at infinity Needed for #34055. --- Everything in the PR is on the same topic, which is why I have kept it as a single PR. I can split it into two parts if it's too long, though, just tell me! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 475/13 Mathlib/Topology/EMetricSpace/BoundedVariation.lean 1 13 ['AntoineChambert-Loir', 'botbaki-review', 'github-actions', 'jsm28', 'sgouezel'] dagurtomas
assignee:dagurtomas
3-41408
3 days ago
7-13032
7 days ago
14-10428
14 days
34676 joneugster
author:joneugster
chore(Algebra/CharP/MixedCharZero): update file to make use to the module system - mark all declarations in the file as `private` or `public` - remove `@[exposed] public section` - reduce `public` imports - fix some wording and drop a random `example` which shouldn't be there --- I've used this file to better understand the module system and its future implications for mathlib. The file is IMO ideal since it's an old toy example of mine which is a leaf that isn't imported in mathlib anywhere else (yet). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
35/31 Mathlib/Algebra/CharP/MixedCharZero.lean 1 2 ['github-actions', 'vihdzp'] eric-wieser
assignee:eric-wieser
3-41405
3 days ago
11-6142
11 days ago
11-5915
11 days
34784 tb65536
author:tb65536
refactor(GroupTheory/Commutator/Basic): to_additivize commutators This PR makes some progress on to_additivizing more of the group theory library. I had to make the bracket instance scoped to avoid clashing with the Lie bracket. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
167/30 Mathlib/Algebra/Group/Commutator.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Solvable.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,MathlibTest/Group.lean,MathlibTest/toAdditiveIrredDef.lean 11 1 ['github-actions'] mattrobball
assignee:mattrobball
3-41404
3 days ago
8-56712
8 days ago
8-56485
8 days
34856 jano-wol
author:jano-wol
feat: Killing orthogonal complement is complement Killing orthogonal complement is complement --- If a Lie algebra has non-singular Killing form then for all ideals, an ideal and its Killing orthogonal complement are complements. [![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/Lie/Killing.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
3-41402
3 days ago
7-16717
7 days ago
7-43369
7 days
34859 wwylele
author:wwylele
feat(MeasureTheory): WithLp 2 (U × V) → U × V is measure preserving Intermediate lemmas towards #34826, and analogue to three existing lemma in the same file: ``` theorem EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp : MeasurePreserving (MeasurableEquiv.toLp 2 (ι → ℝ)).symm := by theorem PiLp.volume_preserving_ofLp : MeasurePreserving (@ofLp 2 (ι → ℝ)) := theorem PiLp.volume_preserving_toLp : MeasurePreserving (@toLp 2 (ι → ℝ)) := ``` --- I am not very good at working with measure theory directly, so this implementation just reduces the problem to known lemmas, but it is pretty cumbersome. Golfing is welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 58/0 Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean 1 6 ['b-mehta', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] RemyDegenne
assignee:RemyDegenne
3-41401
3 days ago
7-38772
7 days ago
7-38545
7 days
34894 felixpernegger
author:felixpernegger
feat(Topology/Separation): add weakly first countable spaces (from Formal conjectures: https://github.com/google-deepmind/formal-conjectures/pull/1860) Weakly first countable spaces are first were defined as Definition 2.3 [here](https://zbmath.org/0171.43603) and are used in many papers (sometimes called g-first countable). Some implications that are true but not included in this PR: - Weakly first countable => Sequential - [Symmetrizable](https://topology.pi-base.org/properties/P000104) => Weakly first countable - Weakly first countable + Frechet Urysohn => First countable Also not this property is not hereditary to subspaces t-topology 32/0 Mathlib/Topology/Bases.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
3-41398
3 days ago
6-47211
6 days ago
6-46984
6 days
34637 mcdoll
author:mcdoll
feat(Analysis/Distribution): support We define the support of distributions. The definition applies to both tempered and classical distributions, but for this PR we only prove some elementary statements for tempered distributions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 322/0 Mathlib.lean,Mathlib/Analysis/Distribution/Support.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
3-38123
3 days ago
3-37477
3 days ago
12-5369
12 days
34870 JovanGerb
author:JovanGerb
refactor(gcongr): split `MVarId.gcongr` into multiple functions This PR splits `MVarId.gcongr` into multiple functions. Previously, `MVarId.gcongr` was a bit too large of a function for readability/maintainability. We also add a new monad `GCongrM` in order to keep track of the state more conveniently. This change will make future improvements in `gcongr` easier. This PR doesn't change any behaviour, but does add two TODO comments. Implementation notes: - `MVarId.gcongrCore` will now always throw an exception when it doesn't succeed, and it is wrapped in a try-catch block to catch these if that is desired. - I replaced `saveState` with `getMCtx`, because the former didn't work in the `GCongrM` monad, and the only thing we are interested in saving/reverting is the metavariable context anyways. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 135/98 Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Core.lean 2 1 ['github-actions'] nobody
3-31871
3 days ago
3-28190
3 days ago
4-59794
4 days
34969 kim-em
author:kim-em
feat(RingTheory/HopfAlgebra): prove antipode is antihomomorphism This PR proves that the antipode of a Hopf algebra is an antihomomorphism: `antipode (a * b) = antipode b * antipode a`. The proof uses the convolution algebra structure on `(A ⊗ A) →ₗ[R] A` and shows that `S ∘ μ` and `μ ∘ (S ⊗ S) ∘ comm` are both convolution inverses of `μ`, hence they must be equal by uniqueness of inverses. This resolves a TODO listed in the file header. 🤖 Prepared with Claude Code t-ring-theory 88/2 Mathlib/RingTheory/HopfAlgebra/Basic.lean 1 1 ['github-actions'] nobody
3-31644
3 days ago
3-31531
3 days ago
3-31304
3 days
34998 bwangpj
author:bwangpj
feat(LinearAlgebra/BilinearForm): remove `BilinForm.IsRefl` hypothesis in some theorems Strengthen some theorems in `LinearAlgebra.BilinearForm.Orthogonal` by removing their `BilinForm.IsRefl` hypothesis; they are true verbatim without it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
24/21 Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean 1 1 ['github-actions'] nobody
3-29875
3 days ago
3-29162
3 days ago
3-46021
3 days
34267 Brian-Nugent
author:Brian-Nugent
feat(Topology/Algebra): Add API for Sheaves of abelian groups in preparation for proving results on sheaf cohomology. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 108/1 Mathlib.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean 4 19 ['Brian-Nugent', 'dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
3-23334
3 days ago
3-22496
3 days ago
16-64862
16 days
34516 jcommelin
author:jcommelin
feat(scripts): add auto_commit.sh and support rebase-friendly prefix This PR enables a rebase friendly workflow for auto-commits. During `git rebase -i`, any lines of the form `x ` will execute ``. So a commit of the form `x scripts/auto_commit.sh ` will create an entry of the form ``` pick 123abc x scripts/auto_commit.sh ``` By removing the prefix `pick 123abc `, the rebase will then execute `scripts/auto_commit.sh `. The effect is that `` is run, and all changes to the worktree are committed with commit message `x scripts/auto_commit.sh `. Specifically, this PR does the following: - Add scripts/auto_commit.sh: runs a command and commits with message `x scripts/auto_commit.sh `, enabling rebase workflow - Update verify_commits.sh to support both `x: ` and `x ` prefixes - Update CI workflow to detect both prefix formats Co-Authored-By: Claude Opus 4.5 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI maintainer-merge 127/6 .github/workflows/commit_verification.yml,scripts/README.md,scripts/auto_commit.sh,scripts/verify_commits.sh 4 8 ['github-actions', 'jcommelin', 'joneugster'] joneugster
assignee:joneugster
3-17484
3 days ago
3-16588
3 days ago
15-15333
15 days
35013 CoolRmal
author:CoolRmal
feat(Topology/Bornology): a locally bounded function maps a compact set to a bounded set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 10/0 Mathlib/Topology/Compactness/Compact.lean 1 1 ['github-actions'] nobody
3-7760
3 days ago
3-5963
3 days ago
3-5736
3 days
35014 RemyDegenne
author:RemyDegenne
feat: Radon-Nikodym derivative of a composition-product For finite measures and kernels, under an absolute continuity condition: ``` (μ ⊗ₘ κ).rnDeriv (ν ⊗ₘ η) =ᵐ[ν ⊗ₘ η] (fun p ↦ μ.rnDeriv ν p.1 * (μ ⊗ₘ κ).rnDeriv (μ ⊗ₘ η) p) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 126/0 Mathlib.lean,Mathlib/Probability/Kernel/Composition/MeasureCompProd.lean,Mathlib/Probability/Kernel/Composition/RadonNikodym.lean 3 1 ['github-actions'] nobody
3-6509
3 days ago
3-5726
3 days ago
3-5499
3 days
35015 RemyDegenne
author:RemyDegenne
feat: `rnDeriv` as ratio of densities wrt a dominating measure For a dominating measure `ξ` of two sigma-finite measures `μ` and `ν`, ``` μ.rnDeriv ν =ᵐ[ν] fun x ↦ μ.rnDeriv ξ x / ν.rnDeriv ξ x ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 74/0 Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean 1 1 ['github-actions'] nobody
3-5919
3 days ago
3-5236
3 days ago
3-5009
3 days
34631 JovanGerb
author:JovanGerb
chore: add missing `namespace`s I noticed that there is a global definition called `slice`, which causes ambiguity with `Finset.slice`. This PR improved the `namespace`dness of some tactic files. Really, we should have a linter against definitions in the root namespace in the `Mathlib.Tactic` and `Mathlib.Meta` folders. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 10/6 Mathlib/Tactic/CategoryTheory/CategoryStar.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Slice.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean 4 1 ['github-actions'] nobody
3-5757
3 days ago
3-5757
3 days ago
3-5530
3 days
34840 Vierkantor
author:Vierkantor
chore(Tactic/Convert): improve `convert` tactic family docstrings This PR (re)writes the docstring for the `convert`/`convert_to`/`ac_convert` tactics, to make sure they are complete without getting too long. The existing docstring for `convert` was very detailed, which is good for e.g. a reference manual, but as a docstring it was hard to quickly find the relevance. I moved this to the module docs and wrote a new docstring that still lists the same features but in a structured order, referring to other tactics for the full picture. --- Apologies for the unhelpful diff. I did not (intentionally) touch any lines between the module doc and the tactic docstring, but Git decides to show those lines as moved instead of the tactic doc becoming module doc. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta 145/80 Mathlib/Tactic/Convert.lean 1 1 ['github-actions'] nobody
3-5605
3 days ago
3-2296
3 days ago
3-2069
3 days
21342 YaelDillies
author:YaelDillies
refactor(Normed/Group/Quotient): generalise to non-abelian groups The goal is to apply this to free groups, whose multiplication in either argument is an isometry, but isn't commutative. --- - [x] depends on: #21341 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 142/82 Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/Group/Quotient.lean,Mathlib/Topology/Bornology/BoundedOperation.lean 6 7 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] sgouezel
assignee:sgouezel
3-3613
3 days ago
10-82825
10 days ago
10-82598
10 days
34255 tb65536
author:tb65536
feat(RingTheory/Ideal/MinimalPrime/Colon): minimal primes over a colon ideal This PR shows that a minimal prime over a colon ideal in a Noetherian ring is itself a colon ideal. --- [![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$
103/0 Mathlib.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Colon.lean 2 6 ['erdOne', 'github-actions', 'tb65536'] mariainesdff
assignee:mariainesdff
3-479
3 days ago
3-47398
3 days ago
20-26158
20 days
33662 Pjotr5
author:Pjotr5
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants ### Summary - Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`. The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`). This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`). - Add strict-inequality variants: `expect_lt_expect`, `expect_lt`, `lt_expect`. - Add existence lemmas: `exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`, and `exists_lt_of_expect_lt_expect`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
46/16 Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean 2 1 ['github-actions'] thorimur
assignee:thorimur
2-85695
2 days ago
2-84356
2 days ago
37-5180
37 days
35021 SnirBroshi
author:SnirBroshi
chore(Data/Bool/Count): golf using grind --- The goal was to get rid of the flexible-linter exception, but I ended up golfing more. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 6/24 Mathlib/Data/Bool/Count.lean 1 1 ['github-actions'] nobody
2-83421
2 days ago
2-82771
2 days ago
2-82544
2 days
26973 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): diffeologies generated from sets of plots Introduces diffeologies generated from sets of plots, shows that this defines a Galois insertion, and concludes that the diffeologies on a type form a complete lattice. --- This PR continues the work from #22724. - [x] depends on: #26484 t-differential-geometry 162/0 Mathlib/Geometry/Diffeology/Basic.lean 1 6 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'ocfnash', 'peabrainiac'] ocfnash
assignee:ocfnash
2-78748
2 days ago
6-65494
6 days ago
6-65267
6 days
34249 xyzw12345
author:xyzw12345
feat(GroupTheory/GroupAction/Hom): Add `MulDistribMulActionHom` corresponding to `DistribMulActionHom` In this PR, we defined `MulDistribMulActionHom` corresponding to `DistribMulActionHom`, which will be used in the multiplicative version of non-Abelian group cohomology. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
174/69 Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean 2 2 ['github-actions', 'ocfnash'] ocfnash
assignee:ocfnash
2-78298
2 days ago
21-11374
21 days ago
21-11147
21 days
34069 artie2000
author:artie2000
feat(Algebra/Order/Algebra): algebra is ordered iff inclusion map is monotone * Prove that an extension of ordered semirings forms an ordered algebra iff the inclusion map is injective * Reorganise section variables for clarity The typeclass `PartialOrder α` in `IsOrderedModule.of_algebraMap_mono` can be generalised to `Preorder α`. This has no mathematical application and all the other lemmas are proved over a partially ordered type, so this generalisation was not made. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-order
label:t-algebra$
18/7 Mathlib/Algebra/Order/Algebra.lean 1 1 ['github-actions'] pechersky
assignee:pechersky
2-77873
2 days ago
2-76511
2 days ago
24-46636
24 days
33944 artie2000
author:artie2000
feat(Algebra/Ring): formally real rings * Define formally real rings * Prove basic inductive facts about them Co-authored-by: Violeta Hernández Palacios --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
160/0 Mathlib.lean,Mathlib/Algebra/Ring/IsFormallyReal.lean 2 24 ['artie2000', 'github-actions', 'vihdzp'] mariainesdff
assignee:mariainesdff
2-77870
2 days ago
2-77212
2 days ago
9-29988
9 days
34049 smmercuri
author:smmercuri
refactor: use 1-field structure to define the `WithVal` type synonym Following the Zulip threads [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/near/526234806) and [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithAbs.60.2F.60WithVal.60/with/569663323) and using `WithLp` as a template, we refactor the `WithVal` type synonym as a 1-field structure. The main benefit being that it prevents defeq abuse. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 421/140 Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 8 9 ['chrisflav', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'smmercuri'] chrisflav
assignee:chrisflav
2-76165
2 days ago
2-74707
2 days ago
20-58003
20 days
35019 JovanGerb
author:JovanGerb
feat(Algebra/Homology/ComplexShape): use `to_dual` This PR uses `to_dual` to dualize `ComplexShape` to itself, swapping `next` to `prev` and `up` to `down`. If we wait for #34863 to be merged first, the we can get rid of one `to_dual existing`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 29/50 Mathlib/Algebra/Homology/ComplexShape.lean,Mathlib/Tactic/Translate/ToDual.lean 2 1 ['github-actions'] nobody
2-72446
2 days ago
2-68723
2 days ago
2-68496
2 days
34830 parabamoghv
author:parabamoghv
feat(CategoryTheory/Monoidal): add definition of categorical groups This PR defines of categorical groups, also known as coherent 2-groups, in mathlib. Motivation: Categorical groups are well-studied structures in monoidal category theory, but are not currently available in mathlib. The definitions in this PR follow the existing design patterns used for Category, MonoidalCategory, and BraidedCategory. This PR focuses on setting up the core structure and notation. Basic lemmas and further developments will be provided in a subsequent PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor 178/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/CategoricalGroups/Basic.lean 2 4 ['github-actions', 'parabamoghv'] robin-carlier
assignee:robin-carlier
2-68708
2 days ago
2-68068
2 days ago
3-71554
3 days
35038 joelriou
author:joelriou
feat(CategoryTheory/Limits): relation between products and wide pullbacks In this PR, we show that a wide pullback of arrows `objs j ⟶ B` exists when `B` is terminal and the product of the objects `obj j` exists. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 62/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Constructions/WidePullbackOfTerminal.lean 2 1 ['github-actions'] nobody
2-67282
2 days ago
2-66629
2 days ago
2-66402
2 days
32367 BoltonBailey
author:BoltonBailey
feat(Computability): add FinEncodings for List Bool and pairs of types This PR contains `finEncoding`s relevant to developing complexity theory in downstream libraries. It is adapted from [this](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788)[#maths > Formalise the proposition P ≠NP @ 💬](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788) comment. Co-authored-by: Daniel Weber --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-computability 54/21 Mathlib/Computability/Encoding.lean,Mathlib/Data/List/Basic.lean 2 15 ['BoltonBailey', 'MichaelStollBayreuth', 'Vierkantor', 'YaelDillies', 'github-actions'] Vierkantor and YaelDillies
assignee:Vierkantor assignee:YaelDillies
2-66893
2 days ago
6-58658
6 days ago
70-27559
70 days
35041 b-mehta
author:b-mehta
feat(Combinatorics): prove the Rado selection lemma This PR should supercede #29030 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 132/0 Mathlib.lean,Mathlib/Combinatorics/Compactness.lean 2 3 ['b-mehta', 'github-actions'] nobody
2-64036
2 days ago
2-64444
2 days ago
2-64217
2 days
35039 wwylele
author:wwylele
feat(LinearAlgebra/AffineSpace): small lemmas about lineMap and homothety Three lemmas about their interaction with AffineSubspace, and AffineCombination. Building towards #34826 `AffineMap.homothety_mem` is mostly just restating `AffineMap.lineMap_mem`, but since they are affine map with different names, putting it here can give better discovery --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
25/0 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean 2 5 ['copilot-pull-request-reviewer', 'github-actions'] nobody
2-63013
2 days ago
2-62170
2 days ago
2-61943
2 days
35044 b-mehta
author:b-mehta
feat(RingTheory/Radical): positivity extension for radical of natural A follow-up from #25335 which I forgot to make at the time. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 20/0 Mathlib/RingTheory/Radical.lean 1 2 ['b-mehta', 'github-actions'] nobody
2-61225
2 days ago
2-61082
2 days ago
2-60855
2 days
34890 CoolRmal
author:CoolRmal
feat(GroupTheory): each term in a upper(lower) central series is a characteristic subgroup The main lemma proved in this PR is `Subgroup.Characteristic.quotient`, which says that if `H` is a characteristic subgroup of `G`, and `K` is a characteristic subgroup of `G / H`, then the preimage of `K` under the projection map is a characteristic subgroup of `G`. As a corollary, I proved that each term in the upper central series is a characteristic subgroup. I deleted the instances related to normality as normality can be inferred from being characteristic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 25/18 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean 3 14 ['CoolRmal', 'github-actions', 'tb65536'] nobody
2-57761
2 days ago
2-55298
2 days ago
6-19203
6 days
32355 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): define and characterize simplicial pointed cones Define simplicial pointed cones. Prove three lemmas about simplicial and generating simplicial cones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor 55/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/Simplicial.lean 2 52 ['YaelDillies', 'artie2000', 'bjornsolheim', 'github-actions'] YaelDillies
assignee:YaelDillies
2-55512
2 days ago
2-55418
2 days ago
62-72837
62 days
34777 sqrt-of-2
author:sqrt-of-2
feat(Combinatorics/SetFamily/Intersecting): Define ℓ-intersecting families and establish their basic properties Define ℓ-intersecting families and establish their basic properties. A family of finsets is ℓ-intersecting if every pair of members intersects in at least ℓ elements. From LeanCamCombi. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 60/0 Mathlib/Combinatorics/SetFamily/Intersecting.lean 1 7 ['YaelDillies', 'b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
2-55118
2 days ago
8-72297
8 days ago
8-72070
8 days
34551 IlPreteRosso
author:IlPreteRosso
refactor(Data.Finset.*Antidiagonal): rename defs to `set*Antidiagonal` and deprecate old names in namespace Finset Main file is [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html). Adds `Finset.HasMulAntidiagonal`, the multiplicative counterpart to `HasAntidiagonal`, linked via `@[to_additive existing]`. Split PR (current changes): This PR renames the set-based antidiagonal definitions to have a `set` prefix, distinguishing them from the typeclass-based API in `Prod.lean`. **Only definitions are renamed in this PR.** Theorem/lemma renames will follow in a subsequent PR. [MulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/MulAntidiagonal.lean) - `mulAntidiagonal` → `setMulAntidiagonal` - `addAntidiagonal` → `setAddAntidiagonal` (via `@[to_additive]`) [SMulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/SMulAntidiagonal.lean) - `SMulAntidiagonal` → `setSMulAntidiagonal` - `VAddAntidiagonal` → `setVAddAntidiagonal` (via `@[to_additive]`) Propagates to: - `Mathlib/RingTheory/HahnSeries/Multiplication.lean` - `Mathlib/RingTheory/HahnSeries/Summable.lean` --- Added deprecation aliases for the renamed definitions. [Finset/MulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/MulAntidiagonal.lean) ``` @[to_additive (attr := deprecated setAddAntidiagonal (since := "2026-01-31")), deprecated setMulAntidiagonal (since := "2026-01-31")] alias mulAntidiagonal := setMulAntidiagonal ``` [Finset/SMulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/SMulAntidiagonal.lean) ``` @[to_additive (attr := deprecated setVAddAntidiagonal (since := "2026-01-31")), deprecated setSMulAntidiagonal (since := "2026-01-31")] alias smulAntidiagonal := setSMulAntidiagonal ``` Propagates: [PointwiseSMul.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finsupp/PointwiseSMul.lean) - updated to use Set.vaddAntidiagonal (the original Set name) --- Full changes to be made: For a monoid `M`, `mulAntidiagonal n` returns the finset of pairs `(i, j)` such that `i * j = n`. [MulAntidiagonal.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/MulAntidiagonal.html) - `mulAntidiagonal` → `setMulAntidiagonal` - `addAntidiagonal` → `setAddAntidiagonal` (via `@[to_additive]`) - All related theorems renamed accordingly: - `mem_setMulAntidiagonal` - `setMulAntidiagonal_mono_left`/`setMulAntidiagonal_mono_right` - `swap_mem_setMulAntidiagonal` - `support_setMulAntidiagonal_subset_mul` - `isPWO_support_setMulAntidiagonal` - `setMulAntidiagonal_min_mul_min` [SMulAntidiagonal.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/SMulAntidiagonal.html) - `setSMulAntidiagonal` (lowercase `set` prefix) - `setVAddAntidiagonal` (via `@[to_additive setVAddAntidiagonal ...]`) - All related theorems use lowercase `set` prefix: - `mem_setSMulAntidiagonal` / `mem_setVAddAntidiagonal` - `setSMulAntidiagonal_mono_left`/`setSMulAntidiagonal_mono_right` / `setVAddAntidiagonal_mono_left`/`setVAddAntidiagonal_mono_right` - `support_setSMulAntidiagonal_subset_smul` / `support_setVAddAntidiagonal_subset_vadd` - `isPWO_support_setSMulAntidiagonal` / `isPWO_support_setVAddAntidiagonal` - `setSMulAntidiagonal_min_smul_min` / `setVAddAntidiagonal_min_vadd_min` [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html) - Added explicit `@[to_additive]` target names: - `@[to_additive antidiagonal_congr ...]` for `mulAntidiagonal_congr` - `@[to_additive (attr := ext) antidiagonal_subtype_ext ...]` for `mulAntidiagonal_subtype_ext` - `@[to_additive antidiagonal_congr' ...]` for `mulAntidiagonal_congr'` - `@[to_additive (attr := simps) sigmaAntidiagonalEquivProd ...]` for `sigmaMulAntidiagonalEquivProd` [Multiplication.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/Multiplication.html) - Updated all VAdd antidiagonal references to use lowercase `set` prefix: - `setVAddAntidiagonal` - `mem_setVAddAntidiagonal` - `setVAddAntidiagonal_mono_left`/`setVAddAntidiagonal_mono_right` - `isPWO_support_setVAddAntidiagonal` - `support_setVAddAntidiagonal_subset_vadd` - `setVAddAntidiagonal_min_vadd_min` - Updated all Add antidiagonal references: - `mem_setAddAntidiagonal` - `swap_mem_setAddAntidiagonal` [Summable.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/Summable.html) - `setVAddAntidiagonal` references updated - `mem_setAddAntidiagonal` references updated [PowerSeries.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/PowerSeries.html) - `mem_addAntidiagonal` → `mem_setAddAntidiagonal` t-algebra new-contributor
label:t-algebra$
67/47 Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/Set/MulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean 6 6 ['IlPreteRosso', 'Ruben-VandeVelde', 'github-actions', 'kim-em', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-54425
2 days ago
2-52141
2 days ago
13-16477
13 days
35026 joelriou
author:joelriou
feat(CategoryTheory): definition of the Cech cohomology of a presheaf --- - [x] depends on: #35016 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 214/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/FormalCoproducts/Cech.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Cech.lean 3 5 ['chrisflav', 'github-actions', 'joelriou', 'mathlib-dependent-issues'] nobody
2-53718
2 days ago
2-53091
2 days ago
2-56121
2 days
25989 Multramate
author:Multramate
feat(NumberTheory/EllipticDivisibilitySequence): add elliptic nets This PR continues the work from #25030. Original PR: https://github.com/leanprover-community/mathlib4/pull/25030 t-number-theory large-import 257/39 Mathlib/NumberTheory/EllipticDivisibilitySequence.lean 1 18 ['MichaelStollBayreuth', 'Multramate', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib4-merge-conflict-bot', 'tb65536'] tb65536
assignee:tb65536
2-52302
2 days ago
2-51650
2 days ago
2-51423
2 days
28246 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology/FundamentalGroupoid): the n-sphere is simply connected for n > 1 Prove that the `n`-dimensional sphere (i.e., the unit sphere centered at the origin in `(n + 1)`-dimensional real Euclidean space) is a simply connected space for `n > 1`. This proof follows Hatcher's "Algebraic Topology"; we first prove a general lemma about decomposing loops and then exploit the fact that non-surjective loops in the sphere are homotopically trivial. Note: To get this file to build, I edited `Mathlib/Tactic/Linter/DirectoryDependency.lean` to remove the restrictions on AlgebraicTopology files importing Geometry, NumberTheory, and FieldTheory files. Thank you to those who shared their expertise [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Warning.20that.20AlgebraicTopology.20can't.20import.20SetTheory/with/533833638). As I understand it, this is just a short-term solution, so I would appreciate feedback on what to do about this situation. Note: I am unsure where exactly the file `SimplyConnectedSphere.lean` should go or whether that is an appropriate name for the file, so feedback there would be appreciated. --- To provide additional context, this code was written as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. - [x] depends on: #28208 - [x] depends on: #28198 - [x] depends on: #28185 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor 343/3 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] robin-carlier
assignee:robin-carlier
2-41156
2 days ago
5-70225
5 days ago
5-69998
5 days
34026 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial): add mainVariable Add `mainVariable` of `MvPolynomial`, the largest variable index appearing in the polynomial. Main Theorems: * `mainVariable_eq_bot_iff_eq_C` * `mainVariable_sum_le` * `mainVariable_prod_le` * `degreeOf_eq_zero_of_mainVariable_lt` 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/) t-algebra new-contributor
label:t-algebra$
147/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/MainVariable.lean 2 1 ['github-actions'] mattrobball
assignee:mattrobball
2-41153
2 days ago
27-26235
27 days ago
27-26008
27 days
34158 wwylele
author:wwylele
refactor(QuadraticForm/Complex): generalize to algebraically closed field A free generalization since the only place the property of C is used is to get a square root. This can still be further generalized to quadratically closed field, but we don't have that definition yet. Also did small clean up and removed a erw. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
110/72 Mathlib.lean,Mathlib/LinearAlgebra/QuadraticForm/AlgClosed.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean 4 10 ['erdOne', 'github-actions', 'ocfnash', 'wwylele'] chrisflav
assignee:chrisflav
2-41152
2 days ago
20-41416
20 days ago
22-41748
22 days
34594 kim-em
author:kim-em
feat(LinearAlgebra/ConvexSpace): show AffineSpace is a ConvexSpace This PR shows that every affine space is a convex space, resolving a TODO item in `Mathlib.LinearAlgebra.ConvexSpace`. The key components are: - `AddTorsor.convexCombination`: convex combination using `affineCombination` - `convexCombination_single`: unit law for convex combinations - `convexCombination_assoc`: associativity law (monadic join) - `AddTorsor.instConvexSpace`: the `ConvexSpace R P` instance 🤖 Prepared with Claude Code t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/LinearAlgebra/ConvexSpace/AffineSpace.lean 2 6 ['github-actions', 'kim-em', 'plp127'] ocfnash
assignee:ocfnash
2-41151
2 days ago
8-44769
8 days ago
8-44542
8 days
34642 joelriou
author:joelriou
feat(AlgebraicTopology): the bifibrant resolution functor on the homotopy category of cofibrant objects Given a model category `C`, we construct a functor `HoCat.bifibrantResolution : CofibrantObject.HoCat C ⥤ BifibrantObject.HoCat C`. --- - [x] depends on: #34641 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology t-category-theory 238/0 Mathlib/AlgebraicTopology/ModelCategory/BifibrantObjectHomotopy.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] robin-carlier
assignee:robin-carlier
2-41150
2 days ago
5-56557
5 days ago
5-60666
5 days
34756 Hagb
author:Hagb
feat(Algebra/Order/Monoid/Unbundled/WithTop): `AddEquiv` between `WithBot` It is like `Equiv.withBotCongr` but preserving also addition (`AddEquiv`). --- It is like [`Equiv.withBotCongr`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Equiv.withBotCongr#doc) but preserving also addition ([`AddEquiv`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=AddEquiv#doc)). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
39/0 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean 1 3 ['Hagb', 'github-actions', 'plp127'] mattrobball
assignee:mattrobball
2-41147
2 days ago
6-38810
6 days ago
8-68531
8 days
34803 YaelDillies
author:YaelDillies
refactor(Data/Sym/Sym2): curry `mk` This matches the `s(a, b)` notation and reduce the uncertainty about simp normal form. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 102/147 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabeling.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/List/Sym.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Sym/Sym2/Finsupp.lean,Mathlib/Data/Sym/Sym2/Order.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/Order/GameAdd.lean 15 6 ['YaelDillies', 'eric-wieser', 'github-actions', 'plp127'] joneugster
assignee:joneugster
2-41145
2 days ago
7-12603
7 days ago
8-53156
8 days
34806 YaelDillies
author:YaelDillies
feat(Data/Nat/SuccPred): `m ⋖ n ↔ m + 1 = n` This is a special case of a general lemma which can't be simp. From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 3/1 Mathlib/Data/Nat/SuccPred.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
2-41143
2 days ago
8-12321
8 days ago
8-12094
8 days
34808 YaelDillies
author:YaelDillies
feat(Combinatorics/SimpleGraph): isolated vertices RFC for now. Do you think this is a reasonable definition to have? What should its API be? From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) RFC t-combinatorics 3/0 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] kmill
assignee:kmill
2-41142
2 days ago
8-54363
8 days ago
8-54136
8 days
34854 GrigorenkoPV
author:GrigorenkoPV
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` --- Split off from #34853 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 227/194 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean 6 2 ['SnirBroshi', 'github-actions'] thorimur
assignee:thorimur
2-41141
2 days ago
6-724
6 days ago
7-49226
7 days
34872 Hagb
author:Hagb
feat(Data/Finsupp/Basic): add `comapDomain_embDomain` and generalize `comapDomain_surjective` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 9/7 Mathlib/Data/Finsupp/Basic.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
2-41139
2 days ago
6-78050
6 days ago
6-77823
6 days
34874 bwangpj
author:bwangpj
feat: converse of `stabilizer_isOpen` A group action of a topological group on a discrete space is continuous if and only if each stabilizer is an open subgroup. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 25/0 Mathlib/Topology/Algebra/MulAction.lean 1 2 ['ADedecker', 'github-actions'] dagurtomas
assignee:dagurtomas
2-41138
2 days ago
5-47941
5 days ago
6-72384
6 days
34902 Hagb
author:Hagb
doc: replace `{Add,}MonoidHom.mrange_restrict` with `{Add,}MonoidHom.mrangeRestrict` `{Add,}MonoidHom.mrange_restrict` are old Mathlib3 spellings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-algebra easy
label:t-algebra$
2/2 Mathlib/Algebra/Group/Submonoid/Operations.lean 1 1 ['github-actions', 'wwylele'] dagurtomas
assignee:dagurtomas
2-41135
2 days ago
6-29733
6 days ago
6-29506
6 days
34912 CoolRmal
author:CoolRmal
feat: generalize IsStoppingTime.add `IsStoppingTime.add` is originally proved only for `ℕ`. This PR proves the same theorem for a countable linearly ordered set `ι` that is CanonicallyOrderedAdd and equppied with the order topology. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 17/32 Mathlib/Probability/Process/Stopping.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
2-41133
2 days ago
5-85629
5 days ago
5-85402
5 days
34915 smmercuri
author:smmercuri
feat(Topology/Algebra/RestrictedProduct): the units of a restricted product are isomorphic to the restricted product of the units --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology FLT large-import 63/0 Mathlib/Topology/Algebra/RestrictedProduct/Basic.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
2-41132
2 days ago
5-76627
5 days ago
5-76400
5 days
34916 justus-springer
author:justus-springer
feat(Algebra/Polynomial/Bivariate): Add lemmas about swap --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
14/0 Mathlib/Algebra/Polynomial/Bivariate.lean 1 3 ['b-mehta', 'github-actions'] riccardobrasca
assignee:riccardobrasca
2-41131
2 days ago
5-69666
5 days ago
5-75103
5 days
35067 bustercopley
author:bustercopley
style(RingTheory/PowerSeries/Derivative): prove derivative_pow from Derivation.leibniz_pow --- Firstly prove `derivative_pow` from the more general `Derivation.leibniz_pow` (because I think this is more illuminating), and secondly generalize `derivative_pow` to `CommSemiring`. The two are independent, in that the texts of the original and modified proofs both work fine, with either hypothesis. t-ring-theory easy 4/10 Mathlib/RingTheory/PowerSeries/Derivative.lean 1 3 ['bustercopley', 'github-actions'] nobody
2-38488
2 days ago
2-37318
2 days ago
2-37739
2 days
33129 Paul-Lez
author:Paul-Lez
feat(Tactic/Simproc/VecPerm): add simproc for permuting entries of a vector --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 138/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/VecPerm.lean,MathlibTest/Simproc/VecPerm.lean 4 35 ['JovanGerb', 'Paul-Lez', 'b-mehta', 'github-actions', 'ocfnash'] JovanGerb
assignee:JovanGerb
2-34966
2 days ago
2-52114
2 days ago
39-64984
39 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfProdDomain This PR continues the work from #16743. Original PR: https://github.com/leanprover-community/mathlib4/pull/16743 --- - [x] depends on: #28352 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 269/157 Mathlib.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 4 27 ['agjftucker', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] hrmacbeth
assignee:hrmacbeth
2-16873
2 days ago
2-15986
2 days ago
64-64531
64 days
32744 NoneMore
author:NoneMore
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas. The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable. There are also some tool lemmas derived by the preimage lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 147/0 Mathlib/ModelTheory/Definability.lean 1 59 ['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] awainverse
assignee:awainverse
2-10909
2 days ago
34-19084
34 days ago
54-48552
54 days
35011 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Copy): add degree of copy less than original add two theorems relating degree of a graph and it's copy t-combinatorics new-contributor 17/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 2 ['github-actions', 'themathqueen'] nobody
2-10630
2 days ago
2-9961
2 days ago
3-13595
3 days
33709 wangying11123
author:wangying11123
feat(Analysis/Convex/Between): betweenness from differences on the same ray Add `wbtw_of_sameRay_vsub_left`, saying that if the vectors from a point x to points y and z lie on the same ray, then y is weakly between x and z, or z is weakly between x and y. new-contributor t-convex-geometry 24/0 Mathlib/Analysis/Convex/Between.lean 1 9 ['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'grunweg', 'wangying11123'] nobody
2-8959
2 days ago
24-77099
24 days ago
34-83936
34 days
33118 thomaskwaring
author:thomaskwaring
feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree. --- Each of these results (spanning forest & spanning tree) are proved in two versions: a general case where the forest / tree is found by extending a given acyclic subgraph, and the special case where that subgraph is empty. - [ ] depends on: #32043 new-contributor t-combinatorics 29/5 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 6 ['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thomaskwaring', 'vlad902'] b-mehta
assignee:b-mehta
2-8690
2 days ago
39-38046
39 days ago
40-23994
40 days
35070 joelriou
author:joelriou
feat(CategoryTheory/Sites): the Mayer-Vietoris long exact sequence in sheaf cohomology In this PR, we obtain the long exact Mayer-Vietoris sequence in sheaf cohomology `... ⟶ H^n₀(S.X₄, F) ⟶ H^n₀(S.X₂, F) ⊞ H^n₀(S.X₃, F) ⟶ H^n₀(S.X₁, F) ⟶ H^n₁(S.X₄, F) ⟶ ...` when `n₀ + 1 = n₁`. It is attached to any "Mayer-Vietoris square", which includes the typical case of a covering by two open subsets in a topological space. (This API shall also apply to the case of Nisnevich distinguished squares of schemes.) --- This PR continues the work from #15099. Original PR: https://github.com/leanprover-community/mathlib4/pull/15099 t-category-theory 210/0 Mathlib.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/CategoryTheory/Preadditive/Opposite.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/MayerVietoris.lean 7 1 ['github-actions'] nobody
2-8641
2 days ago
2-8641
2 days ago
2-8414
2 days
33852 zcyemi
author:zcyemi
feat(LinearAlgebra/AffineSpace/Independent): Add affineCombination_eq_lineMap_iff_weight_lineMap --- ```lean theorem AffineIndependent.affineCombination_eq_lineMap_iff_weight_lineMap {p : ι → P} (ha : AffineIndependent k p) {w w₁ w₂ : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1) (hw₁ : ∑ i ∈ s, w₁ i = 1) (hw₂ : ∑ i ∈ s, w₂ i = 1) (c : k) : s.affineCombination k p w = AffineMap.lineMap (s.affineCombination k p w₁) (s.affineCombination k p w₂) c ↔ ∀ i ∈ s, w i = AffineMap.lineMap (w₁ i) (w₂ i) c := by ``` This theorem is a parameterized reformulation of `affineCombination_mem_affineSpan_pair`. It is convenient for rewriting when a concrete `lineMap` parameter is given. t-algebra maintainer-merge
label:t-algebra$
23/0 Mathlib/LinearAlgebra/AffineSpace/Independent.lean 1 6 ['github-actions', 'jsm28', 'robin-carlier', 'zcyemi'] kim-em
assignee:kim-em
2-7617
2 days ago
23-34809
23 days ago
31-38872
31 days
35072 vasnesterov
author:vasnesterov
feat(Tactic/ComputeAsymptotics/Multiseries): non-primitive corecursion for `Seq`: `FriendlyOperation` API This is a continuation of #34311. This PR adds more API about friendly operations: * `FriendlyOperation.destruct`: a "coinductive destructor" for `FriendlyOperation` * `FriendlyOperation.coind`: a coinductive principle for proving that operation is friendly * `FriendlyOperationClass.eq_of_bisim`: a generalisation of `Seq.eq_of_bisim'` for proving two sequences are equal. --- This is a part of the `compute_asymptotics` tactic (#28291). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-meta 296/0 Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean 1 1 ['github-actions'] nobody
2-7368
2 days ago
2-6645
2 days ago
2-10122
2 days
35076 Vierkantor
author:Vierkantor
chore(Util): improve `#count_heartbeats` tactic docstring This PR (re)writes the docstring for the `#count_heartbeats` tactic (and `#count_heartbeats!`, which becomes a variant of `#count_heatbeats`), to make sure it is complete without getting too long. I decided to make `#count_heartbeats!` a variant of `#count_heartbeats` since it does the same thing, just repeatedly. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta 22/5 Mathlib/Util/CountHeartbeats.lean 1 1 ['github-actions'] nobody
2-3896
2 days ago
2-600
2 days ago
2-373
2 days
25993 Multramate
author:Multramate
feat(Algebra/Group/Units/Hom): add map lemmas This PR continues the work from #25609. Original PR: https://github.com/leanprover-community/mathlib4/pull/25609 t-algebra
label:t-algebra$
29/11 Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean 2 9 ['Multramate', 'Ruben-VandeVelde', 'copilot-pull-request-reviewer', 'github-actions'] nobody
2-3791
2 days ago
2-756
2 days ago
2-598
2 days
35077 Vierkantor
author:Vierkantor
chore(Tactic): improve `#find` and `find` tactic docstrings This PR (re)writes the docstrings for the `#find` and `find` tactics, and the `#find` command, to consistently match the official style guide, to make sure they are complete while not getting too long. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta 30/14 Mathlib/Tactic/Find.lean 1 1 ['github-actions'] nobody
2-3705
2 days ago
2-112
1 day ago
1-86285
1 day
33736 fbarroero
author:fbarroero
feat(RingTheory/Polynomial/GaussNorm): The `gaussNorm` is an absolute value if `v` is a nonarchimedean absolute value We prove ``` Polynomial.gaussNorm_isAbsoluteValue {c : ℝ} {R : Type*} [Ring R] {v : AbsoluteValue R ℝ} (hna : IsNonarchimedean v) (hc : 0 < c) : IsAbsoluteValue (gaussNorm v c) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 189/7 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean 3 11 ['copilot-pull-request-reviewer', 'erdOne', 'fbarroero', 'github-actions'] ADedecker
assignee:ADedecker
1-83389
1 day ago
1-83389
1 day ago
30-50291
30 days
35080 rwst
author:rwst
docs(RingTheory/PowerSeries/Derivative): main def/stmts, docstrings Added main definitions, main statements, added and fixed docstrings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 35/6 Mathlib/RingTheory/PowerSeries/Derivative.lean 1 2 ['github-actions'] nobody
1-80132
1 day ago
1-79453
1 day ago
1-79226
1 day
33543 JovanGerb
author:JovanGerb
feat: use `to_dual` for `HeytingAlgebra` This PR adds `to_dual` for `HeytingAlgebra`, `BiheytingAlgebra`, `GeneralizedHeytingAlgebra`. I am a bit worried about the fact that the complement operation is self-dual in a `BooleanAlgebra`, because that means that, depending on the context, `compl` needs to be translated to `hnot` or `compl`. So if we want to dualize lemmas about `BooleanAlgebra` and `compl`, we will not be able to. But I hope that the number of such lemmas is small and that they aren't often used in places that can get a `to_dual` tag (e.g. when specialized to sets, they don't need a `to_dual` tag). Aligning the `Heyting` and `Coheyting` API is kind of awkward, because they are unfortunately quite different. One reason is that the arguments of `sup`/`inf` are often swapped in the dual version, which is not compatible with `to_dual`. I've worked around this with extensive use of `to_dual none`. There are quite some lemmas that in my eyes seem unnecessary, such as `le_sup_sdiff_sup_sdiff`, but I haven't removed any in this PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
195/373 Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Order/Basic.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Notation.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Tactic/Translate/ToDual.lean 8 12 ['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp'] bryangingechen and mattrobball
assignee:bryangingechen assignee:mattrobball
1-79910
1 day ago
6-27304
6 days ago
8-15591
8 days
34583 adomani
author:adomani
feat: basic properties of subnormal subgroups This is a follow up to #34284. Co-authored-by: Inna Capdeboscq --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-group-theory 111/1 Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/GroupTheory/IsSubnormal.lean 3 27 ['LLaurance', 'adomani', 'github-actions', 'tb65536'] mattrobball
assignee:mattrobball
1-79874
1 day ago
6-50191
6 days ago
13-42511
13 days
26588 faenuccio
author:faenuccio
feat(Algebra/GroupWithZero/WithZero): add the multiplicative embedding with zero from the range We extend the embedding of the range of a `MonoidWithZeroHom` to the codomain by enriching it with the structure of an ordered, multiplicative embedding. In passing, we extend some results about the embedding of `WithZero` of the units of a group with zero, to the group itself. This will be used in the theory on valuation on rings. In particular, it is needed for correcting the definition of `Valuation.IsRankOne` in Mathlib (see #26872). Co-authored-by: María Inés de Frutos Fernández @mariainesdff --- - [x] depends on: #29594 - [x] depends on: #29644 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-order
label:t-algebra$
129/2 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean 3 119 ['YaelDillies', 'erdOne', 'eric-wieser', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] YaelDillies
assignee:YaelDillies
1-79569
1 day ago
1-78859
1 day ago
41-60180
41 days
25992 Multramate
author:Multramate
feat(RingTheory/Ideal/Span): add pair lemmas This PR continues the work from #25323. Original PR: https://github.com/leanprover-community/mathlib4/pull/25323 t-ring-theory 128/32 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Span.lean 3 41 ['Multramate', 'Ruben-VandeVelde', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
1-79481
1 day ago
1-77642
1 day ago
1-77418
1 day
35086 kebekus
author:kebekus
feat: add congruence lemmas for integrability Add simple congruence lemmas for interval- and circle integrability. Perform very minor golfing. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 60/4 Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean 3 1 ['github-actions'] nobody
1-78597
1 day ago
1-78655
1 day ago
1-78428
1 day
30982 jsm28
author:jsm28
feat(Geometry/Euclidean/Angle/Incenter): angle bisection and the incenter Add lemmas relating the incenter and excenters of a simplex to angle bisection, both generally for a simplex and more specifically with oriented angles for a triangle. More specific lemmas for a simplex (identifying exactly which excenter corresponds to which bisectors) will require various additional API for bisectors of angles betweeen oriented affine subspaces (but for the most common applications to typical plane geometry problems, I expect the triangle lemmas with oriented angles to be more useful). --- - [ ] depends on: #30474 - [ ] depends on: #30477 - [ ] depends on: #30600 - [ ] depends on: #30703 - [ ] depends on: #30938 - [ ] depends on: #30981 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 278/0 Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Incenter.lean 2 4 ['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] nobody
1-76397
1 day ago
1-81440
1 day ago
1-81213
1 day
35089 RemyDegenne
author:RemyDegenne
feat: Radon-Nikodym derivative of a map is a conditional expectation The Radon-Nikodym derivative of the pushforward of two measures is written as a conditional expectation. This will be useful to prove the data processing inequality for the Kullback-Leibler divergence (or more generally f-divergences). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 119/0 Mathlib.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Trim.lean 3 1 ['github-actions'] nobody
1-75865
1 day ago
1-74790
1 day ago
1-74563
1 day
35042 JovanGerb
author:JovanGerb
chore: remove `meta` form `import Mathlib.Tactic...` This PR cleans up some imports of the form `import Mathlib.Tactic...`, by either removing them entirely, or removing the `meta` keyword. It should never be necessary to `meta import` a file from `Mathlib.Tactic`, because the relevant definitions should already have been marked as `meta`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 58/139 Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Data/List/ChainOfFn.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ArithMult.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/Choose.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/DeriveCountable.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/Explode.lean,Mathlib/Tactic/Explode/Pretty.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/IrreducibleDef.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Tactic/Order/Graph/Tarjan.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Peel.lean,Mathlib/Tactic/ProdAssoc.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Qify.lean,Mathlib/Tactic/RSuffices.lean,Mathlib/Tactic/Ring/PNat.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TautoSet.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CommDiag.lean,Mathlib/Tactic/Widget/CongrM.lean,Mathlib/Tactic/Widget/GCongr.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean,Mathlib/Tactic/Widget/SelectPanelUtils.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Tactic/Zify.lean 102 3 ['JovanGerb', 'github-actions', 'leanprover-radar'] nobody
1-74977
1 day ago
1-71563
1 day ago
2-51814
2 days
26292 RemyDegenne
author:RemyDegenne
feat(MeasureTheory): tightness of the range of a sequence * `isTightMeasureSet_range_iff_tendsto_limsup_measure_norm_gt`: in a proper normed group, the range of a sequence of measures `μ : ℕ → Measure E` is tight if and only if the function `r : ℝ ↦ limsup (fun n ↦ μ n {x | r < ‖x‖}) atTop` tends to `0` at infinity. * `isTightMeasureSet_range_iff_tendsto_limsup_inner`: in a finite-dimensional inner product space, the range of a sequence of measures `μ : ℕ → Measure E` is tight if and only if the function `r : ℝ ↦ limsup (fun n ↦ μ n {x | r < ‖⟪y, x⟫_𝕜‖}) atTop` tends to `0` at infinity for all `y`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24838.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24838* t-measure-probability 186/2 Mathlib/MeasureTheory/Measure/TightNormed.lean 1 5 ['Komyyy', 'RemyDegenne', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
1-74258
1 day ago
1-79834
1 day ago
3-11919
3 days
34966 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory): add `IntegrableOn. tendsto_primitive_` over `Ioi/Iio` and `IntegrableOn.continuousOn_primitive_` over `Ioi/Iio/Ici/Iic` This PR mainly proves: - `IntegrableOn.tendsto_primitive_` over `Ioi/Iio` - `IntegrableOn.continuousWithinAt_primitive_` over `Ioi/Iio` - `IntegrableOn.continuousOn_primitive_` over `Ioi/Iio/Ici/Iic` - `IntegrableOn.tendsto_integral_` over `Ioi/Iio/Ici/Iic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 204/1 Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Order/Interval/Set/LinearOrder.lean 3 6 ['CoolRmal', 'Deep0Thinking', 'github-actions'] nobody
1-73823
1 day ago
3-9374
3 days ago
4-2853
4 days
35024 SnirBroshi
author:SnirBroshi
chore(RingTheory/DedekindDomain/PID): remove non-terminal simp And remove obsolete explicit params since the `FunLike` refactor. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 5/10 Mathlib/RingTheory/DedekindDomain/PID.lean 1 2 ['Komyyy', 'github-actions'] nobody
1-69431
1 day ago
2-81662
2 days ago
2-81435
2 days
35081 tb65536
author:tb65536
feat(Topology/Algebra/Group/Extension): define short exact sequence of topological groups This PR defines a short exact sequence of topological groups to be a closed embedding followed by an open quotient map (extracted from #32672). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 57/0 Mathlib.lean,Mathlib/Topology/Algebra/Group/Extension.lean 2 1 ['github-actions'] nobody
1-64011
1 day ago
1-63252
1 day ago
1-85245
1 day
34965 urkud
author:urkud
refactor(Analysis/Calculus): redefine `HasFDerivAtFilter` Make `HasFDerivAtFilter` and `HasDerivAtFilter` to take a filter in the Cartesian square of the domain, so that it works for `HasStrictFDerivAt` and `HasStrictDerivAt`. Other changes: - golf proofs about `hasDerivAt_pi` etc, dropping `[Finite ι]` assumption; - move proofs about `HasFDerivAtFilter` before `HasStrictFDerivAt`, use them; - add lemmas like `hasFDerivAt_iff_isLittleO`, since the old idiom `rw [HasFDerivAt, hasFDerivAtFilter_iff_isLittleO]` no longer gives the desired result. See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/generalizing.20HasFDerivAtFilter/with/572031922) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 686/663 Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Affine.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Congr.lean,Mathlib/Analysis/Calculus/FDeriv/Const.lean,Mathlib/Analysis/Calculus/FDeriv/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Complex/HasPrimitives.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/InnerProductSpace/NormPow.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/MeasureTheory/Integral/CurveIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,MathlibTest/Recall.lean 32 2 ['Komyyy', 'github-actions'] nobody
1-63877
1 day ago
3-71867
3 days ago
3-71640
3 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-group-theory new-contributor 85/2 Mathlib/GroupTheory/DoubleCoset.lean 1 40 ['CBirkbeck', 'Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'kim-em', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'tb65536'] mariainesdff
assignee:mariainesdff
1-60831
1 day ago
2-74401
2 days ago
100-22122
100 days
35100 stepan2698-cpu
author:stepan2698-cpu
feat: definition of a character of a representation This PR begins to transfer definitions and theorems about characters from `FDRep` to `Representation`. Once #34888 is merged, the theorems involving isomorphisms of representations will be appropriately restated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
57/0 Mathlib/RepresentationTheory/Character.lean 1 1 ['github-actions'] nobody
1-56809
1 day ago
1-56142
1 day ago
1-55915
1 day
33650 vihdzp
author:vihdzp
refactor: deprecate bespoke `Hyperreal` machinery Currently, these six definitions are in the `Hyperreal` namespace: - `IsSt x r`: a predicate for `r` being a standard part of `x` - `st x`: the standard part of `x` - `Infinitesimal x`: predicate for infinitesimal elements - `InfinitePos x`: predicate for infinite and positive elements - `InfiniteNeg x`: predicate for infinite and negative elements - `Infinite x`: predicate for infinite (positive or negative) elements. We deprecate all six of these and all of their API, in favor of reasoning with [`ArchimedeanClass`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Archimedean/Class.html#ArchimedeanClass) and [`ArchimedeanClass.stdPart`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/StandardPart.html#ArchimedeanClass.stdPart). The replacements are as follows: - `IsSt x r`: `0 ≤ ArchimedeanClass.mk x ∧ stdPart x = r` - `st x`: `stdPart x` - `Infinitesimal x`: `0 < ArchimedeanClass.mk x` - `InfinitePos x`: `0 < x ∧ ArchimedeanClass.mk x < 0` - `InfiniteNeg x`: `x < 0 ∧ ArchimedeanClass.mk x < 0` - `Infinite x`: `ArchimedeanClass.mk x < 0` All of these equivalences are proved within the PR, though these new theorems have also been insta-deprecated. Most of the existing API on these predicates was largely uninteresting boilerplate, and has been deprecated without replacement. For the few results of mathematical interest (those whose proofs are longer than a few lines), I've golfed their proofs as a stress test to ensure that this new API is capable of easily proving them. I've kept everything in the same file to minimize the diff. A future PR will move the obsolete material to `Deprecated.Hyperreal`. --- - [x] depends on: #33644 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
384/96 Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Analysis/Real/Hyperreal.lean 2 12 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'ocfnash', 'vihdzp', 'wwylele'] nobody
1-47603
1 day ago
1-46906
1 day ago
7-24552
7 days
34997 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/Hadamard): convolutive star ring on matrices Now that we have the type synonym `WithConv`, we can define a star ring structure on `WithConv (Matrix m n R)` given by the Hadamard product and the intrinsic star (intrinsic star here means `x.map star`). `WithConv (Matrix m n R)` is star-algebraically equivalent to `WithConv ((n → R) →ₗ[R] (m → R))` (will be done in a later PR). --- - [x] depends on: #34945 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
71/1 Mathlib/LinearAlgebra/Matrix/Hadamard.lean 1 2 ['github-actions', 'mathlib-dependent-issues'] nobody
1-47038
1 day ago
1-46949
1 day ago
1-46722
1 day
26479 thefundamentaltheor3m
author:thefundamentaltheor3m
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis sphere-packing 205/0 Mathlib/Analysis/Complex/CauchyIntegral.lean 1 5 ['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'thefundamentaltheor3m', 'wwylele'] urkud
assignee:urkud
1-46501
1 day ago
21-62526
21 days ago
21-62299
21 days
34820 staroperator
author:staroperator
feat(Order/Ideal): more results on order ideals Some iffs, closure of finite supremum, and that every proper ideal is contained in a maximal ideal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order large-import 79/5 Mathlib/Order/Ideal.lean 1 5 ['bryangingechen', 'github-actions', 'leanprover-radar', 'staroperator'] nobody
1-46010
1 day ago
1-46010
1 day ago
8-4172
8 days
34936 BryceT233
author:BryceT233
feat(RingTheory/AdicCompletion): completeness of adic completion Following https://stacks.math.columbia.edu/tag/05GG, this PR formalized that `AdicCompletion I M` is `I`-adically complete when the ideal `I` is finitely generated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor large-import 383/21 Mathlib.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/LinearAlgebra/Finsupp/Span.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Completeness.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 8 14 ['BryceT233', 'erdOne', 'github-actions'] nobody
1-45831
1 day ago
1-44240
1 day ago
3-12294
3 days
30900 vihdzp
author:vihdzp
feat: run-length encoding --- - [x] depends on: #30898 Moved from #17105. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 167/0 Mathlib.lean,Mathlib/Data/List/RunLength.lean,Mathlib/Data/List/SplitBy.lean 3 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
1-44698
1 day ago
1-44043
1 day ago
1-43816
1 day
34111 themathqueen
author:themathqueen
feat(Algebra/Star/LinearMap): the convolutive intrinsic star ring on linear maps There is a star ring on linear maps from coalgebras to star-algebras, where the ring structure is given by [convNonUnitalNonAssocRing](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Coalgebra/Convolution.html#LinearMap.convNonUnitalNonAssocRing) and the star structure is given by [intrinsicStarAddMonoid](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Star/LinearMap.html#LinearMap.intrinsicStarAddMonoid), given that `star comul = comm ∘ₗ comul`. This is true, for example, in finite-dimensional C*-algebras under the GNS construction [PositiveLinearMap.GNS](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.html#PositiveLinearMap.GNS) and the adjoint coalgebra [InnerProductSpace.coalgebraOfAlgebra](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/InnerProductSpace/Coalgebra.html#InnerProductSpace.coalgebraOfAlgebra). Another separate example is linear maps from `n -> R` to `m -> R`. --- - [x] depends on: #34945 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
76/3 Mathlib/Algebra/Star/LinearMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean 2 11 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'themathqueen'] j-loreaux
assignee:j-loreaux
1-44069
1 day ago
1-43383
1 day ago
16-77421
16 days
33397 themathqueen
author:themathqueen
feat(Topology/Algebra/Star/LinearMap): intrinsic star for continuous linear maps --- - [x] depends on: #34945 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
105/0 Mathlib.lean,Mathlib/Topology/Algebra/Star/LinearMap.lean 2 19 ['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'ocfnash', 'themathqueen'] ocfnash
assignee:ocfnash
1-43141
1 day ago
1-42203
1 day ago
32-18774
32 days
26212 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): the Rees theorem for depth In this PR we proved the Rees theorem for depth. Co-authored-by: Hu Yongle --- - [x] depends on: #27416 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-ring-theory 220/16 Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 2 41 ['Thmoas-Guan', 'alreadydone', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
1-41262
1 day ago
5-10414
5 days ago
63-51552
63 days
33631 xgenereux
author:xgenereux
feat(ValuationSubring): simp lemmas for idealOfLE/ofPrime in relation to top/bot simp lemmas for `idealOfLE`/`ofPrime` in the trivial cases of `⊥`, `⊤` . This is my second try at this PR (after I bailed on #33618), sorry about this! --- - [ ] depends on: #33612 - [ ] depends on: #33609 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
19/0 Mathlib/RingTheory/Valuation/ValuationSubring.lean 1 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
1-41261
1 day ago
5-14628
5 days ago
5-14401
5 days
34481 DAE123456
author:DAE123456
feat: Ore's Theorem Ore Theorem : Let G be a graph of order n ≥ 3 that satisfies the Ore property. Then G has a Hamilton cycle. t-combinatorics new-contributor 3372/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Ore.lean 2 25 ['DAE123456', 'LLaurance', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'kim-em', 'tb65536', 'vlad902'] b-mehta
assignee:b-mehta
1-41260
1 day ago
10-8920
10 days ago
13-56471
13 days
34666 SnirBroshi
author:SnirBroshi
feat(Order/Minimal): `MinimalFor`/`MaximalFor` are antitone --- ~~I also wanted to tag these `@[gcongr]` but it refuses, probably the extra `hQ` hypothesis makes it impossible.~~ [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 9/1 Mathlib/Order/Minimal.lean 1 3 ['SnirBroshi', 'github-actions', 'staroperator'] Vierkantor
assignee:Vierkantor
1-41259
1 day ago
5-40014
5 days ago
11-23668
11 days
34697 wwylele
author:wwylele
feat(Geometry/Euclidean): the Euclidean volume measure This PR starts a series to set up volume measure for Euclidean geometry, so it can be used in formalizing problems involving area and volume. This PR only introduce the basic definition and properties. Some future PR will also include - Integral along an affine subspace to calculate the volume of an object - Define volume of a simplex using the base * height / n formula (not assuming measurability) - Show that the defined volume matches the measure of the interior (see the draft #34826 for the target lemma) - More specialized formula for the area of triangles. --- Zulip thread: [#Is there code for X? > Measure on affine space](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Measure.20on.20affine.20space/with/570193872) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry t-measure-probability 165/0 Mathlib.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean 2 10 ['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] jsm28
assignee:jsm28
1-41258
1 day ago
7-55602
7 days ago
10-45603
10 days
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): add --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-data 34/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 4 ['GrigorenkoPV', 'github-actions', 'joneugster', 'plp127'] TwoFX
assignee:TwoFX
1-41256
1 day ago
9-81093
9 days ago
9-80866
9 days
34740 euprunin
author:euprunin
chore: golf using `grind` --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `List.left_mem_of_mk_mem_sym2`: <10 ms before, 73 ms after * `Nat.nonempty_of_pos_sInf`: 18 ms before, 61 ms after * `Nat.factors_lemma`: <10 ms before, 96 ms after * `Order.PartialIso.exists_across`: 101 ms before, 241 ms after This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 7/35 Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Sym.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Order/CountableDenseLinearOrder.lean 5 1 ['github-actions'] thorimur
assignee:thorimur
1-41256
1 day ago
9-13527
9 days ago
9-46605
9 days
34773 semaraugusto
author:semaraugusto
Feat(InformationTheory/Entropy): Adds generic Shannon Entropy definition for probability mass functions Add Shannon entropy for probability mass functions This PR defines the Shannon entropy of a probability mass function as an ℝ-valued infinite sum using `Real.negMulLog`, and proves basic properties and standard computations. Main results include: * entropy is nonnegative; * entropy vanishes iff the PMF is deterministic (`PMF.pure`); * entropy is strictly positive for non-pure PMFs; * entropy of a Bernoulli PMF coincides with `Real.binEntropy`; * entropy of uniform distributions is `log` of the cardinality, both for `PMF.uniformOfFintype` and `PMF.uniformOfFinset`. Several small helper lemmas isolate technical arguments about supports, coercions from `ℝ≥0∞`, and bounds on infinite sums, in order to keep the main proofs readable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 277/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/InformationTheory/Entropy.lean 3 2 ['github-actions'] sgouezel
assignee:sgouezel
1-41254
1 day ago
8-74635
8 days ago
8-74793
8 days
34805 DavidLedvinka
author:DavidLedvinka
feat(Tactic): generalize ofScientific NormNum extension to `DivisionSemiring` Co-authored-by: @hrmacbeth t-meta 65/14 Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/OfScientific.lean,MathlibTest/norm_num.lean 3 1 ['github-actions'] JovanGerb
assignee:JovanGerb
1-41253
1 day ago
8-50811
8 days ago
8-50584
8 days
34809 YaelDillies
author:YaelDillies
feat: induced subgraphs of complete multipartite graphs are complete multipartite From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 4/2 Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 1 1 ['github-actions'] b-mehta
assignee:b-mehta
1-41252
1 day ago
8-54280
8 days ago
8-54053
8 days
34851 dennj
author:dennj
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization: - `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i` - `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x` - `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i` These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). t-data new-contributor 18/0 Mathlib/Data/Matrix/Mul.lean 1 4 ['eric-wieser', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
1-41251
1 day ago
7-54916
7 days ago
7-54689
7 days
34858 wwylele
author:wwylele
feat(LinearAlgebra/AffineSpace): more lemma about simplex face and interior Some intermediate lemma towards #34826 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
93/1 Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean 1 5 ['copilot-pull-request-reviewer', 'github-actions', 'jsm28'] dagurtomas
assignee:dagurtomas
1-41250
1 day ago
4-68665
4 days ago
7-39811
7 days
34861 winstonyin
author:winstonyin
feat: shrink time and enlarge Lipschitz constant in `IsPicardLindelof` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 79/0 Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean 2 2 ['github-actions', 'joneugster'] urkud
assignee:urkud
1-41249
1 day ago
7-34182
7 days ago
7-33955
7 days
34867 urkud
author:urkud
feat(FDeriv/Comp): migrate to TVS --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #34832 t-analysis 125/125 Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean 3 10 ['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'urkud'] j-loreaux
assignee:j-loreaux
1-41248
1 day ago
7-13605
7 days ago
7-13383
7 days
34871 zhuyizheng
author:zhuyizheng
feat(Calculus): Taylor with integral remainder This PR proves Taylor's theorem with the integral remainder. It provides two versions: 1. based on $f^{(n)}$ is absolutely continuous 2. based on $f \in C^{(n+1)}$ It also weakens the hypotheses `(hx : x₀ < x)` to `(hx : x₀ ≠ x)` in the following theorems: - `taylor_mean_remainder` - `taylor_mean_remainder_lagrange` - `taylor_mean_remainder_lagrange_iteratedDeriv` - `taylor_mean_remainder_cauchy` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis 214/71 Mathlib/Analysis/Calculus/ContDiff/Deriv.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/Probability/Moments/MGFAnalytic.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,docs/undergrad.yaml 7 5 ['Komyyy', 'b-mehta', 'github-actions', 'joneugster', 'zhuyizheng'] sgouezel
assignee:sgouezel
1-41246
1 day ago
6-39815
6 days ago
6-78399
6 days
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings t-algebra new-contributor
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 10 ['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
1-41245
1 day ago
5-19443
5 days ago
6-71670
6 days
34909 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): `fromRel` equivalence with `Sigma` over a `Quotient` Add a non-dependent recursor on members of a `fromRel` set, and the following `Equiv`s: - The `fromRel` set of a symmetric relation `r` is equivalent to summing that set restricted to fibers of `f`. - For a relation homomorphism `r →r r'` where `r` is symmetric, the `fromRel` set of `r` is equivalent to summing that set restricted to equivalence classes of `r'` using a `Subtype`. --- I find this recursor pretty useful when dealing with `fromRel`, the idea came from a suggestion by @kmill [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Eq.2Erec.20with.20a.20constant.20does.20nothing.3A.20h.20.E2.96.B8.20c.20.3D.20c/near/565176948) for another `Sym2` conundrum. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 45/0 Mathlib/Data/Sym/Sym2.lean 1 7 ['SnirBroshi', 'eric-wieser', 'github-actions'] pechersky
assignee:pechersky
1-41244
1 day ago
5-40019
5 days ago
6-5201
6 days
34914 jvanwinden
author:jvanwinden
feat(Analysis/Normed/Module/FiniteDimension): add lemmas on IsTheta and summability IsTheta.summable_iff is a natural generalization of IsEquivalent.summable_iff. Some adjacent lemmas now become direct consequences. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 26/7 Mathlib/Analysis/Normed/Module/FiniteDimension.lean 1 8 ['github-actions', 'jvanwinden', 'vihdzp', 'wwylele'] urkud
assignee:urkud
1-41243
1 day ago
4-66230
4 days ago
5-77214
5 days
34919 kebekus
author:kebekus
feat: singleton indicators as functions with locally finite support Establish indicator functions of singleton sets as functions with locally finite support, and compute the associated logarithmic counting functions. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. The formula established here is part of a larger package discussing the asymptotic behavior of counting and characteristic functions in Nevanlinna theory. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 94/0 Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Basic.lean,Mathlib/Topology/LocallyFinsupp.lean 2 3 ['github-actions', 'joneugster', 'kebekus'] j-loreaux
assignee:j-loreaux
1-41242
1 day ago
5-75362
5 days ago
5-75135
5 days
34931 eric-wieser
author:eric-wieser
perf: make TensorProduct.lift irreducible with a unification hint --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
6/2 Mathlib/LinearAlgebra/TensorProduct/Basic.lean 1 6 ['eric-wieser', 'github-actions', 'leanprover-radar'] erdOne
assignee:erdOne
1-41240
1 day ago
5-42566
5 days ago
5-42339
5 days
34943 rao107
author:rao107
chore(Probability): Eliminate non-terminal simp --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor easy 2/3 Mathlib/Probability/Distributions/Exponential.lean 1 2 ['github-actions', 'rao107'] sgouezel
assignee:sgouezel
1-41239
1 day ago
5-19572
5 days ago
5-19345
5 days
34953 kbuzzard
author:kbuzzard
feat(Data/ENNReal/Basic): ∞ prettyprints as ∞ Right now we are consistently using `∞` in our lemma statements about `ℝ≥0∞` and they are consistently being pretty-printed as `⊤`. This changes makes them prettyprint as `∞`. Note however that they are still being referred to as `⊤` in lemma names, which might make this change controversial. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) My motivation is that I want to show mathematicians mathlib code corresponding to their work and say "look, it's your theorem in digitised form and you can kind of read it" but mathematicians typically don't know what `⊤` means. t-data 3/1 Mathlib/Data/ENNReal/Basic.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
1-41238
1 day ago
4-70267
4 days ago
4-70040
4 days
34742 Brian-Nugent
author:Brian-Nugent
feat(SheafCohomology): add API for Sheaf Cohomology Defines the long exact sequence on cohomology associated to a short exact sequence of sheaves `H.longSequence`. Also defines `H.equiv₀`, the additive equivalence between `H F 0` and `((sheafSections J AddCommGrpCat).obj (op T)).obj F` when the category has a terminal object `T`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-category-theory 76/0 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 2 11 ['Brian-Nugent', 'adamtopaz', 'github-actions', 'joneugster'] adamtopaz
assignee:adamtopaz
1-38531
1 day ago
1-37870
1 day ago
9-35543
9 days
35111 kim-em
author:kim-em
chore(Order/Hom/Basic): remove unused OrderDual instances This PR removes `OrderHomClass.toOrderHomClassOrderDual` and `OrderIsoClass.toOrderIsoClassOrderDual`. These instances are unused throughout mathlib. These instances also require hacky local instances to work under https://github.com/leanprover/lean4/pull/12286. If they are both unused and unwanted, it is simpler to delete them on master rather than working around the issue. 🤖 Prepared with Claude Code t-order 0/10 Mathlib/Order/Hom/Basic.lean 1 1 ['github-actions'] nobody
1-36407
1 day ago
1-33257
1 day ago
1-33030
1 day
34159 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Similarity): Add Triangle similarity on oangle Add theorems about triangles similarity on oangle t-euclidean-geometry new-contributor 154/1 Mathlib/Geometry/Euclidean/Similarity.lean 1 5 ['LLaurance', 'github-actions', 'wangying11123'] jsm28
assignee:jsm28
1-33159
1 day ago
1-32496
1 day ago
7-7793
7 days
34970 Komyyy
author:Komyyy
perf: modulize tests (1/N) --- Privately imports are intentional. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 14/0 MathlibTest/Algebra/Module/LocalizedModule.lean,MathlibTest/CategoryTheory/ConcreteCategory/Alg.lean,MathlibTest/CategoryTheory/ConcreteCategory/ProfiniteGrp.lean,MathlibTest/Deriv.lean,MathlibTest/FinCoercions.lean,MathlibTest/LibrarySearch/mathlib.lean,MathlibTest/LibrarySearch/star.lean,MathlibTest/TCSynth.lean,MathlibTest/instances/CommRing_integralClosure.lean,MathlibTest/instances/LawfulOfScientific.lean,MathlibTest/instances/Ring_finiteness.lean,MathlibTest/interactiveUnfold.lean,MathlibTest/simp_confluence.lean,MathlibTest/slow_instances.lean 14 1 ['github-actions'] nobody
1-30360
1 day ago
4-15004
4 days ago
4-14777
4 days
35058 GrigorenkoPV
author:GrigorenkoPV
chore: move tendsto_{floor,ceil}_at{Top,Bot} Moves: - Topology.Algebra.Order.Floor.tendsto_floor_atTop -> Order.Filter.AtTopBot.Floor.tendsto_floor_atTop - Topology.Algebra.Order.Floor.tendsto_floor_atBot -> Order.Filter.AtTopBot.Floor.tendsto_floor_atBot - Topology.Algebra.Order.Floor.tendsto_ceil_atTop -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atTop - Topology.Algebra.Order.Floor.tendsto_ceil_atBot -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atBot --- Tracked in #7987 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import 22/25 Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean 2 1 ['github-actions'] nobody
1-9349
1 day ago
1-9349
1 day ago
1-9122
1 day
33757 fpvandoorn
author:fpvandoorn
feat: classical "decidability" instances on sets and ideals * Add decidable equality instances for `Set X`, `Submodule R M` (which also gives it for `Ideal R`) and `Associates (Ideal R)`. * This allows one to remove such decidability arguments from lemmas. * There was one place where we used an explicit decidability argument to compute an explicit fintype-instance to construct the unique element of some type. This is now replaced by giving the element explicitly. --- This was motivated by seeing some code from @mariainesdff's repos with such decidability arguments. @mariainesdff, do you think this PR would make your code a bit nicer? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-data 69/33 Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Data/Set/Basic.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/SetSemiring.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/PartialSups.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Lasker.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean 16 13 ['erdOne', 'fpvandoorn', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] nobody
1-9337
1 day ago
1-8670
1 day ago
9-84174
9 days
34295 Yu-Misaka
author:Yu-Misaka
chore: drop `PartialOrder` in `IsOrderedMonoid` instances This PR attempts to remove `PartialOrder` assumption in `IsOrderedMonoid`. The main objective is to make [Finsupp.sum_le_sum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Order.html#Finsupp.sum_le_sum) available for preorder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 149/123 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Associated.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/TypeTags.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/AtTopBot/Monoid.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/Order/UpperLower.lean 32 14 ['Citronhat', 'Yu-Misaka', 'copilot-pull-request-reviewer', 'github-actions', 'leanprover-radar'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
1-7218
1 day ago
1-3784
1 day ago
19-65133
19 days
34780 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(NumberTheory/Height/Projectivization): new file This adds a new file "Mathlib.NumberTheory.Height.Projectivization", which (for now) contains the definition of the multiplicative and logarithmic heights of points in projective space and basic properties of these. The PR also contains extensions for the `positivity` tactic so that it knows that multiplicative heights are positive and logarithmic heights are nonnegative. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-meta 103/4 Mathlib.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/Projectivization.lean 3 8 ['MichaelStollBayreuth', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
1-6165
1 day ago
4-81113
4 days ago
8-64187
8 days
35087 kebekus
author:kebekus
feat: improve mean value theorems of complex analysis Implement improvements in the mean value theorems of complex analysis, as suggested by Mihai Iancu and Sebastian Schleißinger. - Remove unnecessary assumptions that can be deduced from the other assumptions. - Weaken and simplify assumptions, use `DiffContOnCl` now. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 42/38 Mathlib/Analysis/Complex/Harmonic/MeanValue.lean,Mathlib/Analysis/Complex/MeanValue.lean 2 6 ['github-actions', 'kebekus', 'sgouezel'] nobody
1-3829
1 day ago
1-3180
1 day ago
1-22509
1 day
34863 JovanGerb
author:JovanGerb
feat(to_dual): support recursively reordering arguments This PR implements the feature of recursively reordering arguments of arguments in `to_dual`. All of the material on reorderings has been put in the new file `Mathlib.Tactic.Translate.Reorder`. Ideally, when tagging a structure with `to_dual`, it will try to automatically add the correct `reorder` arguments. But this is only a small quality of life improvement, so I will leave that for a potential future PR. Currently, you have to manually re-tag the projections and constructor if you want them to get a `reorder`. This PR also improves the trace messages of `trace.translate_detail`. This PR also adds new error messages for when the given `(reorder := ...)` is malformed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 569/369 Mathlib.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/Order/Basic.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/Reorder.lean,MathlibTest/ToDual.lean,MathlibTest/toAdditive.lean 13 2 ['bryangingechen', 'github-actions'] bryangingechen
assignee:bryangingechen
1-1521
1 day ago
1-62582
1 day ago
1-73302
1 day
35017 robo7179
author:robo7179
feat(Combinatorics/SimpleGraph/Acyclic): add every nontrivial tree has atleast two leaves Added two theorems to prove that every non trivial tree has atleast two leaves (one in Finite the other in Acyclic). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 163/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 2 ['github-actions'] nobody
1-759
1 day ago
1-62824
1 day ago
1-63857
1 day
34330 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(NumberTheory/Height/Basic): add bounds for sums The main purpose of this PR (no. 3 in the series on heights) is to state and prove bounds for the height of `x + y` and for the height of a finite sum of field elements. --- This includes `positivity` extensions for multiplicative and logarithmic heights (split off into a separate PR) and some API additions (split off into another separate PR). - [x] depends on: #34533 (API additions for `Multiset.prod_map` and `finprod`) - [x] depends on: #34534 (`positivity` extensions) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 152/11 Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/NumberTheory/Height/Basic.lean 2 20 ['AntoineChambert-Loir', 'MichaelStollBayreuth', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
0-84650
23 hours ago
0-83911
23 hours ago
16-6807
16 days
35106 tb65536
author:tb65536
feat(AlgebraicGeometry/IdealSheaf/IrreducibleComponent): subscheme structure on an irreducible component This PR defines the subscheme structure on an irreducible component of a Noetherian scheme. See the module docstring for more details on this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 87/0 Mathlib.lean,Mathlib/AlgebraicGeometry/IdealSheaf/IrreducibleComponent.lean 2 3 ['erdOne', 'github-actions', 'tb65536'] nobody
0-82835
23 hours ago
0-82190
22 hours ago
1-38957
1 day
34838 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 2/4) --- Required for https://github.com/leanprover-community/mathlib4/pull/33050 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 13/0 Mathlib/Analysis/Analytic/Order.lean 1 1 ['github-actions'] sgouezel
assignee:sgouezel
0-82672
22 hours ago
0-81852
22 hours ago
7-80184
7 days
33860 DavidLedvinka
author:DavidLedvinka
feat(Probability): Add Cauchy distribution t-measure-probability maintainer-merge 141/0 Mathlib.lean,Mathlib/Probability/Distributions/Cauchy.lean 2 11 ['DavidLedvinka', 'EtienneC30', 'github-actions', 'sgouezel'] nobody
0-81598
22 hours ago
0-80790
22 hours ago
30-78594
30 days
35029 homeowmorphism
author:homeowmorphism
feat(Algebra/Group/Subgroup/Basic): the normal closure of an empty set is the trivial subgroup feat(Algebra/Group/Subgroup/Basic): the normal closure of an empty set is the trivial subgroup. This is a dependency of a larger PR to formalize finitely presented groups https://github.com/leanprover-community/mathlib4/pull/34236. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
7/0 Mathlib/Algebra/Group/Subgroup/Basic.lean 1 5 ['copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'plp127'] nobody
0-80351
22 hours ago
0-79360
21 hours ago
2-70151
2 days
35131 JovanGerb
author:JovanGerb
perf(to_dual): first try translating without inserting casts This PR addresses the performance regression introduced by #32438. The problem is that deciding where casts need to be inserted is an expensive operation (similarly expensive to kernel type checking). I expect that in category theory this will be particularly significant. Most uses of `to_dual` don't need any casts to be inserted at all. So, it is more efficient to simply first try translating without inserting casts. And if that fails, we insert casts and then try again. So after this PR, in the failure case, `to_dual` will check the term 4 times: - first try the translation without casts - then determine where casts should go - then try the translation of this - then use `Meta.check` to get a nicer error message. This is OK, since the failure case is not the performance critical case. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 60/47 Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/UnfoldBoundary.lean,MathlibTest/ToDual.lean 3 3 ['JovanGerb', 'github-actions', 'leanprover-radar'] nobody
0-80051
22 hours ago
0-78828
21 hours ago
0-78601
21 hours
35121 joelriou
author:joelriou
feat(CategoryTheory/Sites/Point): points of `Over` sites Given a point `Φ` of a site `(C, J)`, an object `X : C`, and `x : Φ.fiber.obj X`, we define a point `Φ.over x` of the site `(Over X, J.over X)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import 151/1 Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Functor/TypeValuedFlat.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FinallySmall.lean,Mathlib/CategoryTheory/Sites/Point/Over.lean 6 1 ['github-actions'] nobody
0-79199
21 hours ago
0-77842
21 hours ago
0-77615
21 hours
35122 Marygold-Dusk
author:Marygold-Dusk
feat: define C^n submersions This PR defines submersions between C^n manifolds. In the infinite-dimensional setting, submersions are defined via local normal forms rather than surjectivity of the mfderiv. A map f is a submersion at x if, in suitable charts around x and f x, it has the form (u, v) ↦ u after identifying the model space with a product. We prove a few basic properties: - being a submersion is a local property, - products of submersions are submersions, - the set of submersed points is open Future PRs will prove that submersions are C^n and deduce equivalence with the standard definition in finite dimensions. From the path towards the regular value theorem. This file was developed under the supervision of Michael Rothgang. Co-authored-by: Michael Rothgang --- Most of the design is analogues to submersions. t-differential-geometry new-contributor 596/0 Mathlib.lean,Mathlib/Geometry/Manifold/Submersion.lean 2 2 ['github-actions'] grunweg
assignee:grunweg
0-77676
21 hours ago
0-77053
21 hours ago
0-77818
21 hours
35132 justus-springer
author:justus-springer
feat(Algebra/Polynomial/Lifts): Add `mem_lifts_and_support_eq` `mem_lifts_and_degree_eq` was already proving the more general statement, so I extracted the proof. I need this for #34877. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
22/13 Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean 2 5 ['github-actions', 'justus-springer', 'tb65536'] nobody
0-74898
20 hours ago
0-73443
20 hours ago
0-78272
21 hours
35134 fpvandoorn
author:fpvandoorn
feat(translate): print constant names with hover info Part of #34846. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 46/28 Mathlib/Tactic/Translate/Core.lean,MathlibTest/toAdditive.lean 2 5 ['JovanGerb', 'github-actions'] nobody
0-73143
20 hours ago
0-74862
20 hours ago
0-74635
20 hours
35140 joelriou
author:joelriou
feat(CategoryTheory/Limits): terminal object in functor categories --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 52/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Terminal.lean 2 1 ['github-actions'] nobody
0-70780
19 hours ago
0-70140
19 hours ago
0-69913
19 hours
32440 thorimur
author:thorimur
feat: make the `unusedInstancesInType` linters fire when instances are not used outside of proofs in the type This PR adjusts the `unusedDecidableInType` to prevent false negatives on declarations that only use `Decidable*` hypotheses in proofs that appear in the type. That is, the linter now fires when the `Decidable*` linter is unused outside of proofs. This PR also changes the warning message to be more direct, and indicates when the instance appears only in a proof (vs. not appearing at all). We exempt some deprecated lemmas in `Mathlib.Analysis.Order.Matrix` which the linter now fires on. (Presumably, most prior violations had been cleaned up by #10235, which also detected such lemmas.) Note that this took some tinkering to achieve sufficient performance. We use the following novel(?) "dolorous telescope" strategy (so named due to introducing `sorry`s) to avoid traversing the whole type: - when encountering an instance binder of concern, telescope to create an fvar. - when encountering any other binder, instantiate it with `sorry`. - as we proceed, collect the free variables from these expressions which do not appear in proofs. Since the instances of concern are the only free variables, free variable collection avoids traversing many subexpressions by checking for `hasFVar`, which is a computed field accessible in constant time. Perhaps surprisingly, this is (on net) more performant than using `eraseProofs` and then detecting dependence via bvars. We also implement an `Expr`-level early exit for most types by checking if they bind any instance of concern first. (This adds a very small overhead to types which *do* have an instance of concern, but the check is very fast.) This also adds a profiler category to this linter. Note: we still have yet to optimize (pre)-infotree traversal performance, and have yet to avoid proofs that appear in the value of definitions. However, this PR sets us up to do so. --- - [ ] depends on: #35102 --- ## Notes on performance You might be wondering if this *is* actually a faster strategy, seeing as the bench is quite noisy. To determine this, I made a copy of the linter which I could vary without rebuilding mathlib, and profiled the relevant component locally on all imported declarations in Mathlib by linting the `eoi` token: ```lean module public meta import Lean public import Mathlib.Tactic.Linter.UnusedInstancesInTypeCopy import all Mathlib.Tactic.Linter.UnusedInstancesInTypeCopy open Lean Meta Elab Term Command Mathlib.Linter.UnusedInstancesInType meta section local instance : Insert Name NameSet where insert := fun n s => s.insert n def runCopy : Linter where run stx := do if stx.isOfKind ``Parser.Command.eoi then let opts := (← getOptions).setBool `profiler true let consts := (← getEnv).constants.map₁ -- The following expose private decls in their types, so break `MetaM` methods: let badRecs : NameSet := {`IO.Promise.casesOn, `IO.Promise.recOn, `IO.Promise.rec} profileitM Exception "control" opts do for (n,_) in consts do liftTermElabM do unless n.isInternalDetail || badRecs.contains n do pure () profileitM Exception "bench" opts do for (n,cinfo) in consts do unless n.isInternalDetail || badRecs.contains n do cinfo.toConstantVal.onUnusedInstancesInTypeWhere isDecidableVariant fun _ _ => pure () initialize addLinter runCopy ``` (This could have been done in a `run_cmd`, but I wanted to replicate the circumstances of linting as closely as possible, just in case it introduced mysterious async effects.) Then, in a separate file, I imported `Mathlib` and the above linter, and cycled through reading out the result and editing the underlying component then rebuilding. The control was reliably ~1.07-1.12s. The different strategies came out as follows (the following values are not averaged, but are representative): | | without early exit | with early exit | | ---: | :---: | :---: | | `eraseProofs` | 97.4s | 6.82s | | dolorous telescope | 20.3s | 3.99s | As you can see, the early exit cuts the absolute value (and therefore the absolute difference) down dramatically. But seeing as this lays the groundwork for linting defs and will be used for more linters (with wider scopes, and less early exit opportunities), I think we should opt for the more performant version even though there's some extra complexity. :) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter 286/92 Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Lean/Expr/Basic.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeHom.lean,Mathlib/Tactic/Linter/UnusedInstancesInType.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,MathlibTest/UnusedInstancesInType/Basic.lean,MathlibTest/UnusedInstancesInType/Decidable.lean,MathlibTest/UnusedInstancesInType/Fintype.lean,MathlibTest/UnusedInstancesInType/FintypeNeedingImport.lean,MathlibTest/UnusedInstancesInType/SetOption.lean 16 36 ['github-actions', 'grunweg', 'joneugster', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'thorimur'] joneugster
assignee:joneugster
0-69886
19 hours ago
0-69973
19 hours ago
33-39500
33 days
35032 harahu
author:harahu
docs(CategoryTheory/Bicategory/Adjunction): fix typos and update docs Fix documentation issues across the `Bicategory/Adjunction` files: - **Adj.lean**: Fix plural ("isomorphisms" → "isomorphism") in `lIso`/`rIso` docstrings. - **Basic.lean**: Use correct fully qualified names (`Bicategory.Equivalence.mkOfAdjointifyCounit`, `Adjunction.comp`), replace stale `f⁺`/`f⁺⁺` notation with `leftAdjoint f`/`rightAdjoint f`, and fix a parameter name reference in `IsRightAdjoint`. - **Mate.lean**: Fix capitalisation of variable names in a diagram (`L₂`/`R₂` → `l₂`/`r₂`), correct a swapped diagram in `iteratedMateEquiv`, fix a dangling reference (`Conjugate_iso` → `conjugateEquiv_iso`), improve the `conjugateEquiv` docstring, and fix several grammar issues ("a squares" → "a square", "Squares of squares" → "A square of squares"). --- The issues were found and fixed by Codex. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 23/21 Mathlib/CategoryTheory/Bicategory/Adjunction/Adj.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean 3 1 ['github-actions'] nobody
0-69386
19 hours ago
0-69386
19 hours ago
0-69159
19 hours
35046 j-loreaux
author:j-loreaux
feat: define `ConditionallyCompletePartialOrder` This file defines *conditionally complete partial orders* with suprema, infima or both. These are partial orders where every nonempty, upwards (downwards) directed set which is bounded above (below) has a least upper bound (greatest lower bound). This class extends `SupSet` (`InfSet`) and the requirement is that `sSup` (`sInf`) must be the least upper bound. The three classes defined herein are: + `ConditionallyCompletePartialOrderSup` for partial orders with suprema, + `ConditionallyCompletePartialOrderInf` for partial orders with infima, and + `ConditionallyCompletePartialOrder` for partial orders with both suprema and infima One common use case for these classes is the order on a von Neumann algebra, or W⋆-algebra. This is the strongest order-theoretic structure satisfied by a von Neumann algebra; in particular it is *not* a conditionally complete *lattice*, and indeed it is a lattice if and only if the algebra is commutative. In addition, `ℂ` can be made to satisfy this class (one must provide a suitable `SupSet` instance), with the order `w ≤ z ↔ w.re ≤ z.re ∧ w.im = z.im`, which is available in the `ComplexOrder` namespace. These use cases are the motivation for defining three classes, as compared with other parts of the order theory library, where only the supremum versions are defined (e.g., `CompletePartialOrder` and `OmegaCompletePartialOrder`). We note that, if these classes are used outside of order theory, then it is more likely that the infimum versions would be useful. Indeed, whenever the underlying type has an antitone involution (e.g., if it is an ordered ring, then negation would be such a map), then any `ConditionallyCompletePartialOrder{Sup,Inf}` is automatically a `ConditionallyCompletePartialOrder`. Because of the `to_dual` attribute, the additional overhead required to add and maintain the infimum version is minimal. --- In a follow-up PR, we provide a more robust API and generalize some lemmas from `ConditionallyCompleteLattice` to `ConditionallyCompletePartialOrder{Sup,Inf}`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 99/0 Mathlib.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean 2 5 ['b-mehta', 'github-actions', 'j-loreaux'] nobody
0-68467
19 hours ago
0-67797
18 hours ago
2-59487
2 days
34108 elazarg
author:elazarg
feat(InformationTheory/Coding): Kraft-McMillan inequality for uniquely decodable codes This PR introduces the basic definition of uniquely decodable codes and proves the [Kraft-McMillan inequality](https://en.wikipedia.org/wiki/Kraft%E2%80%93McMillan_inequality), a fundamental result in noiseless coding theory. The results live in the `InformationTheory` namespace, in the directory `InformationTheory/Coding`. #### Main definitions * `InformationTheory.UniquelyDecodable`: a set of codewords is uniquely decodable if concatenation is injective on finite lists of codewords. #### Main results * `InformationTheory.kraft_mcmillan_inequality`: for any finite uniquely decodable code `S` over an alphabet of size `D`, $\sum_{w \in S} D^{-|w|} \le 1.$ * `InformationTheory.UniquelyDecodable.epsilon_not_mem`: uniquely decodable codes cannot contain the empty string. t-measure-probability new-contributor 240/0 Mathlib.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/InformationTheory/Coding/KraftMcMillan.lean,Mathlib/InformationTheory/Coding/UniquelyDecodable.lean 4 50 ['YuvalFilmus', 'dupuisf', 'elazarg', 'github-actions', 'metakunt', 'vlad902'] dupuisf
assignee:dupuisf
0-65548
18 hours ago
1-42399
1 day ago
11-68303
11 days
34315 LessnessRandomness
author:LessnessRandomness
feat(Combinatorics/SimpleGraph/Bipartite): Prove upper bound of edge set cardinality of bipartite graph Two ways to express upper bound of the edge set of bipartite graph: 1) If the cardinalities of both parts/sets, that make bipartite graph, are known, then the upper bound is equal to product of the cardinalities of both parts; 2) Four times of the cardinality of the edge set is less or equal to squared cardinality of vertex set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 54/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Data/Sym/Sym2.lean 2 50 ['LessnessRandomness', 'SnirBroshi', 'b-mehta', 'github-actions', 'vlad902'] awainverse
assignee:awainverse
0-60789
16 hours ago
15-85720
15 days ago
17-78153
17 days
35147 euprunin
author:euprunin
chore(RingTheory/RingHom/Locally): rename `locally_StableUnderComposition…` to `locally_stableUnderComposition…` --- As suggested by @alreadydone in https://github.com/leanprover-community/mathlib4/pull/33675#discussion_r2782092590. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 16/7 Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/RingHom/Locally.lean 2 1 ['github-actions'] nobody
0-58361
16 hours ago
0-57600
15 hours ago
0-57373
15 hours
34493 loefflerd
author:loefflerd
feat(LinearAlgebra/QuadraticForm): radical of a quadratic form Define the radical of a quadratic form, and show that its dimension is invariant under equivalences. --- This is a step on the way to Sylvester's law of inertia (#34204). - [x] depends on: #34110 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
248/4 Mathlib.lean,Mathlib/LinearAlgebra/Basis/Basic.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Radical.lean,Mathlib/LinearAlgebra/StdBasis.lean,docs/references.bib 9 3 ['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
0-57924
16 hours ago
0-55864
15 hours ago
14-63641
14 days
34400 euprunin
author:euprunin
chore: golf using `grind` and add `grind` annotation --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * ~~`MulAction.set_mem_fixedBy_of_movedBy_subset`: <10 ms before, 54 ms after~~ * `SubMulAction.ofStabilizer.isMultiplyPretransitive`: 207 ms before, 232 ms after This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 4/14 Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean 2 6 ['euprunin', 'github-actions', 'leanprover-radar', 'mattrobball', 'tb65536', 'vihdzp'] mattrobball
assignee:mattrobball
0-57851
16 hours ago
0-57366
15 hours ago
14-66472
14 days
35137 JovanGerb
author:JovanGerb
chore(Logic/IsEmpty): split file into `Defs` and `Basic` This PR decreases the imports of the `congr!` and `convert` tactics by splitting `Mathlib.Logic.IsEmpty` into a `Defs` and a `Basic` file. Then, these tactics can import the `Defs` file which itself only imports `Mathlib.Init`. This reduces the longest pole. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 287/252 Mathlib.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/List/Forall2.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Lean/Meta/CongrTheorems.lean,Mathlib/Logic/IsEmpty.lean,Mathlib/Logic/IsEmpty/Basic.lean,Mathlib/Logic/IsEmpty/Defs.lean,Mathlib/Logic/Unique.lean,Mathlib/Logic/UnivLE.lean,Mathlib/Order/RelClasses.lean,Mathlib/SetTheory/PGame/Basic.lean 13 3 ['JovanGerb', 'github-actions', 'leanprover-radar'] nobody
0-57097
15 hours ago
0-58970
16 hours ago
0-58743
16 hours
35146 harahu
author:harahu
doc(CategoryTheory/Bicategory/Kan): clarify Kan adjunction docstrings * The two IsAbsKan.adjunction docstrings in Kan/Adjunction were corrected to match the actual definitions: they now describe deriving adjunctions from absolute left Kan (co)universal data, not from an input adjunction. * Grammar and phrasing were cleaned up in the IsKan.adjunction docs (commutes with f/u). * In Kan/HasKan and Kan/IsKan, stale/non-API names were replaced by the current identifiers (lan, lanLift, HasLeftKanExtension) and Kan capitalization was normalized. --- The issues were identified and fixed by Codex. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 12/12 Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Kan/HasKan.lean,Mathlib/CategoryTheory/Bicategory/Kan/IsKan.lean 3 2 ['github-actions'] nobody
0-55375
15 hours ago
0-58307
16 hours ago
0-58080
16 hours
35084 edegeltje
author:edegeltje
feat(Combinatorics/SimpleGraph): The Cayley graph for structures with `Mul`/`Add` This pr: - adds the definition `SimpleGraph.mulCayley`, defining the simple graph induced by a `Mul` instance, - proves various lemmas about the above, - adds/proves the additive versions of all of the above, - redefines `SimpleGraph.circulantGraph` to use `addCayley`, - reproves lemmas about `circulantGraph` to use the new `addCayley` lemmas. some related zulip conversation: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Cayley.20and.20circulant.20graph/with/572839048 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 123/26 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cayley.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean 3 18 ['edegeltje', 'github-actions', 'vihdzp', 'vlad902'] nobody
0-55357
15 hours ago
0-54717
15 hours ago
1-75748
1 day
33795 alreadydone
author:alreadydone
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 418/143 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean 6 11 ['adamtopaz', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] adamtopaz
assignee:adamtopaz
0-53432
14 hours ago
0-53432
14 hours ago
28-31135
28 days
33972 YuvalFilmus
author:YuvalFilmus
feat(Analysis/Polynomial/Order): polynomial has fixed sign beyond largest root We prove that a polynomial has fixed sign beyond its largest root. One could also prove similar results about the smallest root, but they will be more awkward since they will depend on the parity of the (natural) degree; suggestions welcome (perhaps for a future PR). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 72/0 Mathlib.lean,Mathlib/Analysis/Polynomial/Order.lean 2 8 ['YuvalFilmus', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] ADedecker and urkud
assignee:urkud assignee:ADedecker
0-52679
14 hours ago
0-52007
14 hours ago
27-70713
27 days
35150 JovanGerb
author:JovanGerb
chore(Order/OrderDual): move material on `OrderDual` This PR moves material about `OrderDual` from `Mathlib.Order.Synonym` to `Mathlib.Order.OrderDual`, so that these two files become independent. This way, `Mathlib.Order.Synonym` will not be on the long pole. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 75/76 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Nat/Cast/Synonym.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/Compare.lean,Mathlib/Order/Max.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/Order/OrderDual.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/Synonym.lean 14 1 ['github-actions'] nobody
0-50669
14 hours ago
0-47627
13 hours ago
0-47400
13 hours
34545 gasparattila
author:gasparattila
feat(Finpartition): remove unnecessary `DistribLattice` assumptions This PR weakens the typeclass assumptions of some lemmas and constructions: * generalizes `exists_le_of_le` and `card_mono` from `DistribLattice` to `Lattice` * generalizes `extend` from `DistribLattice` to `IsModularLattice` * generalizes `combine` from `DistribLattice` to `IsModularLattice` (this requires changing the argument from `PairwiseDisjoint` to `SupIndep`) * redefines `bind` using `combine` in a way that is defeq to the current definition --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 95/111 Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SupIndep.lean 3 6 ['b-mehta', 'gasparattila', 'github-actions', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
0-49325
13 hours ago
0-47270
13 hours ago
14-48292
14 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. Depends on PR #34598 --- new-contributor 431/5 Mathlib.lean,Mathlib/Geometry/Polygon/Basic.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean 4 15 ['A-M-Berns', 'github-actions', 'vihdzp', 'wwylele'] nobody
0-48291
13 hours ago
0-47126
13 hours ago
1-55593
1 day
35094 joelriou
author:joelriou
feat(CategoryTheory/Sites/DenseSubsite): towards essential surjectivity Let `F : C₀ ⥤ C` be a dense subsite and `data : ∀ X, F.OneHypercoverDenseData J₀ J X` be a family of structures. Let `G₀` be a sheaf on `C₀`. We construct a presheaf on `C`, about which we shall show in #34976 that it is a sheaf which extends `C`. --- - [x] depends on: #35091 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 223/0 Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
0-47743
13 hours ago
0-47079
13 hours ago
0-46852
13 hours
25981 Multramate
author:Multramate
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups This PR continues the work from #10126. Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 t-group-theory large-import 202/131 Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean 14 6 ['copilot-pull-request-reviewer', 'github-actions'] nobody
0-47452
13 hours ago
0-44342
12 hours ago
0-44115
12 hours
35057 grunweg
author:grunweg
feat: equivalent characterisation of split continuous linear maps We add an equivalent characterisation of continuous linear maps with a continuous left inverse: f admits a continuous left inverse iff it splits, i.e. is injective, has closed range and range f has a closed complement. This equivalence is used for extracting an explicit complement for immersions, hence transitively for proving that immersions are closed under composition. From the path towards immersions, submersions and embedded submanifolds. --- - [x] depends on: #34991 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 157/5 Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Analysis/Normed/Module/ContinuousInverse.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean 4 4 ['github-actions', 'grunweg', 'mathlib-dependent-issues'] nobody
0-47123
13 hours ago
0-45760
12 hours ago
0-45533
12 hours
35156 euprunin
author:euprunin
chore: golf using `simp` (and non-squeeze terminal `simp`:s) --- The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `Module.FinitePresentation.exists_lift_of_isLocalizedModule`: 940 ms before, 787 ms after 🎉 * `CategoryTheory.Comon.tensorObj_comul`: 38 ms before, <10 ms after 🎉 * `SimpleGraph.Walk.darts_getElem_eq_getVert`: 376 ms before, <10 ms after 🎉 * `ZNum.cmp_to_int`: 108 ms before, 79 ms after 🎉 * `TensorProduct.finsuppLeft_smul'`: 134 ms before, 31 ms after 🎉 * `TensorProduct.finsuppScalarRight_smul`: 138 ms before, 26 ms after 🎉 * `NumberField.InfinitePlace.nat_card_stabilizer_eq_one_or_two`: 115 ms before, 112 ms after 🎉 * `Algebra.adjoin_restrictScalars`: 34 ms before, 26 ms after 🎉 * `AddCircle.card_torsion_le_of_isSMulRegular_int`: 460 ms before, 238 ms after 🎉 This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 12/56 Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Traversal.lean,Mathlib/Data/Num/ZNum.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean,Mathlib/RingTheory/Adjoin/Tower.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean 10 1 ['github-actions'] nobody
0-46671
12 hours ago
0-44762
12 hours ago
0-44535
12 hours
35157 Multramate
author:Multramate
feat(RingTheory/AdjoinRoot): add IsFractionRing for AdjoinRoot Co-authored-by: Sriram Chinthalagiri Venkata @sriram3301 This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025. --- [![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/0 Mathlib/RingTheory/AdjoinRoot.lean 1 4 ['copilot-pull-request-reviewer', 'github-actions'] nobody
0-43895
12 hours ago
0-43004
11 hours ago
0-42777
11 hours
34922 vasnesterov
author:vasnesterov
feat(Tactic/ComputeAsymptotics/Multiseries): Multiseries definition and structural lemmas Define `Multiseries` and `MultiseriesExpansion` and restate some `Seq` API for `Multiseries`. --- This is a part of the `compute_asymptotics` tactic (#28291). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-meta 399/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean 3 2 ['github-actions', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
0-42679
11 hours ago
0-42042
11 hours ago
5-60658
5 days
34783 Jun2M
author:Jun2M
feat(Combinatorics/Graph): add Compatible definition and API Preliminary PR for #26770 (subgraph). Adds the `Compatible` predicate and basic API to `Mathlib.Combinatorics.Graph.Basic`. - **Compatible**: two graphs are compatible if they agree on incidence for every edge in the intersection of their edge sets. - Includes `Compatible.isLink_iff`, reflexivity/symmetry instances, `IsLink.of_compatible`, `Compatible.of_disjoint_edgeSet`, and the `Inc`/`IsLoopAt`/`IsNonloopAt` variants. - **copy** API for copying a graph with new vertex/edge sets and `IsLink`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 101/1 Mathlib/Combinatorics/Graph/Basic.lean 1 10 ['Jun2M', 'YaelDillies', 'eric-wieser', 'github-actions'] kmill
assignee:kmill
0-41421
11 hours ago
8-58191
8 days ago
8-62026
8 days
34888 stepan2698-cpu
author:stepan2698-cpu
feat: definition of equivalence of representations Defines equivalence of representations, and defines an equivalence between $$\mathrm{Hom}(V, W)$$ and $$V^* \otimes W$$ as representations. This is a missing piece to respell all of the results in Character.lean without using category-theoretic notions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
60/0 Mathlib/RepresentationTheory/Intertwining.lean 1 2 ['github-actions', 'plp127'] ocfnash
assignee:ocfnash
0-41420
11 hours ago
4-41838
4 days ago
6-48786
6 days
34935 erdOne
author:erdOne
feat(AlgebraicGeometry): `Semiring` structure on ideal sheaves --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 93/4 Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Scheme.lean 2 1 ['github-actions'] joelriou
assignee:joelriou
0-41419
11 hours ago
5-25471
5 days ago
5-25244
5 days
34940 michaellee94
author:michaellee94
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 227/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean 2 56 ['botbaki-review', 'github-actions', 'grunweg', 'michaellee94'] ocfnash
assignee:ocfnash
0-41417
11 hours ago
4-31109
4 days ago
4-73078
4 days
34963 Parcly-Taxel
author:Parcly-Taxel
feat(Archive): proof of the Robbins conjecture Cf. [#mathlib4 > Alternative axiomatization of boolean algebras @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Alternative.20axiomatization.20of.20boolean.20algebras/near/558900960) and #31924. 610/0 Archive.lean,Archive/Robbins.lean 2 1 ['github-actions'] dwrensha
assignee:dwrensha
0-41415
11 hours ago
3-77599
3 days ago
4-32647
4 days
34973 chrisflav
author:chrisflav
chore: replace `Punit` by `PUnit` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 34/16 Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/CategoryTheory/Action/Basic.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Limits/Sifted.lean,Mathlib/CategoryTheory/Limits/Types/Coproducts.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/Order/InitialSeg.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/Topology/UniformSpace/Equiv.lean 9 2 ['chrisflav', 'github-actions'] joelriou
assignee:joelriou
0-41414
11 hours ago
4-4144
4 days ago
4-3917
4 days
34975 harahu
author:harahu
fix(CategoryTheory/Bicategory): correct instance target The instance declared next to `PrelaxFunctor.id` was targeting `PrelaxFunctorStruct B B`, which is already defined earlier in the file. Retarget it to `PrelaxFunctor B B` so this section provides the expected default inhabitant for full prelax functors. This PR was prepared using Codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 2/2 Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean 1 1 ['github-actions'] adamtopaz
assignee:adamtopaz
0-41414
11 hours ago
4-2107
4 days ago
4-1880
4 days
34978 harahu
author:harahu
docs(CategoryTheory/Bicategory/Functor): clean up docstrings Fix doc-only inconsistencies across bicategory functor files. --- The issues were found and fixed with help from Codex. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 45/41 Mathlib/CategoryTheory/Bicategory/Functor/Cat/ObjectProperty.lean,Mathlib/CategoryTheory/Bicategory/Functor/Lax.lean,Mathlib/CategoryTheory/Bicategory/Functor/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/StrictPseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/StrictlyUnitary.lean 8 4 ['github-actions', 'harahu', 'joelriou'] erdOne
assignee:erdOne
0-41413
11 hours ago
3-58717
3 days ago
3-59254
3 days
34983 plp127
author:plp127
chore(Polynomial/Div): deprecate noncomputable `Decidable` non-instance Deprecate `decidableDvdMonic`, which is a noncomputable `Decidable` non-instance and so inferior to `Classical.dec`. This is a leftover from before leanprover-community/mathlib3#1391, in which polynomials were made to use classical logic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
12/19 Mathlib/Algebra/Polynomial/Div.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
0-41412
11 hours ago
3-73852
3 days ago
3-73625
3 days
34990 bwangpj
author:bwangpj
feat: `ContinuousSMul (∀ i, N i) (∀ i, γ i)` FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 7/0 Mathlib/Topology/Algebra/MulAction.lean 1 4 ['bwangpj', 'github-actions', 'themathqueen'] PatrickMassot
assignee:PatrickMassot
0-41411
11 hours ago
3-60755
3 days ago
3-63523
3 days
35143 SnirBroshi
author:SnirBroshi
fix: restore `#min_imports` and other commands Make these commands available across Mathlib: - `#help` - `#min_imports` - `#min_imports in` - `#find_home` - `#loogle` - `proof_wanted` Add tests that verify commands work when importing basic files, to prevent regressions. --- [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.23lint.20is.20broken/near/573303540) I also think we should have `#check` (the tactic, not the Core command) and `#simp` and `#find_syntax`, but they import `Mathlib.Init` so it can't import them currently. I'm not sure which of the above were available everywhere before the shake tool was run, let me know if I should add/remove commands. Also there seems to be a bug in `#help` and the module system where it can't find the names of syntaxes, which affects the `#guard_msgs` in the test file, but it should be fixed independently of this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import file-removed 174/29 Mathlib/Init.lean,Mathlib/Tactic/Common.lean,MathlibTest/BasicFiles/Init.lean,MathlibTest/BasicFiles/TacticBasic.lean,MathlibTest/BasicFiles/TacticCommon.lean,MathlibTest/FindSyntax.lean,MathlibTest/HashLint.lean,MathlibTest/UnusedInstancesInType/Fintype.lean 8 14 ['JovanGerb', 'SnirBroshi', 'github-actions', 'grunweg', 'joneugster', 'thorimur'] nobody
0-39931
11 hours ago
0-40525
11 hours ago
0-40298
11 hours
34994 bwangpj
author:bwangpj
feat: Countable.of_module_finite --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import FLT
label:t-algebra$
7/0 Mathlib/LinearAlgebra/Countable.lean 1 3 ['bwangpj', 'eric-wieser', 'github-actions'] eric-wieser
assignee:eric-wieser
0-34655
9 hours ago
0-33953
9 hours ago
3-57727
3 days
35118 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce truncFinset to unify truncations Resolves the TODO in MvPowerSeries/Trunc.lean by implementing a general truncation map `truncFinset`, which paves the way for unifying strict and non-strict truncations and defining other truncations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 121/130 Mathlib/RingTheory/MvPowerSeries/Trunc.lean 1 5 ['BryceT233', 'github-actions', 'wwylele'] nobody
0-34073
9 hours ago
0-33126
9 hours ago
1-9015
1 day
34937 tannerduve
author:tannerduve
feat(Computability): semilattice instance on Turing degrees This PR equips `TuringDegree` with a `SemilatticeSup` structure by introducing the Turing join, proving usual least-upper-bound properties, and lifting these to degrees (quotients). In support of this, it extends the existing `RecursiveIn` API with some lemmas used in the degree theory. The main contribution is the `SemilatticeSup` instance on `TuringDegree`. We define the Turing join as follows ``` turingJoin (f g) : ℕ → ℕ -- notation: f ⊕ g ``` and prove it is a least upper bound: * `left_le_join`, `right_le_join` * `join_le` * monotonicity and congruence lemmas (`join_mono`, `join_congr`) We lift this to degrees in `TuringDegree.sup`, `TuringDegree.le_sup_left`, `TuringDegree.le_sup_right`, and `TuringDegree.sup_le` ``` instance : SemilatticeSup TuringDegree ``` **New additions to `RecursiveIn.lean`:** - `liftPrim`, `liftPrimrec`, `RecursiveIn'`, `ComputableIn`, `ComputableIn₂`: Encodes partial/total functions between `Primcodable` types as `ℕ →. ℕ`, analogous to `Partrec`/`Computable`. - `of_eq`, `of_eq_tot`, `of_primrec`, `some`, `none`, `mono`, `subst`: Standard closure properties for `RecursiveIn`. - `cond_const`, `cond_core_rfind`, `cond`, `ComputableIn.cond`: Shows `RecursiveIn` is closed under conditionals when the guard is absolutely computable - `Nat.Partrec.recursiveIn`, `Computable.computableIn`: Every partrec/computable function is recursive in any oracle set. Small addition to `Partrec` we add to `Mathlib.Computability.Partrec` a small helper def (`Partrec.kronecker` and related `rfind` lemmas) representing the function that returns 1 if its two (unpaired) arguments are equal, and 0 otherwise, which is used in the proof of `cond` ## TODO Some current `RecursiveIn` proofs such as `cond_core_rfind` still work directly with the inductive constructors and are thus very long. A follow up could add a combinator-style closure library byessentially relativizing all the results and lemmas in `Partrec`, and proofs could be golfed heavily as they are in `Partrec` ## Note: AI Usage [Aleph prover](https://logicalintelligence.com/aleph-coding-ai/) was allowed to prove an earlier version of `cond_core_rfind`, which included stating and proving the lemma `cond_const` but the proofs have since been iterated on manually Cursor was allowed to run git commands and edit docstrings/headers, and was used in setting up the module structure of the files t-computability new-contributor large-import 644/63 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 12 ['eric-wieser', 'github-actions', 'tannerduve', 'vihdzp'] nobody
0-29166
8 hours ago
0-28503
7 hours ago
4-33969
4 days
24065 kim-em
author:kim-em
chore: script to give topological sort of modules This script is not useful by itself: it just gives a topological sort of Mathlib's import graph. But I've several times found it useful when I want to modify many files systematically with minimal rebuilding: just work backwards through the list. 102/0 scripts/README.md,scripts/topological_sort.py 2 7 ['SnirBroshi', 'github-actions', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
0-24252
6 hours ago
0-23944
6 hours ago
0-23717
6 hours
34667 kim-em
author:kim-em
perf(Cache): skip decompression for already-unpacked files This PR adds pre-filtering to `lake exe cache get`: before calling leantar, we check if each module's trace file exists and has a matching Lake depHash. Modules that are already correctly unpacked are skipped entirely. **Performance (tested on Mac Studio with SSD, ~7900 cached files):** | Scenario | Before | After | |----------|--------|-------| | All files already unpacked | ~25s | ~5s | | Partial decompression needed | ~25s | ~5s + decompression time | **Timing breakdown (after this PR):** - Hash computation: ~2.8s - Filter to existing ltar files: ~0.06s - Read ltar headers + trace files, compare hashes: ~2.5s - leantar (if needed): 0s when all files match **What changed:** Before calling leantar, we now read the Lake depHash from each ltar file header (first 12 bytes) and compare with the trace file's `depHash` field. Files with matching hashes are filtered out. Note: The mathlib cache hash (ltar filename) is different from the Lake depHash (stored in ltar header and trace file). This PR compares the Lake depHashes, which is what leantar uses internally. Fixes https://leanprover.zulipchat.com/#narrow/channel/536994-ecosystem-infrastructure/topic/lake.20exe.20cache.20get.20always.20decompresses 🤖 Prepared with Claude Code t-meta CI maintainer-merge 87/3 Cache/IO.lean,Cache/Lean.lean 2 11 ['MichaelStollBayreuth', 'github-actions', 'joneugster', 'plp127'] joneugster
assignee:joneugster
0-23552
6 hours ago
0-22986
6 hours ago
11-26781
11 days
35167 morrison-daniel
author:morrison-daniel
chore(LinearAlgebra/{ExteriorAlgebra,ExteriorPower}): refactor `ExteriorAlgebra.ιMulti_family` and `exteriorPower.ιMulti_family` to use `Set.powersetCard` Rewrites `ExteriorAlgebra.ιMulti_family` and `exteriorPower.ιMulti_family` to use `Set.powersetCard` instead of an explicit subtype. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
47/7 Mathlib.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/Order/Hom/PowersetCard.lean 4 1 ['github-actions'] nobody
0-21791
6 hours ago
0-21772
5 hours ago
0-21545
5 hours
33188 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce rename This file establishes the `rename` operation on multivariate power series under a map with finite fibers, which modifies the set of variables. This file is patterned after `MvPolynomials/Rename.lean` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory large-import 432/1 Mathlib.lean,Mathlib/Data/Finsupp/Antidiagonal.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean 7 26 ['BryceT233', 'Komyyy', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] erdOne and riccardobrasca
assignee:riccardobrasca assignee:erdOne
0-20939
5 hours ago
0-18715
5 hours ago
26-85069
26 days
35161 JohnnyTeutonic
author:JohnnyTeutonic
feat(Algebra/Lie/Classical): finrank of sl(n) equals n - 1 Proves `finrank K (sl n K) = Fintype.card n ^ 2 - 1` using rank-nullity and `Matrix.trace_surjective`. The special linear Lie algebra `sl(n, K)` is the kernel of the trace map. By rank-nullity, its dimension is `n² - 1`. - [x] Compiles against current master - Independent of #34442 (sl basis construction) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
17/3 Mathlib/Algebra/Lie/Classical.lean 1 1 ['github-actions'] nobody
0-20654
5 hours ago
0-20010
5 hours ago
0-19783
5 hours
34442 JohnnyTeutonic
author:JohnnyTeutonic
feat(Algebra/Lie/Classical): add basis for sl(n) relative to chosen diagonal index Adds a standard basis for sl n R parametrized by a chosen diagonal index i₀: Off-diagonal matrix units E_ij for i ≠ j Diagonal differences E_ii - E_{i₀i₀} for i ≠ i₀ The entry at i₀ is determined by trace-zero. Implements the approach suggested by @ocfnash in [#33818 (comment)](https://github.com/leanprover-community/mathlib4/pull/33818#issuecomment-3784786673). See also [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/lie.20algebra/near/516170116). Closes the request from #33818. Note: Developed with the assistance of Claude - the LinearEquiv machinery was beyond my current Lean expertise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
507/0 Mathlib/Algebra/Lie/Classical.lean 1 9 ['JohnnyTeutonic', 'eric-wieser', 'github-actions'] nobody
0-20426
5 hours ago
0-19743
5 hours ago
0-72554
20 hours
35107 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph/Coloring): golf `recolorOfEmbedding` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 1/8 Mathlib/Combinatorics/SimpleGraph/Coloring.lean 1 6 ['SnirBroshi', 'github-actions', 'themathqueen', 'vlad902'] nobody
0-15435
4 hours ago
0-82925
22 hours ago
1-40650
1 day
34511 kim-em
author:kim-em
chore: run `lake shake --add-public --keep-implied --keep-prefix --fix` large-import 154/106 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/Finset/Gaps.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Finite.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicTopology/ModelCategory/BifibrantObjectHomotopy.lean,Mathlib/Analysis/Asymptotics/Completion.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Const.lean,Mathlib/Analysis/Calculus/TangentCone/Basic.lean,Mathlib/Analysis/Calculus/TangentCone/Defs.lean,Mathlib/Analysis/Calculus/TangentCone/DimOne.lean,Mathlib/Analysis/Calculus/TangentCone/Real.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/Normed/Field/TransferInstance.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Defs.lean,Mathlib/Analysis/Normed/Module/ContinuousInverse.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Module/Multilinear/Curry.lean,Mathlib/Analysis/Normed/Operator/CompleteCodomain.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/TransferInstance.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean,Mathlib/CategoryTheory/Bicategory/Extension.lean,Mathlib/CategoryTheory/ConcreteCategory/BundledHom.lean,Mathlib/CategoryTheory/ConcreteCategory/UnbundledHom.lean,Mathlib/CategoryTheory/GradedObject.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/EquifiberedLimits.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Kernels.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/Shift/Adjunction.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/Data/Fin/Tuple/Sort.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Finset/Attr.lean,Mathlib/Data/List/DropRight.lean,Mathlib/Data/List/GetD.lean,Mathlib/Data/List/Induction.lean,Mathlib/Data/List/Infix.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Multiset/Interval.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Dynamics/Flow.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/PrimeField.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/Geometry/Polygon/Basic.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Free.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Measure/SubFinite.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/Order/GaloisConnection/Defs.lean,Mathlib/Order/Interval/Finset/Gaps.lean,Mathlib/Order/ScottContinuity.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RepresentationTheory/Semisimple.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/Ideal/Height.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Lasker.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/OrderOfVanishing.lean 141 14 ['JovanGerb', 'Kha', 'github-actions', 'kim-em', 'loefflerd', 'mathlib-merge-conflicts'] ADedecker
assignee:ADedecker
0-10161
2 hours ago
0-13448
3 hours ago
8-29916
8 days
35172 Parcly-Taxel
author:Parcly-Taxel
feat(Archive): minimal axioms for Boolean algebra 305/0 Archive.lean,Archive/MinimalSheffer.lean,docs/references.bib 3 1 ['github-actions'] nobody
0-8377
2 hours ago
0-7692
2 hours ago
0-7465
2 hours
35170 tb65536
author:tb65536
feat(Analysis/RCLike/Basic): add `re_mul_ofReal` and `im_mul_ofReal` This PR adds missing API lemmas `re_mul_ofReal` and `im_mul_ofReal` for `RCLike.re`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 8/0 Mathlib/Analysis/RCLike/Basic.lean 1 1 ['github-actions'] nobody
0-7708
2 hours ago
0-7708
2 hours ago
0-7481
2 hours
35171 tb65536
author:tb65536
feat(Analysis/InnerProductSpace/Basic): variants of the parallelogram law with squaring This PR adds a couple variants of the parallelogram law written in terms of squaring `‖x + y‖ ^ 2 + ‖x - y‖ ^ 2` rather than multiplication `‖x + y‖ * ‖x + y‖ + ‖x - y‖ * ‖x - y‖`. I've found these to be helpful in practice. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 10/0 Mathlib/Analysis/InnerProductSpace/Basic.lean 1 1 ['github-actions'] nobody
0-7703
2 hours ago
0-7703
2 hours ago
0-7476
2 hours
35173 tb65536
author:tb65536
feat(Analysis/InnerProductSpace/Rayleigh): Rayleigh quotients are bounded above by the operator norm This PR proves that Rayleigh quotients are bounded above by the operator norm. The fact that this is tight for symmetric operators will be done in a follow-up PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 10/1 Mathlib/Analysis/InnerProductSpace/Rayleigh.lean 1 1 ['github-actions'] nobody
0-7630
2 hours ago
0-7630
2 hours ago
0-7403
2 hours
33895 jessealama
author:jessealama
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set This PR shows that several list operations from Lean core are primitive recursive: - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via iterating `List.tail` using `nat_iterate` - `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via `list_drop` on the reversed list - `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) - `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean) The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations: - `list_modify` specializes `list_modify'` with `β = Unit` - `list_set` uses `list_modify'` via `List.set_eq_modify` Also moves `list_length` earlier in the file (before `list_drop` and `list_take`, which depend on it). new-contributor t-computability 48/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
0-6906
1 hour ago
0-6181
1 hour ago
28-6276
28 days
35174 nielsvoss
author:nielsvoss
feat(Analysis/InnerProductSpace): a linear map composed with its adjoint is symmetric Add theorems about `LinearMap.IsSymmetric` that match some theorems for `LinearMap.IsPositive`. Mathlib contains stronger versions of some of these, like `LinearMap.IsPositive.self_comp_adjoint`, but having a dedicated version for `LinearMap.IsSymmetric` is advantageous, especially when used with `LinearMap.IsSymmetric.eigenvalues`. --- One thing that I am uncertain about is if I should add similar lemmas for `ContinuousLinearMap` to even better match the `IsPositive` API, and if so, whether these theorems should be stated in terms of `IsSymmetric` or `IsSelfAdjoint`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 26/1 Mathlib/Analysis/InnerProductSpace/Adjoint.lean 1 2 ['github-actions'] nobody
0-6866
1 hour ago
0-6194
1 hour ago
0-5967
1 hour
35169 loefflerd
author:loefflerd
feat(NumberTheory/ModularForms): remove unnecessary instance arguments Adjust proof of `isCusp_of_mem_strictPeriods` to get rid of two unnecessary instance arguments. --- (All changes outside that one lemma are just getting rid of now-unnecessary hypotheses where that lemma is used later.) Spotted while reviewing #32959. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory easy maintainer-merge 34/39 Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean 2 4 ['copilot-pull-request-reviewer', 'github-actions', 'grunweg', 'loefflerd'] nobody
0-6196
1 hour ago
0-8286
2 hours ago
0-8630
2 hours
35176 grunweg
author:grunweg
fix: check for a space of continuous linear maps over not-the-identity Improves an error message, and fixes a TODO in the code. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 83/16 Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/NotationAdvanced.lean 2 1 ['github-actions'] nobody
0-6129
1 hour ago
0-5406
1 hour ago
0-5179
1 hour
34640 vihdzp
author:vihdzp
chore(Order/UpperLower/Basic): use `to_dual` --- - [x] depends on: #33964 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 27/78 Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Order/Interval/Set/OrderEmbedding.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Order/WellFounded.lean 4 11 ['JovanGerb', 'Komyyy', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] nobody
0-5812
1 hour ago
1-41014
1 day ago
4-80216
4 days
35097 pevogam
author:pevogam
feat: add a LE version Rat.lt_one_iff_num_le_denom theorem The following is more useful due to the partial order application of LE in comparison to LT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
2/0 Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean 1 5 ['github-actions', 'pevogam', 'wwylele'] nobody
0-5199
1 hour ago
1-14136
1 day ago
1-52486
1 day
35135 Rida-Hamadani
author:Rida-Hamadani
feat(List): permutations preserve maximum and minimum. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 14/0 Mathlib/Data/List/MinMax.lean 1 1 ['github-actions'] nobody
0-4212
1 hour ago
0-3526
54 minutes ago
0-72585
20 hours
34920 Parcly-Taxel
author:Parcly-Taxel
feat: asymptotic lemmas on the `cobounded` filter Actually includes one `cofinite` lemma too. As shown in the second commit, this allows proving what I initially proved with the help of Harmonic in #34845 in a much shorter, AI-free form. `Asymptotics.isLittleO_pow_pow_cobounded_of_lt` was generalised with the help of @sgouezel – see [#PR reviews > #34868 – more general polynomial asymptotics @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2334868.20.E2.80.93.20more.20general.20polynomial.20asymptotics/near/572197174). t-analysis 98/0 Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Polynomial/Basic.lean 3 4 ['Parcly-Taxel', 'github-actions', 'sgouezel'] nobody
0-3912
1 hour ago
0-3135
48 minutes ago
2-55296
2 days
35163 CoolRmal
author:CoolRmal
feat(Topology): comparison of two Hausdorff topologies The main theorem proved in this PR is `CompactSpace.eq_of_le_compact_t2`, which says that if we have two Hausdorff topologies `s, t` on `X`, and if `t` is finer than `s` and `X` is compact under `t`, then `s = t`. I also proved some variant of this lemma. The motivations I have in mind are some applications to the theory of topological vector spaces, where we often have to compare two Hausdorff topologies. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 24/0 Mathlib/Topology/Homeomorph/Lemmas.lean 1 2 ['github-actions', 'plp127'] nobody
0-3806
1 hour ago
0-11013
2 hours ago
0-10786
2 hours
35162 JovanGerb
author:JovanGerb
feat(Order/Interval/Set/Basic): use `to_dual` This PR tags basic theorems about `Ioo`, `Ioc`, `Ico` and `Icc` with `to_dual`. This is the other half of #33964. Notes: - I decided to add the theorems `Ico_subset_Ioo` and `Icc_subset_Ioc`, because they were missing. - For some proofs, the cast insertion heuristic failed, and I had to modify the proof slightly in order to make it work with `to_dual`. The two kinds of fixes were replacing `fun ⟨hx₁, hx₁⟩ ↦` with `fun hx ↦` and then using `hx.1` and `hx.2`, and inserting an explicit rewrite using `mem_Ioo` in order to eliminate the defEq abuse. I should investigate how to fix this, but that shouldn't block this PR. - There were some theorems that hold by `rfl`, but their dual does not. This confused the `@[defEq]` attribute, because we were erroneously setting it for these dual theorems. I've modified it so that it will first check if the attribute is applicable. - `left_notMem_Ioc` and `left_notMem_Ioo` used to have explicit arguments. I made these implicit which lines up with their dual version, and their `Finset` counterparts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 180/349 Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Tactic/Translate/Core.lean 2 1 ['github-actions'] nobody
0-3740
1 hour ago
unknown
unknown

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
33786 hdmkindom
author:hdmkindom
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n ℝ → Matrix p q ℝ`. The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances. mkdir Analysis/Matrix/Jacobian.lean ## Main definitions - `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k` ## Main theorems - `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian - `jacobianMatrix_comp`: Chain rule for Jacobian matrices - `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties - `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties t-analysis new-contributor 219/0 Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
30-41362
30 days ago
33-76037
33 days ago
34-20148
34 days
33838 chainstart
author:chainstart
feat(NumberTheory): add unitary divisors and unitary perfect numbers ## Summary This PR introduces the unitary divisor sum function σ* to Mathlib and proves that no odd unitary perfect numbers exist. ## Main Definitions - `Nat.UnitaryDivisor d n`: A divisor `d` of `n` is unitary if `gcd(d, n/d) = 1` - `Nat.unitaryDivisors n`: The `Finset` of all unitary divisors of `n` - `Nat.unitaryDivisorSum n` (notation `σ*`): Sum of all unitary divisors - `Nat.UnitaryPerfect n`: `n` is unitary perfect if `σ*(n) = 2n` ## Main Theorems **Multiplicativity:** - `unitaryDivisorSum_mul`: For coprime `m`, `n`, `σ*(mn) = σ*(m) · σ*(n)` - Proved via explicit bijection between unitary divisors of `mn` and pairs of unitary divisors **Prime Powers:** - `unitaryDivisors_prime_pow`: The unitary divisors of `p^k` are exactly `{1, p^k}` - `unitaryDivisorSum_prime_pow`: For prime `p` and `k ≥ 1`, `σ*(p^k) = p^k + 1` **Unitary Perfect Numbers:** - `no_odd_unitary_perfect`: There are no odd unitary perfect numbers > 1 (Subbarao-Warren 1966) - `UnitaryPerfect.even`: Every unitary perfect number is even - `UnitaryPerfect.eq_two_pow_mul_odd`: Every unitary perfect number has form `2^a · k` with `a ≥ 1`, `k` odd ## Mathematical Background A unitary perfect number is a positive integer `n` such that the sum of its unitary divisors equals `2n`. This generalizes the classical perfect numbers. Only five unitary perfect numbers are known: 6, 60, 90, 87360, and one with 24 digits. The main theorem (no odd unitary perfect numbers) was originally proved by Subbarao & Warren (1966) using prime factorization arguments. Our formalization uses `Nat.recOnPrimeCoprime` for structural induction. ## References - Subbarao, M. V., & Warren, L. J. (1966). Unitary perfect numbers. *Canadian Mathematical Bulletin*, 9(2), 147-153. - Wall, C. R. (1975). The fifth unitary perfect number. *Canadian Mathematical Bulletin*, 18(1), 115-122. ## Code Statistics - **Files**: 2 - **Lines**: ~520 - **Theorems**: 21 public declarations - **Sorry count**: 0 ## Checklist - [x] All theorem names follow mathlib conventions - [x] All lines ≤ 100 characters - [x] All public theorems have docstrings - [x] No `sorry` or `admit` - [x] Code builds successfully - [ ] CI tests pass (awaiting verification) new-contributor t-number-theory 554/0 Mathlib.lean,Mathlib/NumberTheory/UnitaryDivisor.lean,Mathlib/NumberTheory/UnitaryPerfect.lean 3 17 ['Ruben-VandeVelde', 'SnirBroshi', 'chainstart', 'github-actions', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
25-81012
25 days ago
26-163
25 days ago
31-80272
31 days
33712 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Angle/Unoriented/Projection): Add sameray_orthogonalProjection_vsub_of_angle_lt Add sameray_orthogonalProjection_vsub_of_angle_lt `sameray_orthogonalProjection_vsub_of_angle_lt` When an angle is acute, the vector to the orthogonal projection lies in the same ray as the given direction vector. new-contributor t-euclidean-geometry 20/0 Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean 1 3 ['JovanGerb', 'github-actions'] JovanGerb
assignee:JovanGerb
24-43829
24 days ago
28-75186
28 days ago
33-79211
33 days
33901 martinwintermath
author:martinwintermath
feat(LinearAlgebra/Span): add inter/union/sInf/sSup lemmas for Submodule.span This PR adds theorems about the interaction of `Submodule.span` with the lattice operations: * `inter`, `sInf` and `biInter` lemmas for `Submodule.span` * `union`, `sSup` and `biUnion` lemmas for `Submodule.span` It also adds `@[simp]` to `span_union` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
25/0 Mathlib/LinearAlgebra/Span/Defs.lean 1 3 ['github-actions', 'themathqueen'] kim-em
assignee:kim-em
22-3336
22 days ago
29-73507
29 days ago
29-73280
29 days
33793 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre, the main ingredient for the proof of the **Effros' Theorem**, see [#mathlib4 > Effros Theorem](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/566543328) introduce definition of a nowhere meagre set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 37/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean 3 2 ['MichaelStollBayreuth', 'github-actions'] kex-y
assignee:kex-y
21-76463
21 days ago
21-73946
21 days ago
33-74675
33 days
33443 sahanwijetunga
author:sahanwijetunga
feat: Define Isometries of Bilinear Spaces --- We define Isometries of Bilinear Spaces, closely following the implementation of isometries of quadratic spaces. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
275/0 Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Isometry.lean,Mathlib/LinearAlgebra/BilinearForm/IsometryEquiv.lean 3 1 ['github-actions'] mattrobball
assignee:mattrobball
18-41349
18 days ago
28-42270
28 days ago
41-68886
41 days
33280 michelsol
author:michelsol
feat(MeasureTheory/Integral/IntervalIntegral): add variant `integral_deriv_eq_sub_uIoo` of 2nd theorem of calculus. Add a continuous on uIcc, differentiable on uIoo, deriv version of the 2nd fundamental theorem of calculus. This corresponds to what is written [here](https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus#Second_part). For example it makes it easier to compute the integral : ```lean4 ∫ x : ℝ in 0..1, (√(1 - x ^ 2))⁻¹ = ∫ x : ℝ in 0..1, deriv arcsin x = arcsin 1 - arcsin 0 ``` It is not possible to use [`interval_deriv_eq_sub`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.html#intervalIntegral.integral_deriv_eq_sub) which requires differentiability on all of [0,1], as `arcsin` isn't differentiable at 1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor maintainer-merge 14/0 Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 1 4 ['EtienneC30', 'github-actions'] EtienneC30
assignee:EtienneC30
16-68849
16 days ago
48-65993
48 days ago
48-65766
48 days
34137 goliath-klein
author:goliath-klein
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): Remove `injectiveSeminorm` Currently, `injectiveSeminorm` is extensionally equal to `projectiveSeminorm`. Both implement what is commonly called the "projective tensor norm". # Background (C.f. [[Diestel et al.]](https://www.ams.org/bookstore/pspdf/mbk-52-prev.pdf)). On the algebraic tensor product of two Banach spaces X, Y, there are two distinguished norms. First the projective norm, or "largest reasonable crossnorm". Two equivalent expressions for it are: (L1) `‖u‖_∧ = sup { sum_i ‖x_i‖ ‖y_i‖ | sum_i x_i ⊗ y_i = u }`, (L2) `‖u‖_∧ = norm of the linear map that sends b : B(X,Y; 𝕂) to (lift b) u`, where `B(X,Y; Z)` is the set of bounded bilinear maps into a normed space `Z`. Second, there is the injective norm, or "smallest reasonable crossnorm": (S) `‖u‖_∨` = norm of the bilinear map that sends `f : X', g : Y'` to `(f⊗g) u`. # Mathlib The formalization treats tensor products of seminormed spaces over normed fields. In this context, `projectiveSeminorm` implements (L1). But `injectiveSeminorm u` doesn't implement (S), but the following variant of (L2): (L2') `sup_Z { norm of map sending b : B(X,Y; Z) to (lift b) u }.` In fact, `injectiveSeminorm = projectiveSeminorm `. The upper bound is proven in Mathlib. Equality is attained (somewhat tautologically) by choosing `Z` to be `X ⊗ Y` endowed with the projective seminorm. `projectiveSeminorm` is defined first; `injectiveSeminorm` builds on it. Then the theory of an isometric version of `PiTensorProduct.lift` is based on `injectiveSeminorm`. # Proposed change This PR deprecates `injectiveSeminorm` and ports all applications to (L1). This doesn't actually require too much work, leads to the same mathematical theory, and significantly reduces complexity (and potential for confusion!). There is a [companion PR](https://github.com/leanprover-community/mathlib4/pull/33969) which formalizes the equality of the current definitions and has a WIP / RFC implementation of the injective seminorm as commonly understood. Deprecations: - injectiveSeminorm - injectiveSeminorm_apply - norm_eval_le_injectiveSeminorm - injectiveSeminorm_le_projectiveSeminorm - injectiveSeminorm_tprod_le - Mathlib.Analysis.Normed.Module.PiTensorProduct.InjectiveSeminorm --- Co-authored-by: Davood H. H. Tehrani [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 169/207 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean 3 7 ['Ruben-VandeVelde', 'dupuisf', 'github-actions', 'goliath-klein'] dupuisf
assignee:dupuisf
16-55962
16 days ago
16-58094
16 days ago
20-42192
20 days
33458 NoneMore
author:NoneMore
feat(ModelTheory): add lifting for embeddings to languages with constants Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 35/0 Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean 2 3 ['Citronhat', 'github-actions'] fpvandoorn
assignee:fpvandoorn
15-13405
15 days ago
15-12544
15 days ago
41-4850
41 days
34138 pfaffelh
author:pfaffelh
feat(MeasureTheory): Introduce `MassFunction α` giving rise to a `Measure α ⊤` Define `MassFunction α := α → ℝ≥0∞` Define `toMeasure (w : MassFunction α) : @Measure α ⊤` as a sum of diracs Show properties of the resulting objects This PR intends to start a more userfriendly interaction with probability mass functions (`PMF`). There are two main differences between `MassFunction` and `PMF`: * `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `MassFunction`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.) * The `toMeasure` function of `MassFunction` directly defines the measure as a sum of diracs, which immediately makes computations possible. Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 224/0 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/MassFunction.lean 4 10 ['DavidLedvinka', 'github-actions', 'metakunt', 'pfaffelh'] EtienneC30
assignee:EtienneC30
13-59790
13 days ago
13-56712
13 days ago
23-48988
23 days
33817 FlAmmmmING
author:FlAmmmmING
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem of smallSchroder. In the previous definition, the small Schröder numbers were defined as ```LaTeX s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3... ``` , which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 61/39 Mathlib/Combinatorics/Enumerative/Schroder.lean 1 19 ['FlAmmmmING', 'github-actions', 'vihdzp'] awainverse
assignee:awainverse
13-41337
13 days ago
22-20337
22 days ago
32-57316
32 days
34227 stepan2698-cpu
author:stepan2698-cpu
feat: If sum of densities is at least one, the sumset covers the naturals Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/1 Mathlib/Combinatorics/Schnirelmann.lean 1 3 ['github-actions', 'grunweg', 'kbuzzard'] awainverse
assignee:awainverse
13-41334
13 days ago
21-43313
21 days ago
21-58101
21 days
34028 floor-licker
author:floor-licker
feat(SimpleGraph): add max-flow/min-cut weak duality This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S. This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S). t-combinatorics new-contributor 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean 2 13 ['SnirBroshi', 'floor-licker', 'github-actions'] kmill
assignee:kmill
12-41344
12 days ago
16-80102
16 days ago
25-55175
25 days
33520 NoneMore
author:NoneMore
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure. The other direction depends on #33458. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 55/0 Mathlib/ModelTheory/ElementarySubstructures.lean 1 3 ['Citronhat', 'NoneMore', 'github-actions'] awainverse
assignee:awainverse
11-41295
11 days ago
15-18357
15 days ago
40-2413
40 days
34521 huaizhangchu
author:huaizhangchu
feat(MeasureTheory): add measurableEmbedding_natCast This PR adds a lemma stating that the coercion from `ℕ` to `ℝ` is a measurable embedding. ```lean lemma measurableEmbedding_natCast : MeasurableEmbedding (Nat.cast : ℕ → ℝ) := Nat.isClosedEmbedding_coe_real.measurableEmbedding ``` This is useful for proving properties about discrete probability distributions on `ℕ` by lifting them to `ℝ` and will be used in #34435. t-measure-probability new-contributor 3/0 Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
11-41287
11 days ago
14-78966
14 days ago
14-82237
14 days
33791 PhoenixIra
author:PhoenixIra
feat: Generalization of FixedPointApproximants to CompletePartialOrder --- This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 223/100 Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean 2 20 ['PhoenixIra', 'github-actions', 'vihdzp'] PhoenixIra and vihdzp
assignee:PhoenixIra assignee:vihdzp
11-5718
11 days ago
22-66472
22 days ago
22-66245
22 days
34477 spanning-tree
author:spanning-tree
refactor(Order): make CompletePartialOrder extend OrderBot Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly. Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor. See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 15/1 Mathlib/Order/CompletePartialOrder.lean 1 2 ['Citronhat', 'github-actions'] pechersky
assignee:pechersky
9-41313
9 days ago
13-76005
13 days ago
16-30324
16 days
34664 GrigorenkoPV
author:GrigorenkoPV
feat(SetTheory/Ordinal/Arithmetic): prove isSuccPrelimit_iff_omega0_dvd --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory new-contributor 36/15 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Notation.lean 3 8 ['GrigorenkoPV', 'github-actions', 'vihdzp'] vihdzp
assignee:vihdzp
8-76655
8 days ago
9-80019
9 days ago
11-36538
11 days
34375 jvanwinden
author:jvanwinden
feat(MeasureTheory/Function/AEEqOfLIntegral): introduce lemmas for rewriting a.e. inequalities Introduce the following lemmas: - ae_le_const_iff_forall_gt_imp_ae_lt, - ae_const_le_iff_forall_lt_imp_ae_gt, - ae_le_const_iff_forall_gt_imp_ae_le, - ae_const_le_iff_forall_lt_imp_ae_ge, which can be used get an epsilon of room in a.e. inequalities, with the epsilon being outside the a.e. quantifier. The 'le/ge' variants require a dense ordering. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 24/0 Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean 1 4 ['github-actions', 'jvanwinden', 'urkud'] kex-y
assignee:kex-y
8-75136
8 days ago
18-76554
18 days ago
18-76327
18 days
32570 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 22/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 2 19 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono', 'vlad902'] kmill
assignee:kmill
8-51104
8 days ago
8-51104
8 days ago
60-81881
60 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 127/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 24 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono'] awainverse
assignee:awainverse
8-49931
8 days ago
8-49931
8 days ago
61-18729
61 days
34191 IlPreteRosso
author:IlPreteRosso
feat(Topology/Algebra/InfiniteSum): Discrete Convolution API 1st PR Defines the very basics of the discrete convolution API. In analogy with [MeasureTheory.Convolution](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Convolution.html#MeasureTheory.convolution). Main definitions include - `mulFiber`, `convolution`, `ConvolutionExists`, `ConvolutionExists.add_distrib`, `ConvolutionExistsAt.smul_convolution`, `mulFiber_swapEquiv`, `convolution_comm` RM: - The main docstring is *as is* - Next step is triple sum intrastrcutre + `assoc` theorems for convolution (long) Continues the work from #33411 and #33410 (splitting into shorter PRs, carries over the modifications from previous reviews) t-topology new-contributor 277/0 Mathlib.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean 2 18 ['IlPreteRosso', 'github-actions', 'j-loreaux'] PatrickMassot
assignee:PatrickMassot
7-70210
7 days ago
7-69588
7 days ago
16-70120
16 days
34709 dennj
author:dennj
feat(Analysis/ODE): add discrete Grönwall inequality ## Summary Add discrete Grönwall inequality to `Mathlib/Analysis/ODE/DiscreteGronwall.lean` Provides bounds for recurrence inequalities of the form `u(n+1) ≤ c(n) * u(n) + b(n)` ### Main results - `discrete_gronwall_prod_general`: Product form working over any linearly ordered commutative ring - `prod_one_add_Ico_mono`: Auxiliary lemma for product comparisons over subintervals - `discrete_gronwall`: Classical exponential bound `u(n) ≤ (u(n₀) + ∑ b(k)) * exp(∑ c(i))` (ℝ-specific) - `discrete_gronwall_Ico`: Uniform bound over a finite interval (ℝ-specific) ## Related work Complements the continuous Grönwall inequality in `Mathlib.Analysis.ODE.Gronwall` ## References * Grönwall, T. H. (1919). "Note on the derivatives with respect to a parameter of the solutions of a system of differential equations". *Annals of Mathematics*, 20(4), 292–296. t-analysis new-contributor 174/0 Mathlib.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
6-41428
6 days ago
10-29963
10 days ago
10-29736
10 days
34182 IlPreteRosso
author:IlPreteRosso
feat(Data/Finsupp/Single, Data/Finsupp/Indicator): Add set_indicator_singleton, indicator_singleton; golfed single_eq_set_indicator, single_eq_indicator [Mathlib.Data.Finsupp.Single](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Single.html#Finsupp.single) - Add `set_indicator_singleton`, golfed `single_eq_set_indicator` [Mathlib.Data.Finsupp.Indicator](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Indicator.html#Finsupp.indicator_apply) - Add `indicator_singleton`, golfed `single_eq_indicator` Continues the work from #34095 large-import t-data new-contributor 17/17 Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean 2 29 ['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] eric-wieser and urkud
assignee:urkud assignee:eric-wieser
5-71121
5 days ago
22-23625
22 days ago
22-30226
22 days
34215 justus-springer
author:justus-springer
feat(FieldTheory/RatFunc): Degree of field extension K(X)/K(f) Prove that the degree of the field extension K(X)/K(f) of a rational function f equals the maximum of the degrees of its numerator and denominator. This is a crucial lemma towards proving Luroth's theorem. This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025. Co-authored-by: Miriam Philipp @miriamphilipp Co-authored-by: Junyan Xu @alreadydone --- - [ ] depends on: #34212 - [ ] depends on: #34213 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
228/0 Mathlib.lean,Mathlib/FieldTheory/RatFunc/Luroth.lean 2 8 ['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] jcommelin
assignee:jcommelin
5-70728
5 days ago
5-70018
5 days ago
14-85539
14 days
34674 Citronhat
author:Citronhat
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions * Add `WithTop` versions of basic multiplicative order lemmas. * Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs. * Fix a typo in the `pos_of_ne_zero` alias name. new-contributor t-algebra
label:t-algebra$
46/15 Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean 3 4 ['Citronhat', 'Ruben-VandeVelde', 'github-actions'] dagurtomas
assignee:dagurtomas
5-41418
5 days ago
9-12945
9 days ago
10-84910
10 days
34954 brianrabern
author:brianrabern
feat(Combinatorics/SimpleGraph/Acyclic): add colorable and chromaticN… …umber bridges for acyclic and tree graphs Add thin bridge lemmas expressing that acyclic graphs (forests) and trees are 2-colorable, and that their chromatic number is at most 2, directly in terms of `Colorable` and `chromaticNumber`. The existing `IsAcyclic.isBipartite` already proves this via the definitional equality `IsBipartite = Colorable 2`, but these bridges improve discoverability for users who reason about `Colorable` or `chromaticNumber` without passing through `IsBipartite`. This is a first step toward building out the graph coloring API. New declarations: - `IsAcyclic.colorable_two` - `IsTree.colorable_two` - `IsAcyclic.chromaticNumber_le_two` - `IsTree.chromaticNumber_le_two` All are one-line proofs reusing existing results; no new imports needed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 16/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 1 ['github-actions'] nobody
4-65304
4 days ago
unknown
unknown
34598 A-M-Berns
author:A-M-Berns
feat(Geometry/Polygon): nondegeneracy conditions and interconversion with Affine.Triangle This PR implements suggestions provided in [this comment](https://github.com/leanprover-community/mathlib4/pull/34393#issuecomment-3810047384) by @jsm28: interconversion between `Polygon P 3` and `Affine.Triangle` as well as the nondegeneracy conditions `NondegenerateVertices` and `NondegenerateEdges`. I tried to keep typeclass restrictions as minimal as possible. --- new-contributor t-euclidean-geometry maintainer-merge 114/5 Mathlib/Geometry/Polygon/Basic.lean 1 17 ['A-M-Berns', 'github-actions', 'jcommelin', 'jsm28'] jsm28
assignee:jsm28
4-53533
4 days ago
4-52848
4 days ago
11-79629
11 days
33985 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`). --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-order 183/1 Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean 4 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
4-40933
4 days ago
8-27022
8 days ago
8-47231
8 days
34054 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s. --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order please-merge-master 168/0 Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] Vierkantor
assignee:Vierkantor
4-40932
4 days ago
8-28228
8 days ago
8-28001
8 days
33257 NickAdfor
author:NickAdfor
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) Prove bipartite iff all cycles are even This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length. Co-authored-by: Nick Adfor Co-authored-by: Yue Sun Co-authored-by: Aristotle AI --- ## Main results - `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem ## Key supporting lemmas - `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings - `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity - `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma - `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties ## Proof outline 1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color. 2. For cycles (start = end), this forces even length. 3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization. 4. Show this coloring is valid using bypass operations and path properties. ## Technical notes - Uses `SimpleGraph.Walk` for path/cycle representation - Handles both `IsPath` and `IsCycle` predicates - Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks - Requires `DecidableEq V` for some lemmas - Uses classical logic for case analysis ## Reviewer notes - The proof uses induction on walks and case analysis on colorings - Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations - All theorems are in the `SimpleGraph` namespace - The `bipartite_iff_all_cycles_even` theorem provides the complete characterization t-combinatorics new-contributor 164/8 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 70 ['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'kmill', 'mitchell-horner', 'vihdzp', 'vlad902'] nobody
4-39507
4 days ago
4-39915
4 days ago
12-40487
12 days
33668 Citronhat
author:Citronhat
feat(PMF): add lintegral formulas for PMF This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function: - `PMF.lintegral_eq_tsum` - `PMF.lintegral_eq_sum` These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability. In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. t-measure-probability new-contributor 14/5 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 2 ['DavidLedvinka', 'github-actions'] kex-y
assignee:kex-y
4-39395
4 days ago
36-45667
36 days ago
36-77118
36 days
33688 Citronhat
author:Citronhat
feat(PMF): add expectation lemmas for Poisson PMF This PR adds some basic results about the Poisson distribution, its `PMF`, and its expectation. **New lemmas:** * `poissonPMF_apply` — an unfolding lemma for `poissonPMF`. * `poissonPMFReal_mul_eq_succ_mul` — the standard recursion identity for the Poisson mass function. * `poissonPMFReal_hasSum_nmul` — shows that `fun n ↦ poissonPMFReal r n * n` has sum `r`. * `poissonPMF_tsum_nmul` — the corresponding identity at the level of the `PMF`. * `poissonPMF_coe_tsum_nmul` — the same result after coercion to `ℝ`. Both `ℝ`-valued and `ℝ≥0∞`-valued formulations are included so that these results can be used conveniently in both Lebesgue and Bochner integration contexts. new-contributor t-measure-probability 21/0 Mathlib/Probability/Distributions/Poisson.lean 1 6 ['Citronhat', 'DavidLedvinka', 'github-actions'] urkud
assignee:urkud
4-37639
4 days ago
35-51672
35 days ago
36-46934
36 days
34093 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 297/0 Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 4 5 ['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
3-41414
3 days ago
8-22783
8 days ago
8-22556
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 ℕ. t-measure-probability large-import new-contributor 110/1 Mathlib/Probability/Distributions/Poisson.lean 1 14 ['CoolRmal', 'DavidLedvinka', 'github-actions', 'huaizhangchu'] RemyDegenne
assignee:RemyDegenne
3-41409
3 days ago
7-5215
7 days ago
8-33243
8 days
34267 Brian-Nugent
author:Brian-Nugent
feat(Topology/Algebra): Add API for Sheaves of abelian groups in preparation for proving results on sheaf cohomology. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 108/1 Mathlib.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean 4 19 ['Brian-Nugent', 'dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
3-23334
3 days ago
3-22496
3 days ago
16-64862
16 days
33662 Pjotr5
author:Pjotr5
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants ### Summary - Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`. The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`). This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`). - Add strict-inequality variants: `expect_lt_expect`, `expect_lt`, `lt_expect`. - Add existence lemmas: `exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`, and `exists_lt_of_expect_lt_expect`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
46/16 Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean 2 1 ['github-actions'] thorimur
assignee:thorimur
2-85695
2 days ago
2-84356
2 days ago
37-5180
37 days
34830 parabamoghv
author:parabamoghv
feat(CategoryTheory/Monoidal): add definition of categorical groups This PR defines of categorical groups, also known as coherent 2-groups, in mathlib. Motivation: Categorical groups are well-studied structures in monoidal category theory, but are not currently available in mathlib. The definitions in this PR follow the existing design patterns used for Category, MonoidalCategory, and BraidedCategory. This PR focuses on setting up the core structure and notation. Basic lemmas and further developments will be provided in a subsequent PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory new-contributor 178/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/CategoricalGroups/Basic.lean 2 4 ['github-actions', 'parabamoghv'] robin-carlier
assignee:robin-carlier
2-68708
2 days ago
2-68068
2 days ago
3-71554
3 days
32355 bjornsolheim
author:bjornsolheim
feat(Geometry/Convex/Cone): define and characterize simplicial pointed cones Define simplicial pointed cones. Prove three lemmas about simplicial and generating simplicial cones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry new-contributor 55/0 Mathlib.lean,Mathlib/Geometry/Convex/Cone/Simplicial.lean 2 52 ['YaelDillies', 'artie2000', 'bjornsolheim', 'github-actions'] YaelDillies
assignee:YaelDillies
2-55512
2 days ago
2-55418
2 days ago
62-72837
62 days
34777 sqrt-of-2
author:sqrt-of-2
feat(Combinatorics/SetFamily/Intersecting): Define ℓ-intersecting families and establish their basic properties Define ℓ-intersecting families and establish their basic properties. A family of finsets is ℓ-intersecting if every pair of members intersects in at least ℓ elements. From LeanCamCombi. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 60/0 Mathlib/Combinatorics/SetFamily/Intersecting.lean 1 7 ['YaelDillies', 'b-mehta', 'github-actions'] b-mehta
assignee:b-mehta
2-55118
2 days ago
8-72297
8 days ago
8-72070
8 days
34551 IlPreteRosso
author:IlPreteRosso
refactor(Data.Finset.*Antidiagonal): rename defs to `set*Antidiagonal` and deprecate old names in namespace Finset Main file is [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html). Adds `Finset.HasMulAntidiagonal`, the multiplicative counterpart to `HasAntidiagonal`, linked via `@[to_additive existing]`. Split PR (current changes): This PR renames the set-based antidiagonal definitions to have a `set` prefix, distinguishing them from the typeclass-based API in `Prod.lean`. **Only definitions are renamed in this PR.** Theorem/lemma renames will follow in a subsequent PR. [MulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/MulAntidiagonal.lean) - `mulAntidiagonal` → `setMulAntidiagonal` - `addAntidiagonal` → `setAddAntidiagonal` (via `@[to_additive]`) [SMulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/SMulAntidiagonal.lean) - `SMulAntidiagonal` → `setSMulAntidiagonal` - `VAddAntidiagonal` → `setVAddAntidiagonal` (via `@[to_additive]`) Propagates to: - `Mathlib/RingTheory/HahnSeries/Multiplication.lean` - `Mathlib/RingTheory/HahnSeries/Summable.lean` --- Added deprecation aliases for the renamed definitions. [Finset/MulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/MulAntidiagonal.lean) ``` @[to_additive (attr := deprecated setAddAntidiagonal (since := "2026-01-31")), deprecated setMulAntidiagonal (since := "2026-01-31")] alias mulAntidiagonal := setMulAntidiagonal ``` [Finset/SMulAntidiagonal.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finset/SMulAntidiagonal.lean) ``` @[to_additive (attr := deprecated setVAddAntidiagonal (since := "2026-01-31")), deprecated setSMulAntidiagonal (since := "2026-01-31")] alias smulAntidiagonal := setSMulAntidiagonal ``` Propagates: [PointwiseSMul.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Data/Finsupp/PointwiseSMul.lean) - updated to use Set.vaddAntidiagonal (the original Set name) --- Full changes to be made: For a monoid `M`, `mulAntidiagonal n` returns the finset of pairs `(i, j)` such that `i * j = n`. [MulAntidiagonal.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/MulAntidiagonal.html) - `mulAntidiagonal` → `setMulAntidiagonal` - `addAntidiagonal` → `setAddAntidiagonal` (via `@[to_additive]`) - All related theorems renamed accordingly: - `mem_setMulAntidiagonal` - `setMulAntidiagonal_mono_left`/`setMulAntidiagonal_mono_right` - `swap_mem_setMulAntidiagonal` - `support_setMulAntidiagonal_subset_mul` - `isPWO_support_setMulAntidiagonal` - `setMulAntidiagonal_min_mul_min` [SMulAntidiagonal.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finset/SMulAntidiagonal.html) - `setSMulAntidiagonal` (lowercase `set` prefix) - `setVAddAntidiagonal` (via `@[to_additive setVAddAntidiagonal ...]`) - All related theorems use lowercase `set` prefix: - `mem_setSMulAntidiagonal` / `mem_setVAddAntidiagonal` - `setSMulAntidiagonal_mono_left`/`setSMulAntidiagonal_mono_right` / `setVAddAntidiagonal_mono_left`/`setVAddAntidiagonal_mono_right` - `support_setSMulAntidiagonal_subset_smul` / `support_setVAddAntidiagonal_subset_vadd` - `isPWO_support_setSMulAntidiagonal` / `isPWO_support_setVAddAntidiagonal` - `setSMulAntidiagonal_min_smul_min` / `setVAddAntidiagonal_min_vadd_min` [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html) - Added explicit `@[to_additive]` target names: - `@[to_additive antidiagonal_congr ...]` for `mulAntidiagonal_congr` - `@[to_additive (attr := ext) antidiagonal_subtype_ext ...]` for `mulAntidiagonal_subtype_ext` - `@[to_additive antidiagonal_congr' ...]` for `mulAntidiagonal_congr'` - `@[to_additive (attr := simps) sigmaAntidiagonalEquivProd ...]` for `sigmaMulAntidiagonalEquivProd` [Multiplication.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/Multiplication.html) - Updated all VAdd antidiagonal references to use lowercase `set` prefix: - `setVAddAntidiagonal` - `mem_setVAddAntidiagonal` - `setVAddAntidiagonal_mono_left`/`setVAddAntidiagonal_mono_right` - `isPWO_support_setVAddAntidiagonal` - `support_setVAddAntidiagonal_subset_vadd` - `setVAddAntidiagonal_min_vadd_min` - Updated all Add antidiagonal references: - `mem_setAddAntidiagonal` - `swap_mem_setAddAntidiagonal` [Summable.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/Summable.html) - `setVAddAntidiagonal` references updated - `mem_setAddAntidiagonal` references updated [PowerSeries.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/HahnSeries/PowerSeries.html) - `mem_addAntidiagonal` → `mem_setAddAntidiagonal` t-algebra new-contributor
label:t-algebra$
67/47 Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/Set/MulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean 6 6 ['IlPreteRosso', 'Ruben-VandeVelde', 'github-actions', 'kim-em', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-54425
2 days ago
2-52141
2 days ago
13-16477
13 days
28246 Sebi-Kumar
author:Sebi-Kumar
feat(AlgebraicTopology/FundamentalGroupoid): the n-sphere is simply connected for n > 1 Prove that the `n`-dimensional sphere (i.e., the unit sphere centered at the origin in `(n + 1)`-dimensional real Euclidean space) is a simply connected space for `n > 1`. This proof follows Hatcher's "Algebraic Topology"; we first prove a general lemma about decomposing loops and then exploit the fact that non-surjective loops in the sphere are homotopically trivial. Note: To get this file to build, I edited `Mathlib/Tactic/Linter/DirectoryDependency.lean` to remove the restrictions on AlgebraicTopology files importing Geometry, NumberTheory, and FieldTheory files. Thank you to those who shared their expertise [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Warning.20that.20AlgebraicTopology.20can't.20import.20SetTheory/with/533833638). As I understand it, this is just a short-term solution, so I would appreciate feedback on what to do about this situation. Note: I am unsure where exactly the file `SimplyConnectedSphere.lean` should go or whether that is an appropriate name for the file, so feedback there would be appreciated. --- To provide additional context, this code was written as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. - [x] depends on: #28208 - [x] depends on: #28198 - [x] depends on: #28185 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology new-contributor 343/3 Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] robin-carlier
assignee:robin-carlier
2-41156
2 days ago
5-70225
5 days ago
5-69998
5 days
34026 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial): add mainVariable Add `mainVariable` of `MvPolynomial`, the largest variable index appearing in the polynomial. Main Theorems: * `mainVariable_eq_bot_iff_eq_C` * `mainVariable_sum_le` * `mainVariable_prod_le` * `degreeOf_eq_zero_of_mainVariable_lt` 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/) t-algebra new-contributor
label:t-algebra$
147/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/MainVariable.lean 2 1 ['github-actions'] mattrobball
assignee:mattrobball
2-41153
2 days ago
27-26235
27 days ago
27-26008
27 days
34854 GrigorenkoPV
author:GrigorenkoPV
chore(Combinatorics/Enumerative/Catalan): split into `Basic` & `Tree` --- Split off from #34853 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 227/194 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean 6 2 ['SnirBroshi', 'github-actions'] thorimur
assignee:thorimur
2-41141
2 days ago
6-724
6 days ago
7-49226
7 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfProdDomain This PR continues the work from #16743. Original PR: https://github.com/leanprover-community/mathlib4/pull/16743 --- - [x] depends on: #28352 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 269/157 Mathlib.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 4 27 ['agjftucker', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] hrmacbeth
assignee:hrmacbeth
2-16873
2 days ago
2-15986
2 days ago
64-64531
64 days
32744 NoneMore
author:NoneMore
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas. The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable. There are also some tool lemmas derived by the preimage lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 147/0 Mathlib/ModelTheory/Definability.lean 1 59 ['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] awainverse
assignee:awainverse
2-10909
2 days ago
34-19084
34 days ago
54-48552
54 days
35011 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Copy): add degree of copy less than original add two theorems relating degree of a graph and it's copy t-combinatorics new-contributor 17/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 2 ['github-actions', 'themathqueen'] nobody
2-10630
2 days ago
2-9961
2 days ago
3-13595
3 days
33709 wangying11123
author:wangying11123
feat(Analysis/Convex/Between): betweenness from differences on the same ray Add `wbtw_of_sameRay_vsub_left`, saying that if the vectors from a point x to points y and z lie on the same ray, then y is weakly between x and z, or z is weakly between x and y. new-contributor t-convex-geometry 24/0 Mathlib/Analysis/Convex/Between.lean 1 9 ['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'grunweg', 'wangying11123'] nobody
2-8959
2 days ago
24-77099
24 days ago
34-83936
34 days
33118 thomaskwaring
author:thomaskwaring
feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree. --- Each of these results (spanning forest & spanning tree) are proved in two versions: a general case where the forest / tree is found by extending a given acyclic subgraph, and the special case where that subgraph is empty. - [ ] depends on: #32043 new-contributor t-combinatorics 29/5 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 6 ['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thomaskwaring', 'vlad902'] b-mehta
assignee:b-mehta
2-8690
2 days ago
39-38046
39 days ago
40-23994
40 days
34966 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory): add `IntegrableOn. tendsto_primitive_` over `Ioi/Iio` and `IntegrableOn.continuousOn_primitive_` over `Ioi/Iio/Ici/Iic` This PR mainly proves: - `IntegrableOn.tendsto_primitive_` over `Ioi/Iio` - `IntegrableOn.continuousWithinAt_primitive_` over `Ioi/Iio` - `IntegrableOn.continuousOn_primitive_` over `Ioi/Iio/Ici/Iic` - `IntegrableOn.tendsto_integral_` over `Ioi/Iio/Ici/Iic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 204/1 Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Order/Interval/Set/LinearOrder.lean 3 6 ['CoolRmal', 'Deep0Thinking', 'github-actions'] nobody
1-73823
1 day ago
3-9374
3 days ago
4-2853
4 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-group-theory new-contributor 85/2 Mathlib/GroupTheory/DoubleCoset.lean 1 40 ['CBirkbeck', 'Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'kim-em', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'tb65536'] mariainesdff
assignee:mariainesdff
1-60831
1 day ago
2-74401
2 days ago
100-22122
100 days
35100 stepan2698-cpu
author:stepan2698-cpu
feat: definition of a character of a representation This PR begins to transfer definitions and theorems about characters from `FDRep` to `Representation`. Once #34888 is merged, the theorems involving isomorphisms of representations will be appropriately restated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
57/0 Mathlib/RepresentationTheory/Character.lean 1 1 ['github-actions'] nobody
1-56809
1 day ago
1-56142
1 day ago
1-55915
1 day
26479 thefundamentaltheor3m
author:thefundamentaltheor3m
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis sphere-packing 205/0 Mathlib/Analysis/Complex/CauchyIntegral.lean 1 5 ['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'thefundamentaltheor3m', 'wwylele'] urkud
assignee:urkud
1-46501
1 day ago
21-62526
21 days ago
21-62299
21 days
34936 BryceT233
author:BryceT233
feat(RingTheory/AdicCompletion): completeness of adic completion Following https://stacks.math.columbia.edu/tag/05GG, this PR formalized that `AdicCompletion I M` is `I`-adically complete when the ideal `I` is finitely generated. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor large-import 383/21 Mathlib.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/LinearAlgebra/Finsupp/Span.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Completeness.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 8 14 ['BryceT233', 'erdOne', 'github-actions'] nobody
1-45831
1 day ago
1-44240
1 day ago
3-12294
3 days
34481 DAE123456
author:DAE123456
feat: Ore's Theorem Ore Theorem : Let G be a graph of order n ≥ 3 that satisfies the Ore property. Then G has a Hamilton cycle. t-combinatorics new-contributor 3372/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Ore.lean 2 25 ['DAE123456', 'LLaurance', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'kim-em', 'tb65536', 'vlad902'] b-mehta
assignee:b-mehta
1-41260
1 day ago
10-8920
10 days ago
13-56471
13 days
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): add --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-data 34/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 4 ['GrigorenkoPV', 'github-actions', 'joneugster', 'plp127'] TwoFX
assignee:TwoFX
1-41256
1 day ago
9-81093
9 days ago
9-80866
9 days
34773 semaraugusto
author:semaraugusto
Feat(InformationTheory/Entropy): Adds generic Shannon Entropy definition for probability mass functions Add Shannon entropy for probability mass functions This PR defines the Shannon entropy of a probability mass function as an ℝ-valued infinite sum using `Real.negMulLog`, and proves basic properties and standard computations. Main results include: * entropy is nonnegative; * entropy vanishes iff the PMF is deterministic (`PMF.pure`); * entropy is strictly positive for non-pure PMFs; * entropy of a Bernoulli PMF coincides with `Real.binEntropy`; * entropy of uniform distributions is `log` of the cardinality, both for `PMF.uniformOfFintype` and `PMF.uniformOfFinset`. Several small helper lemmas isolate technical arguments about supports, coercions from `ℝ≥0∞`, and bounds on infinite sums, in order to keep the main proofs readable. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 277/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/InformationTheory/Entropy.lean 3 2 ['github-actions'] sgouezel
assignee:sgouezel
1-41254
1 day ago
8-74635
8 days ago
8-74793
8 days
34851 dennj
author:dennj
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization: - `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i` - `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x` - `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i` These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). t-data new-contributor 18/0 Mathlib/Data/Matrix/Mul.lean 1 4 ['eric-wieser', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
1-41251
1 day ago
7-54916
7 days ago
7-54689
7 days
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings t-algebra new-contributor
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 10 ['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
1-41245
1 day ago
5-19443
5 days ago
6-71670
6 days
34914 jvanwinden
author:jvanwinden
feat(Analysis/Normed/Module/FiniteDimension): add lemmas on IsTheta and summability IsTheta.summable_iff is a natural generalization of IsEquivalent.summable_iff. Some adjacent lemmas now become direct consequences. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 26/7 Mathlib/Analysis/Normed/Module/FiniteDimension.lean 1 8 ['github-actions', 'jvanwinden', 'vihdzp', 'wwylele'] urkud
assignee:urkud
1-41243
1 day ago
4-66230
4 days ago
5-77214
5 days
34943 rao107
author:rao107
chore(Probability): Eliminate non-terminal simp --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor easy 2/3 Mathlib/Probability/Distributions/Exponential.lean 1 2 ['github-actions', 'rao107'] sgouezel
assignee:sgouezel
1-41239
1 day ago
5-19572
5 days ago
5-19345
5 days
34742 Brian-Nugent
author:Brian-Nugent
feat(SheafCohomology): add API for Sheaf Cohomology Defines the long exact sequence on cohomology associated to a short exact sequence of sheaves `H.longSequence`. Also defines `H.equiv₀`, the additive equivalence between `H F 0` and `((sheafSections J AddCommGrpCat).obj (op T)).obj F` when the category has a terminal object `T`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-category-theory 76/0 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 2 11 ['Brian-Nugent', 'adamtopaz', 'github-actions', 'joneugster'] adamtopaz
assignee:adamtopaz
1-38531
1 day ago
1-37870
1 day ago
9-35543
9 days
34159 wangying11123
author:wangying11123
feat(Geometry/Euclidean/Similarity): Add Triangle similarity on oangle Add theorems about triangles similarity on oangle t-euclidean-geometry new-contributor 154/1 Mathlib/Geometry/Euclidean/Similarity.lean 1 5 ['LLaurance', 'github-actions', 'wangying11123'] jsm28
assignee:jsm28
1-33159
1 day ago
1-32496
1 day ago
7-7793
7 days
35058 GrigorenkoPV
author:GrigorenkoPV
chore: move tendsto_{floor,ceil}_at{Top,Bot} Moves: - Topology.Algebra.Order.Floor.tendsto_floor_atTop -> Order.Filter.AtTopBot.Floor.tendsto_floor_atTop - Topology.Algebra.Order.Floor.tendsto_floor_atBot -> Order.Filter.AtTopBot.Floor.tendsto_floor_atBot - Topology.Algebra.Order.Floor.tendsto_ceil_atTop -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atTop - Topology.Algebra.Order.Floor.tendsto_ceil_atBot -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atBot --- Tracked in #7987 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import 22/25 Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean 2 1 ['github-actions'] nobody
1-9349
1 day ago
1-9349
1 day ago
1-9122
1 day
34295 Yu-Misaka
author:Yu-Misaka
chore: drop `PartialOrder` in `IsOrderedMonoid` instances This PR attempts to remove `PartialOrder` assumption in `IsOrderedMonoid`. The main objective is to make [Finsupp.sum_le_sum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Order.html#Finsupp.sum_le_sum) available for preorder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 149/123 Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Associated.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/TypeTags.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/AtTopBot/Monoid.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/Order/UpperLower.lean 32 14 ['Citronhat', 'Yu-Misaka', 'copilot-pull-request-reviewer', 'github-actions', 'leanprover-radar'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
1-7218
1 day ago
1-3784
1 day ago
19-65133
19 days
35017 robo7179
author:robo7179
feat(Combinatorics/SimpleGraph/Acyclic): add every nontrivial tree has atleast two leaves Added two theorems to prove that every non trivial tree has atleast two leaves (one in Finite the other in Acyclic). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 163/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 2 ['github-actions'] nobody
1-759
1 day ago
1-62824
1 day ago
1-63857
1 day
34838 mkaratarakis
author:mkaratarakis
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 2/4) --- Required for https://github.com/leanprover-community/mathlib4/pull/33050 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 13/0 Mathlib/Analysis/Analytic/Order.lean 1 1 ['github-actions'] sgouezel
assignee:sgouezel
0-82672
22 hours ago
0-81852
22 hours ago
7-80184
7 days
35029 homeowmorphism
author:homeowmorphism
feat(Algebra/Group/Subgroup/Basic): the normal closure of an empty set is the trivial subgroup feat(Algebra/Group/Subgroup/Basic): the normal closure of an empty set is the trivial subgroup. This is a dependency of a larger PR to formalize finitely presented groups https://github.com/leanprover-community/mathlib4/pull/34236. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
7/0 Mathlib/Algebra/Group/Subgroup/Basic.lean 1 5 ['copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'plp127'] nobody
0-80351
22 hours ago
0-79360
21 hours ago
2-70151
2 days
35122 Marygold-Dusk
author:Marygold-Dusk
feat: define C^n submersions This PR defines submersions between C^n manifolds. In the infinite-dimensional setting, submersions are defined via local normal forms rather than surjectivity of the mfderiv. A map f is a submersion at x if, in suitable charts around x and f x, it has the form (u, v) ↦ u after identifying the model space with a product. We prove a few basic properties: - being a submersion is a local property, - products of submersions are submersions, - the set of submersed points is open Future PRs will prove that submersions are C^n and deduce equivalence with the standard definition in finite dimensions. From the path towards the regular value theorem. This file was developed under the supervision of Michael Rothgang. Co-authored-by: Michael Rothgang --- Most of the design is analogues to submersions. t-differential-geometry new-contributor 596/0 Mathlib.lean,Mathlib/Geometry/Manifold/Submersion.lean 2 2 ['github-actions'] grunweg
assignee:grunweg
0-77676
21 hours ago
0-77053
21 hours ago
0-77818
21 hours
34108 elazarg
author:elazarg
feat(InformationTheory/Coding): Kraft-McMillan inequality for uniquely decodable codes This PR introduces the basic definition of uniquely decodable codes and proves the [Kraft-McMillan inequality](https://en.wikipedia.org/wiki/Kraft%E2%80%93McMillan_inequality), a fundamental result in noiseless coding theory. The results live in the `InformationTheory` namespace, in the directory `InformationTheory/Coding`. #### Main definitions * `InformationTheory.UniquelyDecodable`: a set of codewords is uniquely decodable if concatenation is injective on finite lists of codewords. #### Main results * `InformationTheory.kraft_mcmillan_inequality`: for any finite uniquely decodable code `S` over an alphabet of size `D`, $\sum_{w \in S} D^{-|w|} \le 1.$ * `InformationTheory.UniquelyDecodable.epsilon_not_mem`: uniquely decodable codes cannot contain the empty string. t-measure-probability new-contributor 240/0 Mathlib.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/InformationTheory/Coding/KraftMcMillan.lean,Mathlib/InformationTheory/Coding/UniquelyDecodable.lean 4 50 ['YuvalFilmus', 'dupuisf', 'elazarg', 'github-actions', 'metakunt', 'vlad902'] dupuisf
assignee:dupuisf
0-65548
18 hours ago
1-42399
1 day ago
11-68303
11 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. Depends on PR #34598 --- new-contributor 431/5 Mathlib.lean,Mathlib/Geometry/Polygon/Basic.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean 4 15 ['A-M-Berns', 'github-actions', 'vihdzp', 'wwylele'] nobody
0-48291
13 hours ago
0-47126
13 hours ago
1-55593
1 day
34888 stepan2698-cpu
author:stepan2698-cpu
feat: definition of equivalence of representations Defines equivalence of representations, and defines an equivalence between $$\mathrm{Hom}(V, W)$$ and $$V^* \otimes W$$ as representations. This is a missing piece to respell all of the results in Character.lean without using category-theoretic notions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
60/0 Mathlib/RepresentationTheory/Intertwining.lean 1 2 ['github-actions', 'plp127'] ocfnash
assignee:ocfnash
0-41420
11 hours ago
4-41838
4 days ago
6-48786
6 days
34940 michaellee94
author:michaellee94
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 227/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean 2 56 ['botbaki-review', 'github-actions', 'grunweg', 'michaellee94'] ocfnash
assignee:ocfnash
0-41417
11 hours ago
4-31109
4 days ago
4-73078
4 days
35118 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce truncFinset to unify truncations Resolves the TODO in MvPowerSeries/Trunc.lean by implementing a general truncation map `truncFinset`, which paves the way for unifying strict and non-strict truncations and defining other truncations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 121/130 Mathlib/RingTheory/MvPowerSeries/Trunc.lean 1 5 ['BryceT233', 'github-actions', 'wwylele'] nobody
0-34073
9 hours ago
0-33126
9 hours ago
1-9015
1 day
34937 tannerduve
author:tannerduve
feat(Computability): semilattice instance on Turing degrees This PR equips `TuringDegree` with a `SemilatticeSup` structure by introducing the Turing join, proving usual least-upper-bound properties, and lifting these to degrees (quotients). In support of this, it extends the existing `RecursiveIn` API with some lemmas used in the degree theory. The main contribution is the `SemilatticeSup` instance on `TuringDegree`. We define the Turing join as follows ``` turingJoin (f g) : ℕ → ℕ -- notation: f ⊕ g ``` and prove it is a least upper bound: * `left_le_join`, `right_le_join` * `join_le` * monotonicity and congruence lemmas (`join_mono`, `join_congr`) We lift this to degrees in `TuringDegree.sup`, `TuringDegree.le_sup_left`, `TuringDegree.le_sup_right`, and `TuringDegree.sup_le` ``` instance : SemilatticeSup TuringDegree ``` **New additions to `RecursiveIn.lean`:** - `liftPrim`, `liftPrimrec`, `RecursiveIn'`, `ComputableIn`, `ComputableIn₂`: Encodes partial/total functions between `Primcodable` types as `ℕ →. ℕ`, analogous to `Partrec`/`Computable`. - `of_eq`, `of_eq_tot`, `of_primrec`, `some`, `none`, `mono`, `subst`: Standard closure properties for `RecursiveIn`. - `cond_const`, `cond_core_rfind`, `cond`, `ComputableIn.cond`: Shows `RecursiveIn` is closed under conditionals when the guard is absolutely computable - `Nat.Partrec.recursiveIn`, `Computable.computableIn`: Every partrec/computable function is recursive in any oracle set. Small addition to `Partrec` we add to `Mathlib.Computability.Partrec` a small helper def (`Partrec.kronecker` and related `rfind` lemmas) representing the function that returns 1 if its two (unpaired) arguments are equal, and 0 otherwise, which is used in the proof of `cond` ## TODO Some current `RecursiveIn` proofs such as `cond_core_rfind` still work directly with the inductive constructors and are thus very long. A follow up could add a combinator-style closure library byessentially relativizing all the results and lemmas in `Partrec`, and proofs could be golfed heavily as they are in `Partrec` ## Note: AI Usage [Aleph prover](https://logicalintelligence.com/aleph-coding-ai/) was allowed to prove an earlier version of `cond_core_rfind`, which included stating and proving the lemma `cond_const` but the proofs have since been iterated on manually Cursor was allowed to run git commands and edit docstrings/headers, and was used in setting up the module structure of the files t-computability new-contributor large-import 644/63 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 12 ['eric-wieser', 'github-actions', 'tannerduve', 'vihdzp'] nobody
0-29166
8 hours ago
0-28503
7 hours ago
4-33969
4 days
33188 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce rename This file establishes the `rename` operation on multivariate power series under a map with finite fibers, which modifies the set of variables. This file is patterned after `MvPolynomials/Rename.lean` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory large-import 432/1 Mathlib.lean,Mathlib/Data/Finsupp/Antidiagonal.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean 7 26 ['BryceT233', 'Komyyy', 'erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] erdOne and riccardobrasca
assignee:riccardobrasca assignee:erdOne
0-20939
5 hours ago
0-18715
5 hours ago
26-85069
26 days
33895 jessealama
author:jessealama
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set This PR shows that several list operations from Lean core are primitive recursive: - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via iterating `List.tail` using `nat_iterate` - `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via `list_drop` on the reversed list - `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) - `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean) The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations: - `list_modify` specializes `list_modify'` with `β = Unit` - `list_set` uses `list_modify'` via `List.set_eq_modify` Also moves `list_length` earlier in the file (before `list_drop` and `list_take`, which depend on it). new-contributor t-computability 48/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
0-6906
1 hour ago
0-6181
1 hour ago
28-6276
28 days
35174 nielsvoss
author:nielsvoss
feat(Analysis/InnerProductSpace): a linear map composed with its adjoint is symmetric Add theorems about `LinearMap.IsSymmetric` that match some theorems for `LinearMap.IsPositive`. Mathlib contains stronger versions of some of these, like `LinearMap.IsPositive.self_comp_adjoint`, but having a dedicated version for `LinearMap.IsSymmetric` is advantageous, especially when used with `LinearMap.IsSymmetric.eigenvalues`. --- One thing that I am uncertain about is if I should add similar lemmas for `ContinuousLinearMap` to even better match the `IsPositive` API, and if so, whether these theorems should be stated in terms of `IsSymmetric` or `IsSelfAdjoint`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 26/1 Mathlib/Analysis/InnerProductSpace/Adjoint.lean 1 2 ['github-actions'] nobody
0-6866
1 hour ago
0-6194
1 hour ago
0-5967
1 hour
35097 pevogam
author:pevogam
feat: add a LE version Rat.lt_one_iff_num_le_denom theorem The following is more useful due to the partial order application of LE in comparison to LT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
2/0 Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean 1 5 ['github-actions', 'pevogam', 'wwylele'] nobody
0-5199
1 hour ago
1-14136
1 day ago
1-52486
1 day

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
34902 Hagb
author:Hagb
doc: replace `{Add,}MonoidHom.mrange_restrict` with `{Add,}MonoidHom.mrangeRestrict` `{Add,}MonoidHom.mrange_restrict` are old Mathlib3 spellings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-algebra easy
label:t-algebra$
2/2 Mathlib/Algebra/Group/Submonoid/Operations.lean 1 1 ['github-actions', 'wwylele'] dagurtomas
assignee:dagurtomas
2-41135
2 days ago
6-29733
6 days ago
6-29506
6 days
35067 bustercopley
author:bustercopley
style(RingTheory/PowerSeries/Derivative): prove derivative_pow from Derivation.leibniz_pow --- Firstly prove `derivative_pow` from the more general `Derivation.leibniz_pow` (because I think this is more illuminating), and secondly generalize `derivative_pow` to `CommSemiring`. The two are independent, in that the texts of the original and modified proofs both work fine, with either hypothesis. t-ring-theory easy 4/10 Mathlib/RingTheory/PowerSeries/Derivative.lean 1 3 ['bustercopley', 'github-actions'] nobody
2-38488
2 days ago
2-37318
2 days ago
2-37739
2 days
34943 rao107
author:rao107
chore(Probability): Eliminate non-terminal simp --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor easy 2/3 Mathlib/Probability/Distributions/Exponential.lean 1 2 ['github-actions', 'rao107'] sgouezel
assignee:sgouezel
1-41239
1 day ago
5-19572
5 days ago
5-19345
5 days
35167 morrison-daniel
author:morrison-daniel
chore(LinearAlgebra/{ExteriorAlgebra,ExteriorPower}): refactor `ExteriorAlgebra.ιMulti_family` and `exteriorPower.ιMulti_family` to use `Set.powersetCard` Rewrites `ExteriorAlgebra.ιMulti_family` and `exteriorPower.ιMulti_family` to use `Set.powersetCard` instead of an explicit subtype. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
47/7 Mathlib.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/Order/Hom/PowersetCard.lean 4 1 ['github-actions'] nobody
0-21791
6 hours ago
0-21772
5 hours ago
0-21545
5 hours
35169 loefflerd
author:loefflerd
feat(NumberTheory/ModularForms): remove unnecessary instance arguments Adjust proof of `isCusp_of_mem_strictPeriods` to get rid of two unnecessary instance arguments. --- (All changes outside that one lemma are just getting rid of now-unnecessary hypotheses where that lemma is used later.) Spotted while reviewing #32959. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory easy maintainer-merge 34/39 Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean 2 4 ['copilot-pull-request-reviewer', 'github-actions', 'grunweg', 'loefflerd'] nobody
0-6196
1 hour ago
0-8286
2 hours ago
0-8630
2 hours

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
34143 Parcly-Taxel
author:Parcly-Taxel
chore: make Dyck word definitions public * `equivTreeToFun` -> `toTree` * `equivTreeInvFun` -> `ofTree` Also remove the two `unusedHavesSuffices` nolints from a time when the linter was not as discerning. t-combinatorics tech debt maintainer-merge 29/51 Mathlib/Combinatorics/Enumerative/DyckWord.lean 1 12 ['Komyyy', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'vihdzp'] jcommelin
assignee:jcommelin
3-41413
3 days ago
9-12556
9 days ago
23-73425
23 days