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 07:44 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-24197
1 month ago
38-62358
38 days ago
38-61894
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
34-75168
1 month ago
34-74295
34 days ago
106-43510
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-28397
1 month ago
31-27602
31 days ago
82-14793
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-24195
30 days ago
33-58870
33 days ago
34-2744
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-24173
29 days ago
47-4410
47 days ago
48-25848
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-24169
29 days ago
39-39899
39 days ago
39-39435
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-63686
28 days ago
28-61975
28 days ago
65-55904
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
25-85437
25 days ago
25-83451
25 days ago
79-81636
79 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-63845
25 days ago
25-69396
25 days ago
31-62868
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-26662
24 days ago
28-58019
28 days ago
33-61807
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-12734
23 days ago
25-10621
25 days ago
25-12601
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-21713
22 days ago
22-22279
22 days ago
43-25822
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
21-81337
21 days ago
31-24700
31 days ago
31-29304
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
21-72569
21 days ago
29-56340
29 days ago
29-55876
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-59296
21 days ago
21-56779
21 days ago
33-57271
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-31117
21 days ago
22-69170
22 days ago
53-33191
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-24171
21 days ago
27-14836
27 days ago
27-17037
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-38515
20 days ago
48-34902
48 days ago
49-11542
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
18-72377
18 days ago
18-71540
18 days ago
62-15112
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-43402
18 days ago
18-42559
18 days ago
18-42095
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-28087
18 days ago
18-27002
18 days ago
63-82465
63 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-24182
18 days ago
28-25103
28 days ago
41-51482
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-24174
18 days ago
22-71857
22 days ago
22-79121
22 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-24173
18 days ago
23-37386
23 days ago
23-36922
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-56228
17 days ago
17-61202
17 days ago
57-34957
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-38100
17 days ago
24-44748
24 days ago
24-44284
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-24179
17 days ago
20-35964
20 days ago
24-49104
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-51682
16 days ago
48-48826
48 days ago
48-48362
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-44669
16 days ago
16-77927
16 days ago
28-54984
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-38795
16 days ago
16-40927
16 days ago
20-24788
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-24176
16 days ago
16-37169
16 days ago
20-4790
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-5308
16 days ago
16-2700
16 days ago
16-49362
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
14-82638
14 days ago
14-81777
14 days ago
40-73846
40 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
14-70390
14 days ago
14-69543
14 days ago
25-52341
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
14-69731
14 days ago
14-68192
14 days ago
20-37805
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
14-69239
14 days ago
14-68385
14 days ago
20-38057
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-34504
14 days ago
14-33830
14 days ago
19-61553
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-24157
14 days ago
27-32256
27 days ago
34-45432
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-24154
14 days ago
23-43050
23 days ago
23-65427
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-17189
14 days ago
16-35318
16 days ago
24-80789
24 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
13-78010
13 days ago
17-30962
17 days ago
17-30498
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-63493
13 days ago
43-21321
43 days ago
43-20857
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-46726
13 days ago
13-45558
13 days ago
75-7047
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-46128
13 days ago
13-45206
13 days ago
24-77242
24 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-42623
13 days ago
13-39545
13 days ago
23-31584
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-39783
13 days ago
13-38859
13 days ago
20-1241
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-38270
13 days ago
13-37379
13 days ago
38-54961
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-24170
13 days ago
22-3170
22 days ago
32-39912
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-24167
13 days ago
21-26146
21 days ago
21-40697
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-24164
13 days ago
18-34505
18 days ago
18-34041
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-2174
13 days ago
13-78638
13 days ago
14-21556
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-64545
12 days ago
27-14211
27 days ago
27-13747
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-24177
12 days ago
16-62935
16 days ago
25-37771
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
11-81117
11 days ago
12-29069
12 days ago
12-28605
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-36320
11 days ago
13-37820
13 days ago
47-4431
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-35991
11 days ago
14-79562
14 days ago
18-64203
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-35956
11 days ago
17-55171
17 days ago
17-54707
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-24128
11 days ago
15-1190
15 days ago
39-71409
39 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-24127
11 days ago
14-84101
14 days ago
14-83637
14 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-24123
11 days ago
15-53523
15 days ago
15-53059
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-24120
11 days ago
14-61799
14 days ago
14-64833
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
10-74951
10 days ago
22-49305
22 days ago
22-48841
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
10-74804
10 days ago
19-29852
19 days ago
19-69716
19 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-58611
10 days ago
10-57795
10 days ago
41-67051
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-53467
10 days ago
10-52716
10 days ago
29-29153
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-42915
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-24154
10 days ago
13-58706
13 days ago
15-37907
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-24144
10 days ago
13-29108
13 days ago
13-28644
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-5626
10 days ago
21-29124
21 days ago
22-59870
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-68430
9 days ago
9-69649
9 days ago
9-83384
9 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-55799
9 days ago
9-61018
9 days ago
16-32339
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-24146
9 days ago
13-58838
13 days ago
16-12920
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-59488
8 days ago
9-62852
9 days ago
11-19134
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-57969
8 days ago
18-59387
18 days ago
18-58923
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-54323
8 days ago
8-54323
8 days ago
8-53859
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-33937
8 days ago
8-33937
8 days ago
60-64477
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-32764
8 days ago
8-32764
8 days ago
61-1325
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-24153
8 days ago
11-45142
11 days ago
11-45963
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-14637
8 days ago
8-13152
8 days ago
58-65247
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-2073
8 days ago
8-862
8 days ago
104-82362
104 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-53043
7 days ago
7-52421
7 days ago
16-52716
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-40568
7 days ago
7-39697
7 days ago
12-37457
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-19110
7 days ago
11-5099
11 days ago
11-33385
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-19109
7 days ago
11-79340
11 days ago
14-598
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-19107
7 days ago
11-15501
11 days ago
12-16596
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-19105
7 days ago
10-86372
10 days ago
10-85908
10 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-19103
7 days ago
10-42209
10 days ago
10-41745
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-2070
7 days ago
7-955
7 days ago
31-73770
31 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
6-81786
6 days ago
6-80792
6 days ago
15-36265
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-53309
6 days ago
21-79075
21 days ago
21-80968
21 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-46545
6 days ago
6-46372
6 days ago
23-9455
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-24263
6 days ago
9-48559
9 days ago
9-48095
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-24261
6 days ago
10-12796
10 days ago
10-12332
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-24260
6 days ago
9-54046
9 days ago
9-53582
9 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_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean) - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean) - `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` new-contributor t-computability 67/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
5-67951
5 days ago
5-67288
5 days ago
27-77429
27 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-61145
5 days ago
8-10775
8 days ago
8-15187
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-59917
5 days ago
5-56485
5 days ago
7-58450
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-53954
5 days ago
22-6458
22 days ago
22-12822
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-53561
5 days ago
5-52851
5 days ago
14-68135
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-48164
5 days ago
5-47016
5 days ago
23-41248
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-37023
5 days ago
5-36244
5 days ago
17-78439
17 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-28044
5 days ago
37-31546
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-24255
5 days ago
9-2281
9 days ago
10-4593
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-24251
5 days ago
8-82178
8 days ago
10-67506
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-24241
5 days ago
9-3135
9 days ago
9-2671
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-24239
5 days ago
8-83280
8 days ago
8-82816
8 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-24236
5 days ago
8-50769
8 days ago
8-50305
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-24235
5 days ago
8-48729
8 days ago
8-48265
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-21165
5 days ago
5-18536
5 days ago
69-133
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
4-75543
4 days ago
4-73360
4 days ago
14-62005
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
4-69944
4 days ago
4-69944
4 days ago
4-69480
4 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-66526
4 days ago
10-77878
10 days ago
10-77414
10 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-65316
4 days ago
4-63365
4 days ago
42-37114
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-62090
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-58653
4 days ago
4-58720
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-52621
4 days ago
4-51223
4 days ago
12-1524
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-50669
4 days ago
4-73213
4 days ago
11-35954
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-50442
4 days ago
9-1738
9 days ago
9-1274
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-48137
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-36366
4 days ago
4-35681
4 days ago
11-62225
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-29957
4 days ago
4-27202
4 days ago
9-19020
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-23767
4 days ago
7-42722
7 days ago
7-59147
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-23766
4 days ago
8-9855
8 days ago
8-29827
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-23765
4 days ago
8-11061
8 days ago
8-10597
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-23762
4 days ago
7-43395
7 days ago
7-75027
7 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-23761
4 days ago
7-62612
7 days ago
7-62148
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-22340
4 days ago
4-22748
4 days ago
12-23083
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-22228
4 days ago
36-28500
36 days ago
36-59714
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-20489
4 days ago
4-47109
4 days ago
4-46645
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-20472
4 days ago
35-34505
35 days ago
36-29530
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-30169
3 days ago
3-29125
3 days ago
10-30967
10 days
34318 adomani
author:adomani
feat: a nilpotent simple group is cyclic This PR also adds some API around `nilpotencyClass` and `upperCentralSeries`. Co-authored-by: Inna Capdeboscq inna.capdeboscq@orange.fr --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 57/0 Mathlib/GroupTheory/Nilpotent.lean 1 14 ['adomani', 'github-actions', 'leanprover-radar', 'tb65536'] tb65536
assignee:tb65536
3-27885
3 days ago
6-48817
6 days ago
19-39196
19 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-24247
3 days ago
8-5616
8 days ago
8-5152
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-24246
3 days ago
8-81789
8 days ago
23-56021
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-24245
3 days ago
14-68048
14 days ago
20-41049
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-24242
3 days ago
6-74448
6 days ago
8-15839
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-24241
3 days ago
6-82265
6 days ago
13-79424
13 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-24238
3 days ago
10-75375
10 days ago
10-74911
10 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-24237
3 days ago
8-39545
8 days ago
8-39081
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-24235
3 days ago
6-85950
6 days ago
7-25965
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-24234
3 days ago
7-21605
7 days ago
7-21141
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-24231
3 days ago
6-30044
6 days ago
6-29580
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-20956
3 days ago
3-20310
3 days ago
11-74365
11 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-14704
3 days ago
3-11023
3 days ago
4-42390
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-14477
3 days ago
3-14364
3 days ago
3-13900
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-12708
3 days ago
3-11995
3 days ago
3-28617
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-6167
3 days ago
3-5329
3 days ago
16-47458
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-317
3 days ago
2-85821
2 days ago
14-84329
14 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
2-76993
2 days ago
2-75196
2 days ago
2-74732
2 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
2-75742
2 days ago
2-74959
2 days ago
2-74495
2 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
2-75152
2 days ago
2-74469
2 days ago
2-74005
2 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
2-74990
2 days ago
2-74990
2 days ago
2-74526
2 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
2-74838
2 days ago
2-71529
2 days ago
2-71065
2 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
2-72846
2 days ago
10-65658
10 days ago
10-65194
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
2-69712
2 days ago
3-30231
3 days ago
20-8754
20 days
34798 loefflerd
author:loefflerd
refactor(LinearAlgebra/TensorProduct): split large file Split > 1500-line file `Mathlib/LinearAlgebra/TensorProduct/Basic.lean` into 3 more manageable chunks: - `Defs.lean`: definition of `M ⊗ N` as a quotient of `FreeAddMonoid (M × N)` (500 lines) - `Basic.lean`: universal property of `M ⊗ N`, lifting bilinear maps `M → N → P` to linear maps `M ⊗ N → P` (380 lines) - `Map.lean`: linear maps `M ⊗ N → M' ⊗ N'` induced by maps `M → M'` and `N → N'` (and one-sided versions of that) (750 lines) --- This leads to a (small) simplification of the import hierarchy because some downstream files – regrettably not many, but some – only need material from `Defs` and `Basic` but not the ancillary theory developed in `Map`. (There is no downstream file which only needs `Defs`, which corresponds to a fact I always try to drum into my students: that the essence of the tensor product lies in its universal property, and the actual construction of a specific representative of the universal object is tedious and uninteresting.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
1233/1132 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Star/TensorProduct.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean,Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean,Mathlib/LinearAlgebra/TensorProduct/Map.lean 12 8 ['eric-wieser', 'github-actions', 'loefflerd', 'themathqueen'] nobody
2-69443
2 days ago
2-67362
2 days ago
8-35361
8 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-68528
2 days ago
2-67189
2 days ago
36-74176
36 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-66254
2 days ago
2-65604
2 days ago
2-65140
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-61581
2 days ago
6-48327
6 days ago
6-47863
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-61131
2 days ago
20-80607
20 days ago
20-80143
20 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-60706
2 days ago
2-59344
2 days ago
24-29232
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-60703
2 days ago
2-60045
2 days ago
9-12584
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-58998
2 days ago
2-57540
2 days ago
20-40599
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-55279
2 days ago
2-51556
2 days ago
2-51092
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-51541
2 days ago
2-50901
2 days ago
3-54150
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-50115
2 days ago
2-49462
2 days ago
2-48998
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-49726
2 days ago
6-41491
6 days ago
70-10155
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-46869
2 days ago
2-47277
2 days ago
2-46813
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-45846
2 days ago
2-45003
2 days ago
2-44539
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-44058
2 days ago
2-43915
2 days ago
2-43451
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-40594
2 days ago
2-38131
2 days ago
6-1799
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-38345
2 days ago
2-38251
2 days ago
62-55433
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-37951
2 days ago
8-55130
8 days ago
8-54666
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-37258
2 days ago
2-34974
2 days ago
12-85473
12 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-36551
2 days ago
2-35924
2 days ago
2-38717
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-35135
2 days ago
2-34483
2 days ago
2-34019
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-23989
2 days ago
5-53058
5 days ago
5-52594
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-23986
2 days ago
27-9068
27 days ago
27-8604
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-23985
2 days ago
20-24249
20 days ago
22-24344
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-23984
2 days ago
8-27602
8 days ago
8-27138
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-23983
2 days ago
5-39390
5 days ago
5-43262
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-23980
2 days ago
6-21643
6 days ago
8-51127
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-23978
2 days ago
6-81836
6 days ago
8-35752
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-23976
2 days ago
7-81554
7 days ago
7-81090
7 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-23975
2 days ago
8-37196
8 days ago
8-36732
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-23974
2 days ago
5-69957
5 days ago
7-31822
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-23972
2 days ago
6-60883
6 days ago
6-60419
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-23971
2 days ago
5-30774
5 days ago
6-54980
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-23968
2 days ago
6-12566
6 days ago
6-12102
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-23966
2 days ago
5-68462
5 days ago
5-67998
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-23965
2 days ago
5-59460
5 days ago
5-58996
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-23964
2 days ago
5-52499
5 days ago
5-57699
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-21321
2 days ago
2-20151
2 days ago
2-20335
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-17799
2 days ago
2-34947
2 days ago
39-47580
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
1-86106
1 day ago
1-85219
1 day ago
64-47127
64 days
35066 kim-em
author:kim-em
chore(scripts): add new technical debt counters This PR updates `scripts/technical-debt-metrics.sh` to: - Dynamically enumerate `backward.*` compatibility flags instead of maintaining a static list. New flags are automatically picked up. - Add counters for `simp +instances` and `dsimp +instances` (careful not to double-count, since `dsimp` contains `simp`). 🤖 Prepared with Claude Code CI 18/3 scripts/technical-debt-metrics.sh 1 5 ['adomani', 'github-actions', 'jcommelin'] nobody
1-82172
1 day ago
2-22381
2 days ago
2-21917
2 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
1-80142
1 day ago
34-1917
34 days ago
54-31148
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
1-79863
1 day ago
1-79194
1 day ago
2-82591
2 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
1-78192
1 day ago
24-59932
24 days ago
34-66532
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
1-77923
1 day ago
39-20879
39 days ago
40-6590
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
1-77874
1 day ago
1-77874
1 day ago
1-77410
1 day
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
1-76850
1 day ago
23-17642
23 days ago
31-21468
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
1-76601
1 day ago
1-75878
1 day ago
1-79118
1 day
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
1-73129
1 day ago
1-69833
1 day ago
1-69369
1 day
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
1-73024
1 day ago
1-69989
1 day ago
1-69594
1 day
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
1-72938
1 day ago
1-69345
1 day ago
1-68881
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-66222
1 day ago
1-66222
1 day ago
30-32887
30 days
32941 kim-em
author:kim-em
feat(GroupTheory/Artin): add Artin groups and braid groups This PR introduces Artin groups (also called Artin-Tits groups) as presented groups associated to Coxeter matrices, and defines braid groups as the special case of type A. In `Mathlib/GroupTheory/Artin/Basic.lean`: - `CoxeterMatrix.ArtinGroup`: The Artin group associated to a Coxeter matrix - `CoxeterMatrix.artinGenerator`: The generators of the Artin group - `CoxeterMatrix.artinLift`: The universal property of Artin groups In `Mathlib/GroupTheory/Artin/Braid.lean`: - `CoxeterMatrix.typeA`: The Coxeter matrix of type A_n - `BraidGroup n`: The braid group B_n on n strands - `BraidGroup.σ`: The standard Artin generators - `BraidGroup.toPermHom`: The canonical surjection B_n → S_n - `BraidGroup.uniqueZero`, `uniqueOne`: B_0 and B_1 are trivial - `BraidGroup.equivIntTwo`: B_2 ≃* ℤ 🤖 Prepared with Claude Code t-group-theory 580/0 Mathlib.lean,Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Artin/Basic.lean,Mathlib/GroupTheory/Artin/Braid.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/Coxeter/Perm.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean 10 20 ['github-actions', 'kim-em', 'robin-carlier', 'tb65536', 'themathqueen'] tb65536
assignee:tb65536
1-63480
1 day ago
7-7671
7 days ago
12-82256
12 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-62965
1 day ago
1-62286
1 day ago
1-61822
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-62743
1 day ago
6-10137
6 days ago
7-84587
7 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-62707
1 day ago
6-33024
6 days ago
13-25107
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-62402
1 day ago
1-61692
1 day ago
41-42776
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-62314
1 day ago
1-60475
1 day ago
1-60014
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-61430
1 day ago
1-61488
1 day ago
1-61024
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-59230
1 day ago
1-64273
1 day ago
1-63809
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-58698
1 day ago
1-57623
1 day ago
1-57159
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-57810
1 day ago
1-54396
1 day ago
2-34410
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-57091
1 day ago
1-62667
1 day ago
2-80915
2 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-56656
1 day ago
2-78607
2 days ago
3-71849
3 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-52264
1 day ago
2-64495
2 days ago
2-64031
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-46844
1 day ago
1-46085
1 day ago
1-67841
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-46710
1 day ago
3-54700
3 days ago
3-54236
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-43664
1 day ago
2-57234
2 days ago
100-4718
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-39642
1 day ago
1-38975
1 day ago
1-38511
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-30436
1 day ago
1-29739
1 day ago
7-7148
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-29871
1 day ago
1-29782
1 day ago
1-29318
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-29334
1 day ago
21-45359
21 days ago
21-44895
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-28843
1 day ago
1-28843
1 day ago
7-73168
7 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-28664
1 day ago
1-27073
1 day ago
2-81290
2 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-27531
1 day ago
1-26876
1 day ago
1-26412
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-26902
1 day ago
1-26216
1 day ago
16-60017
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-25974
1 day ago
1-25036
1 day ago
32-1370
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-24095
1 day ago
4-79647
4 days ago
63-34148
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-24094
1 day ago
4-83861
4 days ago
4-83397
4 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-24093
1 day ago
9-78153
9 days ago
13-39067
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-24092
1 day ago
5-22847
5 days ago
11-6264
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-24091
1 day ago
7-38435
7 days ago
10-28199
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-24089
1 day ago
9-63926
9 days ago
9-63462
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-24089
1 day ago
8-82760
8 days ago
9-29201
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-24087
1 day ago
8-57468
8 days ago
8-57389
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-24086
1 day ago
8-33644
8 days ago
8-33180
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-24085
1 day ago
8-37113
8 days ago
8-36649
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-24084
1 day ago
7-37749
7 days ago
7-37285
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-24083
1 day ago
4-51498
4 days ago
7-22407
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-24082
1 day ago
7-17015
7 days ago
7-16551
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-24081
1 day ago
6-82838
6 days ago
6-82379
6 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-24079
1 day ago
6-22648
6 days ago
6-60995
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-24078
1 day ago
5-2276
5 days ago
6-54266
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-24077
1 day ago
5-22852
5 days ago
5-74197
5 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-24076
1 day ago
4-49063
4 days ago
5-59810
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-24075
1 day ago
5-58195
5 days ago
5-57731
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-24073
1 day ago
5-25399
5 days ago
5-24935
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-24072
1 day ago
5-2405
5 days ago
5-1941
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-24071
1 day ago
4-53100
4 days ago
4-52636
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-21364
1 day ago
1-20703
1 day ago
9-18139
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-19240
1 day ago
1-16090
1 day ago
1-15626
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-15992
1 day ago
1-15329
1 day ago
6-76789
6 days
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 9 ['JovanGerb', 'Komyyy', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] nobody
1-15366
1 day ago
1-23847
1 day ago
4-62812
4 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-13193
1 day ago
3-84237
3 days ago
3-83773
3 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 4 ['github-actions', 'pevogam', 'wwylele'] nobody
0-86019
23 hours ago
0-83369
23 hours ago
1-35082
1 day
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
0-78582
21 hours ago
0-78582
21 hours ago
0-78118
21 hours
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
0-78570
21 hours ago
0-77903
21 hours ago
9-66770
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
0-76451
21 hours ago
0-73017
20 hours ago
19-47729
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
0-75398
20 hours ago
4-63946
4 days ago
8-46783
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
0-73062
20 hours ago
0-72413
19 hours ago
1-5105
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
0-70754
19 hours ago
1-45415
1 day ago
1-55898
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
0-69992
19 hours ago
1-45657
1 day ago
1-46453
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-67483
18 hours ago
0-66744
18 hours ago
15-75803
15 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-65668
18 hours ago
0-65023
17 hours ago
1-21553
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-65505
18 hours ago
0-64685
17 hours ago
7-62780
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-64431
17 hours ago
0-63623
17 hours ago
30-61190
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-63184
17 hours ago
0-62193
17 hours ago
2-52747
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-62884
17 hours ago
0-61661
16 hours ago
0-61197
16 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-62032
17 hours ago
0-60675
16 hours ago
0-60211
16 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-60509
16 hours ago
0-59886
16 hours ago
0-60414
16 hours
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-59226
16 hours ago
0-56396
15 hours ago
0-55932
15 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-57731
16 hours ago
0-56276
15 hours ago
0-60868
16 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'] nobody
0-57464
15 hours ago
0-65758
18 hours ago
1-23246
1 day
34944 jessealama
author:jessealama
feat(Algebra/Ring/NegOnePow): add negOnePow ↔ natAbs bridge lemmas Adds `Int.cast_negOnePow_eq_neg_one_pow_natAbs` (for any `Ring R`) and its `ℤ` specialization `Int.coe_negOnePow_eq_neg_one_pow_natAbs`, relating `negOnePow n` to `(-1) ^ n.natAbs`. The file already has [`cast_negOnePow_natCast`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Ring/NegOnePow.html#Int.cast_negOnePow_natCast) for `n : ℕ` but nothing for general integers via `natAbs`. t-algebra
label:t-algebra$
14/2 Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Analysis/Analytic/Binomial.lean 2 1 ['github-actions'] nobody
0-56678
15 hours ago
0-55137
15 hours ago
2-67538
2 days
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-55976
15 hours ago
0-57695
15 hours ago
0-57231
15 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-53613
14 hours ago
0-52973
14 hours ago
0-52509
14 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-52719
14 hours ago
0-52806
14 hours ago
33-22096
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-52219
14 hours ago
0-52219
14 hours ago
0-51755
14 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-51300
14 hours ago
0-50630
13 hours ago
2-42083
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-48381
13 hours ago
1-25232
1 day ago
11-50899
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-43622
12 hours ago
15-68553
15 days ago
17-60749
17 days
35142 JovanGerb
author:JovanGerb
perf: remove unnecessary `nsmul := (· • ·)` This PR removes some unnecessary `nsmul := (· • ·)`. In particular the modified instance `AddCommGroup (M →SL[σ₁₂] M₂)` now has faster unification properties. This is the same effect as we had in #30734 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 26/40 Mathlib/Algebra/RingQuot.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean 2 4 ['JovanGerb', 'Komyyy', 'github-actions', 'j-loreaux', 'leanprover-radar'] nobody
0-43281
12 hours ago
0-47689
13 hours ago
0-47225
13 hours
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-41194
11 hours ago
0-40433
11 hours ago
0-39969
11 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-40757
11 hours ago
0-38697
10 hours ago
14-46237
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-40684
11 hours ago
0-40199
11 hours ago
14-49068
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-39930
11 hours ago
0-41803
11 hours ago
0-41339
11 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-38208
10 hours ago
0-41140
11 hours ago
0-40676
11 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-38190
10 hours ago
0-37550
10 hours ago
1-58344
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-36265
10 hours ago
0-36265
9 hours ago
28-13731
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-35512
9 hours ago
0-34840
9 hours ago
27-53309
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-33502
9 hours ago
0-30460
8 hours ago
0-29996
8 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-32158
8 hours ago
0-30103
8 hours ago
14-30888
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-31124
8 hours ago
0-29959
8 hours ago
1-38189
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-30576
8 hours ago
0-29912
8 hours ago
0-29448
8 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-30285
8 hours ago
0-27175
7 hours ago
0-26711
7 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-29956
8 hours ago
0-28593
7 hours ago
0-28129
7 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-29504
8 hours ago
0-27595
7 hours ago
0-27131
7 hours
30463 grunweg
author:grunweg
feat: support products and disjoint unions in the differential geometry elaborators Add support for inferring a model with corners on - products of manifolds - disjoint unions of manifolds - an open subset of a manifold Note that these can be nested (e.g., a product with multiple factors, a disjoint union of four manifolds or combinations of these). For binary products of normed spaces, we intentionally refuse to infer a model with corners, as there are two different possible options which are propositionally, but not definitionally equal. For now, we emit a warning to this effect instead. A future PR may remove it (and infer one of these variants): see [zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/near/544942546). This PR completes an important milestone: models with corners are now inferred for *all* instances mathlib knows about! Update the module doc-string accordingly. A future PR will golf mathlib using these elaborators. --- - [x] depends on: #30744 - [x] depends on: #30879 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 513/76 Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation.lean,MathlibTest/DifferentialGeometry/NotationAdvanced.lean,MathlibTest/DifferentialGeometry/NotationSphere.lean 4 18 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] thorimur
assignee:thorimur
0-29129
8 hours ago
0-30482
8 hours ago
0-30018
8 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-26728
7 hours ago
0-25837
7 hours ago
0-25373
7 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-25512
7 hours ago
0-24875
6 hours ago
5-43254
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-24254
6 hours ago
8-41024
8 days ago
8-44622
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-24253
6 hours ago
4-24671
4 days ago
6-31382
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-24252
6 hours ago
5-8304
5 days ago
5-7840
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-24250
6 hours ago
4-13942
4 days ago
4-55674
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-24248
6 hours ago
3-60432
3 days ago
4-15243
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-24247
6 hours ago
3-73377
3 days ago
3-72913
3 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-24247
6 hours ago
3-71340
3 days ago
3-70876
3 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-24246
6 hours ago
3-41550
3 days ago
3-41850
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-24245
6 hours ago
3-56685
3 days ago
3-56221
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-24244
6 hours ago
3-43588
3 days ago
3-46119
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-22764
6 hours ago
0-23358
6 hours ago
0-22894
6 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-17488
4 hours ago
0-16786
4 hours ago
3-40323
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-16906
4 hours ago
0-15959
4 hours ago
0-78011
21 hours
35138 JovanGerb
author:JovanGerb
chore: move import of `Simproc.ExistsAndEq` This PR moves the import of `Simproc.ExistsAndEq` to the more appropriate `Mathlib.Tactic.Common`. This reduces the longest pole. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 2/1 Mathlib/Data/Set/Insert.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/Common.lean 3 9 ['JovanGerb', 'Komyyy', 'github-actions', 'grunweg', 'leanprover-radar'] nobody
0-15120
4 hours ago
0-13210
3 hours ago
0-44941
12 hours
35164 mcdoll
author:mcdoll
chore(Analysis/SchwartzSpace): golf proof Use asymptotics to simply a proof significantly. --- I am not entirely sure whether we want it as a separate lemma, but continuity statements are also in their own lemma even though `ContinuousMapClass` exists, seems to indicate that this should be fine. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 9/17 Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean 1 1 ['github-actions'] nobody
0-14043
3 hours ago
0-13313
3 hours ago
0-12849
3 hours
35165 JovanGerb
author:JovanGerb
chore: import `Aesop.Frontend` when declaring aesop rule sets This PR turns some `import Aesop` into `import Aesop.Frontend` in places where we want to tag `aesop` lemmas, but do not yet want to use the tactic itself. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 3/3 Mathlib/Data/Finset/Attr.lean,Mathlib/Tactic/Finiteness/Attr.lean,Mathlib/Tactic/SetLike.lean 3 1 ['github-actions'] nobody
0-12832
3 hours ago
0-9632
2 hours ago
0-9168
2 hours
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-11999
3 hours ago
0-11336
3 hours ago
4-16565
4 days
35117 urkud
author:urkud
chore(Charpoly/Disc): use `nontriviality` to drop a `Nontrivial` assumption --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
8/8 Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean 2 3 ['github-actions', 'grunweg'] grunweg
assignee:grunweg
0-11662
3 hours ago
0-11662
3 hours ago
0-11198
3 hours
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-7085
1 hour ago
0-6777
1 hour ago
0-6313
1 hour
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-6385
1 hour ago
0-5819
1 hour ago
11-9377
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-4624
1 hour ago
0-4605
1 hour ago
0-4141
1 hour
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-3772
1 hour ago
0-1548
18 minutes ago
26-67665
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-3487
58 minutes ago
0-2843
39 minutes ago
0-2379
39 minutes
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-3259
54 minutes ago
0-2576
35 minutes ago
0-55150
15 hours

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-24195
30 days ago
33-58870
33 days ago
34-2744
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-63845
25 days ago
25-69396
25 days ago
31-62868
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-26662
24 days ago
28-58019
28 days ago
33-61807
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
21-72569
21 days ago
29-56340
29 days ago
29-55876
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-59296
21 days ago
21-56779
21 days ago
33-57271
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-24182
18 days ago
28-25103
28 days ago
41-51482
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-51682
16 days ago
48-48826
48 days ago
48-48362
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-38795
16 days ago
16-40927
16 days ago
20-24788
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
14-82638
14 days ago
14-81777
14 days ago
40-73846
40 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-42623
13 days ago
13-39545
13 days ago
23-31584
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-24170
13 days ago
22-3170
22 days ago
32-39912
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-24167
13 days ago
21-26146
21 days ago
21-40697
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-24177
12 days ago
16-62935
16 days ago
25-37771
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-24128
11 days ago
15-1190
15 days ago
39-71409
39 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-24120
11 days ago
14-61799
14 days ago
14-64833
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
10-74951
10 days ago
22-49305
22 days ago
22-48841
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-24146
9 days ago
13-58838
13 days ago
16-12920
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-59488
8 days ago
9-62852
9 days ago
11-19134
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-57969
8 days ago
18-59387
18 days ago
18-58923
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-33937
8 days ago
8-33937
8 days ago
60-64477
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-32764
8 days ago
8-32764
8 days ago
61-1325
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-53043
7 days ago
7-52421
7 days ago
16-52716
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-24261
6 days ago
10-12796
10 days ago
10-12332
10 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_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean) - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean) - `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` new-contributor t-computability 67/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
5-67951
5 days ago
5-67288
5 days ago
27-77429
27 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-53954
5 days ago
22-6458
22 days ago
22-12822
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-53561
5 days ago
5-52851
5 days ago
14-68135
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-24251
5 days ago
8-82178
8 days ago
10-67506
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-48137
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-36366
4 days ago
4-35681
4 days ago
11-62225
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-23766
4 days ago
8-9855
8 days ago
8-29827
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-23765
4 days ago
8-11061
8 days ago
8-10597
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-22340
4 days ago
4-22748
4 days ago
12-23083
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-22228
4 days ago
36-28500
36 days ago
36-59714
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-20472
4 days ago
35-34505
35 days ago
36-29530
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-24247
3 days ago
8-5616
8 days ago
8-5152
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-24242
3 days ago
6-74448
6 days ago
8-15839
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-6167
3 days ago
3-5329
3 days ago
16-47458
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-68528
2 days ago
2-67189
2 days ago
36-74176
36 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-51541
2 days ago
2-50901
2 days ago
3-54150
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-38345
2 days ago
2-38251
2 days ago
62-55433
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-37951
2 days ago
8-55130
8 days ago
8-54666
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-37258
2 days ago
2-34974
2 days ago
12-85473
12 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-23989
2 days ago
5-53058
5 days ago
5-52594
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-23986
2 days ago
27-9068
27 days ago
27-8604
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-23974
2 days ago
5-69957
5 days ago
7-31822
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
1-86106
1 day ago
1-85219
1 day ago
64-47127
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
1-80142
1 day ago
34-1917
34 days ago
54-31148
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
1-79863
1 day ago
1-79194
1 day ago
2-82591
2 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
1-78192
1 day ago
24-59932
24 days ago
34-66532
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
1-77923
1 day ago
39-20879
39 days ago
40-6590
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-56656
1 day ago
2-78607
2 days ago
3-71849
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-43664
1 day ago
2-57234
2 days ago
100-4718
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-39642
1 day ago
1-38975
1 day ago
1-38511
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-29334
1 day ago
21-45359
21 days ago
21-44895
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-28664
1 day ago
1-27073
1 day ago
2-81290
2 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-24093
1 day ago
9-78153
9 days ago
13-39067
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-24089
1 day ago
9-63926
9 days ago
9-63462
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-24087
1 day ago
8-57468
8 days ago
8-57389
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-24084
1 day ago
7-37749
7 days ago
7-37285
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-24078
1 day ago
5-2276
5 days ago
6-54266
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-24076
1 day ago
4-49063
4 days ago
5-59810
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-24072
1 day ago
5-2405
5 days ago
5-1941
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-21364
1 day ago
1-20703
1 day ago
9-18139
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-15992
1 day ago
1-15329
1 day ago
6-76789
6 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 4 ['github-actions', 'pevogam', 'wwylele'] nobody
0-86019
23 hours ago
0-83369
23 hours ago
1-35082
1 day
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
0-78582
21 hours ago
0-78582
21 hours ago
0-78118
21 hours
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
0-76451
21 hours ago
0-73017
20 hours ago
19-47729
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
0-69992
19 hours ago
1-45657
1 day ago
1-46453
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-65505
18 hours ago
0-64685
17 hours ago
7-62780
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-63184
17 hours ago
0-62193
17 hours ago
2-52747
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-60509
16 hours ago
0-59886
16 hours ago
0-60414
16 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-48381
13 hours ago
1-25232
1 day ago
11-50899
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-31124
8 hours ago
0-29959
8 hours ago
1-38189
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-24253
6 hours ago
4-24671
4 days ago
6-31382
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-24250
6 hours ago
4-13942
4 days ago
4-55674
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-16906
4 hours ago
0-15959
4 hours ago
0-78011
21 hours
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-11999
3 hours ago
0-11336
3 hours ago
4-16565
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-3772
1 hour ago
0-1548
18 minutes ago
26-67665
26 days

