Maintainers page: short tasks

Are you a maintainer with just a short amount of time? The following kinds of pull requests could be relevant for you.

If you realise you actually have a bit more time, you can also look at the page for reviewers, or look at the triage page!
This dashboard was last updated on: May 19, 2026 at 04:47 UTC

Stale ready-to-merge'd PRs

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
37625 slavanaprienko
author:slavanaprienko
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`. New results: - `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants - `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors - `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors --- t-algebra new-contributor ready-to-merge
label:t-algebra$
105/1 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 28 ['eric-wieser', 'github-actions', 'kim-em', 'mathlib-bors', 'slavanaprienko', 'wwylele'] nobody
7-28909
7 days ago
7-85484
7 days ago
37-17965
37 days
39259 jcommelin
author:jcommelin
chore(Tactic/StacksAttribute): add deprecated module This PR adds `Tactic/StacksAttribute.lean` back as deprecated_module. --- - [x] depends on: #39257, where the file is removed [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) delegated auto-merge-after-CI 7/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/StacksAttribute.lean 3 5 ['adomani', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] adomani
assignee:adomani
4-55347
4 days ago
6-45947
6 days ago
0-3182
53 minutes

Stale maintainer-merge'd PRs

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
34633 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define the Zarankiewicz function Defines the Zarankiewicz function $z(m, n; s, t)$ in terms of bipartite graphs. --- - [x] depends on: #34632 This comes from splitting up #25841 into smaller PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge blocked-by-other-PR 247/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 4 30 ['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] nobody
107-3470
3 months ago
8-17059
8 days ago
53-35263
53 days
31141 peabrainiac
author:peabrainiac
feat(Analysis/Calculus): parametric integrals over smooth functions are smooth Show that for any smooth function `f : H × ℝ → E`, the parametric integral `fun x ↦ ∫ t in a..b, f (x, t) ∂μ` is smooth too. The argument proceeds inductively, using the fact that derivatives of parametric integrals can themselves be computed as parametric integrals. The necessary lemmas on derivatives of parametric integrals already existed, but took some work to apply due to their generality; we state some convenient special cases. --- - [x] depends on: #31077 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author maintainer-merge 470/12 Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Separation/Regular.lean 5 36 ['fpvandoorn', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac', 'sgouezel'] j-loreaux
assignee:j-loreaux
96-62631
3 months ago
96-62631
96 days ago
33-85043
33 days
35619 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Clique): intersection and union of cliques Plus a couple of lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 29/0 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Data/Set/Pairwise/Basic.lean 1 13 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
86-15021
2 months ago
25-41423
25 days ago
47-17441
47 days
28685 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem Proves the minimal degree-version of the Erdős-Stone theorem: If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`. The double-counting construction from the proof is available in `namespace ErdosStone`. --- - [x] depends on: #25843 - [x] depends on: #27597 - [x] depends on: #27599 - [x] depends on: #28443 - [x] depends on: #28445 - [x] depends on: #28446 - [x] depends on: #28447 This is the first of several pull requests towards the full Erdős-Stone(-Simonovits) theorem, hence the name of the file. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 323/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 2 19 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] b-mehta
assignee:b-mehta
77-79545
2 months ago
15-13807
15 days ago
75-22542
75 days
33506 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end Co-authored-by: Vlad Tsyrklevich Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com> --- - [x] depends on: #33249 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 109/1 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean 4 60 ['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
65-59018
2 months ago
11-5272
11 days ago
28-65685
28 days
37057 erdOne
author:erdOne
feat(AlgebraicTopology): `SimplexCategory.toTop_map_δ_apply` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge awaiting-author merge-conflict 48/2 Mathlib/AlgebraicTopology/CechNerve.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Data/Fin/SuccPred.lean 5 17 ['Raph-DG', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'riccardobrasca'] robin-carlier
assignee:robin-carlier
40-81521
1 month ago
42-42761
42 days ago
4-49805
4 days
37420 artie2000
author:artie2000
refactor: change definitions to avoid `ConvexCone` Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`. This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge 10/4 Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 3 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
32-61115
1 month ago
32-61079
32 days ago
47-81635
47 days
37346 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉 * `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉 * `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉 * `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉 * `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge awaiting-zulip 7/45 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean 4 22 ['FernandoChu', 'bryangingechen', 'chenson2018', 'euprunin', 'faenuccio', 'github-actions', 'grunweg'] nobody
19-60363
19 days ago
19-60394
19 days ago
30-49603
30 days
37603 Parcly-Taxel
author:Parcly-Taxel
refactor: review of `SetSemiring` * Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`. * Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately. * Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`. Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. maintainer-merge merge-conflict 120/165 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean 2 42 ['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] nobody
19-16699
19 days ago
19-16700
19 days ago
22-62470
22 days
38358 yuanyi-350
author:yuanyi-350
doc(1000.yaml): note more formalised theorems --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation maintainer-merge 9/2 docs/1000.yaml 1 12 ['YaelDillies', 'github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] nobody
15-68117
15 days ago
15-68179
15 days ago
26-69828
26 days
37295 wwylele
author:wwylele
feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map This is the volume factor of a linear map --- I have encountered the expression `sqrt(det(T' * T))` a few times in various places but it doesn't look like it has a standard name and entry in mathlib, so this adds it. Zulip thread [#Is there code for X? > (norm of) "determinant" of map between inner product spaces](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.28norm.20of.29.20.22determinant.22.20of.20map.20between.20inner.20product.20spaces/with/581776873) One motivation to define this is to state volume formula under transformations. From *Measure theory and fine properties of functions*: - Lemma 3.1: for linear map $L : \mathbb{R}^n \to \mathbb{R}^m$, we have $\mathcal{H}^n(L(A)) = [ L ] \mathcal{L}^n(A)$. This is proved in this PR at `euclideanHausdorffMeasure_image_eq_normDet_mul_volume` - Theorem 3.8, for (not necessarily linear) $f : \mathbb{R}^n \to \mathbb{R}^m$ ($n \le m$) and $\mathcal{L}^n$-measurable set $A \subset \mathbb{R}^n$, we have $\int_A J f dx = \int_{\mathbb{R}^m} \mathcal{H}^0(A \cap f\^{-1}\{y\}) d\mathcal{H}^n(y)$, where $J f$ is the `normDet` of the rectangular Jacobian matrix AI usage disclosure: AI was used in the following parts - searching for related literature for an appropriate name - generate draft proofs for some lemma to verify their correctness, though the final code has been completely rewritten by me. - [ ] depends on: #37918 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis maintainer-merge 480/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib 4 18 ['copilot-pull-request-reviewer', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
14-35808
14 days ago
14-35546
14 days ago
48-23701
48 days
37464 martinwintermath
author:martinwintermath
feat(Geometry/Convex/Cone): Minor additions to pointed cones Minor additions to pointed cones: * `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas. * `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s` Co-authored by: Artie Khovanov --- In preparation of #36605. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge 22/16 Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 24 ['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
7-49899
7 days ago
9-76711
9 days ago
47-3329
47 days
37053 artie2000
author:artie2000
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`. This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge merge-conflict 15/12 Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 9 ['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] nobody
7-24912
7 days ago
7-24913
7 days ago
46-71615
46 days
36376 jessealama
author:jessealama
feat(SimpleGraph): hamiltonian cycle from cyclic permutation This PR provides `IsHamiltonian.of_perm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if σ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v → σ v` is an edge of `G`, then `G` is Hamiltonian. ### New definitions and lemmas **`Mathlib/Data/List/Chain.lean`**: - `IsChain.iterate`: `List.iterate f a n` is a chain under `r` whenever `r a (f a)` holds for all `a` **`Mathlib/Data/List/Iterate.lean`**: - `getLast_iterate`: the last element of `List.iterate f a n` is `f^[n - 1] a` **`Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean`** (new file): - `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport` - `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API **`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**: - `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s` **`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**: - `IsCycleOn.injOn_sym2_pow_apply`: the unordered-pair edge map `k ↦ s((f ^ k) a, (f ^ (k + 1)) a)` is injective on `[0, #s)` when `#s ≠ 2` - `IsCycleOn.sym2_pow_apply_ne`: edge distinctness for cycle-on permutations — `s((f ^ k) a, (f ^ (k + 1)) a) ≠ s(a, f a)` when `k ≠ 0`, `k < #s`, and `#s ≠ 2` - `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers **`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**: - `cons_isHamiltonianCycle_iff`: a Hamiltonian path closed by an edge outside its support is a Hamiltonian cycle, and conversely - `IsHamiltonian.of_perm`: the main theorem --- - [x] depends on: #36307 t-combinatorics maintainer-merge 182/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian/Perm.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean 8 76 ['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
6-58528
6 days ago
6-55268
6 days ago
44-17401
44 days
36388 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 73/3 Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean 1 19 ['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
5-62170
5 days ago
6-12348
6 days ago
35-49296
35 days
35753 Vilin97
author:Vilin97
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods. Follow-up PR: #35755 (forward Euler method convergence). I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it. --- The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. - [ ] depends on: #38091 t-topology new-contributor LLM-generated maintainer-merge 201/0 Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean 2 59 ['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] j-loreaux
assignee:j-loreaux
5-32447
5 days ago
17-24389
17 days ago
49-73462
49 days
37928 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`. `Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`. `FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`). Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed. Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required. new-contributor maintainer-merge 87/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 9 ['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] nobody
5-17258
5 days ago
11-68236
11 days ago
37-48085
37 days
39016 vihdzp
author:vihdzp
chore: deprecate `WithZero.zero_le` This is a duplicate of `zero_le` in the root namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
14/24 Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/FieldTheory/RatFunc/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 4 2 ['YaelDillies', 'github-actions'] nobody
5-7453
5 days ago
11-80410
11 days ago
11-82623
11 days
39218 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): make `p.Nil` the simpNF of `p = nil` and `p.length = 0` These are equivalent, and `p.Nil` works even when the endpoints of the walk aren't defeq. [#graph theory > Deprecate `p = nil` in favor of `p.Nil`?](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Deprecate.20.60p.20.3D.20nil.60.20in.20favor.20of.20.60p.2ENil.60.3F/with/538017334) The main event is `Walk/Basic.lean`: - Swapped sides of `nil_iff_eq_nil` to create `eq_nil_iff_nil`, tagged `@[simp]` and deprecated the original - Changed the RHS of `length_eq_zero_iff` from `p = nil` to `p.Nil`, and generalized to non-closed walks - Deprecated `nil_iff_length_eq` which is the symmetric iff - Added `Nil.length_eq_zero` alias - Untagged `exists_length_eq_zero_iff` with `@[simp]` and added `exists_nil_iff` to replace it The rest is fixing everything that broke (or uses of now-deprecated lemmas), and: - [`Walk/Maps`] Added `nil_map_iff` to replace `map_eq_nil_iff` which is the same but with `.Nil` instead of `= nil` - [`Walk/Decomp`] Added `nil_rotate` to replace `rotate_eq_nil` which is the same but with `.Nil` instead of `= nil` --- Also renamed `set_walk_*` in `Counting.lean` to follow the naming convention. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 70/54 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Traversal.lean 10 10 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
5-5918
5 days ago
6-53709
6 days ago
7-5866
7 days
37577 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges` to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions. Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems. Co-authored-by: Iván Renison <85908989+IvanRenison@users.noreply.github.com> --- Except for a couple of `cycleBypass` ones, I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 112/81 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean 5 4 ['YaelDillies', 'github-actions'] nobody
5-5900
5 days ago
6-52821
6 days ago
45-85191
45 days
37677 vihdzp
author:vihdzp
feat: club sets In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal. We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`. We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set. --- The idea is to eventually rework [`Ordinal.deriv`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/FixedPoint.html#Ordinal.deriv). This is simply the enumerator function for the fixed points of `f`, and enumerator functions for club sets are always normal. - [x] depends on: #37670 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order maintainer-merge 181/13 Mathlib.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/FundamentalSequence.lean 8 17 ['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] nobody
4-69935
4 days ago
4-72874
4 days ago
26-3465
26 days
35216 kim-em
author:kim-em
doc(Tactic/Translate/ToDual): add deployment guide for @[to_dual] This PR expands the documentation for `@[to_dual]` with practical advice for deploying it to existing code. **Module docstring** (`Mathlib/Tactic/Translate/ToDual.lean`): adds a "Deploying `@[to_dual]` to existing code" section covering name agreement, attribute propagation, docstring syntax ordering, declaration order dependencies, and known structural mismatches (conjunct reordering, type class gaps, interval argument swapping). **Attribute docstring**: adds a note that `@[simp]` is not auto-copied (must use `(attr := simp)`), and shows the correct ordering when combining `(attr := ...)` with docstrings. 🤖 Prepared with Claude Code --- @joneugster: this is no longer part of the PR, so I removed it from the description: > **Agent skill** (`.claude/skills/to_dual/SKILL.md`): detailed step-by-step instructions for an AI agent deploying `@[to_dual]`, including how to identify candidates, common patterns, and debugging. documentation LLM-generated maintainer-merge 31/3 Mathlib/Tactic/Translate/ToDual.lean 1 31 ['JovanGerb', 'MichaelStollBayreuth', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts', 'vihdzp'] joneugster
assignee:joneugster
4-54376
4 days ago
31-20012
31 days ago
38-6691
38 days
38199 vihdzp
author:vihdzp
chore: add items to set theory overview --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-set-theory maintainer-merge 11/2 docs/overview.yaml 1 5 ['SnirBroshi', 'github-actions', 'joneugster', 'vihdzp'] alreadydone
assignee:alreadydone
4-54249
4 days ago
30-73025
30 days ago
30-73117
30 days
38983 kebekus
author:kebekus
feat: Invariance of `meromorphic in normal form` under composition. Establish invariance of `meromorphic in normal form` under composition with analytic functions of non-vanishing derivative. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis maintainer-merge 42/0 Mathlib/Analysis/Meromorphic/NormalForm.lean 1 12 ['github-actions', 'kebekus', 'themathqueen'] themathqueen
assignee:themathqueen
4-48201
4 days ago
4-48201
4 days ago
11-69193
11 days
37722 SabrinaJewson
author:SabrinaJewson
feat(Order/Cover): intervals equal singletons iff To complement `Set.Icc_eq_singleton_iff`, this introduces: - `Set.Ioc_eq_singleton_iff` / `Set.Ico_eq_singleton_iff` - `Set.Ico_eq_singleton_left_iff` / `Set.Ioc_eq_singleton_right_iff` - `Set.Ioi_eq_singleton_iff` / `Set.Iio_eq_singleton_iff` - `Set.Ioi_eq_singleton_top_iff` / `Set.Iio_eq_singleton_bot_iff` - `Set.Ioo_eq_singleton_iff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor awaiting-author maintainer-merge 39/0 Mathlib/Order/Atoms.lean,Mathlib/Order/Cover.lean 2 16 ['Komyyy', 'SabrinaJewson', 'github-actions', 'mathlib-merge-conflicts'] bryangingechen
assignee:bryangingechen
4-36749
4 days ago
6-76106
6 days ago
35-12445
35 days
37623 IvanRenison
author:IvanRenison
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com> --- Missing of this theorems noticed by @SnirBroshi in #37598 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 18/0 Mathlib/Order/RelIso/Basic.lean 1 8 ['IvanRenison', 'SnirBroshi', 'dagurtomas', 'eric-wieser', 'github-actions'] nobody
3-69570
3 days ago
43-43040
43 days ago
44-66568
44 days
38362 vihdzp
author:vihdzp
feat: cofinal subset of regular cardinal is isomorphic to it In set theory, one often identifies a cardinal `c` with its initial ordinal `c.ord`, and said ordinal with the lower set `Iio c.ord`. This is particularly pervasive in the theory of club and stationary subsets, where one often sees the hypothesis "let κ be a regular cardinal" in lieu of the more precise wording: that `κ` is an (infinite) well-order, whose order type equals the initial ordinal of its cardinality. We define a typeclass `IsRegularCardinalOrder` for this assumption. The benefit of using it is that our results won't apply only to `Iio c.ord` for regular `c`, but also to concrete types such as `Nat`, `Cardinal`, or `Ordinal`. As a proof of concept, we define `Order.enum`, a generalization of both `Nat.nth` and `Ordinal.enumOrd`. A future PR will deprecate the latter. --- - [x] depends on: #38363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory maintainer-merge 127/11 Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean 5 12 ['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
3-49968
3 days ago
3-69469
3 days ago
7-28007
7 days
35394 HugLycan
author:HugLycan
feat(Tactic/Positivity): make positivity work for types that are not partial orders Make positivity work for types that are not partial orders Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR. `Strictness` now depends on `Option Q(PartialOrder $α)` instead of `Q(PartialOrder $α)`, and the constructors `Strictness.positive`/`Strictness.nonnegative` now have their `Q(PartialOrder $α)` typeclass arguments. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta maintainer-merge 612/354 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Factorial/DoubleFactorial.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/Height/Projectivization.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,MathlibTest/positivity.lean 54 90 ['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
3-19689
3 days ago
7-19833
7 days ago
54-52832
54 days
39444 FLDutchmann
author:FLDutchmann
fix(Tactic/Algebra): properly handle scalars that evaluate to zero When `algebra` encounters `0 • x` it gets normalized to `0 • x` instead of `0`, breaking the invariant that coefficients are not allowed to be zero. This PR fixes this issue and adds a corresponding test. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 18/3 Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Algebra/Lemmas.lean,MathlibTest/Algebra.lean 3 5 ['FLDutchmann', 'github-actions', 'grunweg'] thorimur
assignee:thorimur
3-12823
3 days ago
3-21490
3 days ago
3-21590
3 days
35683 gasparattila
author:gasparattila
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continuous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`. --- These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk` These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 66/44 Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,MathlibTest/FunPropMinimal.lean 5 27 ['gasparattila', 'github-actions', 'grunweg', 'joneugster', 'lecopivo', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
2-54725
2 days ago
2-54796
2 days ago
82-60357
82 days
39408 fgdorais
author:fgdorais
feat(Tactic/Linter/DeprecatedModule): add option `linter.deprecated.module.exclude_root` This PR fixes an incorrect behavior in the deprecated module linter: the linter excluded all modules with filenames ending with `Mathlib.lean` without checking that the file is the Mathlib root module rather than a random module whose name happens to end with `Mathlib` (such are more plausible in downstream projects than in Mathlib itself). The Mathlib root module is autogenerated and imports all modules regardless of deprecation status. So it needs to be excluded from the deprecated module check. An easy way to correct the erroneous behavior would be to remove the hard-coded exclusion from the linter and add `set_option linter.deprecated.module false` at the end of `Mathlib.lean`. However, this PR takes a broader approach, which is to add a `linter.deprecated.module.exclude_root` option. That way downstream projects with a similarly designed root module can also use this feature by setting `linter.deprecated.module.exclude_root` to `true` in their lakefile. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter maintainer-merge 19/3 Mathlib/Tactic/Linter/DeprecatedModule.lean,lakefile.lean 2 11 ['JovanGerb', 'adomani', 'fgdorais', 'github-actions'] JovanGerb
assignee:JovanGerb
1-61465
1 day ago
3-64656
3 days ago
3-64649
3 days
37914 j-loreaux
author:j-loreaux
feat: transfer `star`-related instances across equivalences This also adds `Function.Injective.{InvolutiveStar,...}` and related lemmas. In addition we rename the existing `Equiv.star` to `Equiv.Perm.star` (without a deprecation) so that the name can be used for the declaration which transfers a `Star` instance across an `Equiv`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
95/2 Mathlib.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/TransferInstance.lean 4 15 ['SnirBroshi', 'github-actions', 'themathqueen'] themathqueen
assignee:themathqueen
1-47876
1 day ago
25-39755
25 days ago
25-41657
25 days
39203 FordUniver
author:FordUniver
refactor(Analysis/Calculus/Gradient): ungate inner_gradient lemmas Removes superfluous differentiability hypotheses (plus `UniqueDiffWithinAt` for the `Within` versions) from the four `inner_gradient[Within]_[left|right]` lemmas: `gradient` is defined as `(toDual 𝕜 F).symm (fderiv 𝕜 f x)`, so `⟪∇ f x, y⟫ = fderiv 𝕜 f x y` holds unconditionally since both sides are zero when `f` is not differentiable at `x`. --- Genuinely unsure about this one because the only call I currently have in my code itself has the differentiability hypothesis. But including unused (or unnecessary) assumptions seems not intentional? My best guess is that the hypotheses were included by analogy with `HasGradientAt.fderiv_apply`, which genuinely needs them. This PR drops the hypotheses and rewrites the proofs through the isomorphism directly; no existing mathlib callers pass the now-redundant arguments. t-analysis maintainer-merge 17/10 Mathlib/Analysis/Calculus/Gradient/Basic.lean 1 6 ['FordUniver', 'Komyyy', 'github-actions'] urkud
assignee:urkud
1-41550
1 day ago
7-51740
7 days ago
7-51733
7 days
39202 FordUniver
author:FordUniver
feat(Analysis/Calculus/Gradient): add toDual_gradient and companions Add `toDual_gradient`, `toDual_gradientWithin`, and the composed variants `toDual_comp_gradient`, `toDual_comp_gradientWithin` — the natural inverse direction of the gradient's defining equation `∇ f x := (toDual 𝕜 F).symm (fderiv 𝕜 f x)`. These identify `(toDual 𝕜 F) (∇ f x)` with `fderiv 𝕜 f x` (and the `gradientWithin` and composed forms with the corresponding fderiv versions), making the Riesz isomorphism between the two derivative views explicit. The proofs of `DifferentiableAt.hasGradientAt` and `DifferentiableWithinAt.hasGradientWithinAt` in the same file are simplified to use them. --- Came up while formalizing the descent lemma for Lipschitz-smooth functions, where being able to switch between `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)` is helpful, which with this PR becomes `toDual_comp_gradient ▸ (toDual ℝ F).isometry.lipschitzWith_iff K`. Also slightly simplifies two call sites in mathlib. maintainer-merge 20/5 Mathlib/Analysis/Calculus/Gradient/Basic.lean 1 5 ['FordUniver', 'Komyyy', 'github-actions'] nobody
1-17454
1 day ago
7-51214
7 days ago
7-51371
7 days

All maintainer merge'd PRs

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
34633 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define the Zarankiewicz function Defines the Zarankiewicz function $z(m, n; s, t)$ in terms of bipartite graphs. --- - [x] depends on: #34632 This comes from splitting up #25841 into smaller PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge blocked-by-other-PR 247/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 4 30 ['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] nobody
107-3470
3 months ago
8-17059
8 days ago
53-35263
53 days
31141 peabrainiac
author:peabrainiac
feat(Analysis/Calculus): parametric integrals over smooth functions are smooth Show that for any smooth function `f : H × ℝ → E`, the parametric integral `fun x ↦ ∫ t in a..b, f (x, t) ∂μ` is smooth too. The argument proceeds inductively, using the fact that derivatives of parametric integrals can themselves be computed as parametric integrals. The necessary lemmas on derivatives of parametric integrals already existed, but took some work to apply due to their generality; we state some convenient special cases. --- - [x] depends on: #31077 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-author maintainer-merge 470/12 Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Separation/Regular.lean 5 36 ['fpvandoorn', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac', 'sgouezel'] j-loreaux
assignee:j-loreaux
96-62631
3 months ago
96-62631
96 days ago
33-85043
33 days
35619 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Clique): intersection and union of cliques Plus a couple of lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 29/0 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Data/Set/Pairwise/Basic.lean 1 13 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
86-15021
2 months ago
25-41423
25 days ago
47-17441
47 days
28685 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem Proves the minimal degree-version of the Erdős-Stone theorem: If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`. The double-counting construction from the proof is available in `namespace ErdosStone`. --- - [x] depends on: #25843 - [x] depends on: #27597 - [x] depends on: #27599 - [x] depends on: #28443 - [x] depends on: #28445 - [x] depends on: #28446 - [x] depends on: #28447 This is the first of several pull requests towards the full Erdős-Stone(-Simonovits) theorem, hence the name of the file. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 323/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 2 19 ['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] b-mehta
assignee:b-mehta
77-79545
2 months ago
15-13807
15 days ago
75-22542
75 days
33506 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end Co-authored-by: Vlad Tsyrklevich Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com> --- - [x] depends on: #33249 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 109/1 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean 4 60 ['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
65-59018
2 months ago
11-5272
11 days ago
28-65685
28 days
37057 erdOne
author:erdOne
feat(AlgebraicTopology): `SimplexCategory.toTop_map_δ_apply` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge awaiting-author merge-conflict 48/2 Mathlib/AlgebraicTopology/CechNerve.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Data/Fin/SuccPred.lean 5 17 ['Raph-DG', 'dagurtomas', 'erdOne', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'riccardobrasca'] robin-carlier
assignee:robin-carlier
40-81521
1 month ago
42-42761
42 days ago
4-49805
4 days
37420 artie2000
author:artie2000
refactor: change definitions to avoid `ConvexCone` Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`. This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge 10/4 Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 3 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
32-61115
1 month ago
32-61079
32 days ago
47-81635
47 days
37346 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉 * `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉 * `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉 * `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉 * `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge awaiting-zulip 7/45 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean 4 22 ['FernandoChu', 'bryangingechen', 'chenson2018', 'euprunin', 'faenuccio', 'github-actions', 'grunweg'] nobody
19-60363
19 days ago
19-60394
19 days ago
30-49603
30 days
37603 Parcly-Taxel
author:Parcly-Taxel
refactor: review of `SetSemiring` * Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`. * Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately. * Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`. Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. maintainer-merge merge-conflict 120/165 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean 2 42 ['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] nobody
19-16699
19 days ago
19-16700
19 days ago
22-62470
22 days
38358 yuanyi-350
author:yuanyi-350
doc(1000.yaml): note more formalised theorems --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation maintainer-merge 9/2 docs/1000.yaml 1 12 ['YaelDillies', 'github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] nobody
15-68117
15 days ago
15-68179
15 days ago
26-69828
26 days
37295 wwylele
author:wwylele
feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map This is the volume factor of a linear map --- I have encountered the expression `sqrt(det(T' * T))` a few times in various places but it doesn't look like it has a standard name and entry in mathlib, so this adds it. Zulip thread [#Is there code for X? > (norm of) "determinant" of map between inner product spaces](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.28norm.20of.29.20.22determinant.22.20of.20map.20between.20inner.20product.20spaces/with/581776873) One motivation to define this is to state volume formula under transformations. From *Measure theory and fine properties of functions*: - Lemma 3.1: for linear map $L : \mathbb{R}^n \to \mathbb{R}^m$, we have $\mathcal{H}^n(L(A)) = [ L ] \mathcal{L}^n(A)$. This is proved in this PR at `euclideanHausdorffMeasure_image_eq_normDet_mul_volume` - Theorem 3.8, for (not necessarily linear) $f : \mathbb{R}^n \to \mathbb{R}^m$ ($n \le m$) and $\mathcal{L}^n$-measurable set $A \subset \mathbb{R}^n$, we have $\int_A J f dx = \int_{\mathbb{R}^m} \mathcal{H}^0(A \cap f\^{-1}\{y\}) d\mathcal{H}^n(y)$, where $J f$ is the `normDet` of the rectangular Jacobian matrix AI usage disclosure: AI was used in the following parts - searching for related literature for an appropriate name - generate draft proofs for some lemma to verify their correctness, though the final code has been completely rewritten by me. - [ ] depends on: #37918 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis maintainer-merge 480/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,docs/references.bib 4 18 ['copilot-pull-request-reviewer', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'themathqueen', 'wwylele'] j-loreaux
assignee:j-loreaux
14-35808
14 days ago
14-35546
14 days ago
48-23701
48 days
37464 martinwintermath
author:martinwintermath
feat(Geometry/Convex/Cone): Minor additions to pointed cones Minor additions to pointed cones: * `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas. * `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s` Co-authored by: Artie Khovanov --- In preparation of #36605. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge 22/16 Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 24 ['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] nobody
7-49899
7 days ago
9-76711
9 days ago
47-3329
47 days
37053 artie2000
author:artie2000
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`. This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry maintainer-merge merge-conflict 15/12 Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 9 ['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] nobody
7-24912
7 days ago
7-24913
7 days ago
46-71615
46 days
36376 jessealama
author:jessealama
feat(SimpleGraph): hamiltonian cycle from cyclic permutation This PR provides `IsHamiltonian.of_perm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if σ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v → σ v` is an edge of `G`, then `G` is Hamiltonian. ### New definitions and lemmas **`Mathlib/Data/List/Chain.lean`**: - `IsChain.iterate`: `List.iterate f a n` is a chain under `r` whenever `r a (f a)` holds for all `a` **`Mathlib/Data/List/Iterate.lean`**: - `getLast_iterate`: the last element of `List.iterate f a n` is `f^[n - 1] a` **`Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean`** (new file): - `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport` - `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API **`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**: - `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s` **`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**: - `IsCycleOn.injOn_sym2_pow_apply`: the unordered-pair edge map `k ↦ s((f ^ k) a, (f ^ (k + 1)) a)` is injective on `[0, #s)` when `#s ≠ 2` - `IsCycleOn.sym2_pow_apply_ne`: edge distinctness for cycle-on permutations — `s((f ^ k) a, (f ^ (k + 1)) a) ≠ s(a, f a)` when `k ≠ 0`, `k < #s`, and `#s ≠ 2` - `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers **`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**: - `cons_isHamiltonianCycle_iff`: a Hamiltonian path closed by an edge outside its support is a Hamiltonian cycle, and conversely - `IsHamiltonian.of_perm`: the main theorem --- - [x] depends on: #36307 t-combinatorics maintainer-merge 182/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian/Perm.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean 8 76 ['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
6-58528
6 days ago
6-55268
6 days ago
44-17401
44 days
36388 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 73/3 Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean 1 19 ['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] nobody
5-62170
5 days ago
6-12348
6 days ago
35-49296
35 days
35753 Vilin97
author:Vilin97
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods. Follow-up PR: #35755 (forward Euler method convergence). I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it. --- The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code. - [ ] depends on: #38091 t-topology new-contributor LLM-generated maintainer-merge 201/0 Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean 2 59 ['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] j-loreaux
assignee:j-loreaux
5-32447
5 days ago
17-24389
17 days ago
49-73462
49 days
37928 AlexeyMilovanov
author:AlexeyMilovanov
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`. `Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`. `FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`). Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed. Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required. new-contributor maintainer-merge 87/67 Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean 2 9 ['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] nobody
5-17258
5 days ago
11-68236
11 days ago
37-48085
37 days
39016 vihdzp
author:vihdzp
chore: deprecate `WithZero.zero_le` This is a duplicate of `zero_le` in the root namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
14/24 Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/FieldTheory/RatFunc/Valuation.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 4 2 ['YaelDillies', 'github-actions'] nobody
5-7453
5 days ago
11-80410
11 days ago
11-82623
11 days
39218 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): make `p.Nil` the simpNF of `p = nil` and `p.length = 0` These are equivalent, and `p.Nil` works even when the endpoints of the walk aren't defeq. [#graph theory > Deprecate `p = nil` in favor of `p.Nil`?](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Deprecate.20.60p.20.3D.20nil.60.20in.20favor.20of.20.60p.2ENil.60.3F/with/538017334) The main event is `Walk/Basic.lean`: - Swapped sides of `nil_iff_eq_nil` to create `eq_nil_iff_nil`, tagged `@[simp]` and deprecated the original - Changed the RHS of `length_eq_zero_iff` from `p = nil` to `p.Nil`, and generalized to non-closed walks - Deprecated `nil_iff_length_eq` which is the symmetric iff - Added `Nil.length_eq_zero` alias - Untagged `exists_length_eq_zero_iff` with `@[simp]` and added `exists_nil_iff` to replace it The rest is fixing everything that broke (or uses of now-deprecated lemmas), and: - [`Walk/Maps`] Added `nil_map_iff` to replace `map_eq_nil_iff` which is the same but with `.Nil` instead of `= nil` - [`Walk/Decomp`] Added `nil_rotate` to replace `rotate_eq_nil` which is the same but with `.Nil` instead of `= nil` --- Also renamed `set_walk_*` in `Counting.lean` to follow the naming convention. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 70/54 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Traversal.lean 10 10 ['SnirBroshi', 'YaelDillies', 'github-actions'] nobody
5-5918
5 days ago
6-53709
6 days ago
7-5866
7 days
37577 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges` to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions. Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems. Co-authored-by: Iván Renison <85908989+IvanRenison@users.noreply.github.com> --- Except for a couple of `cycleBypass` ones, I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 112/81 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean 5 4 ['YaelDillies', 'github-actions'] nobody
5-5900
5 days ago
6-52821
6 days ago
45-85191
45 days
37677 vihdzp
author:vihdzp
feat: club sets In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal. We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`. We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set. --- The idea is to eventually rework [`Ordinal.deriv`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/FixedPoint.html#Ordinal.deriv). This is simply the enumerator function for the fixed points of `f`, and enumerator functions for club sets are always normal. - [x] depends on: #37670 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order maintainer-merge 181/13 Mathlib.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/FundamentalSequence.lean 8 17 ['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] nobody
4-69935
4 days ago
4-72874
4 days ago
26-3465
26 days
35216 kim-em
author:kim-em
doc(Tactic/Translate/ToDual): add deployment guide for @[to_dual] This PR expands the documentation for `@[to_dual]` with practical advice for deploying it to existing code. **Module docstring** (`Mathlib/Tactic/Translate/ToDual.lean`): adds a "Deploying `@[to_dual]` to existing code" section covering name agreement, attribute propagation, docstring syntax ordering, declaration order dependencies, and known structural mismatches (conjunct reordering, type class gaps, interval argument swapping). **Attribute docstring**: adds a note that `@[simp]` is not auto-copied (must use `(attr := simp)`), and shows the correct ordering when combining `(attr := ...)` with docstrings. 🤖 Prepared with Claude Code --- @joneugster: this is no longer part of the PR, so I removed it from the description: > **Agent skill** (`.claude/skills/to_dual/SKILL.md`): detailed step-by-step instructions for an AI agent deploying `@[to_dual]`, including how to identify candidates, common patterns, and debugging. documentation LLM-generated maintainer-merge 31/3 Mathlib/Tactic/Translate/ToDual.lean 1 31 ['JovanGerb', 'MichaelStollBayreuth', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts', 'vihdzp'] joneugster
assignee:joneugster
4-54376
4 days ago
31-20012
31 days ago
38-6691
38 days
38199 vihdzp
author:vihdzp
chore: add items to set theory overview --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-set-theory maintainer-merge 11/2 docs/overview.yaml 1 5 ['SnirBroshi', 'github-actions', 'joneugster', 'vihdzp'] alreadydone
assignee:alreadydone
4-54249
4 days ago
30-73025
30 days ago
30-73117
30 days
38983 kebekus
author:kebekus
feat: Invariance of `meromorphic in normal form` under composition. Establish invariance of `meromorphic in normal form` under composition with analytic functions of non-vanishing derivative. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis maintainer-merge 42/0 Mathlib/Analysis/Meromorphic/NormalForm.lean 1 12 ['github-actions', 'kebekus', 'themathqueen'] themathqueen
assignee:themathqueen
4-48201
4 days ago
4-48201
4 days ago
11-69193
11 days
37722 SabrinaJewson
author:SabrinaJewson
feat(Order/Cover): intervals equal singletons iff To complement `Set.Icc_eq_singleton_iff`, this introduces: - `Set.Ioc_eq_singleton_iff` / `Set.Ico_eq_singleton_iff` - `Set.Ico_eq_singleton_left_iff` / `Set.Ioc_eq_singleton_right_iff` - `Set.Ioi_eq_singleton_iff` / `Set.Iio_eq_singleton_iff` - `Set.Ioi_eq_singleton_top_iff` / `Set.Iio_eq_singleton_bot_iff` - `Set.Ioo_eq_singleton_iff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor awaiting-author maintainer-merge 39/0 Mathlib/Order/Atoms.lean,Mathlib/Order/Cover.lean 2 16 ['Komyyy', 'SabrinaJewson', 'github-actions', 'mathlib-merge-conflicts'] bryangingechen
assignee:bryangingechen
4-36749
4 days ago
6-76106
6 days ago
35-12445
35 days
37623 IvanRenison
author:IvanRenison
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com> --- Missing of this theorems noticed by @SnirBroshi in #37598 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 18/0 Mathlib/Order/RelIso/Basic.lean 1 8 ['IvanRenison', 'SnirBroshi', 'dagurtomas', 'eric-wieser', 'github-actions'] nobody
3-69570
3 days ago
43-43040
43 days ago
44-66568
44 days
38362 vihdzp
author:vihdzp
feat: cofinal subset of regular cardinal is isomorphic to it In set theory, one often identifies a cardinal `c` with its initial ordinal `c.ord`, and said ordinal with the lower set `Iio c.ord`. This is particularly pervasive in the theory of club and stationary subsets, where one often sees the hypothesis "let κ be a regular cardinal" in lieu of the more precise wording: that `κ` is an (infinite) well-order, whose order type equals the initial ordinal of its cardinality. We define a typeclass `IsRegularCardinalOrder` for this assumption. The benefit of using it is that our results won't apply only to `Iio c.ord` for regular `c`, but also to concrete types such as `Nat`, `Cardinal`, or `Ordinal`. As a proof of concept, we define `Order.enum`, a generalization of both `Nat.nth` and `Ordinal.enumOrd`. A future PR will deprecate the latter. --- - [x] depends on: #38363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory maintainer-merge 127/11 Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean 5 12 ['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] nobody
3-49968
3 days ago
3-69469
3 days ago
7-28007
7 days
35394 HugLycan
author:HugLycan
feat(Tactic/Positivity): make positivity work for types that are not partial orders Make positivity work for types that are not partial orders Most PositivityExt haven't been updated for non partial order cases yet. They will be updated in the later PR. `Strictness` now depends on `Option Q(PartialOrder $α)` instead of `Q(PartialOrder $α)`, and the constructors `Strictness.positive`/`Strictness.nonnegative` now have their `Q(PartialOrder $α)` typeclass arguments. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-meta maintainer-merge 612/354 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Algebra.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Module/Field.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Order.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/DerivHyp.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Factorial/DoubleFactorial.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/ArithmeticFunction/Zeta.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/Height/Projectivization.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Positivity/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,MathlibTest/positivity.lean 54 90 ['HugLycan', 'JovanGerb', 'fpvandoorn', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] dwrensha
assignee:dwrensha
3-19689
3 days ago
7-19833
7 days ago
54-52832
54 days
39444 FLDutchmann
author:FLDutchmann
fix(Tactic/Algebra): properly handle scalars that evaluate to zero When `algebra` encounters `0 • x` it gets normalized to `0 • x` instead of `0`, breaking the invariant that coefficients are not allowed to be zero. This PR fixes this issue and adds a corresponding test. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 18/3 Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Algebra/Lemmas.lean,MathlibTest/Algebra.lean 3 5 ['FLDutchmann', 'github-actions', 'grunweg'] thorimur
assignee:thorimur
3-12823
3 days ago
3-21490
3 days ago
3-21590
3 days
35683 gasparattila
author:gasparattila
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continuous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`. --- These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk` These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta maintainer-merge 66/44 Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,MathlibTest/FunPropMinimal.lean 5 27 ['gasparattila', 'github-actions', 'grunweg', 'joneugster', 'lecopivo', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
2-54725
2 days ago
2-54796
2 days ago
82-60357
82 days
39408 fgdorais
author:fgdorais
feat(Tactic/Linter/DeprecatedModule): add option `linter.deprecated.module.exclude_root` This PR fixes an incorrect behavior in the deprecated module linter: the linter excluded all modules with filenames ending with `Mathlib.lean` without checking that the file is the Mathlib root module rather than a random module whose name happens to end with `Mathlib` (such are more plausible in downstream projects than in Mathlib itself). The Mathlib root module is autogenerated and imports all modules regardless of deprecation status. So it needs to be excluded from the deprecated module check. An easy way to correct the erroneous behavior would be to remove the hard-coded exclusion from the linter and add `set_option linter.deprecated.module false` at the end of `Mathlib.lean`. However, this PR takes a broader approach, which is to add a `linter.deprecated.module.exclude_root` option. That way downstream projects with a similarly designed root module can also use this feature by setting `linter.deprecated.module.exclude_root` to `true` in their lakefile. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter maintainer-merge 19/3 Mathlib/Tactic/Linter/DeprecatedModule.lean,lakefile.lean 2 11 ['JovanGerb', 'adomani', 'fgdorais', 'github-actions'] JovanGerb
assignee:JovanGerb
1-61465
1 day ago
3-64656
3 days ago
3-64649
3 days
37914 j-loreaux
author:j-loreaux
feat: transfer `star`-related instances across equivalences This also adds `Function.Injective.{InvolutiveStar,...}` and related lemmas. In addition we rename the existing `Equiv.star` to `Equiv.Perm.star` (without a deprecation) so that the name can be used for the declaration which transfers a `Star` instance across an `Equiv`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
95/2 Mathlib.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/TransferInstance.lean 4 15 ['SnirBroshi', 'github-actions', 'themathqueen'] themathqueen
assignee:themathqueen
1-47876
1 day ago
25-39755
25 days ago
25-41657
25 days
39203 FordUniver
author:FordUniver
refactor(Analysis/Calculus/Gradient): ungate inner_gradient lemmas Removes superfluous differentiability hypotheses (plus `UniqueDiffWithinAt` for the `Within` versions) from the four `inner_gradient[Within]_[left|right]` lemmas: `gradient` is defined as `(toDual 𝕜 F).symm (fderiv 𝕜 f x)`, so `⟪∇ f x, y⟫ = fderiv 𝕜 f x y` holds unconditionally since both sides are zero when `f` is not differentiable at `x`. --- Genuinely unsure about this one because the only call I currently have in my code itself has the differentiability hypothesis. But including unused (or unnecessary) assumptions seems not intentional? My best guess is that the hypotheses were included by analogy with `HasGradientAt.fderiv_apply`, which genuinely needs them. This PR drops the hypotheses and rewrites the proofs through the isomorphism directly; no existing mathlib callers pass the now-redundant arguments. t-analysis maintainer-merge 17/10 Mathlib/Analysis/Calculus/Gradient/Basic.lean 1 6 ['FordUniver', 'Komyyy', 'github-actions'] urkud
assignee:urkud
1-41550
1 day ago
7-51740
7 days ago
7-51733
7 days
39202 FordUniver
author:FordUniver
feat(Analysis/Calculus/Gradient): add toDual_gradient and companions Add `toDual_gradient`, `toDual_gradientWithin`, and the composed variants `toDual_comp_gradient`, `toDual_comp_gradientWithin` — the natural inverse direction of the gradient's defining equation `∇ f x := (toDual 𝕜 F).symm (fderiv 𝕜 f x)`. These identify `(toDual 𝕜 F) (∇ f x)` with `fderiv 𝕜 f x` (and the `gradientWithin` and composed forms with the corresponding fderiv versions), making the Riesz isomorphism between the two derivative views explicit. The proofs of `DifferentiableAt.hasGradientAt` and `DifferentiableWithinAt.hasGradientWithinAt` in the same file are simplified to use them. --- Came up while formalizing the descent lemma for Lipschitz-smooth functions, where being able to switch between `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)` is helpful, which with this PR becomes `toDual_comp_gradient ▸ (toDual ℝ F).isometry.lipschitzWith_iff K`. Also slightly simplifies two call sites in mathlib. maintainer-merge 20/5 Mathlib/Analysis/Calculus/Gradient/Basic.lean 1 5 ['FordUniver', 'Komyyy', 'github-actions'] nobody
1-17454
1 day ago
7-51214
7 days ago
7-51371
7 days
39183 yuanyi-350
author:yuanyi-350
refactor(Analysis): golf `Mathlib/Analysis/Complex/Exponential` - shortens the reindexing step in `norm_exp_sub_sum_le_norm_mul_exp` by switching from `sum_bij` to `sum_Ico_eq_sum_range` with `simp` Extracted from #37968 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) codex t-analysis LLM-generated maintainer-merge 8/23 Mathlib/Analysis/Complex/Exponential.lean 1 4 ['Komyyy', 'github-actions', 'yuanyi-350'] urkud
assignee:urkud
0-83770
23 hours ago
0-83958
23 hours ago
7-65559
7 days
39439 NoahW314
author:NoahW314
feat: add `LinearMap.restrictScalars_mul` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory maintainer-merge 11/5 Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean 3 9 ['NoahW314', 'eric-wieser', 'github-actions', 'leanprover-radar', 'tb65536'] tb65536
assignee:tb65536
0-79203
22 hours ago
2-18115
2 days ago
3-24969
3 days
36910 Brian-Nugent
author:Brian-Nugent
feat(CategoryTheory): 4 and 5 lemmas for ComposableArrows n Adds versions of the 4 and 5 lemmas for morphisms in `ComposableArrows n`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 83/2 Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean 3 32 ['Brian-Nugent', 'dagurtomas', 'erdOne', 'github-actions', 'robin-carlier'] adamtopaz
assignee:adamtopaz
0-77562
21 hours ago
5-27092
5 days ago
40-74990
40 days
39109 mbkybky
author:mbkybky
feat(RingTheory/LocalProperties): `Module.FinitePresentation` is a local property We show that if there exists a set `{ r }` of `R` such that `Mᵣ` is a finitely presented `Rᵣ`-module for each `r`, then `M` is a finitely presented `R`-module. Co-authored-by: Sihan Su @su00000 Co-authored-by: Yi Song @syur2 From the [Local Properties of Modules](https://github.com/mbkybky/module_localProperties) project. - [x] depends on: #39112 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 99/10 Mathlib.lean,Mathlib/RingTheory/LocalProperties/FinitePresentation.lean,Mathlib/RingTheory/Localization/Finiteness.lean 3 6 ['github-actions', 'mathlib-dependent-issues', 'robin-carlier'] nobody
0-74778
20 hours ago
7-50592
7 days ago
9-34931
9 days
37624 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Maps): add theorems about composition --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 32/5 Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 2 11 ['IvanRenison', 'YaelDillies', 'github-actions'] nobody
0-67101
18 hours ago
2-35290
2 days ago
43-72077
43 days
39055 vihdzp
author:vihdzp
chore: deprecate `not_lt_zero'` and `bot_eq_zero''` Two easy pickings from #38663. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 24/37 Mathlib/Algebra/Order/Floor/Extended.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/AlgebraicTopology/AlternatingFaceMapComplex.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Data/Int/WithZero.lean,Mathlib/Data/List/Shortlex.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/Topology/MetricSpace/PiNat.lean 11 6 ['YaelDillies', 'github-actions', 'leanprover-radar', 'riccardobrasca', 'vihdzp'] nobody
0-46145
12 hours ago
11-19816
11 days ago
11-19809
11 days
39525 ocfnash
author:ocfnash
feat: the preimage of a finite (co)dimensional submodule has finite (co)dimension if the map has finite-dimensional (co)kernel. Written at the ICERM workshop "Techniques and Tools for the Formalization of Analysis". Extracted from #39274 which defines Fredholm operators --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra maintainer-merge
label:t-algebra$
85/1 Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/LinearAlgebra/Dimension/Basic.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean 7 22 ['ADedecker', 'github-actions', 'ocfnash', 'robin-carlier', 'themathqueen'] nobody
0-45624
12 hours ago
0-46730
12 hours ago
0-59268
16 hours
39538 b-mehta
author:b-mehta
feat(Data/Finset/SDiff): add sdiff_subset_sdiff_left and sdiff_subset_sdiff_right These two lemmas are provided for convenience in term mode. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge 6/0 Mathlib/Data/Finset/SDiff.lean 1 6 ['b-mehta', 'github-actions', 'themathqueen'] nobody
0-35319
9 hours ago
0-39694
11 hours ago
0-42369
11 hours
39477 wwylele
author:wwylele
chore(LinearAlgebra/Ray): remove a defeq abuse Previously, the code uses Subtype constructor to construct RayVector, and the instance cannot see through this. As a common practice, RayVector declares its own constructor to resolve this --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt maintainer-merge
label:t-algebra$
14/4 Mathlib/LinearAlgebra/Ray.lean 1 6 ['Vierkantor', 'github-actions', 'robin-carlier', 'wwylele'] nobody
0-34234
9 hours ago
0-34234
9 hours ago
2-6646
2 days
39507 sgouezel
author:sgouezel
chore: remove useless `[NumberField K]` typeclass assumption Noticed while tweaking instance priorities in #39471 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory easy maintainer-merge 4/2 Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean 1 6 ['MichaelStollBayreuth', 'github-actions', 'sgouezel'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
0-28845
8 hours ago
0-30072
8 hours ago
1-15538
1 day
39364 Vierkantor
author:Vierkantor
chore(Tactic): update `tauto` and `tauto_set` tactic docs This PR updates the docstrings for the `tauto` and `tauto_set` tactics, as follows: * First say that they solve tautologies (expressed in propositional logic and elementary set theory respectively), instead of listing a bunch of operators, * Clarify that they either close the goal or fail, * Remove the mention of Lean 3 since we have been on Lean 4 for years now. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta maintainer-merge 8/6 Mathlib/Tactic/Tauto.lean,Mathlib/Tactic/TautoSet.lean 2 4 ['JovanGerb', 'github-actions', 'grunweg'] JovanGerb
assignee:JovanGerb
0-26637
7 hours ago
4-49856
4 days ago
4-49849
4 days
39554 grunweg
author:grunweg
feat: add and use custom (d)elaborators for `mvfderiv`, add basic API lemmas Add a custom elaborator (scoped to the `Manifold` namespace) shortening `mvfderiv I f` to `d% f`, and have a corresponding delaborator also. Their implementation is fully analogous to the existing elaborators. Also, rewrite Lie bracket lemmas to use `mvfderiv` instead of open-coding it. Part of #36036, i.e. from the path towards the Levi-Civita connection and Riemanian curvature. Related to fixing defeq abuses related to tangent space and scalar multiplication in mathlib. Co-authored-by: Heather Macbeth [25316162+hrmacbeth@users.noreply.github.com](mailto:25316162+hrmacbeth@users.noreply.github.com) Co-authored-by: Patrick Massot [patrickmassot@free.fr](mailto:patrickmassot@free.fr) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-differential-geometry 94/25 Mathlib/Geometry/Manifold/MFDeriv/NormedSpace.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean 3 4 ['github-actions', 'grunweg'] nobody
0-24934
6 hours ago
0-25245
7 hours ago
0-25238
7 hours
37443 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk/Operations): permutations of support --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics maintainer-merge 17/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean 2 6 ['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] b-mehta
assignee:b-mehta
0-12203
3 hours ago
7-71461
7 days ago
47-56730
47 days
39359 mathlib-splicebot
author:mathlib-splicebot
fix: don't mark `continuous_sigma` as fun_prop This is a bad `fun_prop` theorem: because of its hypotheses, this would be classified as a transition theorem, and most likely never fire. Extracted from #39337. t-topology maintainer-merge 3/1 Mathlib/Topology/Constructions.lean 1 7 ['JovanGerb', 'github-actions', 'grunweg', 'lecopivo', 'urkud'] alreadydone
assignee:alreadydone
0-12195
3 hours ago
4-61803
4 days ago
4-61796
4 days
38092 SnirBroshi
author:SnirBroshi
chore(Order/Defs/Unbundled): deprecate `def Symmetric` in favor of `class Std.Symm` --- [Mathlib's `def Symmetric`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#Symmetric) [Core's `class Std.Symm`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Std.Symm) [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relation.20properties.20duplication/near/544638270) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 465/408 Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/Normed/Operator/Compact/FredholmAlternative.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/IsConnected.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Graph/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Combinatorics/Graph/Lattice.lean,Mathlib/Combinatorics/Graph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Pairwise.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Rel/Separated.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Pairwise/List.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/MeasureTheory/Measure/AEDisjoint.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,Mathlib/ModelTheory/Graph.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PropInstances.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Radical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Graph.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Separation/GDelta.lean 80 8 ['SnirBroshi', 'dagurtomas', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] nobody
0-2081
34 minutes ago
0-2120
35 minutes ago
31-74642
31 days

PRs blocked on a zulip discussion

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
17623 FR-vdash-bot
author:FR-vdash-bot
feat(Algebra/Order/GroupWithZero/Unbundled): add some lemmas Some lemmas in `Algebra.Order.GroupWithZero.Unbundled` have incorrect or unsatisfactory names, or assumptions that can be omitted using `ZeroLEOneClass`. The lemmas added in this PR are versions of existing lemmas that use the correct or better name or `ZeroLEOneClass` to omit an assumption. The original lemmas will be deprecated in #17593. | New name | Old name | |-------------------------|-------------------------| | `mul_le_one_left₀` | `Left.mul_le_one_of_le_of_le` | | `mul_lt_one_of_le_of_lt_left₀` (`0 ≤ ·` version) / `mul_lt_one_of_le_of_lt_of_pos_left` | `Left.mul_lt_of_le_of_lt_one_of_pos` | | `mul_lt_one_of_lt_of_le_left₀` | `Left.mul_lt_of_lt_of_le_one_of_nonneg` | | `mul_le_one_right₀` | `Right.mul_le_one_of_le_of_le` | | `mul_lt_one_of_lt_of_le_right₀` (`0 ≤ ·` version) / `mul_lt_one_of_lt_of_le_of_pos_right` | `Right.mul_lt_one_of_lt_of_le_of_pos` | | `mul_lt_one_of_le_of_lt_right₀` | `Right.mul_lt_one_of_le_of_lt_of_nonneg` | The following lemmas use `ZeroLEOneClass`. | New name | Old name | |-------------------------|-------------------------| | `(Left.)one_le_mul₀` | `Left.one_le_mul_of_le_of_le` | | `Left.one_lt_mul_of_le_of_lt₀` | `Left.one_lt_mul_of_le_of_lt_of_pos` | | `Left.one_lt_mul_of_lt_of_le₀` | `Left.lt_mul_of_lt_of_one_le_of_nonneg` / `one_lt_mul_of_lt_of_le` (still there) | | `(Left.)one_lt_mul₀` | | | `Right.one_le_mul₀` | `Right.one_le_mul_of_le_of_le` | | `Right.one_lt_mul_of_lt_of_le₀` | `Right.one_lt_mul_of_lt_of_le_of_pos` | | `Right.one_lt_mul_of_le_of_lt₀` | `Right.one_lt_mul_of_le_of_lt_of_nonneg` / `one_lt_mul_of_le_of_lt` (still there) / `one_lt_mul` (still there) | | `Right.one_lt_mul₀` | `Right.one_lt_mul_of_lt_of_lt` | --- Split from #17593. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra awaiting-zulip t-order
label:t-algebra$
146/44 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean 2 11 ['YaelDillies', 'astrainfinita', 'github-actions', 'j-loreaux'] nobody
544-59453
1 year ago
551-52012
551 days ago
33-64877
33 days
15654 TpmKranz
author:TpmKranz
feat(Computability): language-preserving maps between NFA and RE Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs Last chunk of #12648 --- - [ ] depends on: #15651 - [ ] depends on: #15649 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) blocked-by-other-PR new-contributor t-computability merge-conflict awaiting-zulip 985/2 Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Data/FinEnum/Option.lean,docs/references.bib 7 3 ['github-actions', 'leanprover-community-mathlib4-bot', 'meithecatte'] nobody
378-22730
1 year ago
647-45915
647 days ago
0-179
2 minutes
17458 urkud
author:urkud
refactor(Algebra/Group): make `IsUnit` a typeclass Also change some lemmas to assume `[IsUnit _]` instead of `[Invertible _]`. Motivated by potential non-defeq diamonds in #14986, see also [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Invertible.20and.20data) I no longer plan to merge this PR, but I'm going to cherry-pick some changes to a new PR before closing this one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebra awaiting-zulip
label:t-algebra$
82/72 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean 26 12 ['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] nobody
318-3079
10 months ago
589-37122
589 days ago
0-66650
18 hours
25218 kckennylau
author:kckennylau
feat(AlgebraicGeometry): Tate normal form of elliptic curves --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-algebraic-geometry awaiting-zulip new-contributor 291/26 Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Modular/TateNormalForm.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean 5 31 ['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'grunweg', 'kckennylau', 'leanprover-community-bot-assistant'] nobody
318-1917
10 months ago
350-63434
350 days ago
6-47693
6 days
28803 astrainfinita
author:astrainfinita
refactor: unbundle algebra from `ENormed*` Further speed up the search in the algebraic typeclass hierarchy by avoiding searching for `TopologicalSpace`. This PR continues the work from #23961. - Change `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` so they no longer carry algebraic data. - Deprecate `ESeminormed(Add)CommMonoid` and `ENormed(Add)CommMonoid` in favor of `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` with a commutative algebraic typeclass. |Old|New| |---|---| | `[ESeminormed(Add)(Comm)Monoid E]` | `[(Add)(Comm)Monoid E] [ESeminormed(Add)Monoid E]` | | `[ENormed(Add)(Comm)Monoid]` | `[(Add)(Comm)Monoid E] [ENormed(Add)Monoid]` | See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2328803.20refactor.3A.20unbundle.20algebra.20from.20.60ENormed*.60/with/536024350) ------------ - [x] depends on: #28813 t-algebra merge-conflict slow-typeclass-synthesis awaiting-zulip t-analysis
label:t-algebra$
80/63 Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean 14 28 ['astrainfinita', 'bryangingechen', 'github-actions', 'grunweg', 'kbuzzard', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] grunweg
assignee:grunweg
258-17562
8 months ago
266-55116
266 days ago
0-20585
5 hours
28925 grunweg
author:grunweg
chore: remove `linear_combination'` tactic When `linear_combination` was refactored in #15899, the old code was kept as the `linear_combination'` tactic, for easier migration. The consensus of the zulip discussion ([#mathlib4 > Narrowing the scope of `linear_combination` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Narrowing.20the.20scope.20of.20.60linear_combination.60/near/470237816)) was to wait, and "revisit this once people have experienced the various tactics in practice". One year later, the old tactic has almost no uses: it is unused in mathlib; [searching on github](https://github.com/search?q=linear_combination%27%20path%3A*.lean&type=code) yields 37 hits --- all of which are in various forks of mathlib. Thus, removing this tactic seems appropriate. --- Do not merge before the zulip discussion has concluded! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict file-removed awaiting-zulip 0/564 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LinearCombination'.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/linear_combination'.lean 5 4 ['euprunin', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] nobody
214-81172
7 months ago
266-26569
266 days ago
0-1
1 second
30150 imbrem
author:imbrem
feat(CategoryTheory/Monoidal): to_additive for MonoidalCategory Add `AddMonoidalCategory`, the additive version of `MonoidalCategory`. To get this to work, I needed to _remove_ the `to_additive` attributes in `Discrete.lean`, since existing code relies on the `AddMonoid M → MonoidalCategory M` instance. For now, we simply implement the additive variants by hand instead. --- As discussed in #28718; I added an `AddMonoidalCategory` struct and tagged `MonoidalCategory` with `to_additive`, along with the lemmas in `Category.lean`. I think this is the right approach, since under this framework the "correct" additive version of `Discrete.lean` would be mapping an `AddMonoid` to an `AddMonoidalCategory`. Next steps would be to: - Make `monoidal_coherence` and `coherence` support `AddMonoidalCategory` - Add `CocartesianMonoidalCategory` extending `AddMonoidalCategory` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import new-contributor merge-conflict awaiting-zulip t-meta 444/125 Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 3 22 ['JovanGerb', 'YaelDillies', 'github-actions', 'imbrem', 'mathlib4-merge-conflict-bot'] nobody
187-5646
6 months ago
226-70712
226 days ago
1-160
1 day
15651 TpmKranz
author:TpmKranz
feat(Computability/NFA): operations for Thompson's construction Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid. Third chunk of #12648 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability merge-conflict awaiting-author awaiting-zulip 307/5 Mathlib/Computability/NFA.lean 1 27 ['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] nobody
182-22778
6 months ago
601-50166
601 days ago
45-84611
45 days
15649 TpmKranz
author:TpmKranz
feat(Computability): introduce Generalised NFA as bridge to Regular Expression Lays the groundwork for a proof of equivalence of NFA and RE, w.r.t. described language. Actual connection to NFA comes later, after the groundwork for the opposite direction has been laid. Second chunk of #12648 --- - [x] depends on: #15647 [Data.FinEnum.Option unchanged since then] [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability merge-conflict awaiting-author awaiting-zulip 298/0 Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib 5 7 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'trivial1711'] nobody
181-39019
6 months ago
527-2549
527 days ago
23-54870
23 days
20648 anthonyde
author:anthonyde
feat: formalize regular expression -> εNFA The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness. --- - [x] depends on: #20644 - [x] depends on: #20645 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) merge-conflict t-computability awaiting-zulip new-contributor 490/0 Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib 3 7 ['anthonyde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'qawbecrdtey'] nobody
180-76187
5 months ago
378-22716
378 days ago
75-77754
75 days
11800 JADekker
author:JADekker
feat: KappaLindelöf spaces Define KappaLindelöf spaces by following the first one-third of the API for Lindelöf spaces. The remainder will be added in a future PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) please-adopt merge-conflict t-topology awaiting-zulip 301/2 Mathlib.lean,Mathlib/Topology/Compactness/KappaLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean 3 38 ['ADedecker', 'JADekker', 'PatrickMassot', 'StevenClontz', 'adomani', 'github-actions', 'grunweg', 'kim-em', 'urkud'] nobody
180-48053
5 months ago
655-68335
655 days ago
123-25636
123 days
30668 astrainfinita
author:astrainfinita
feat: `QuotType` This typeclass is primarily for use by type synonyms of `Quot` and `Quotient`. Using `QuotType` API for type synonyms of `Quot` and `Quotient` will avoid defeq abuse caused by directly using `Quot` and `Quotient` APIs. This PR also adds some typeclasses to support different ways to find the quotient map that should be used. See the documentation comments of these typeclasses for examples of usage. --- It's not a typical design to use these auxiliary typeclasses and term elaborators, but I haven't found a better way to support these notations. Some of the naming may need to be discussed. For example: - `⟦·⟧` is currently called `mkQ` in names. This distinguishes it from other `.mk`s and makes it possible to write the quotient map as `mkQ` `mkQ'` ~~`mkQ_ h`~~. But this will also require changing the old lemma names. - It would be helpful if the names of new type classes explained their functionality better. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/migrate.20to.20.60QuotLike.60.20API) This PR continues the work from #16421. Original PR: https://github.com/leanprover-community/mathlib4/pull/16421 RFC t-data awaiting-zulip awaiting-author 629/0 Mathlib.lean,Mathlib/Data/QuotType.lean,MathlibTest/QuotType.lean 3 22 ['SnirBroshi', 'YaelDillies', 'astrainfinita', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] nobody
159-29899
5 months ago
211-85152
211 days ago
0-81
1 minute
33368 urkud
author:urkud
feat: define `Complex.UnitDisc.shift` Also review the existing API UPD: I'm going to define a `PSL(2, Real)` action instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis awaiting-zulip merge-conflict 273/39 Mathlib.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/Complex/UnitDisc/Shift.lean 3 7 ['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'sgouezel', 'urkud'] j-loreaux
assignee:j-loreaux
131-84612
4 months ago
132-44945
132 days ago
7-10690
7 days
33031 chiyunhsu
author:chiyunhsu
feat(Combinatorics/Enumerative/Partition): add combinatorial proof of Euler's partition theorem The new file EulerComb.lean contains the combinatorial proof of Euler's partition theorem. The analytic proof of the theorem and its generalization of Glaisher's Theorem has already been formalized in [Glaisher.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Combinatorics/Enumerative/Partition/Glaisher.lean). The generalization of the combinatorial proof from this file to Glaisher's Theorem is within reach. --- Zulip discussion: [#mathlib4 > Glaisher’s Bijection on integer partitions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Glaisher.E2.80.99s.20Bijection.20on.20integer.20partitions/with/570808111) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor awaiting-zulip awaiting-author 531/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/EulerComb.lean 2 7 ['chiyunhsu', 'dagurtomas', 'github-actions', 'tb65536', 'vihdzp'] b-mehta
assignee:b-mehta
109-51865
3 months ago
109-51865
109 days ago
42-21618
42 days
32742 LTolDe
author:LTolDe
feat(MeasureTheory/Constructions/Polish/Basic): add class SuslinSpace add new class `SuslinSpace` for a topological space that is an analytic set in itself This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip t-measure-probability awaiting-author 4/0 Mathlib/MeasureTheory/Constructions/Polish/Basic.lean 1 10 ['ADedecker', 'LTolDe', 'dagurtomas', 'dupuisf', 'github-actions', 'jcommelin'] PatrickMassot
assignee:PatrickMassot
106-64275
3 months ago
132-48407
132 days ago
25-76907
25 days
26299 adomani
author:adomani
perf: the `whitespace` linter only acts on modified files Introduces an `IO.Ref` to allow the `commandStart` linter to only run on files that git considers modified with respect to `master`. The linter is also active on files that have had some error, as these are likely being modified! The PR should also mitigate the speed-up that the linter introduced: [#mathlib4 > A whitespace linter @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20whitespace.20linter/near/525091877) Assuming that this goes well, a similar mechanism could be applied to several linters that do not need to run on all code, just on the modified code. Implementation detail: the linter is currently either on or off in "whole" files. It may be also a future development to make this more granular and only run the linter on "modifed commands in modified files", but this is not currently the plan for this modification! --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-zulip awaiting-author 55/7 Mathlib/Tactic/Linter/Whitespace.lean 1 20 ['adomani', 'eric-wieser', 'github-actions', 'grunweg', 'joneugster', 'kim-em', 'leanprover-bot', 'leanprover-radar', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
89-75049
3 months ago
262-71367
262 days ago
66-73556
66 days
35524 grunweg
author:grunweg
feat: text-based linter against \t followed by tactic mode Wait for the zulip discussion to converge. **If** there is consensus in favour of this change, summarise the motivation here. [zulip discuss](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/proposal.3A.20no.20more.20use.20of.20.60.E2.96.B8.60.20in.20Mathlib.3F/with/574680826) --- There are currently 80 remaining exceptions in mathlib: ideally, these would get fixed before merging this. Works best when combined with #35523. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter awaiting-zulip merge-conflict 23/2 Mathlib/Tactic/Linter/TextBased.lean 1 5 ['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'vihdzp'] nobody
87-45668
2 months ago
88-68440
88 days ago
0-3308
55 minutes
35578 Shreyas4991
author:Shreyas4991
fix: writer monad should use an additive logging type The Writer monad's w type is supposed to be additive, not multiplicative. This is how it is conceptually used in Haskell (as a logging type). Haskell uses `Monoid` because it doesn't make a distinction between `AddMonoid` and `Monoid`. [#mathlib4 > Writer should use an additive monoid @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Writer.20should.20use.20an.20additive.20monoid/near/574990415) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-zulip merge-conflict 10/10 Mathlib/Control/Monad/Cont.lean,Mathlib/Control/Monad/Writer.lean 2 5 ['Shreyas4991', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] nobody
87-24182
2 months ago
87-24183
87 days ago
0-18707
5 hours
20238 maemre
author:maemre
feat(Computability/DFA): Closure of regular languages under some set operations This shows that regular languages are closed under complement and intersection by constructing DFAs for them. --- Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability merge-conflict awaiting-author awaiting-zulip 159/0 Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean 2 60 ['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'mathlib4-merge-conflict-bot', 'meithecatte', 'urkud'] nobody
81-69421
2 months ago
427-47360
427 days ago
48-67492
48 days
22361 rudynicolop
author:rudynicolop
feat(Computability/NFA): nfa closure properties Add the closure properties union, intersection and reversal for NFA. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability merge-conflict awaiting-author awaiting-zulip 218/2 Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean 2 91 ['EtienneC30', 'b-mehta', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] nobody
81-69405
2 months ago
378-51299
378 days ago
39-60525
39 days
23929 meithecatte
author:meithecatte
feat(Computability/NFA): improve bound on pumping lemma --- - [x] depends on: #25321 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability awaiting-zulip new-contributor awaiting-author 101/10 Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean 2 42 ['YaelDillies', 'dagurtomas', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] nobody
81-3034
2 months ago
345-32333
345 days ago
34-10092
34 days
34963 Parcly-Taxel
author:Parcly-Taxel
feat(Archive): proof of the Robbins conjecture Cf. [#mathlib4 > Alternative axiomatization of boolean algebras @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Alternative.20axiomatization.20of.20boolean.20algebras/near/558900960) and #31924. t-algebra awaiting-zulip
label:t-algebra$
610/0 Archive.lean,Archive/Robbins.lean 2 2 ['chrisflav', 'github-actions'] chrisflav
assignee:chrisflav
79-41475
2 months ago
28-41450
28 days ago
71-52253
71 days
30750 SnirBroshi
author:SnirBroshi
feat(Data/Quot): `toSet` and `equivClassOf` Define `toSet` which gets the set corresponding to an element of a quotient, and `equivClassOf` which gets the equivalence class of an element under a quotient. --- I found these definitions helpful when working with quotients, specifically `ConnectedComponents` of a `TopologicalSpace`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data awaiting-author awaiting-zulip 162/0 Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/Setoid/Basic.lean 4 8 ['SnirBroshi', 'TwoFX', 'eric-wieser', 'github-actions', 'linesthatinterlace', 'mathlib-merge-conflicts'] TwoFX
assignee:TwoFX
76-71635
2 months ago
172-74975
172 days ago
36-69524
36 days
36890 vihdzp
author:vihdzp
chore(SetTheory): `le_mul_left` → `le_mul_of_pos_left` The new theorem names/statements match [`Nat.le_mul_of_pos_left`](https://leanprover-community.github.io/mathlib4_docs/Init/Data/Nat/Lemmas.html#Nat.le_mul_of_pos_left). The cardinal one has also been moved to an earlier file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory awaiting-zulip merge-conflict 28/23 Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Free.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/Notation.lean 6 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
56-79590
1 month ago
59-66330
59 days ago
0-10825
3 hours
38546 yhx-12243
author:yhx-12243
fix: universe issue in injective module Change the definition of ```lean class Module.Injective : Prop where out : ∀ ⦃X Y : Type v⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y] (f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q), ∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x ``` into ```lean class Module.Injective : Prop where out : ∀ ⦃X Y : Type u⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y] (f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q), ∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x ``` to make it agree with `Module.Baer` and real mathematical definition, **without universe issues**. Since the criterion `Module.Flat` also uses `Type u` on testing modules. See discussions in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Universe.20issue.20about.20injective.20module . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor awaiting-zulip
label:t-algebra$
57/43 Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RingTheory/Flat/Tensor.lean,Mathlib/RingTheory/LocalProperties/Injective.lean 6 5 ['github-actions', 'grunweg', 'mathlib-bors', 'wwylele'] nobody
22-28139
22 days ago
22-28150
22 days ago
0-26133
7 hours
37346 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉 * `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉 * `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉 * `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉 * `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge awaiting-zulip 7/45 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean 4 22 ['FernandoChu', 'bryangingechen', 'chenson2018', 'euprunin', 'faenuccio', 'github-actions', 'grunweg'] nobody
19-60363
19 days ago
19-60394
19 days ago
30-49603
30 days
32608 PrParadoxy
author:PrParadoxy
feat(LinearAlgebra/PiTensorProduct): API for PiTensorProducts indexed by sets This PR addresses a TODO item in LinearAlgebra/PiTensorProduct.lean: * API for the various ways ι can be split into subsets; connect this with the binary tensor product -- specifically by describing tensors of type ⨂ (i : S), M i, for S : Set ι. Our primary motivation is to formalise the notion of "restricted tensor products". This will be the content of a follow-up PR. Beyond that, the Set API is natural in contexts where the index type has an independent interpretation. An example is quantum physics, where ι ranges over distinguishable degrees of freedom, and where its is common practice to annotate objects by the set of indices they are defined on. --- Stub file with preliminary definition of the restricted tensor product as a direct limit of tensors indexed by finite subsets of an index type: https://github.com/PrParadoxy/mathlib4/blob/restricted-stub/Mathlib/LinearAlgebra/PiTensorProduct/Restricted.lean --- - [x] depends on: #32598 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor awaiting-zulip t-algebra WIP
label:t-algebra$
300/2 Mathlib.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean 3 31 ['PrParadoxy', 'dagurtomas', 'eric-wieser', 'github-actions', 'goliath-klein', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-30650
7 days ago
147-41372
147 days ago
10-66980
10 days
39233 linesthatinterlace
author:linesthatinterlace
feat: `Pi.map` rename to `Function.map` This PR renames `Pi.map` to `Function.map` and makes the changes necessary to support this. In particular this means that Mathlib.Logic.Function.Defs now only contains the Function namespace. Zulip thread: [#PR reviews > #39233 - rename Pi.map to Function.map @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2339233.20-.20rename.20Pi.2Emap.20to.20Function.2Emap/near/594605689) General discussion regarding the Pi namespace: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/The.20Pi.20namespace/near/594782721 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip 131/122 Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Condensed/Discrete/LocallyConstant.lean,Mathlib/Control/Bifunctor.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/LinearAlgebra/Multilinear/Basis.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Pi.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/RestrictedProduct/TopologicalSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/NhdsWithin.lean 37 1 ['github-actions'] nobody
5-72807
5 days ago
6-47486
6 days ago
0-7302
2 hours
39026 fpvandoorn
author:fpvandoorn
feat: add assume tactic Teaching tactic: `assume p, q, r` is short for `intro (_ : p) (_ : q) (_ : r)`. --- [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Assume.20tactic/with/593477478) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-meta awaiting-author 123/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Assume.lean,MathlibTest/Assume.lean 4 7 ['fpvandoorn', 'github-actions', 'joneugster'] joneugster
assignee:joneugster
4-34036
4 days ago
11-67946
11 days ago
0-1
1 second
32828 Hagb
author:Hagb
feat(Algebra/Order/Group/Defs): add `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'` It is similar to `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`, while with different hypotheses. The conclusion `IsOrderedCancelMonoid α` on `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid` still holds when the hypothesis `CommGroup α` is weakened to `CancelCommMonoid α` while `PartialOrder α` is strengthened to `LinearOrder α`. --- [`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=IsOrderedAddMonoid.toIsOrderedCancelAddMonoid#doc) and `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'`: https://github.com/leanprover-community/mathlib4/blob/97f78b1a4311fed1844b94f1c069219a48a098e1/Mathlib/Algebra/Order/Group/Defs.lean#L52-L62 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-zulip t-algebra awaiting-author
label:t-algebra$
4/0 Mathlib/Algebra/Order/Group/Defs.lean 1 15 ['Garmelon', 'Hagb', 'Vierkantor', 'artie2000', 'dagurtomas', 'github-actions', 'leanprover-radar'] eric-wieser
assignee:eric-wieser
2-10624
2 days ago
116-47047
116 days ago
40-42357
40 days

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

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
39011 Vierkantor
author:Vierkantor
chore(Algebra/Polynomial/Module): workaround for backward.inferInstanceAs This PR, like #38990, works around a `backward.inferInstanceAs` compatibility flag introduced by identifying `PolynomialModule` with `Finsupp` in our definitions. We introduce a new dsimp lemma `funLike_eq` that transfers the `FunLike` instances, and now we can use `PolynomialModule`'s `FunLike` instance, instead of the custom `CoeFun` instance. This is not a great approach, but it seems the least painful for the short term. The alternative would be to strictly enforce the defeq barrier between `PolynomialModule` and `Finsupp`, which would mean a substantial rewrite of this corner of Mathlib. We can't make `PolynomialModule` an `@[implicit_reducible]`, because we need different multiplication on it than `Finsupp` has. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt
label:t-algebra$
8/5 Mathlib/Algebra/Polynomial/Module/Basic.lean 1 1 ['github-actions'] jcommelin
assignee:jcommelin
7-12779
7 days ago
12-41730
12 days ago
12-41723
12 days
39479 wwylele
author:wwylele
chore(RingTheory/HahnSeries): remove a defeq abuse Previously the simp implicitly uses `⟨⟨((↑) : ℕ → Γ),...⟩,...⟩.toFun = (↑)`. This explicitly writes out the intermediate term so the it no longer relies on defeq. Also changed the statement of ofPowerSeries_apply to reuse existing embedding --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory tech debt 9/12 Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/LaurentSeries.lean 2 1 ['github-actions'] nobody
2-29983
2 days ago
2-30059
2 days ago
2-30160
2 days
39477 wwylele
author:wwylele
chore(LinearAlgebra/Ray): remove a defeq abuse Previously, the code uses Subtype constructor to construct RayVector, and the instance cannot see through this. As a common practice, RayVector declares its own constructor to resolve this --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra tech debt maintainer-merge
label:t-algebra$
14/4 Mathlib/LinearAlgebra/Ray.lean 1 6 ['Vierkantor', 'github-actions', 'robin-carlier', 'wwylele'] nobody
0-34234
9 hours ago
0-34234
9 hours ago
2-6646
2 days
38957 wwylele
author:wwylele
chore(GroupTheory/DivisibleHull): remove `backward.privateInPublic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt t-group-theory 5/12 Mathlib/GroupTheory/DivisibleHull.lean 1 9 ['Komyyy', 'github-actions', 'grunweg', 'jcommelin', 'wwylele'] jcommelin
assignee:jcommelin
0-27630
7 hours ago
8-7104
8 days ago
13-52279
13 days