PRs on the review queue labelled 'easy'

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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-23968
2 days ago
6-12566
6 days ago
6-12102
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-21321
2 days ago
2-20151
2 days ago
2-20335
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-24072
1 day ago
5-2405
5 days ago
5-1941
5 days
35117 urkud
author:urkud
chore(Charpoly/Disc): use `nontriviality` to drop a `Nontrivial` assumption --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
8/8 Mathlib/LinearAlgebra/Matrix/Charpoly/Disc.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/FinTwo.lean 2 3 ['github-actions', 'grunweg'] grunweg
assignee:grunweg
0-11662
3 hours ago
0-11662
3 hours ago
0-11198
3 hours
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-4624
1 hour ago
0-4605
1 hour ago
0-4141
1 hour

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-24246
3 days ago
8-81789
8 days ago
23-56021
23 days
34798 loefflerd
author:loefflerd
refactor(LinearAlgebra/TensorProduct): split large file Split > 1500-line file `Mathlib/LinearAlgebra/TensorProduct/Basic.lean` into 3 more manageable chunks: - `Defs.lean`: definition of `M ⊗ N` as a quotient of `FreeAddMonoid (M × N)` (500 lines) - `Basic.lean`: universal property of `M ⊗ N`, lifting bilinear maps `M → N → P` to linear maps `M ⊗ N → P` (380 lines) - `Map.lean`: linear maps `M ⊗ N → M' ⊗ N'` induced by maps `M → M'` and `N → N'` (and one-sided versions of that) (750 lines) --- This leads to a (small) simplification of the import hierarchy because some downstream files – regrettably not many, but some – only need material from `Defs` and `Basic` but not the ancillary theory developed in `Map`. (There is no downstream file which only needs `Defs`, which corresponds to a fact I always try to drum into my students: that the essence of the tensor product lies in its universal property, and the actual construction of a specific representative of the universal object is tedious and uninteresting.) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
1233/1132 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Star/TensorProduct.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean,Mathlib/LinearAlgebra/TensorProduct/Finiteness.lean,Mathlib/LinearAlgebra/TensorProduct/Map.lean 12 8 ['eric-wieser', 'github-actions', 'loefflerd', 'themathqueen'] nobody
2-69443
2 days ago
2-67362
2 days ago
8-35361
8 days