The mathlib review queue

Welcome to the mathlib review page. Everybody's help with reviewing is appreciated. Reviewing contributions is important, and everybody is welcome to review pull requests! If you're not sure how, the pull request review guide is there to help you.
This page contains tables of

This dashboard was last updated on: March 11, 2026 at 13:34 UTC

Review queue

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
33963 gasparattila
author:gasparattila
feat(Topology/UniformSpace/Closeds): completeness of `(Nonempty)Compacts` This PR generalizes the completeness result of `NonemptyCompacts` from metric spaces to uniform spaces. --- - [x] depends on: #34036 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 71/8 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Closeds.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
42-4968
1 month ago
42-4986
42 days ago
52-81128
52 days
34268 gasparattila
author:gasparattila
feat(Topology/Sets): continuity of operations on `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 144/17 Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sets/VietorisTopology.lean,Mathlib/Topology/UniformSpace/Closeds.lean 3 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
42-4309
1 month ago
42-4327
42 days ago
47-61844
47 days
34270 gasparattila
author:gasparattila
feat(Topology/UniformSpace/Closeds): `(Nonempty)Compacts.toCloseds` is a closed embedding --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 36/35 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/UniformSpace/Closeds.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
42-3817
1 month ago
42-3836
42 days ago
47-60987
47 days
34092 staroperator
author:staroperator
feat(SetTheory/ZFC): properties of `ZFSet.omega` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 77/10 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean 3 25 ['Komyyy', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] alreadydone
assignee:alreadydone
40-67106
1 month ago
40-67168
40 days ago
52-25865
52 days
33817 FlAmmmmING
author:FlAmmmmING
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem of smallSchroder. In the previous definition, the small Schröder numbers were defined as ```LaTeX s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3... ``` , which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 61/39 Mathlib/Combinatorics/Enumerative/Schroder.lean 1 19 ['FlAmmmmING', 'github-actions', 'vihdzp'] awainverse
assignee:awainverse
40-45148
1 month ago
55-34424
55 days ago
59-85563
59 days
34227 stepan2698-cpu
author:stepan2698-cpu
feat: If sum of densities is at least one, the sumset covers the naturals Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/1 Mathlib/Combinatorics/Schnirelmann.lean 1 3 ['github-actions', 'grunweg', 'kbuzzard'] awainverse
assignee:awainverse
40-45145
1 month ago
48-51520
48 days ago
48-65305
48 days
34028 floor-licker
author:floor-licker
feat(SimpleGraph): add max-flow/min-cut weak duality This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S. This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S). t-combinatorics new-contributor 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean 2 13 ['SnirBroshi', 'floor-licker', 'github-actions'] kmill
assignee:kmill
39-45155
1 month ago
52-62844
52 days ago
52-65737
52 days
33520 NoneMore
author:NoneMore
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure. The other direction depends on #33458. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 55/0 Mathlib/ModelTheory/ElementarySubstructures.lean 1 3 ['Citronhat', 'NoneMore', 'github-actions'] awainverse
assignee:awainverse
38-45106
1 month ago
67-8327
67 days ago
67-8009
67 days
33928 jsm28
author:jsm28
feat(Combinatorics/Tiling/TileSet): indexed families of tiles Define the type `TileSet` for indexed families of tiles (in a discrete context), and some associated definitions (including `symmetryGroup`) and API lemmas. `TileSet` can be used for tilings of the whole space; for tilings of part of the space; for patches of tiles (extracted from a tiling by considering tiles meeting some set of points, or considered on their own without extracting from a tiling); for multiple tilings (covering the space more than once). In particular, the fact that people study multiple tilings provides a clear justification for using indexed families rather than sets of tiles, and basic definitions and API lemmas generally work for all these different uses of `TileSet` (sometimes with weak constraints such as tiles being finite, nonempty and only having finitely many tiles meeting any point of the space). Definitions for saying e.g. "this `TileSet` is a tiling of the whole space" are to be included in subsequent files in subsequent PRs. From AperiodicMonotilesLean. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 460/0 Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean 2 22 ['b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] kmill
assignee:kmill
37-74445
1 month ago
56-62365
56 days ago
56-62047
56 days
34171 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hasse): Define the Eulerian path of a path graph --- Such statements are left for a future PR, since they add imports so we probably want to split them into a separate file: ```lean theorem IsEulerian.ofPathGraph : ofPathGraph n |>.IsEulerian := by sorry theorem IsHamiltonian.ofPathGraph : ofPathGraph n |>.IsHamiltonian := by sorry theorem exists_path_iff_isContained_pathGraph : (∃ (u v : V) (w : G.Path u v), w.val.support.length = n) ↔ pathGraph n ⊑ G := by sorry ``` (the last statement also requires #33121, this PR gives the right-to-left implication and that PR gives the left-to-right) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 37/1 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 9 ['SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] kmill
assignee:kmill
37-26604
1 month ago
48-51020
48 days ago
49-83535
49 days
32570 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 22/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 2 19 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono', 'vlad902'] kmill
assignee:kmill
35-54915
1 month ago
35-54915
35 days ago
88-4400
88 days
34191 IlPreteRosso
author:IlPreteRosso
feat(Topology/Algebra/InfiniteSum): Discrete Convolution API 1st PR Defines the very basics of the discrete convolution API. In analogy with [MeasureTheory.Convolution](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Convolution.html#MeasureTheory.convolution). Main definitions include - `mulFiber`, `convolution`, `ConvolutionExists`, `ConvolutionExists.add_distrib`, `ConvolutionExistsAt.smul_convolution`, `mulFiber_swapEquiv`, `convolution_comm` RM: - The main docstring is *as is* - Next step is triple sum intrastrcutre + `assoc` theorems for convolution (long) Continues the work from #33411 and #33410 (splitting into shorter PRs, carries over the modifications from previous reviews) t-topology new-contributor 277/0 Mathlib.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean 2 18 ['IlPreteRosso', 'github-actions', 'j-loreaux'] PatrickMassot
assignee:PatrickMassot
34-74021
1 month ago
34-74216
34 days ago
43-75581
43 days
34182 IlPreteRosso
author:IlPreteRosso
feat(Data/Finsupp/Single, Data/Finsupp/Indicator): Add set_indicator_singleton, indicator_singleton; golfed single_eq_set_indicator, single_eq_indicator [Mathlib.Data.Finsupp.Single](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Single.html#Finsupp.single) - Add `set_indicator_singleton`, golfed `single_eq_set_indicator` [Mathlib.Data.Finsupp.Indicator](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Indicator.html#Finsupp.indicator_apply) - Add `indicator_singleton`, golfed `single_eq_indicator` Continues the work from #34095 large-import t-data new-contributor 17/17 Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean 2 29 ['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] eric-wieser and urkud
assignee:urkud assignee:eric-wieser
32-74932
1 month ago
49-33549
49 days ago
49-41224
49 days
34151 gasparattila
author:gasparattila
feat(Topology/Sets): product of `Closeds` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 30/0 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/Closeds.lean,Mathlib/Topology/Sets/Compacts.lean 3 1 ['github-actions'] PatrickMassot
assignee:PatrickMassot
32-69142
1 month ago
50-65315
50 days ago
50-64997
50 days
34093 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 297/0 Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 4 5 ['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
30-45225
1 month ago
35-27561
35 days ago
35-30207
35 days
34266 gasparattila
author:gasparattila
feat(Topology/Sets): basis of `(Nonempty)Compacts` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 147/0 Mathlib/Topology/Bases.lean,Mathlib/Topology/Sets/VietorisTopology.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
30-45223
1 month ago
42-4760
42 days ago
47-67340
47 days
34756 Hagb
author:Hagb
feat(Algebra/Order/Monoid/Unbundled/WithTop): `AddEquiv` between `WithBot` It is like `Equiv.withBotCongr` but preserving also addition (`AddEquiv`). --- It is like [`Equiv.withBotCongr`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=Equiv.withBotCongr#doc) but preserving also addition ([`AddEquiv`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=AddEquiv#doc)). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
39/0 Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean 1 3 ['Hagb', 'github-actions', 'plp127'] mattrobball
assignee:mattrobball
29-44958
1 month ago
33-45348
33 days ago
35-85000
35 days
34808 YaelDillies
author:YaelDillies
feat(Combinatorics/SimpleGraph): isolated vertices RFC for now. Do you think this is a reasonable definition to have? What should its API be? From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) RFC t-combinatorics 3/0 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] kmill
assignee:kmill
29-44953
1 month ago
35-60107
35 days ago
35-59789
35 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfProdDomain This PR continues the work from #16743. Original PR: https://github.com/leanprover-community/mathlib4/pull/16743 --- - [x] depends on: #28352 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 269/157 Mathlib.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 4 27 ['agjftucker', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] hrmacbeth
assignee:hrmacbeth
29-20684
1 month ago
29-20684
29 days ago
97-38818
97 days
32744 NoneMore
author:NoneMore
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas. The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable. There are also some tool lemmas derived by the preimage lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 147/0 Mathlib/ModelTheory/Definability.lean 1 59 ['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] awainverse
assignee:awainverse
29-14720
1 month ago
61-24440
61 days ago
88-62786
88 days
34481 DAE123456
author:DAE123456
feat: Ore's Theorem Ore Theorem : Let G be a graph of order n ≥ 3 that satisfies the Ore property. Then G has a Hamilton cycle. t-combinatorics new-contributor 3372/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Ore.lean 2 25 ['DAE123456', 'LLaurance', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'kim-em', 'tb65536', 'vlad902'] b-mehta
assignee:b-mehta
28-45071
1 month ago
37-13686
37 days ago
40-64882
40 days
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): add --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-data 34/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 4 ['GrigorenkoPV', 'github-actions', 'joneugster', 'plp127'] TwoFX
assignee:TwoFX
28-45067
1 month ago
36-85878
36 days ago
37-1065
37 days
34809 YaelDillies
author:YaelDillies
feat: induced subgraphs of complete multipartite graphs are complete multipartite From ProofBench --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 4/2 Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean 1 1 ['github-actions'] b-mehta
assignee:b-mehta
28-45063
1 month ago
35-59876
35 days ago
35-59558
35 days
35122 Marygold-Dusk
author:Marygold-Dusk
feat: define C^n submersions This PR defines submersions between C^n manifolds. In the infinite-dimensional setting, submersions are defined via local normal forms rather than surjectivity of the mfderiv. A map f is a submersion at x if, in suitable charts around x and f x, it has the form (u, v) ↦ u after identifying the model space with a product. We prove a few basic properties: - being a submersion is a local property, - products of submersions are submersions, - the set of submersed points is open Future PRs will prove that submersions are C^n and deduce equivalence with the standard definition in finite dimensions. From the path towards the regular value theorem. This file was developed under the supervision of Michael Rothgang. Co-authored-by: Michael Rothgang --- Most of the design is analogues to submersions. t-differential-geometry new-contributor 596/0 Mathlib.lean,Mathlib/Geometry/Manifold/Submersion.lean 2 2 ['github-actions'] grunweg
assignee:grunweg
27-81487
27 days ago
27-83261
27 days ago
27-84358
27 days
34994 bwangpj
author:bwangpj
feat: Countable.of_module_finite --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import FLT
label:t-algebra$
7/0 Mathlib/LinearAlgebra/Countable.lean 1 3 ['bwangpj', 'eric-wieser', 'github-actions'] eric-wieser
assignee:eric-wieser
27-38466
27 days ago
30-63329
30 days ago
30-63011
30 days
34969 kim-em
author:kim-em
feat(RingTheory/HopfAlgebra): prove antipode is antihomomorphism This PR proves that the antipode of a Hopf algebra is an antihomomorphism: `antipode (a * b) = antipode b * antipode a`. The proof uses the convolution algebra structure on `(A ⊗ A) →ₗ[R] A` and shows that `S ∘ μ` and `μ ∘ (S ⊗ S) ∘ comm` are both convolution inverses of `μ`, hence they must be equal by uniqueness of inverses. This resolves a TODO listed in the file header. 🤖 Prepared with Claude Code t-ring-theory 88/2 Mathlib/RingTheory/HopfAlgebra/Basic.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
26-45205
26 days ago
30-35455
30 days ago
30-35137
30 days
32807 WilliamCoram
author:WilliamCoram
feat: Define the Gauss norm for MvPowerSeries We adjust the current definition for Gauss norm on power series to work for multivariate power series. If this seems acceptable I can refactor the single variable case. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 124/0 Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean 2 25 ['WilliamCoram', 'erdOne', 'fbarroero', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] alreadydone
assignee:alreadydone
25-85505
25 days ago
25-85571
25 days ago
39-6715
39 days
31560 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Topology/Sion): the minimax theorem of von Neumann - Sion Prove `Sion.exists_isSaddlePointOn` : Let X and Y be convex subsets of topological vector spaces E and F, X being moreover compact, and let f : X × Y → ℝ be a function such that - for all x, f(x, ⬝) is upper semicontinuous and quasiconcave - for all y, f(⬝, y) is lower semicontinuous and quasiconvex Then inf_x sup_y f(x,y) = sup_y inf_x f(x,y). The classical case of the theorem assumes that f is continuous, f(x, ⬝) is concave, f(⬝, y) is convex. As a particular case, one get the von Neumann theorem where f is bilinear and E, F are finite dimensional. We follow the proof of Komiya (1988). ## Remark on implementation * The essential part of the proof holds for a function `f : X → Y → β`, where `β` is a complete dense linear order. * We have written part of it for just a dense linear order, * On the other hand, if the theorem holds for such `β`, it must hold for any linear order, for the reason that any linear order embeds into a complete dense linear order. However, this result does not seem to be known to Mathlib. * When `β` is `ℝ`, one can use `Real.toEReal` and one gets a proof for `ℝ`. ## TODO Give particular important cases (eg, bilinear maps in finite dimension). Co-authored with @ADedecker --- - [x] depends on: #31548 - [x] depends on: #31547 - [x] depends on: #31558 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 733/0 Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean,docs/references.bib 5 10 ['AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'thorimur'] dwrensha and kmill
assignee:kmill assignee:dwrensha
25-58100
25 days ago
25-58100
25 days ago
87-11035
87 days
33944 artie2000
author:artie2000
feat(Algebra/Ring): formally real rings * Define formally real rings * Prove basic inductive facts about them Co-authored-by: Violeta Hernández Palacios --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
160/0 Mathlib.lean,Mathlib/Algebra/Ring/IsFormallyReal.lean 2 24 ['artie2000', 'github-actions', 'vihdzp'] mariainesdff
assignee:mariainesdff
25-52233
25 days ago
34-39976
34 days ago
36-42637
36 days
34069 artie2000
author:artie2000
feat(Algebra/Order/Algebra): algebra is ordered iff inclusion map is monotone * Prove that an extension of ordered semirings forms an ordered algebra iff the inclusion map is injective * Reorganise section variables for clarity The typeclass `PartialOrder α` in `IsOrderedModule.of_algebraMap_mono` can be generalised to `Preorder α`. This has no mathematical application and all the other lemmas are proved over a partially ordered type, so this generalisation was not made. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-order
label:t-algebra$
18/7 Mathlib/Algebra/Order/Algebra.lean 1 1 ['github-actions'] pechersky
assignee:pechersky
25-52216
25 days ago
51-56752
51 days ago
51-58432
51 days
34702 pfaffelh
author:pfaffelh
feat(Data/FinsetPowerset): The set `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k` Show that `{v : List.Vector Bool n | v.val.count = k}` has cardinality `n.choose k`. The proof builds on `powersetCard k s` (the subsets of `s : Finset _` with cardinality `k`), and an equivalence to the above set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data 52/1 Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Logic/Equiv/Fintype.lean 3 25 ['DavidLedvinka', 'b-mehta', 'eric-wieser', 'github-actions', 'joneugster', 'pfaffelh'] pechersky
assignee:pechersky
25-45239
25 days ago
33-48765
33 days ago
36-61873
36 days
34820 staroperator
author:staroperator
feat(Order/Ideal): more results on order ideals Some iffs, closure of finite supremum, and that every proper ideal is contained in a maximal ideal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order large-import 79/5 Mathlib/Order/Ideal.lean 1 5 ['bryangingechen', 'github-actions', 'leanprover-radar', 'staroperator'] pechersky
assignee:pechersky
25-45238
25 days ago
28-49821
28 days ago
35-9033
35 days
30900 vihdzp
author:vihdzp
feat: run-length encoding --- - [x] depends on: #30898 Moved from #17105. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 167/0 Mathlib.lean,Mathlib/Data/List/RunLength.lean,Mathlib/Data/List/SplitBy.lean 3 5 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'plp127'] TwoFX
assignee:TwoFX
24-45232
24 days ago
28-48569
28 days ago
28-48830
28 days
34948 joneugster
author:joneugster
feat(scripts/autolabel): add option to configure number of applied labels add option to change the maximum number of labels the script can apply simultaneously. This does not change the behaviour of the script. The option remains at `1`, but it prepares for potential future adjustments. factored out from: #34066 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 13/9 scripts/autolabel.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] adomani
assignee:adomani
24-44951
24 days ago
24-44971
24 days ago
25-57767
25 days
35152 j-loreaux
author:j-loreaux
feat: add missing API for `lp E p` The API for `lp` is significantly underdeveloped. This PR attempts to rectify some of the shortcomings. In particular, we provide: + some missing tools for `Memℓp`, notably `memℓp_norm_iff` and `Memℓp.mono`. + some improved docstrings and more uniform notation for the non-dependent case; note that we also *remove* the notation `ℓ^∞(ι)` for `lp (fun _ : ι ↦ ℝ) ∞` on the basis that there are other choices besides `ℝ` which would make at least as much sense here, including `ℂ`. + bundled version of maps (evaluation, inclusion as a linear map, summation in `ℓ¹`) as well as cleaning-up a few other odds and ends. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 189/26 Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Topology/MetricSpace/Kuratowski.lean 3 1 ['github-actions'] sgouezel
assignee:sgouezel
23-45224
23 days ago
27-55333
27 days ago
27-55015
27 days
35414 joneugster
author:joneugster
feat(Cache): Allow arguments of the form `Mathlib.Data.+` which correspond to a folder but not a file This PR continues the work from #21838. Original PR: https://github.com/leanprover-community/mathlib4/pull/21838 CI t-meta 74/31 Cache/IO.lean,Cache/Main.lean 2 2 ['github-actions', 'joneugster'] eric-wieser
assignee:eric-wieser
22-73996
22 days ago
22-74820
22 days ago
22-74502
22 days
35413 joneugster
author:joneugster
fix(Util/CountHeartbeats): move elaboration in #count_heartbeats inside a namespace This PR continues the work from #21182. Original PR: https://github.com/leanprover-community/mathlib4/pull/21182 t-meta 73/6 Mathlib/Util/CountHeartbeats.lean,MathlibTest/CountHeartbeats.lean 2 3 ['github-actions', 'joneugster', 'mathlib-bors'] adomani
assignee:adomani
22-73078
22 days ago
22-74892
22 days ago
22-74574
22 days
34909 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): `fromRel` equivalence with `Sigma` over a `Quotient` Add a non-dependent recursor on members of a `fromRel` set, and the following `Equiv`s: - The `fromRel` set of a symmetric relation `r` is equivalent to summing that set restricted to fibers of `f`. - For a relation homomorphism `r →r r'` where `r` is symmetric, the `fromRel` set of `r` is equivalent to summing that set restricted to equivalence classes of `r'` using a `Subtype`. --- I find this recursor pretty useful when dealing with `fromRel`, the idea came from a suggestion by @kmill [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Eq.2Erec.20with.20a.20constant.20does.20nothing.3A.20h.20.E2.96.B8.20c.20.3D.20c/near/565176948) for another `Sym2` conundrum. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 43/0 Mathlib/Data/Sym/Sym2.lean 1 7 ['SnirBroshi', 'eric-wieser', 'github-actions'] pechersky
assignee:pechersky
22-65041
22 days ago
33-15850
33 days ago
33-15532
33 days
33275 YuvalFilmus
author:YuvalFilmus
feat(Trigonometric/Chebyshev/Extremal): Chebyshev polynomials maximize iterated derivatives We prove that Chebyshev polynomials maximized iterated derivatives at points x≥1. --- - [x] depends on: #33259 - [x] depends on: #33274 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 74/1 Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dupuisf
assignee:dupuisf
22-64351
22 days ago
47-7876
47 days ago
47-9889
47 days
31425 robertmaxton42
author:robertmaxton42
feat(Topology): implement delaborators for non-standard topology notation Add delaborators for unary and binary notation related to non-standard topologies in the TopologicalSpace namespace. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 250/4 Mathlib.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/DelabNonCanonical.lean,MathlibTest/Delab/TopologicalSpace.lean 4 45 ['eric-wieser', 'github-actions', 'jcommelin', 'kckennylau', 'robertmaxton42'] eric-wieser
assignee:eric-wieser
21-80273
21 days ago
53-47442
53 days ago
107-22631
107 days
34851 dennj
author:dennj
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization: - `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i` - `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x` - `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i` These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). t-data new-contributor 22/0 Mathlib/Data/Matrix/Mul.lean 1 5 ['dennj', 'eric-wieser', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
21-51249
21 days ago
34-60725
34 days ago
34-60407
34 days
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`. Summary of additions: - **Full shift and shift action** - `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type). - Right shift `shift g x` with convention `(shift g x) h = x (h * g)`. - **Cylinders and topology** - `cylinder U x : Set (G → A)` for finite `U : Finset G`. - Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed. - Equality with dependent products: `cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API. - **Patterns, occurrences, and subshifts** - `Pattern A G` with finite `support : Finset G` and `data : support → A`. - `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law. - `forbids F` and `Subshift A G` (closed, shift-invariant subsets). - `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness. - **Language on finite shapes and counting** - `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`. - **Entropy along a shape sequence** - `limsupAtTop` (as an `sInf` of eventual upper bounds). - `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)` for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`). - **Specializations** - `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`. - `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`. Mathematical remarks: - The API is **shape-parametric**: entropy is defined along user-provided finite shapes. - On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss). This PR does not assume amenability; the family of shapes is an explicit input. Motivation: Provide a clean, reusable base for symbolic dynamics on groups in mathlib. Future work: - Add a Følner predicate and prove shape-independence / limit existence on amenable groups. - Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors). - Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch). t-dynamics new-contributor 746/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean 3 180 ['Sfgangloff', 'botbaki-review', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] sgouezel
assignee:sgouezel
21-46718
21 days ago
22-46016
22 days ago
126-5168
126 days
35360 vlad902
author:vlad902
chore: rename `cycleGraph_EulerianCircuit` to `cycleGraph.cycle` Per [this](https://github.com/leanprover-community/mathlib4/pull/34797#discussion_r2807963752) review feedback, this definition is inappropriately named with an underscore and should be renamed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 21/17 Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 2 ['github-actions', 'vlad902'] nobody
20-78266
20 days ago
23-78309
23 days ago
23-77991
23 days
33252 SnirBroshi
author:SnirBroshi
chore(Combinatorics/SimpleGraph/Coloring): use `IsIndepSet` instead of `IsAntichain` to spell "a color class is an independent set" --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 6/2 Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean 2 1 ['github-actions'] b-mehta
assignee:b-mehta
20-45236
20 days ago
32-49022
32 days ago
45-2039
45 days
34193 bwangpj
author:bwangpj
feat(Topology/Algebra/Ring): ContinuousAddEquiv.mulLeft, mulRight The additive homeomorphism from a topological ring to itself, induced by left/right multiplication by a unit. From FLT. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology FLT maintainer-merge 25/0 Mathlib/Topology/Algebra/Ring/Basic.lean 1 10 ['bwangpj', 'dagurtomas', 'eric-wieser', 'github-actions', 'riccardobrasca'] dagurtomas
assignee:dagurtomas
20-20686
20 days ago
49-15585
49 days ago
49-22534
49 days
35447 themathqueen
author:themathqueen
feat(LinearAlgebra/UnitaryGroup): the transpose and conjugate of a unitary matrix as a unitary matrix --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
35/0 Mathlib/LinearAlgebra/UnitaryGroup.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
18-45241
18 days ago
21-79225
21 days ago
21-79718
21 days
33292 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/LineGraph): lift copies/isomorphisms to line-graph Non-injective homomorphisms (`G →g G'`) cannot be lifted to a homomorphism on line-graphs (`G.lineGraph →g G'.lineGraph`) because e.g. `∀ k > 1` there is a homomorphism from `pathGraph k` to `G'` iff `G'` has an edge, and `∀ n > 0, (pathGraph (n + 1)).lineGraph ≃ pathGraph n`, but there is no homomorphism from `pathGraph k` to `pathGraph 1` because it has no edges. So for `G := pathGraph 3` and `G' := pathGraph 2` there is a `G →g G'` but no `G.lineGraph →g G'.lineGraph`. But we can lift `Copy`/`Embedding`/`Iso`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-combinatorics 45/4 Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Data/Sym/Sym2.lean 2 6 ['SnirBroshi', 'github-actions', 'tb65536'] b-mehta
assignee:b-mehta
18-37579
18 days ago
18-38933
18 days ago
72-12361
72 days
35285 SnirBroshi
author:SnirBroshi
feat(Algebra/LinearRecurrence): define a standard basis for the solution space of a linear recurrence Also `mkSol` is injective. --- The hard work was already done by the existing equivalence `toInit`; this defines the basis that the equivalence provides and uses it to simplify a couple of proofs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
24/12 Mathlib/Algebra/LinearRecurrence.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
18-3912
18 days ago
25-33599
25 days ago
25-33281
25 days
34315 LessnessRandomness
author:LessnessRandomness
feat(Combinatorics/SimpleGraph/Bipartite): Prove upper bound of edge set cardinality of bipartite graph Two ways to express upper bound of the edge set of bipartite graph: 1) If the cardinalities of both parts/sets, that make bipartite graph, are known, then the upper bound is equal to product of the cardinalities of both parts; 2) Four times of the cardinality of the edge set is less or equal to squared cardinality of vertex set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 53/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 55 ['LessnessRandomness', 'SnirBroshi', 'b-mehta', 'github-actions', 'vlad902'] awainverse
assignee:awainverse
18-787
18 days ago
18-1619
18 days ago
42-9495
42 days
34966 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory): add `continuousWithinAt_Ici/Iic_primitive_Ioi/Iio` and `continuousOn_Ici/Iic_primitive_Ioi/Iio/Ici/Iic` This PR proves: - `continuousWithinAt_Ici/Iic_primitive_Ioi/Iio` - `continuousOn_Ici/Iic_primitive_Ioi/Iio/Ici/Iic` - `integral_Ioi_sub_Ioi`, `integral_Ioi_sub_Ioi'`, `integral_Iio_sub_Iio`, `integral_Iio_sub_Iio'` - `Ioi_diff_Ioc` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 125/1 Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean 3 14 ['CoolRmal', 'Deep0Thinking', 'github-actions'] RemyDegenne
assignee:RemyDegenne
17-73696
17 days ago
18-39218
18 days ago
30-17499
30 days
34144 IvanRenison
author:IvanRenison
feat(Data/ENat): add lemma `ENat.iInf_eq_coe_iff` Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com> --- [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/ENat.2EiInf_eq_nat_iff/with/568699219) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 21/0 Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 3 16 ['IvanRenison', 'Ruben-VandeVelde', 'SnirBroshi', 'eric-wieser', 'github-actions', 'tb65536'] TwoFX
assignee:TwoFX
17-62284
17 days ago
17-62321
17 days ago
45-84786
45 days
35615 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Maps): lemmas about support --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 41/0 Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean 2 1 ['github-actions'] nobody
17-49747
17 days ago
17-49824
17 days ago
17-49506
17 days
35616 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Copy): `IsContained` and `IsIndContained` are preorders --- This makes `calc` work and provides `Std.Refl` and `IsTrans` instances. `grw` still doesn't work and mixing the two predicates in `calc` (to prove `IsContained`) also doesn't work. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 20/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 1 ['github-actions'] nobody
17-48879
17 days ago
17-48958
17 days ago
17-48640
17 days
35613 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Clique): use `IsContained` instead of an explicit embedding from top This makes theorems require only a proof that a `Copy` exists rather than provide an explicit `Embedding`. Also tag monotonicity lemmas with `@[gcongr]`. --- This isn't a generalization per-se since one could use choice plus `Copy.topEmbedding` to upgrade the `IsContained` to an embedding, but `IsContained` makes more sense in theorems. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 37/36 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean 3 1 ['github-actions'] nobody
17-48773
17 days ago
17-48838
17 days ago
17-48820
17 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 29/0 Mathlib/Combinatorics/SimpleGraph/Clique.lean 1 1 ['github-actions'] nobody
17-46610
17 days ago
17-46703
17 days ago
17-46385
17 days
35295 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): `dropLast` of a cycle is a path --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 18/1 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 2 6 ['Rida-Hamadani', 'SnirBroshi', 'github-actions', 'vlad902'] nobody
16-56653
16 days ago
16-84195
16 days ago
18-30786
18 days
35011 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Copy): add degree of copy less than original add two theorems relating degree of a graph and it's copy t-combinatorics new-contributor 17/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 12 ['SnirBroshi', 'github-actions', 'themathqueen', 'vihdzp'] nobody
16-19656
16 days ago
30-19895
30 days ago
30-19577
30 days
33257 NickAdfor
author:NickAdfor
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) Prove bipartite iff all cycles are even This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length. Co-authored-by: Nick Adfor Co-authored-by: Yue Sun Co-authored-by: Aristotle AI --- ## Main results - `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem ## Key supporting lemmas - `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings - `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity - `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma - `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties ## Proof outline 1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color. 2. For cycles (start = end), this forces even length. 3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization. 4. Show this coloring is valid using bypass operations and path properties. ## Technical notes - Uses `SimpleGraph.Walk` for path/cycle representation - Handles both `IsPath` and `IsCycle` predicates - Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks - Requires `DecidableEq V` for some lemmas - Uses classical logic for case analysis ## Reviewer notes - The proof uses induction on walks and case analysis on colorings - Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations - All theorems are in the `SimpleGraph` namespace - The `bipartite_iff_all_cycles_even` theorem provides the complete characterization t-combinatorics new-contributor 164/8 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 70 ['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'kmill', 'mitchell-horner', 'vihdzp', 'vlad902'] kmill
assignee:kmill
15-45243
15 days ago
31-44177
31 days ago
39-51805
39 days
30982 jsm28
author:jsm28
feat(Geometry/Euclidean/Angle/Incenter): angle bisection and the incenter Add lemmas relating the incenter and excenters of a simplex to angle bisection, both generally for a simplex and more specifically with oriented angles for a triangle. More specific lemmas for a simplex (identifying exactly which excenter corresponds to which bisectors) will require various additional API for bisectors of angles betweeen oriented affine subspaces (but for the most common applications to typical plane geometry problems, I expect the triangle lemmas with oriented angles to be more useful). --- - [ ] depends on: #30474 - [ ] depends on: #30477 - [ ] depends on: #30600 - [ ] depends on: #30703 - [ ] depends on: #30938 - [ ] depends on: #30981 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 269/0 Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Incenter.lean 2 6 ['Parcly-Taxel', 'github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] JovanGerb
assignee:JovanGerb
15-43563
15 days ago
28-85251
28 days ago
29-1011
29 days
35642 SnirBroshi
author:SnirBroshi
feat(SimpleGraph/Walks/Operations): `p.dropLast.length` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 12/1 Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 1 1 ['github-actions', 'vlad902'] nobody
15-13005
15 days ago
17-9893
17 days ago
17-9575
17 days
35150 JovanGerb
author:JovanGerb
chore(Order/OrderDual): move material on `OrderDual` This PR moves material about `OrderDual` from `Mathlib.Order.Synonym` to `Mathlib.Order.OrderDual`, so that these two files become independent. This way, `Mathlib.Order.Synonym` will not be on the long pole. Note: it seems that the file `Mathlib.Order.Synonym` used to define `OrderDual`. Maybe that file should now be renamed to `Order.Lex`? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order 75/76 Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Order/Group/Synonym.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Nat/Cast/Synonym.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/Compare.lean,Mathlib/Order/Max.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/Order/OrderDual.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/Synonym.lean 14 3 ['MichaelStollBayreuth', 'bryangingechen', 'github-actions'] Vierkantor
assignee:Vierkantor
14-84761
14 days ago
27-54549
27 days ago
27-54832
27 days
35631 SnirBroshi
author:SnirBroshi
feat(SimpleGraph/Walks/Operations): `p.dropLast.support` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 9/0 Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 1 2 ['github-actions', 'vlad902'] nobody
14-82517
14 days ago
17-11274
17 days ago
17-12621
17 days
35664 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): the adjacency matrix of empty and complete graphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 11/0 Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean 1 2 ['IvanRenison', 'github-actions'] nobody
14-67206
14 days ago
16-48082
16 days ago
16-47764
16 days
35292 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): taking twice from a walk equals taking the minimum this is an analogue to `List.take_take`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 5/0 Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 1 2 ['SnirBroshi', 'github-actions'] nobody
14-49612
14 days ago
25-9506
25 days ago
25-9188
25 days
33985 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`). --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-order 191/1 Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean 4 20 ['Vierkantor', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] bryangingechen
assignee:bryangingechen
14-45223
14 days ago
25-73386
25 days ago
35-35320
35 days
35273 grunweg
author:grunweg
chore: replace `continuity` -> `fun_prop` in remaining auto-parameters Resurrected version of #13994. Let's look at the current fall-out and performance effect. --- - [x] depends on: #35278 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 23/16 Mathlib/Analysis/Convex/PathConnected.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/SpecialFunctions/Arcosh.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/ULift.lean,Mathlib/Topology/ContinuousMap/Basic.lean,Mathlib/Topology/ContinuousMap/Defs.lean,Mathlib/Topology/FiberPartition.lean 14 4 ['github-actions', 'grunweg', 'leanprover-radar', 'mathlib-dependent-issues'] urkud
assignee:urkud
14-45218
14 days ago
21-15156
21 days ago
21-28330
21 days
35565 felixpernegger
author:felixpernegger
feat(Topology): sequentially T2 spaces Adds typeclass for topoligcal spaces where convergent sequences have a unique limit. This lies between T2 and T1 and is occassionally useful when T2 is not strictly required. An example of a non T2 space with unique limit is the one point compactification of Q. There are some more implications not in this PR, see https://topology.pi-base.org/properties/P000099 In particular, (countably) compact sets are closed in sequentially T2 spaces. t-topology 135/0 Mathlib.lean,Mathlib/Topology/SequentiallyHausdorff.lean 2 1 ['github-actions'] urkud
assignee:urkud
14-45213
14 days ago
19-5511
19 days ago
19-5737
19 days
35590 chrisflav
author:chrisflav
feat(Algebra): add `AlgHom.ulift` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
71/3 Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Ring/ULift.lean 3 4 ['chrisflav', 'github-actions', 'wwylele'] kim-em
assignee:kim-em
14-45208
14 days ago
18-50819
18 days ago
18-50501
18 days
34871 zhuyizheng
author:zhuyizheng
feat(Calculus): Taylor with integral remainder This PR proves Taylor's theorem with the integral remainder. It provides two versions: 1. based on $f^{(n)}$ is absolutely continuous 2. based on $f \in C^{(n+1)}$ It also weakens the hypotheses `(hx : x₀ < x)` to `(hx : x₀ ≠ x)` in the following theorems: - `taylor_mean_remainder` - `taylor_mean_remainder_lagrange` - `taylor_mean_remainder_lagrange_iteratedDeriv` - `taylor_mean_remainder_cauchy` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis 215/71 Mathlib/Analysis/Calculus/ContDiff/Deriv.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/Probability/Moments/MGFAnalytic.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,docs/undergrad.yaml 7 7 ['Komyyy', 'b-mehta', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'zhuyizheng'] sgouezel
assignee:sgouezel
13-85412
13 days ago
13-85435
13 days ago
30-26530
30 days
33662 Pjotr5
author:Pjotr5
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants ### Summary - Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`. The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`). This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`). - Add strict-inequality variants: `expect_lt_expect`, `expect_lt`, `lt_expect`. - Add existence lemmas: `exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`, and `exists_lt_of_expect_lt_expect`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
46/16 Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean 2 1 ['github-actions'] thorimur
assignee:thorimur
13-83102
13 days ago
64-15497
64 days ago
64-15179
64 days
34154 euprunin
author:euprunin
chore: golf using `grind` (and add four supporting `grind` annotations) The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `Orientation.nonneg_inner_and_areaForm_eq_zero_iff_sameRay`: 311 ms before, 284 ms after 🎉 * `UV.compression_self`: 29 ms before, 19 ms after 🎉 * `IsSepClosed.exists_root_C_mul_X_pow_add_C_mul_X_add_C`: 405 ms before, 291 ms after 🎉 * `InnerProductGeometry.norm_add_eq_add_norm_iff_angle_eq_zero`: 425 ms before, 309 ms after 🎉 This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 9/30 Mathlib/Algebra/Polynomial/Degree/Defs.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Combinatorics/SetFamily/Compression/UV.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean 6 13 ['Parcly-Taxel', 'euprunin', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'tb65536'] kim-em
assignee:kim-em
13-71576
13 days ago
14-5973
14 days ago
42-18412
42 days
34760 astrainfinita
author:astrainfinita
chore: use `RelHomClass` in `IsChain.image` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 24/24 Counterexamples/AharoniKorman.lean,Mathlib/Order/Height.lean,Mathlib/Order/Preorder/Chain.lean 3 5 ['Vierkantor', 'astrainfinita', 'github-actions'] Vierkantor
assignee:Vierkantor
13-46882
13 days ago
13-46882
13 days ago
23-66071
23 days
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- I think this might be useful. My feeling tells me that one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 22/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 2 ['github-actions'] urkud
assignee:urkud
13-45245
13 days ago
16-54919
16 days ago
23-1489
23 days
31595 astrainfinita
author:astrainfinita
chore: redefine `Ideal.IsPrime` Redefine `Ideal.IsPrime` to make it correct for non-commutative cases --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
333/100 Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Noetherian.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsPrimary.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Valuation/Basic.lean 22 32 ['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
13-34134
13 days ago
13-38530
13 days ago
42-11770
42 days
35365 wwylele
author:wwylele
feat(LinearAlgebra/Simplex): closedInterior = interior + face.closedInterior Intermediate lemma towards #34826. This will be used to show the measure on `interior` and `closedInterior` are equal, as the difference is a zero-measure set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
53/0 Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean 1 4 ['copilot-pull-request-reviewer', 'github-actions'] kim-em
assignee:kim-em
12-81236
12 days ago
12-81215
12 days ago
23-76042
23 days
35683 gasparattila
author:gasparattila
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`. --- These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk` These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 53/31 Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,MathlibTest/fun_prop_dev.lean 4 1 ['github-actions'] JovanGerb
assignee:JovanGerb
12-45248
12 days ago
15-59339
15 days ago
15-59021
15 days
35656 euprunin
author:euprunin
chore(ModelTheory): golf proofs This PR removes unused `have`/`haveI`/`let`/`letI` calls. The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `FirstOrder.Field.realize_genericMonicPolyHasRoot`: unchanged 🎉 * `FirstOrder.Language.exists_cg_is_age_of`: unchanged 🎉 * `FirstOrder.Language.Theory.models_formula_iff_onTheory_models_equivSentence`: unchanged 🎉 * `FirstOrder.Language.Sentence.realize_cardGe`: unchanged 🎉 * `FirstOrder.Language.Ultraproduct.boundedFormula_realize_cast`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 3/16 Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Ultraproducts.lean 5 6 ['euprunin', 'github-actions', 'leanprover-radar', 'vihdzp'] nobody
12-24919
12 days ago
16-57424
16 days ago
16-57106
16 days
35853 vihdzp
author:vihdzp
chore(SetTheory/Ordinal): deprecate more theorems on `succ` --- - [x] depends on: #35844 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 39/37 Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Principal.lean,Mathlib/SetTheory/Ordinal/Topology.lean 9 2 ['github-actions', 'mathlib-dependent-issues'] nobody
12-11974
12 days ago
12-12149
12 days ago
12-12824
12 days
35084 edegeltje
author:edegeltje
feat(Combinatorics/SimpleGraph): The Cayley graph for structures with `Mul`/`Add` This pr: - adds the definition `SimpleGraph.mulCayley`, where `x` is adjacent to a distinct `y` when there is `g` such that `x * g = y` or `x = y * g`, - proves various lemmas about the above, - adds/proves the additive versions of all of the above some related zulip conversation: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Cayley.20and.20circulant.20graph/with/572839048 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 106/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cayley.lean 2 27 ['SnirBroshi', 'edegeltje', 'github-actions', 'vihdzp', 'vlad902'] nobody
12-4327
12 days ago
25-60256
25 days ago
28-83738
28 days
33458 NoneMore
author:NoneMore
feat(ModelTheory): add lifting for embeddings to languages with constants Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 46/0 Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean 2 7 ['Citronhat', 'NoneMore', 'fpvandoorn', 'github-actions'] fpvandoorn
assignee:fpvandoorn
11-86394
11 days ago
12-212
11 days ago
68-12473
68 days
35415 joneugster
author:joneugster
feat(Cache): enable partial cache in downstream projects Migrated to fork from: #21238. Add features to `cache` and cleanup code: * enable partial cache retrieval in downstream projects: `lake exe cache get MyProject.Basic` downloads only the relevant cache to build `MyProject/Basic.lean` --- - [x] depends on: #21834 ### Notes: - replaces: #21195 - should address: #8767 - should address: #20568 ### Completed: - [x] depends on: #21632 - [x] ~~depends on: #21663~~ - [x] depends on: #21666 - [x] depends on: #21701 - [x] depends on: #21703 - [x] depends on: #21704 - [x] depends on: #21705 - [x] depends on: #21707 - [x] depends on: #21711 - [x] depends on: #21750 - [x] depends on: #21815 - [x] depends on: #21816 - [x] depends on: #21817 - [x] depends on: #21818 - [x] depends on: #21822 - [x] depends on: #21830 - #21848 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI t-meta 34/15 Cache/Hashing.lean,Cache/IO.lean,Cache/Main.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
11-82376
11 days ago
11-82398
11 days ago
14-34175
14 days
34583 adomani
author:adomani
feat: basic properties of subnormal subgroups This is a follow up to #34284. Co-authored-by: Inna Capdeboscq --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-group-theory 107/3 Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/GroupTheory/IsSubnormal.lean 3 38 ['LLaurance', 'adomani', 'github-actions', 'tb65536'] mattrobball
assignee:mattrobball
11-78500
11 days ago
11-78311
11 days ago
27-73195
27 days
35653 pepamontero
author:pepamontero
feat: add ChartedSpace structure on orbit space feat: add ChartedSpace structure on orbit space Add topological preliminaries for properly discontinuous group actions, and use them to equip the orbit space `orbitRel.Quotient G M` with a `ChartedSpace` structure. In particular: - Show that the quotient map `Quotient.mk _ : M → orbitRel.Quotient G M` is a covering map and hence a local homeomorphism. - Construct chosen local inverses of the quotient map and establish properties over them. - Define a `ChartedSpace` instance on the quotient by composing these local inverses with charts of M. This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it. --- new-contributor t-differential-geometry 186/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/OrbitSpace.lean,Mathlib/Topology/Algebra/OrbitSpace.lean 3 2 ['github-actions'] grunweg
assignee:grunweg
11-76543
11 days ago
16-64289
16 days ago
16-64645
16 days
35857 AlexeyMilovanov
author:AlexeyMilovanov
feat(Logic.Equiv.BijectiveBase2): add bijective base-2 numeration This PR introduces a formalization of the bijective base-2 numeration system. Unlike standard binary representation, bijective base-2 avoids the "leading zeros" problem, providing a strict mathematical bijection between natural numbers (`ℕ`) and lists of booleans (`List Bool`). **Main additions:** * `Equiv.BijectiveBase2.toBits`: Encodes `ℕ` to `List Bool`. * `Equiv.BijectiveBase2.ofBits`: Decodes `List Bool` to `ℕ`. * `equivBijectiveBase2`: The formal `ℕ ≃ List Bool` equivalence. *(Note: This replaces my previously closed PR to avoid the terminology clash between "Dyadic" and dyadic rationals. The namespace and definitions have been updated accordingly).* *(Note: Used AI to assist with standardizing proof structures).* t-logic new-contributor 95/0 Mathlib.lean,Mathlib/Logic/Equiv/ListNatBijective.lean 2 4 ['AlexeyMilovanov', 'SnirBroshi', 'github-actions'] nobody
11-57378
11 days ago
11-66450
11 days ago
11-66588
11 days
35776 IvanRenison
author:IvanRenison
feat(Combinatorics): define `HasAdj` for capturing the common structure of different kinds of (simple) graphs We add a vertex set considering that we want to refactor `SimpleGraph` to also use one --- This pr replaces #4127 Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 101/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/HasAdj.lean,Mathlib/Combinatorics/HasAdj/Basic.lean,Mathlib/Combinatorics/SimpleGraph/HasAdj.lean 4 1 ['github-actions'] nobody
11-55458
11 days ago
11-55458
11 days ago
11-55139
11 days
35423 Rob23oba
author:Rob23oba
feat: add congruence lemmas for `Function.update` and `Pi.single` Adds `simp` congruence lemmas to `Function.update` and `Pi.single` that are specialized for the non-dependent case. See also [#mathlib4 > Simp fails to apply with `Function.update`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Simp.20fails.20to.20apply.20with.20.60Function.2Eupdate.60/with/573889929). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
29/6 Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean 5 9 ['Rob23oba', 'eric-wieser', 'github-actions', 'joneugster', 'loefflerd'] thorimur
assignee:thorimur
11-51013
11 days ago
22-13157
22 days ago
22-48530
22 days
35250 vlad902
author:vlad902
feat(SimpleGraph): redefine `cycleGraph` independent of `circulantGraph` Right now the `cycleGraph` definition relies on `circulantGraph` which requires importing Group definitions from the algebra hierarchy. This causes large-imports for me in later PRs where I try to make more widespread use of cycleGraphs, so here I redefine it to be its own independent object, and leave moving it from `Circulant.lean` to another PR (this is parallel to #35084.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 10/10 Mathlib/Combinatorics/SimpleGraph/Circulant.lean 1 4 ['SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] kmill
assignee:kmill
11-45270
11 days ago
26-1163
26 days ago
26-844
26 days
35592 SnirBroshi
author:SnirBroshi
chore(Order/Defs/Unbundled): deprecate `def Transitive` in favor of `class IsTrans` --- [`def Transitive`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#Transitive) [`class IsTrans`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#IsTrans) [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 141/110 Mathlib/Algebra/Group/Semiconj/Defs.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/Logic/Relation.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/RelClasses.lean,Mathlib/Topology/Connected/Clopen.lean,Mathlib/Topology/Metrizable/Uniformity.lean 20 1 ['github-actions', 'vihdzp'] pechersky
assignee:pechersky
11-45266
11 days ago
18-40212
18 days ago
18-41505
18 days
35610 IvanRenison
author:IvanRenison
feat(Data/Fin): add several lemmas about subtraction of `Fin.{castLT, castAdd, castSucc, castPred}` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 79/0 Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/SuccPred.lean 2 3 ['github-actions', 'wwylele'] TwoFX
assignee:TwoFX
11-45264
11 days ago
17-8769
17 days ago
17-22956
17 days
35628 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Maps): characterize `neighborSet` and `edgeSet` across an embedding --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 40/0 Mathlib/Combinatorics/SimpleGraph/Maps.lean 1 1 ['github-actions'] nobody
11-32108
11 days ago
17-33852
17 days ago
17-33533
17 days
34423 euprunin
author:euprunin
chore: golf using `grind` The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (shown if ≥10 ms before or after): * `LucasLehmer.norm_num_ext.sModNat_eq_sMod`: 950 ms before, 758 ms after 🎉 This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 1/18 Mathlib/NumberTheory/LucasLehmer.lean 1 14 ['eric-wieser', 'euprunin', 'github-actions', 'leanprover-radar', 'robin-carlier'] eric-wieser
assignee:eric-wieser
11-13154
11 days ago
11-13154
11 days ago
43-79531
43 days
35716 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph/Connectivity): add lemmas about reachable, degree and neighbor set --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 28/6 Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean 1 10 ['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] nobody
11-5485
11 days ago
14-85131
14 days ago
14-84812
14 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
label:t-algebra$
610/0 Archive.lean,Archive/Robbins.lean 2 1 ['github-actions'] dwrensha
assignee:dwrensha
10-73065
10 days ago
31-37816
31 days ago
31-39149
31 days
35858 vihdzp
author:vihdzp
doc(SetTheory/Ordinal/Arithmetic): improve documentation This PR does the following: - Use better variable names in the docs (instead of just variants of the letter `o`). - Remove mentions of things defined in other files, or specify that they are defined on other files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-set-theory 14/21 Mathlib/SetTheory/Ordinal/Arithmetic.lean 1 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
10-42415
10 days ago
10-42439
10 days ago
11-48835
11 days
35905 Jun2M
author:Jun2M
feat(Combinatorics/Graph): Add definitions for small graphs (noEdge, bouquet, banana) This pull request adds new constructors and supporting lemmas for special types of graphs in the `Mathlib/Combinatorics/Graph/Basic.lean` file. It introduces: * `Graph.noEdge V`: The graph with vertex set V and empty edge set. * `Graph.bouquet v E`: The graph with vertex set {v} and edge set E, where all edges are loops at v. * `Graph.banana u v E`: The graph with vertex set {u, v} and edge set E, where all edges connect u and v. along with various properties and characterizations for these graphs. Co-authored-by: Peter Nelson [apn.uni@gmail.com](mailto:apn.uni@gmail.com) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 126/0 Mathlib/Combinatorics/Graph/Basic.lean 1 1 ['github-actions'] nobody
10-37800
10 days ago
10-37868
10 days ago
10-37977
10 days
34477 spanning-tree
author:spanning-tree
refactor(Order): make CompletePartialOrder extend OrderBot Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly. Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor. See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 15/1 Mathlib/Order/CompletePartialOrder.lean 1 3 ['Citronhat', 'github-actions', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
9-84537
9 days ago
9-84560
9 days ago
30-59398
30 days
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II Supersedes https://github.com/leanprover-community/mathlib4/pull/33519 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 680/0 Mathlib.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 3 200 ['github-actions', 'grunweg', 'idontgetoutmuch'] grunweg
assignee:grunweg
9-77695
9 days ago
9-77721
9 days ago
24-21177
24 days
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings t-algebra new-contributor
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 11 ['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] kim-em
assignee:kim-em
9-76141
9 days ago
33-79958
33 days ago
33-79639
33 days
29982 hrmacbeth
author:hrmacbeth
feat: new `isolate` tactic This PR adds a new tactic, `isolate`, which "solves for x" in an equation or relation. For example: ```lean example (a b : ℝ) (f : ℝ → ℝ) : 5 * f a - 3 < b := by isolate f a -- new goal: `⊢ f a < (b + 3) / 5` ``` The `isolate` tactic may generate side goals, if these are necessary to justify the transformation. The tactic will attempt to justify such side goals using `positivity` (as in the above example), unification, or type class inference, but if unsuccessful will present them to the user. For example: ```lean example (a b c : ℝ) (f : ℝ → ℝ) : c * f a - 3 < b := by isolate f a -- new goal: `⊢ f a < (b + 3) / c` -- second (side) new goal: `⊢ 0 < c` ``` The `isolate` tactic is extensible. Coverage may be extended to new relations and new operations-to-be-undone by tagging appropriate lemmas with the new `@[isolate]` attribute. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 943/1 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Isolate.lean,Mathlib/Tactic/Isolate/Core.lean,Mathlib/Tactic/Isolate/Tagging.lean,Mathlib/Tactic/Relation/Symm.lean,MathlibTest/Isolate/Heavyweight.lean,MathlibTest/Isolate/Lightweight.lean,scripts/noshake.json 12 45 ['JovanGerb', 'PatrickMassot', 'Vierkantor', 'github-actions', 'hrmacbeth', 'kim-em', 'mathlib4-merge-conflict-bot'] JovanGerb
assignee:JovanGerb
9-65419
9 days ago
9-65419
9 days ago
58-59804
58 days
35325 SnirBroshi
author:SnirBroshi
feat(SimpleGraph/Acyclic): `ENat.card V ≤ 2 → G.IsAcyclic` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 26/3 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Data/Finite/Card.lean 2 2 ['Rida-Hamadani', 'github-actions'] nobody
9-52921
9 days ago
18-43139
18 days ago
24-20368
24 days
34554 SnirBroshi
author:SnirBroshi
feat(Data/Nat/Factorization/Divisors): calculate divisors using prime factorization --- There are over 200 files that import both `divisors` and `factorization`, but none of them seemed to fit, so I created a new file for this. (`Data.Nat.Factorization.PrimePow` and `NumberTheory.ArithmeticFunction.Misc` are the best I found) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 91/0 Mathlib.lean,Mathlib/Data/Nat/Factorization/Divisors.lean 2 20 ['SnirBroshi', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'jcommelin', 'mathlib-bors', 'plp127'] joneugster
assignee:joneugster
9-45251
9 days ago
14-15425
14 days ago
14-62617
14 days
31891 jsm28
author:jsm28
feat(Geometry/Euclidean/Sphere/OrthRadius): lemmas for setting up and using polars Add further lemmas about `orthRadius` that are of use in setting up and using poles and polars. In particular, `ncard_inter_orthRadius_eq_two_of_dist_lt_radius` is the key part of showing that, in two dimensions, there are exactly two tangents to a circle from a point outside that circle (where the points of tangency lie on the polar of the point from which the two tangents are drawn). --- Feel free to golf the proof of `ncard_inter_orthRadius_eq_two_of_dist_lt_radius`, it could probably be rather shorter. --- - [ ] depends on: #32296 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 265/7 Mathlib/Geometry/Euclidean/Sphere/OrthRadius.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean 2 28 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'jsm28', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot'] JovanGerb
assignee:JovanGerb
9-45089
9 days ago
21-1587
21 days ago
109-22495
109 days
34632 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): add `BipartiteDoubleCover` `bipartiteDoubleCover G` has two vertices `inl v` and `inr v` for each vertex `v` in `G` such that `inl v` (`inr v`) is adjacent to `inr w` (`inl w`) iff `v` is adjacent to `w` in `G`. --- This comes from splitting up #25841 into smaller PRs. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 87/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 10 ['github-actions', 'mitchell-horner', 'vihdzp', 'vlad902'] nobody
9-32903
9 days ago
18-29097
18 days ago
39-39198
39 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 323/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
9-24735
9 days ago
9-24735
9 days ago
9-24462
9 days
35632 SnirBroshi
author:SnirBroshi
feat(Data/List/TakeDrop): `take`/`drop` + `tail`/`dropLast` almost commute --- [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/List.2Etail.2FList.2EdropLast.20.2B.20List.2Etake/with/572294698) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 22/0 Mathlib/Data/List/TakeDrop.lean 1 3 ['SnirBroshi', 'github-actions', 'joneugster'] joneugster
assignee:joneugster
9-18930
9 days ago
17-29810
17 days ago
17-30506
17 days
34758 Hagb
author:Hagb
feat(RingTheory/MvPolynomial/MonomialOrder): misc lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 52/2 Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 1 7 ['Hagb', 'erdOne', 'github-actions'] mattrobball
assignee:mattrobball
9-16328
9 days ago
9-16384
9 days ago
27-76320
27 days
35805 adrianmartir
author:adrianmartir
feat(NumberTheory/Divisors): Add `infinite_setOf_divisors_iff` This proves that the set of divisors `{ m | m | n }` of a natural number `n` is infinite if and only if `n` is zero. The first proof draft was by @Aristotle-Harmonic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor 10/0 Mathlib/NumberTheory/Divisors.lean 1 5 ['adrianmartir', 'alexjbest', 'github-actions'] alexjbest
assignee:alexjbest
9-13644
9 days ago
13-11646
13 days ago
13-11363
13 days
29186 winstonyin
author:winstonyin
feat: IsIntegralCurve for solutions to ODEs I define `IsIntegralCurve` etc. for solutions to ODEs on vector spaces. The translation and scaling lemmas are also included. This parallels `IsMIntegralCurve` etc. for manifolds. Moved from #26534. - [x] depends on: #26563 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics t-differential-geometry t-analysis 309/17 Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean 5 32 ['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'michaellee94', 'sgouezel', 'winstonyin'] sgouezel
assignee:sgouezel
8-61873
8 days ago
8-61912
8 days ago
140-66337
140 days
34705 mpenciak
author:mpenciak
feat(AlgebraicGeometry): Grassmannian functor This PR shows that the association `A → A ⊗[R] M` for an `R`-module `M`, and `R`-algebra `A` forms a functor. (Disclosure: This PR was partially prepared by Claude) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 109/2 Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Grassmannian.lean 2 7 ['github-actions', 'mathlib-merge-conflicts', 'mpenciak', 'robin-carlier'] mariainesdff
assignee:mariainesdff
8-52946
8 days ago
8-52970
8 days ago
25-58337
25 days
35513 vihdzp
author:vihdzp
refactor: redefine `Order.cof` for a preorder ... instead of using an unbundled relation. This makes it easier to work with, and avoids some `swap rᶜ` incantations. There are still a bunch of lemmas that make use of unbundled order relations; these will get fixed in follow-up PRs. --- - [x] depends on: #35517 - [x] depends on: #35519 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory t-order maintainer-merge 220/241 Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/Order/Cofinal.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean 3 9 ['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] b-mehta
assignee:b-mehta
8-52838
8 days ago
12-24701
12 days ago
15-27408
15 days
35329 BryceT233
author:BryceT233
feat(Data/Finsupp): add computational lemmas for cons and single This PR introduces `cons_eq_single_zero_iff` and `cons_eq_single_succ_iff`, which are helper lemmas designed to facilitate calculations (or simplification) of equalities involving `Finsupp.cons` and `Finsupp.single`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 25/0 Mathlib/Data/Finsupp/Fin.lean 1 2 ['github-actions'] TwoFX
assignee:TwoFX
8-51722
8 days ago
8-51781
8 days ago
24-20730
24 days
35328 astrainfinita
author:astrainfinita
chore: use `IsLUB` `IsGLB` in `CompleteLattice` --- - [ ] depends on: #35297 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 322/415 Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subfunctor/Basic.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/Set/BooleanAlgebra.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/Bounds/Image.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Order/CompleteLattice/PiLex.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/Concept.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/ScottContinuity/Prod.lean,Mathlib/Order/SupClosed.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Algebra/Ring/Basic.lean,Mathlib/Topology/UniformSpace/Basic.lean 39 20 ['astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] Vierkantor
assignee:Vierkantor
8-45242
8 days ago
13-72499
13 days ago
16-37380
16 days
35693 euprunin
author:euprunin
chore: avoid passing explicit lemmas to `grind` and (terminal) `simp_all` where unnecessary The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `SimpleGraph.Walk.IsCycle.getVert_injOn`: 684 ms before, 596 ms after 🎉 * `List.HasPeriod.gcd`: 846 ms before, 807 ms after 🎉 * `List.Sublist.orderedInsert_sublist`: unchanged 🎉 * `Affine.Simplex.exists_forall_dist_eq_iff_exists_excenterExists_and_eq_excenter`: unchanged 🎉 * `Matrix.pow_apply_pos_iff_nonempty_path`: unchanged 🎉 * `RootPairing.Hom.coweightHom_injective`: unchanged 🎉 * `RootPairing.isReduced_iff'`: unchanged 🎉 * `Set.Ico_eq_Ico_iff`: unchanged 🎉 * `Set.Ioc_eq_Ioc_iff`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 9/9 Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/List/Sort.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/Order/Interval/Set/LinearOrder.lean 8 1 ['github-actions'] dupuisf
assignee:dupuisf
8-45236
8 days ago
15-61011
15 days ago
15-60692
15 days
35786 DavidLedvinka
author:DavidLedvinka
feat(Order): Add simp lemma for `IsRelUpperSet` and `IsRelLowerSet` This is useful in scenarios when `simp` can simplify the relation to true. t-order 8/0 Mathlib/Order/UpperLower/Relative.lean 1 3 ['DavidLedvinka', 'eric-wieser', 'github-actions'] bryangingechen
assignee:bryangingechen
8-45229
8 days ago
13-50418
13 days ago
13-50099
13 days
35828 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/GradedAlgebra/Homogeneous/Hom): homogeneous algebra maps and evaluation Define the notion of homogeneous algebra morphism between algebra maps. Prove that the evaluation of a (weighted) homogeneous multivariate polynomial at adequate elements of a graded algebra define a homogeneous algebra morphism. co-authored with @mariainesdff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 74/0 Mathlib.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Hom.lean 3 2 ['github-actions', 'joneugster'] mattrobball
assignee:mattrobball
8-45224
8 days ago
12-49796
12 days ago
12-50101
12 days
26377 Whysoserioushah
author:Whysoserioushah
feat(RingTheory/SimpleRing/TensorProduct): tensor product of a simple algebra and a central simple algebra is simple co-authored-by: @jjaassoonn --- t-ring-theory large-import 326/8 Mathlib.lean,Mathlib/RingTheory/SimpleRing/TensorProduct.lean,Mathlib/RingTheory/TwoSidedIdeal/Kernel.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/TwoSidedIdeal/Operations.lean 5 69 ['Ruben-VandeVelde', 'Whysoserioushah', 'eric-wieser', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] kbuzzard
assignee:kbuzzard
8-22896
8 days ago
21-50169
21 days ago
29-27940
29 days
34622 vihdzp
author:vihdzp
feat: Nat/Int casts on char two rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
50/8 Mathlib/Algebra/CharP/Two.lean,Mathlib/Data/Set/Insert.lean 2 10 ['erdOne', 'eric-wieser', 'github-actions', 'vihdzp'] erdOne
assignee:erdOne
8-12670
8 days ago
8-12730
8 days ago
39-34749
39 days
35643 chrisflav
author:chrisflav
chore(Algebra): make `TensorProduct.equivOfCompatibleSMul` more linear --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
64/47 Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/TensorProduct.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Smooth/Fiber.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean 8 7 ['github-actions', 'kckennylau'] kim-em
assignee:kim-em
8-6141
8 days ago
8-6252
8 days ago
17-4319
17 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-group-theory new-contributor 85/2 Mathlib/GroupTheory/DoubleCoset.lean 1 41 ['CBirkbeck', 'Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'kim-em', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'tb65536'] mariainesdff
assignee:mariainesdff
8-3932
8 days ago
22-14337
22 days ago
105-20507
105 days
34784 tb65536
author:tb65536
refactor(GroupTheory/Commutator/Basic): to_additivize commutators This PR makes some progress on to_additivizing more of the group theory library. I had to make the bracket instance scoped to avoid clashing with the Lie bracket. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
195/37 Mathlib/Algebra/Group/Commutator.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Solvable.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,MathlibTest/Group.lean,MathlibTest/toAdditiveIrredDef.lean 12 3 ['github-actions', 'mathlib-merge-conflicts'] mattrobball
assignee:mattrobball
7-69177
7 days ago
7-69603
7 days ago
35-14361
35 days
35209 kim-em
author:kim-em
chore: use @[to_dual] extensively in CompleteLattice This PR adds `@[to_dual]` and `@[to_dual existing]` annotations extensively in `CompleteLattice/Defs.lean` and `CompleteLattice/Basic.lean`, auto-generating many dual theorems and deleting the hand-written versions. [Diff relative to previous PR](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-complete-lattice) - [x] depends on: #35208 🤖 Prepared with Claude Code 182/483 Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean 3 38 ['github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] dupuisf
assignee:dupuisf
7-47834
7 days ago
7-47858
7 days ago
14-42688
14 days
35627 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Finite): min/max degrees of top/bot And a couple of lemmas about `IsRegularOfDegree`, e.g. the empty graph is regular of any degree. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 28/1 Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean 2 6 ['SnirBroshi', 'github-actions', 'vlad902'] nobody
7-28370
7 days ago
17-35119
17 days ago
17-34800
17 days
33348 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(LinearAlgebra/Transvection): characterization of transvections among dilatransvections * `LinearEquiv.fixedReduce`. Pass a linear equivalence to the quotient by a fixed subspace. * Characterize transvections among dilatransvections by the fact that their reduction is the identity. --- - [x] depends on: #33347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
322/8 Mathlib.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/FixedSubmodule.lean,Mathlib/LinearAlgebra/Transvection.lean 5 23 ['AntoineChambert-Loir', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
7-19142
7 days ago
7-80554
7 days ago
25-52086
25 days
35157 Multramate
author:Multramate
feat(RingTheory/AdjoinRoot): add IsFractionRing for AdjoinRoot Co-authored-by: Sriram Chinthalagiri Venkata @sriram3301 This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
40/1 Mathlib/RingTheory/AdjoinRoot.lean 1 6 ['copilot-pull-request-reviewer', 'erdOne', 'github-actions'] mattrobball
assignee:mattrobball
7-9865
7 days ago
7-9865
7 days ago
23-67151
23 days
34138 pfaffelh
author:pfaffelh
feat(MeasureTheory): Introduce `MassFunction α` giving rise to a `Measure α ⊤` Define `MassFunction α := α → ℝ≥0∞` Define `toMeasure (w : MassFunction α) : @Measure α ⊤` as a sum of diracs Show properties of the resulting objects This PR intends to start a more userfriendly interaction with probability mass functions (`PMF`). There are two main differences between `MassFunction` and `PMF`: * `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `MassFunction`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.) * The `toMeasure` function of `MassFunction` directly defines the measure as a sum of diracs, which immediately makes computations possible. Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 224/0 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/MassFunction.lean 4 10 ['DavidLedvinka', 'github-actions', 'metakunt', 'pfaffelh'] kex-y and ocfnash
assignee:ocfnash assignee:kex-y
7-6016
7 days ago
8-56439
8 days ago
50-61866
50 days
29996 vihdzp
author:vihdzp
chore(Order/Concept): `IsIntent` and `IsExtent` We define predicates for a set to be an intent/extent, and use them to define alternate constructors for a concept. Using these, we golf the complete lattice instances. The fields `Concept.intent` and `Concept.extent` already existed, and these serve as unbundled versions of them. --- - [x] depends on: #30484 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 161/113 Mathlib/Order/Concept.lean 1 52 ['Vierkantor', 'YaelDillies', 'github-actions', 'linesthatinterlace', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] YaelDillies
assignee:YaelDillies
7-563
7 days ago
19-52184
19 days ago
40-31991
40 days
35327 SnirBroshi
author:SnirBroshi
feat(SimpleGraph/Acyclic): the union of two trees that share exactly one vertex is a tree --- A surprisingly painful proof for something that seems trivial when using a proof by drawing on the board. To avoid any doubts: no AI was involved whatsoever. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 95/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 2 4 ['SnirBroshi', 'github-actions', 'vbeffara', 'vlad902'] nobody
6-82355
6 days ago
24-50009
24 days ago
24-49690
24 days
34621 homeowmorphism
author:homeowmorphism
feat(GroupTheory/FreeGroup/Basic): deprecate `FreeGroup Empty ≃ Unit` using `Equiv.ofUnique`, add `Mul` suggestion using `MulEquiv.ofUnique` and add `FreeGroup α ≃* Multiplicative ℤ` feat(GroupTheory/FreeGroup/Basic): deprecate `FreeGroup Empty ≃ Unit` using `Equiv.ofUnique`, add `Mul` suggestion using `MulEquiv.ofUnique` and add `FreeGroup α ≃* Multiplicative ℤ`. This is a dependency of a larger PR to formalize finitely presented groups https://github.com/leanprover-community/mathlib4/pull/34236. --- Originally, the PR showed that `FreeGroup Empty ≃* Unit` and `FreeGroup α ≃* Multiplicative ℤ`. During the review process, I was asked to generalized `Unit` to any `Unique` type and `Empty` to `IsEmpty`. Through working on this, it has been realized that the pre-existing `FreeGroup Empty ≃ Unit` should be deprecated using `Equiv.ofUnique` and a multiplicative version `FreeGroup Empty ≃* Unit` can be obtained similarly using `MulEquiv.ofUnique` and there was no need to explicitly upgrade the equivalence. The title has been changed to reflect this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor 45/6 Mathlib/GroupTheory/FreeGroup/Basic.lean 1 40 ['b-mehta', 'copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'kbuzzard', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
6-79251
6 days ago
22-68923
22 days ago
29-85185
29 days
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 127/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 25 ['SnirBroshi', 'SproutSeeds', 'github-actions', 'jcommelin', 'ksenono'] awainverse
assignee:awainverse
6-77517
6 days ago
35-53743
35 days ago
88-26153
88 days
34442 JohnnyTeutonic
author:JohnnyTeutonic
feat(Algebra/Lie/Classical): add basis for sl(n) relative to chosen diagonal index Adds a standard basis for sl n R parametrized by a chosen diagonal index i₀: Off-diagonal matrix units E_ij for i ≠ j Diagonal differences E_ii - E_{i₀i₀} for i ≠ i₀ The entry at i₀ is determined by trace-zero. Implements the approach suggested by @ocfnash in [#33818 (comment)](https://github.com/leanprover-community/mathlib4/pull/33818#issuecomment-3784786673). See also [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/lie.20algebra/near/516170116). Closes the request from #33818. Note: Developed with the assistance of Claude - the LinearEquiv machinery was beyond my current Lean expertise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
507/0 Mathlib/Algebra/Lie/Classical.lean 1 10 ['JohnnyTeutonic', 'eric-wieser', 'github-actions', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
6-71881
6 days ago
27-24310
27 days ago
28-505
28 days
34938 peabrainiac
author:peabrainiac
feat(Geometry/Manifold): interior and boundary are preserved by (local) diffeomorphisms If `f` is a local diffeomorphism at `x`, `f x` is an interior point iff `x` is. We prove this and a bunch of corollaries, in particular that `BoundarylessManifold` is invariant under diffeomorphisms which we need for subsequent work. --- - [x] depends on: #33189 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 133/5 Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean 2 8 ['github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] ocfnash
assignee:ocfnash
6-45244
6 days ago
10-34350
10 days ago
10-34293
10 days
35665 BryceT233
author:BryceT233
feat(RingTheory/AdicCompletion): introduce AdicCompletion.finsuppSum This is split from #34936 to make the review process easier. It introduces `AdicCompletion.finsuppSum`, which is a `Finsupp` version of `AdicCompletion.sum`. --- - [x] depends on: #35595 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 93/0 Mathlib/LinearAlgebra/Finsupp/LSum.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean 2 4 ['github-actions', 'joneugster', 'mathlib-dependent-issues'] riccardobrasca
assignee:riccardobrasca
6-45243
6 days ago
10-26619
10 days ago
15-38774
15 days
35763 kim-em
author:kim-em
chore(scripts): make rm_set_option cache opt-in via --resume This PR changes `scripts/rm_set_option.py` so the progress cache is only used when explicitly requested via `--resume`, rather than being on by default (with `--no-resume` to disable). The previous default was unsafe: the cache only checks that the target module's own SHA256 is unchanged, so edits to upstream modules between runs would be silently ignored, causing the script to skip modules that should be reprocessed. 🤖 Prepared with Claude Code 4/4 scripts/README.md,scripts/rm_set_option.py 2 1 ['github-actions'] dupuisf
assignee:dupuisf
6-45241
6 days ago
14-5046
14 days ago
14-4727
14 days
34937 tannerduve
author:tannerduve
feat(Computability): semilattice instance on Turing degrees This PR equips `TuringDegree` with a `SemilatticeSup` structure by introducing the Turing join, proving usual least-upper-bound properties, and lifting these to degrees (quotients). In support of this, it extends the existing `RecursiveIn` API with some lemmas used in the degree theory. The main contribution is the `SemilatticeSup` instance on `TuringDegree`. We define the Turing join as follows ``` turingJoin (f g) : ℕ → ℕ -- notation: f ⊕ g ``` and prove it is a least upper bound: * `left_le_join`, `right_le_join` * `join_le` * monotonicity and congruence lemmas (`join_mono`, `join_congr`) We lift this to degrees in `TuringDegree.sup`, `TuringDegree.le_sup_left`, `TuringDegree.le_sup_right`, and `TuringDegree.sup_le` ``` instance : SemilatticeSup TuringDegree ``` **New additions to `RecursiveIn.lean`:** - `liftPrim`, `liftPrimrec`, `RecursiveIn'`, `ComputableIn`, `ComputableIn₂`: Encodes partial/total functions between `Primcodable` types as `ℕ →. ℕ`, analogous to `Partrec`/`Computable`. - `of_eq`, `of_eq_tot`, `of_primrec`, `some`, `none`, `mono`, `subst`: Standard closure properties for `RecursiveIn`. - `cond_const`, `cond_core_rfind`, `cond`, `ComputableIn.cond`: Shows `RecursiveIn` is closed under conditionals when the guard is absolutely computable - `Nat.Partrec.recursiveIn`, `Computable.computableIn`: Every partrec/computable function is recursive in any oracle set. Small addition to `Partrec` we add to `Mathlib.Computability.Partrec` a small helper def (`Partrec.kronecker` and related `rfind` lemmas) representing the function that returns 1 if its two (unpaired) arguments are equal, and 0 otherwise, which is used in the proof of `cond` ## TODO Some current `RecursiveIn` proofs such as `cond_core_rfind` still work directly with the inductive constructors and are thus very long. A follow up could add a combinator-style closure library by essentially relativizing all the results and lemmas in `Partrec`, and proofs could be golfed heavily as they are in `Partrec` ## Note: AI Usage [Aleph prover](https://logicalintelligence.com/aleph-coding-ai/) was allowed to prove an earlier version of `cond_core_rfind`, which included stating and proving the lemma `cond_const` but the proofs have since been iterated on manually Cursor was allowed to run git commands and edit docstrings/headers, and was used in setting up the module structure of the files t-computability new-contributor large-import 644/63 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 14 ['eric-wieser', 'github-actions', 'plp127', 'tannerduve', 'vihdzp'] nobody
6-40166
6 days ago
21-64333
21 days ago
31-33674
31 days
34507 metakunt
author:metakunt
feat(NumberTheory/AKSPrimality): Adds the AKS primality test Adds the completed proof for the AKS primality test. Everything except the final theorem is marked private as it's only needed for the final proof. Also everything except the final theorem is namespaced with AKS. ---- Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Aks.20primality.20Theorem.206.2E1.20Claim.20.28i.29.20proven t-number-theory 653/0 Mathlib.lean,Mathlib/NumberTheory/AKSPrimality.lean 2 35 ['github-actions', 'jcommelin', 'kim-em', 'metakunt', 'qawbecrdtey', 'vihdzp'] kim-em
assignee:kim-em
6-35433
6 days ago
12-29590
12 days ago
16-16443
16 days
35912 WenrongZou
author:WenrongZou
feat(RingTheory/FormalGroup): definition and examples of formal group --- Definition of one dimensional formal group law over commutative ring and some examples of formal group law. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 204/0 Mathlib.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,docs/references.bib 3 8 ['WenrongZou', 'github-actions', 'wwylele'] erdOne
assignee:erdOne
6-29778
6 days ago
6-29777
6 days ago
10-11228
10 days
36169 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Indexed): `iSup` of `sup`s vs `sup` of `iSup`s `ciSup_sup_eq`/`ciInf_inf_eq` match `CompleteLattice`'s `iSup_sup_eq`/`iInf_inf_eq`, and in a `ConditionallyCompleteLinearOrder` we get an inequality without any bounded assumptions. `Finset.ciSup_union'` for `ConditionallyCompleteLinearOrderBot` matches `CompleteLattice`'s `Finset.iSup_union`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 39/0 Mathlib/Order/ConditionallyCompleteLattice/Finset.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 2 1 ['github-actions'] nobody
6-26631
6 days ago
6-26846
6 days ago
6-28242
6 days
35243 ScottCarnahan
author:ScottCarnahan
chore(Algebra/MonoidAlgebra/PointwiseSMul): switch action from Finsupp to (Add)MonoidAlgebra and multiplicativize This PR moves the API for convolution action on functions from `Finsupp` to `MonoidAlgebra`, adding a `Semiring` hypothesis. We do this move, because the convolution action of finsupps on formal functions is more naturally expressed as an action by the monoid algebra with its convolutional multiplication. This PR also multiplicativizes, preserving the original material with `to_additive`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
109/52 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Data/Finsupp/PointwiseSMul.lean 3 2 ['github-actions', 'mathlib-merge-conflicts'] eric-wieser
assignee:eric-wieser
6-17930
6 days ago
9-26593
9 days ago
14-7213
14 days
35756 mariainesdff
author:mariainesdff
feat(Data/Nat/Choose/Multinomial): add lemmas Co-authored-by: @AntoineChambert-Loir. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics t-data 25/0 Mathlib/Data/Nat/Choose/Multinomial.lean 1 1 ['github-actions'] nobody
6-14066
6 days ago
14-11761
14 days ago
14-11442
14 days
36176 tb65536
author:tb65536
feat(NumberTheory/ArithmeticFunction/Defs): `Algebra` instance on `ArithmeticFunction` This PR adds the `Algebra` instance on `ArithmeticFunction`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra
label:t-algebra$
21/0 Mathlib/NumberTheory/ArithmeticFunction/Defs.lean 1 1 ['github-actions'] nobody
6-13543
6 days ago
6-14425
6 days ago
0-1
1 second
36175 tb65536
author:tb65536
chore(NumberTheory/ArithmeticFunction/Defs): modernize instances This PR modernizes the instances in `ArithmeticFunction/Defs` using `where` notation. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra
label:t-algebra$
39/58 Mathlib/NumberTheory/ArithmeticFunction/Defs.lean 1 1 ['github-actions', 'vihdzp'] nobody
6-8052
6 days ago
6-14805
6 days ago
0-2
2 seconds
35559 mike1729
author:mike1729
feat(Analysis/Normed): weak-topology embedding into weak-star bidual and compactenss transfer theorem This PR refactors the double dual material and adds new results connecting the weak topology on a normed space to the weak-star topology on its bidual. ## Changes ### New file: `Analysis.Normed.Module.DoubleDual` Extracts the canonical embedding `inclusionInDoubleDual` and the bidual isometry `inclusionInDoubleDualLi` from `Analysis.Normed.Module.Dual` into a dedicated file, and adds: - `inclusionInDoubleDualWeak`: the canonical map from `WeakSpace 𝕜 X` into `WeakDual 𝕜 (StrongDual 𝕜 X)`. - `inclusionInDoubleDualWeak_isEmbedding`: this map is a topological embedding. - `inclusionInDoubleDualWeak_homeomorph`: the map as a homeomorphism onto its range. - `isCompact_closure_of_isBounded`: bounded sets whose bidual image has weak-star closure in range have weakly compact closure, via Banach–Alaoglu. ### Modified: `Analysis.Normed.Module.Dual` The double dual inclusion material is moved out; polar set results remain. References to `inclusionInDoubleDual` in `polar_closure` are replaced by `ContinuousLinearMap.apply` to avoid a dependency on the new file. --- CC: @faenuccio this may be relevant for your Goldstine formalization. t-analysis new-contributor 240/91 Mathlib.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Analysis/Normed/Module/WeakSpace.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean 10 23 ['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mike1729'] faenuccio
assignee:faenuccio
6-4914
6 days ago
6-79181
6 days ago
11-12992
11 days
35651 sun123zxy
author:sun123zxy
feat(Mathlib/RingTheory/Ideal/Cotangent): `Submodule.map` definition of cotangent spaces This PR adds an alternative definition of the cotangent space as an image under the R-module quotient map. --- Split from PR #33247 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 47/20 Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 2 10 ['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'sun123zxy'] chrisflav
assignee:chrisflav
5-86250
5 days ago
10-68043
10 days ago
6-9373
6 days
30451 kckennylau
author:kckennylau
feat(HomogeneousIdeal): generalize to homogeneous submodule Continuation of #30437 with permission from @jjaassoonn, which is a continuation of #9820 . The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to homogeneous submodules. Let `R` be a graded ring and `M` be a graded `R`-module. Say an `R`-submodule `N` of `M` is homogeneous if for every `x` in `N`, each projection of `x` to `M_i` is in `N`. None of this file's results depends on the grading on `R`, but we include the grading on `R` for technical reasons. We define the "homogeneous core" of a not necessarily homogeneous submodule N to be the biggest homogeneous submodule contained within N, and the "homogeneous hull" to be the smallest homogeneous submodule that contains N. All definitions/constructions/theorems are then copied for ideals/homogeneous ideals. The motivation of this generalization is graded quotient module. (#18716) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 581/185 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean 10 3 ['github-actions', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
5-72079
5 days ago
5-72144
5 days ago
22-57502
22 days
35600 yisiox
author:yisiox
feat(Computability): add Kleene's algorithm to prove regular languages have regex matching This PR adds a proof that every regular language has some regular expression matching it. This was achieved by the following constructions and proofs of their correctness - Define `toSingleεNFA` to transform any epsilon-NFA to an equivalent one with only a single start and accept state (and the type is `ExtendedState`) - Define a bijection between `ExtendedState` and `Fin (FinEnum.card (ExtendedState σ))` to index the states - Define `pathRegex` which implements Kleene's algorithm - Define `toRegex` which takes an epsilon-NFA, applies `toSingleεNFA` on it, and computes the corresponding regex using `pathRegex` The proofs of correctness chain together to yield `(toRegex M).matches' = M.accepts` which asserts the direction of Kleene's theorem required. As in [#mathlib4 > Regular languages: the review queue @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/near/573958148), this overlaps with #15654, which uses GNFA instead but has been inactive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 499/0 Mathlib/Computability/EpsilonNFA.lean 1 2 ['github-actions'] nobody
5-67066
5 days ago
unknown
0-0
0 seconds
34711 urkud
author:urkud
refactor(padicValNat): redefine using `maxPowDvdDiv` - rename `maxPowDiv` to `maxPowDvdDiv`; - make it return `a / b ^ n` too; - optimize it to use `O(log (logb b a))` steps; - redefine `padicValNat` to be `maxPowDvdDiv .. |>.1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 275/150 Mathlib/Data/Nat/MaxPowDiv.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/SumTwoSquares.lean 5 3 ['b-mehta', 'github-actions', 'mathlib-merge-conflicts'] b-mehta
assignee:b-mehta
5-59806
5 days ago
5-59833
5 days ago
15-51526
15 days
36210 vbeffara
author:vbeffara
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph. This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 151/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean 3 2 ['github-actions'] nobody
5-50123
5 days ago
5-50185
5 days ago
5-50557
5 days
34578 dennj
author:dennj
feat: define Boolean circuits over abstract gate families This PR introduces a foundation for Boolean circuits parameterized by abstract gate families. ## Main definitions - `GateEval`: typeclass for gate families with Boolean semantics - `GateHom`: arity-preserving maps between gate families - `Circuit`: inductive type representing circuit syntax trees - `AC0Gate`, `ACC0Gate`, `TC0Gate`: standard complexity-theoretic gate bases ## Design notes The key design choice is to keep **syntax** (gate labels `G : Nat → Type`) separate from **semantics** (`GateEval.eval`), allowing users to define custom gate families (e.g., MAJ, XOR, arbitrary threshold gates) without modifying core definitions. ### Tree vs DAG representation We evaluated two approaches for circuit representation: 1. **Tree-based** (this PR): Circuits as inductive syntax trees 2. **DAG-based**: Circuits as lists of gates with index-based references We chose tree-based circuits because: - **Compositionality**: Easy to build circuits via `gate g (fun i => subcircuit i)` - **Type safety**: Arity-indexed gates (`G : Nat → Type`) catch errors at compile time - **Manipulation**: Natural support for `mapGate`, `subst`, `mapInputs` - **Mathlib philosophy**: Aligns with structural/compositional reasoning patterns For use cases requiring explicit sharing (complexity analysis, evaluation efficiency), a separate `DAG` type can be added later with proven equivalence via `Circuit.toDAG`. The current representation serves as a minimal foundation for size/depth measures, circuit families, and complexity classes (AC0, ACC0, TC0). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability 919/0 Mathlib.lean,Mathlib/Computability/Circuit/Basic.lean,Mathlib/Computability/Formula/Basic.lean,Mathlib/Computability/Gate.lean 4 18 ['LLaurance', 'YuvalFilmus', 'dennj', 'github-actions'] Komyyy
assignee:Komyyy
5-45202
5 days ago
22-38690
22 days ago
29-77598
29 days
35594 chrisflav
author:chrisflav
feat(RingTheory): `Extension.CotangentSpace` commutes with base change From Pi1. --- - [x] depends on: #35557 - [x] depends on: #35699 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 136/0 Mathlib.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Extension/Cotangent/BaseChange.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] riccardobrasca
assignee:riccardobrasca
5-45198
5 days ago
8-76017
8 days ago
8-77085
8 days
35713 Parcly-Taxel
author:Parcly-Taxel
feat: Bird–Wadler duality theorems Forms of these three theorems already exist in mathlib and the Lean standard library, but they are scattered about. Bring them together in one file, deprecating the _ad hoc_ names for the first and second theorems. t-data 167/82 Mathlib.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/BirdWadler.lean,docs/references.bib 4 1 ['github-actions'] Vierkantor
assignee:Vierkantor
5-45194
5 days ago
15-9848
15 days ago
15-9785
15 days
35874 xgenereux
author:xgenereux
feat(Adjoin/Polynomial/Bivariate): IsAlgebraic.adjoin_singleton This PR builds up to the following theorem: - `IsAlgebraic.adjoin_singleton`: Given two transcendental elements `a`, `b` over `R`, if one of them, say `a`, is algebraic over `R[b]` then `b` is algebraic over `R[a]`. In particular, it uses maps between `R[a]` and `R[X]` as well of some of the Bivariate polynomial API. The results are necessary in preparation for the following: Given a function field `K` and `(y : K)` such that `(hy : Transcendental Fq y)` then we have: ``` FiniteDimensional Fq⟮y⟯ K ``` Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
90/0 Mathlib.lean,Mathlib/RingTheory/Adjoin/Polynomial/Bivariate.lean 2 6 ['github-actions', 'joneugster', 'mathlib-merge-conflicts', 'robin-carlier', 'xgenereux'] riccardobrasca
assignee:riccardobrasca
5-45187
5 days ago
9-11052
9 days ago
9-11258
9 days
35962 euprunin
author:euprunin
chore: golf using `simp` The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `CategoryTheory.MonoidalCategory.leftUnitor_monoidal`: unchanged 🎉 * `MeasureTheory.Measure.haar.is_left_invariant_index`: unchanged 🎉 * `Ideal.Filtration.submodule_fg_iff_stable`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 4/10 Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/RingTheory/Filtration.lean 3 1 ['github-actions'] dwrensha
assignee:dwrensha
5-45179
5 days ago
9-18096
9 days ago
9-17777
9 days
35963 Parcly-Taxel
author:Parcly-Taxel
refactor: review Kleene algebra axioms The docstring did not match the actual conditions in the `KleeneAlgebra` class and there was one more condition than necessary. We replace `one_le_kstar, mul_kstar_le_kstar, kstar_mul_le_kstar` with ```lean one_add_mul_kstar (a : α) : 1 + a * a∗ = a∗ one_add_kstar_mul (a : α) : 1 + a∗ * a = a∗ ``` From the pair, the trio is trivially derivable. The pair's derivation from the trio is Proposition 2 in Kozen's 1994 paper. We also remove the `bot` and `bot_le` fields in `IdemSemiring`, since the remaining axioms already show `0 ≤ a` for all `a`. t-algebra
label:t-algebra$
102/93 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Computability/Language.lean 4 11 ['Parcly-Taxel', 'github-actions', 'plp127', 'vihdzp'] dagurtomas
assignee:dagurtomas
5-45178
5 days ago
8-84415
8 days ago
9-8753
9 days
35998 gasparattila
author:gasparattila
feat: affine isomorphisms between spaces of affine maps These isomorphisms are analogous to `LinearEquiv.arrowCongr` and `LinearEquiv.congrLeft`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
123/0 Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean 1 1 ['github-actions'] joelriou
assignee:joelriou
5-45176
5 days ago
8-66519
8 days ago
8-66200
8 days
36014 euprunin
author:euprunin
chore: golf proofs The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Polynomial.smeval_commute_left`: unchanged 🎉 * `lp.norm_rpow_eq_tsum`: unchanged 🎉 * `ComputablePred.rice`: unchanged 🎉 * `ZNum.cmp_to_int`: unchanged 🎉 * `ZMod.inv_coe_unit`: unchanged 🎉 * `Ideal.Filtration.submodule_fg_iff_stable`: 343 ms before, 197 ms after 🎉 * `t2Space_of_properSMul_of_t1Group`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 10/43 Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Computability/Halting.lean,Mathlib/Data/Num/ZNum.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/Topology/Algebra/ProperAction/Basic.lean 7 1 ['github-actions'] kex-y
assignee:kex-y
5-45175
5 days ago
8-52024
8 days ago
8-51705
8 days
34952 joneugster
author:joneugster
feat(scripts/autolabel): use `Cli` and integrate `curl` call into `autolabel` - use `Cli` for `lake exe autolabel` - add arguments `--pr xxx --gh` and `--pr xxx --curl ` to chose between different interaction methods with github - add `--force` to skip the check whether labels are already present. (note: the current `curl` setup doesn't perform this step, so I left it as a `TODO` in this PR, too) - make CI-workflow simpler and more robust by removing current stdout-parsing of the debug-messages which `autolabel` emits. ### Testing Make some local changes and commit them. Ensure your local `origin/master` is in sync with `upstream/master` if you are on a fork. - `lake exe autolabel`: prints the labels which would be applicable - `lake exe autolabel --pr 34952 --gh --force` adds these labels to this PR using `gh`. - `lake exe autolabel --pr 34952 --gh` adds these labels to this PR using `gh` if no topic labels are present. - `lake exe autolabel --pr 34952 --curl ` adds these labels to this PR using `curl`. This requires a github access token for authentication --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 85/72 .github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] nobody
5-35092
5 days ago
5-35116
5 days ago
20-11364
20 days
35622 SnirBroshi
author:SnirBroshi
feat(Logic/Function/Basic): `onFun` and `swap` preserve relation properties --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 133/19 Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/WithBot.lean 7 7 ['SnirBroshi', 'github-actions', 'leanprover-radar', 'vihdzp'] nobody
5-34143
5 days ago
5-35684
5 days ago
17-19216
17 days
36242 joneugster
author:joneugster
feat(scripts/autolabel): collect label dependencies transitively Collect label dependencies transitively. if `t-algebraic-geometry -> t-ring-theory` and `t-ring-theory -> t-algebra` are two dependencies where the latter label is dropped from the list of applicable labels, then `t-algebraic-geometry -> t-algebra` is also dropped. --- I forgot if this was an oversight in #34066 or if we split this out to facilitate discussion should this not be desired behaviour. - [x] depends on: #34066 - part of: #34079 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 2/3 scripts/autolabel.lean 1 2 ['github-actions', 'mathlib-dependent-issues'] nobody
5-33204
5 days ago
5-33776
5 days ago
5-33914
5 days
36245 BryceT233
author:BryceT233
feat(RingTheory/LocalRing): introduce algebra map version of `ResidueField.map` This PR added `IsLocalHom` instances to `AlgHom` and introduced the algebra map version of `IsLocalRing.ResidueField.map` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 57/0 Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean 2 2 ['github-actions'] nobody
5-26727
5 days ago
5-26791
5 days ago
5-26569
5 days
35405 xroblot
author:xroblot
feat(RamificationInertia): add `ramificationIdx_le_ramificationIdx` and `inertiaDeg_le_inertiaDeg` Assume that `Q` is over `P` that is over `p`. We prove that: - `Ideal.ramificationIdx P Q ≤ Ideal.ramificationIdx p Q` - `Ideal.inertiaDeg P Q ≤ Ideal.inertiaDeg p Q` These results follow from [Ideal.ramificationIdx_algebra_tower](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.ramificationIdx_algebra_tower) and [Ideal.inertiaDeg_algebra_tower](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.inertiaDeg_algebra_tower) but they are proved here in a more general situation. --- - [x] depends on: #35483 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 31/0 Mathlib/NumberTheory/RamificationInertia/Basic.lean 1 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] alexjbest
assignee:alexjbest
5-21678
5 days ago
5-21700
5 days ago
21-73814
21 days
35720 tb65536
author:tb65536
feat(NumberTheory/FunctionField): add instances on `FqtInfty` This PR proves the relevant instances on `FqtInfty` by locally replacing the existing valued instance `RatFunc.valuedRatFunc` coming from the ideal `X` with the required `UniformSpace` instance coming from the valuation at infinity and then deriving the relevant instances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-algebra
label:t-algebra$
18/9 Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/FunctionField.lean 2 5 ['dagurtomas', 'github-actions', 'pechersky', 'tb65536'] dagurtomas
assignee:dagurtomas
5-20277
5 days ago
5-20272
5 days ago
14-40099
14 days
35661 chrisflav
author:chrisflav
feat(Geometry/Manifold): a smooth map induces a morphism of locally ringed spaces --- I have put things in the `IsManifold` namespace, because `IsManifold.locallyRingedSpace` is in that namespace. It seems to me that this namespace is not very fitting, because `IsManifold` is not mentioned once. Since I am unfamiliar with this part of the library, I refrained from changing it, but I am happy to do so if preferred. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-differential-geometry 156/3 Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/Sheaf/LocallyRingedSpace.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean 4 7 ['chrisflav', 'github-actions', 'grunweg', 'hrmacbeth'] ocfnash
assignee:ocfnash
5-14527
5 days ago
16-51866
16 days ago
16-52124
16 days
35807 Raph-DG
author:Raph-DG
chore(Topology): Generalised some of the instances for Function.locallyFinsuppWithin In this PR, we generalised the various instances for locally fin supp functions. These changes were originally made on the PR #26304 about algebraic cycles, but it was decided that these changes are more appropriate in their own PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 61/24 Mathlib/Topology/LocallyFinsupp.lean 1 6 ['Raph-DG', 'dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
5-13347
5 days ago
5-13414
5 days ago
12-80281
12 days
36202 vihdzp
author:vihdzp
feat: more theorems on the Cantor normal form We also remove some redundant assumptions. Used in the CGT repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 49/57 Mathlib/SetTheory/Ordinal/CantorNormalForm.lean 1 1 ['github-actions'] nobody
5-4159
5 days ago
5-4335
5 days ago
5-11424
5 days
35535 mariainesdff
author:mariainesdff
feat(RingTheory/ClassGroup): prove mulEquiv We prove that isomorphic rings have isomorphic class groups. Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 233/9 Mathlib/Algebra/Ring/CompTypeclasses.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/LocalProperties/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 6 29 ['erdOne', 'eric-wieser', 'github-actions', 'mariainesdff', 'mathlib-merge-conflicts', 'tb65536'] nobody
4-80660
4 days ago
4-80992
4 days ago
12-38768
12 days
32058 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): category version Baer criterion In this PR, we added the cateory version of Baer criterion stating that `M` is injective iff `Ext^1(R/I, M)` vanish for all ideal I. --- - [ ] depends on: #35882 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory
label:t-algebra$
142/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Baer.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean 3 20 ['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
4-73576
4 days ago
11-24405
11 days ago
7-19844
7 days
35820 smmercuri
author:smmercuri
feat: unit lemmas and embedding for `FiniteAdeleRing` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 42/2 Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean 1 1 ['github-actions'] alreadydone
assignee:alreadydone
4-63833
4 days ago
12-74838
12 days ago
12-74749
12 days
34209 mike1729
author:mike1729
feat(Analysis/Normed): Schauder basis definition and characterization via projections A Schauder basis is a fundamental concept in functional analysis, providing a way to represent every element of a Banach space as a unique convergent series. This PR adds the core structures, some theorems necessary to work with these bases and a characterization of a Schauder basis using projections. This PR is based on Chapter 1. from Albiac, F., & Kalton, N. J. (2016). Topics in Banach Space Theory. This is a first PR in a series of three aiming for Eberlein-Smulyan Theorem. The next one will contain theory of basic sequences and the final one will contain a proof of Eberlein-Smulyan Theorem using basic sequences. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 539/0 Mathlib.lean,Mathlib/Analysis/Normed/Module/Bases.lean,docs/references.bib 3 200 ['Ruben-VandeVelde', 'faenuccio', 'github-actions', 'goliath-klein', 'j-loreaux', 'mike1729', 'sgouezel', 'themathqueen'] sgouezel
assignee:sgouezel
4-61087
4 days ago
11-77692
11 days ago
36-33905
36 days
35822 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice): `sSup (f '' s) ≤ f (sSup s)` --- #35260 will add `iSup` versions. (edit: it was merged) Future work: `Antitone`, `MonotoneOn`, `AntitoneOn` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 39/1 Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Finset.lean 2 5 ['SnirBroshi', 'github-actions', 'vihdzp'] Komyyy
assignee:Komyyy
4-60153
4 days ago
12-73698
12 days ago
12-73379
12 days
35540 tb65536
author:tb65536
feat(GroupTheory/ResiduallyFinite): define residually finite groups This PR defines residually finite groups, provides some basic API, and gives the connection with profinite completion. Some to_additivizing is still waiting on #34784. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
97/1 Mathlib.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/ResiduallyFinite.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean 4 4 ['ADedecker', 'github-actions'] mattrobball
assignee:mattrobball
4-56407
4 days ago
4-56468
4 days ago
19-37668
19 days
33942 artie2000
author:artie2000
feat(Algebra/Group/Submonoid): submonoid support * Define support of submonoid (biggest subgroup it contains) * Define "pointed" (zero-support) and "spanning" (generates as a subgroup) submonoids --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
123/0 Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Tactic/Translate/ToAdditive.lean 3 30 ['artie2000', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'plp127', 'vihdzp'] jcommelin
assignee:jcommelin
4-47141
4 days ago
4-48303
4 days ago
6-59494
6 days
35398 vlad902
author:vlad902
feat(SimpleGraph): `bypass` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 17/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 1 ['github-actions'] kmill
assignee:kmill
4-45266
4 days ago
23-5560
23 days ago
23-5241
23 days
36051 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Cycle.chain_of_pairwise`: unchanged 🎉 * `List.argmax_cons`: 387 ms before, 94 ms after 🎉 * `ciSup_subtype`: 118 ms before, 77 ms after 🎉 * `exists_seq_forall_proj_of_forall_finite`: unchanged 🎉 * `Polynomial.roots_quadratic_eq_pair_iff_of_ne_zero'`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 7/30 Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/KonigLemma.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 5 1 ['github-actions'] dagurtomas
assignee:dagurtomas
4-45255
4 days ago
8-5847
8 days ago
8-5528
8 days
36062 huaizhangchu
author:huaizhangchu
feat(Probability/PMF): add PMF.integrable_of_summable_norm Adds `PMF.integrable_of_summable_norm`: a function `f` is integrable with respect to `p.toMeasure` when the weighted norms `‖f a‖ * (p a).toReal` form a summable family. This is useful for computing expectations of discrete distributions (Poisson, geometric, etc.) without manually expanding the `HasFiniteIntegral` definition each time. t-measure-probability new-contributor 14/0 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 2 ['github-actions'] sgouezel
assignee:sgouezel
4-45254
4 days ago
7-81390
7 days ago
7-81071
7 days
36078 tb65536
author:tb65536
feat(LinearAlgebra/Eigenspace/ContinuousLinearMap): eigenspaces of a continuous linear map are closed This PR proves that eigenspaces of a continuous linear map are closed. This is in a new file to avoid heavy topology imports in the existing eigenspace files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology t-algebra
label:t-algebra$
37/0 Mathlib.lean,Mathlib/LinearAlgebra/Eigenspace/ContinuousLinearMap.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean 3 1 ['github-actions'] dagurtomas
assignee:dagurtomas
4-45252
4 days ago
7-53377
7 days ago
7-53059
7 days
36083 gasparattila
author:gasparattila
feat: decomposition of `ContinuousAffineMap` as an `Equiv` This PR defines an equivalence `(V →ᴬ[R] Q) ≃ Q × (V →L[R] W)`, plus `LinearEquiv` and `AffineEquiv` variants. To match the names of the new equivalences, `ContinuousAffineMap.toConstProdLinearMap` is also renamed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 154/13 Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean 2 1 ['github-actions'] dupuisf
assignee:dupuisf
4-45251
4 days ago
7-50976
7 days ago
7-52610
7 days
36088 pevogam
author:pevogam
feat: add a LE version of previous div_lt_div_iff_mul_lt_mul theorem The following is more useful due to the partial order application of LE in comparison to LT. Additionally, add specialized cases of equal denominators as simpler syntactic sugar. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
16/0 Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean 1 2 ['github-actions'] dagurtomas
assignee:dagurtomas
4-45251
4 days ago
7-52502
7 days ago
7-52289
7 days
35602 JovanGerb
author:JovanGerb
feat: replace `IsWellFounded` with `WellFounded` This PR is an attempt to deprecate `IsWellFounded`. The reason it that it is entirely equivalent to `WellFounded`, with the only difference being that `IsWellFounded` is a class. This PR instead marks `WellFounded` as a class. What is annoying is that you sometimes want the API to use it as a class and sometimes as an explicit argument, and it's not entirely clear to me what the best compromise is: duplicating API, or just picking one form and using it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 430/474 Archive/Imo/Imo1988Q6.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/CategoryTheory/CofilteredSystem.lean,Mathlib/CategoryTheory/Subobject/ArtinianObject.lean,Mathlib/CategoryTheory/Subobject/NoetherianObject.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Finsupp/WellFounded.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/WithTop.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Set/Finite/Lemmas.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Deprecated/Estimator.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/Logic/Hydra.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Cover.lean,Mathlib/Order/Extension/Well.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Order/Minimal.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/Order/RelSeries.lean,Mathlib/Order/Shrink.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Order/WellQuasiOrder.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FiniteLength.lean,Mathlib/RingTheory/Length.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Noetherian/Basic.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Nat.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Rank.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/NoetherianSpace.lean 81 28 ['JovanGerb', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] vihdzp
assignee:vihdzp
4-43267
4 days ago
4-43329
4 days ago
4-51029
4 days
36308 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Subgraph): a couple of `subgraphOfAdj` lemmas --- Also golfed a lemma (it's one line longer but it looks simpler to me). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 14/5 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 1 ['github-actions'] nobody
4-24386
4 days ago
4-24458
4 days ago
4-24139
4 days
35760 astrainfinita
author:astrainfinita
chore: deprecate `ConditionallyCompleteLinearOrderedField` Use the new mixin typeclass instead. Also, move the API for conditionally complete linear ordered fields into the `ConditionallyCompleteLinearOrderedField` namespace, and make instances scoped to this namespace. We should usually use `ℝ` instead. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-order maintainer-merge
label:t-algebra$
124/52 Mathlib.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Data/Real/CompleteField.lean,Mathlib/Data/Real/Hom.lean 5 6 ['Vierkantor', 'astrainfinita', 'github-actions', 'leanprover-radar'] Vierkantor
assignee:Vierkantor
4-17195
4 days ago
5-83316
5 days ago
13-76113
13 days
35418 vlad902
author:vlad902
feat(SimpleGraph): `IsAcyclic` iff not 2-edge-reachable --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 46/5 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 3 5 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] nobody
4-16326
4 days ago
4-16388
4 days ago
21-26886
21 days
35940 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(NumberTheory/Height/MvPolynomial): lower height bounds for images under polynomial maps We continue the development of height bounds for polynomial maps. Here we add the lower bound. --- - [x] depends on: #35927 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra
label:t-algebra$
104/0 Mathlib/NumberTheory/Height/MvPolynomial.lean 1 5 ['AntoineChambert-Loir', 'MichaelStollBayreuth', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
4-13778
4 days ago
4-71381
4 days ago
4-73759
4 days
36192 tb65536
author:tb65536
feat(NumberTheory/ArithmeticFunction/LFunction): formal Euler products of Dirichlet series This PR defines formal Euler products of Dirichlet series. See #36189 for how this will ultimately be used to construct L-functions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra
label:t-algebra$
129/0 Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/LFunction.lean 3 32 ['ADedecker', 'AntoineChambert-Loir', 'MichaelStollBayreuth', 'b-mehta', 'github-actions', 'loefflerd', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
4-13538
4 days ago
4-77263
4 days ago
6-3797
6 days
31194 grunweg
author:grunweg
feat: add `#check'` command and tactic, which only show explicit arguments In some areas (such as differential geometry), many lemmas have a *lot* of implicit and typeclass arguments. Using `#check foo` to determine which explicit arguments are expected for a given lemma gives output which is painful to read, because the explicit argument is buried among many lines of other output. The `#check'` command and tactic produce very similar output, but with implicit and typeclass arguments omitted. This increases usability a lot. In the future, this could (and should) be unified to the #check command in core, by becoming e.g. `#check +only-explicit`. Until then, let us add this to mathlib to facilitate experimentation of the most useful behaviour. From the project towards geodesics and the Levi-Civita connection. Co-authored-by: Kyle Miller Co-authored-by: Patrick Massot --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 155/17 Mathlib/Tactic/Check.lean,MathlibTest/Check.lean 2 20 ['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'thorimur'] thorimur
assignee:thorimur
4-9327
4 days ago
4-9151
4 days ago
15-52750
15 days
36317 tb65536
author:tb65536
feat(NumberTheory/NumberField/Discriminant/Basic): define the root discriminant This PR adds the definition of the root discriminant of a number field. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory t-algebra
label:t-algebra$
14/0 Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean 1 1 ['github-actions'] nobody
4-3425
4 days ago
4-4121
4 days ago
0-1
1 second
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 --- - [x] depends on: #33249 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 109/1 Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean 4 11 ['Rida-Hamadani', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
3-85185
3 days ago
11-65096
11 days ago
2-17599
2 days
36329 rwst
author:rwst
feat(PowerSeries): add barebones Log.lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 67/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Log.lean 2 1 ['github-actions'] nobody
3-67555
3 days ago
3-67652
3 days ago
3-67333
3 days
34599 cameronfreer
author:cameronfreer
feat(Logic/Equiv/Fintype): generalize toCompl and exists_extending_pair to finite source Generalize the Equiv subtype-extension API so it only needs finiteness of the source subtype, then use that to drastically simplify `Equiv.Perm.isMultiplyPretransitive`. ### Changes to `Logic/Equiv/Fintype.lean` * **`Equiv.toCompl`**: generalize from `[Finite α]` to `[Finite {x | p x}]`. New proof (due to tb65536) uses finset symmetric differences to avoid needing finiteness of the ambient type. * **`Equiv.extendSubtype`** and related lemmas: adapt to `[Finite {x | p x}]`. * **`Equiv.Perm.exists_extending_pair`**: strengthen from `[Finite β]` to `[Finite α]`. Given two injective functions `f, g : α → β` where `α` is finite, there exists `σ : Perm β` with `σ ∘ f = g`. The target `β` can now be infinite. ### Changes to `MultipleTransitivity.lean` * **`Equiv.Perm.isMultiplyPretransitive`**: replace ~70-line manual bijectivity construction with a two-line proof via `exists_smul_eq_embedding`. * **`exists_smul_eq_embedding`**: rewire to use `exists_extending_pair` directly (removing the old cardinal-arithmetic proof `exists_extending_pair_of_finite_source`). ### Application Used in formalizing de Finetti's theorem (exchangeability ⇒ contractability): https://github.com/cameronfreer/exchangeability/blob/03a854a2/Exchangeability/Contractability.lean#L459 Co-authored-by: tb65536 t-group-theory new-contributor 51/79 Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/Logic/Equiv/Fintype.lean 2 26 ['LLaurance', 'cameronfreer', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] mattrobball
assignee:mattrobball
3-63662
3 days ago
3-63638
3 days ago
24-84293
24 days
33143 wwylele
author:wwylele
feat(PowerSeries): pentagonal number theorem The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part. --- - [ ] depends on: #30436 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
427/1 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml 4 43 ['copilot-pull-request-reviewer', 'github-actions', 'jcommelin', 'mathlib4-dependent-issues-bot', 'tb65536', 'urkud', 'vihdzp', 'wwylele'] kex-y
assignee:kex-y
3-60242
3 days ago
16-16038
16 days ago
74-16109
74 days
36320 ZRTMRH
author:ZRTMRH
feat(Combinatorics): add Schreier graph definition and covering property Defines Schreier graphs as quivers with labeled edges. `SchreierGraph V ι`: type alias for vertices with quiver structure `schreierGraphLabelling`: prefunctor extracting edge labels `schreierGraphLabelling_isCovering`: the labelling is a covering for group actions `schreierGraph_action_commute`: label-preserving maps commute with the action Ported from [Lean 3 PR #18693](https://github.com/leanprover-community/mathlib3/pull/18693). This PR was written with AI assistance (Claude). The code has been reviewed by the author and their advisor. --- This is the first in a series of PRs splitting #35467 into smaller pieces, as suggested by reviewers. Upcoming PRs will add word evaluation, paths, connectivity, automorphisms, examples, and Cayley sum graphs. t-combinatorics new-contributor 175/0 Mathlib.lean,Mathlib/Combinatorics/Quiver/Schreier.lean 2 2 ['github-actions'] nobody
3-60242
3 days ago
3-82279
3 days ago
3-81960
3 days
34742 Brian-Nugent
author:Brian-Nugent
feat(SheafCohomology): add API for Sheaf Cohomology Defines the long exact sequence on cohomology associated to a short exact sequence of sheaves `H.longSequence`. Also defines `H.equiv₀`, the additive equivalence between `H F 0` and `((sheafSections J AddCommGrpCat).obj (op T)).obj F` when the category has a terminal object `T`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-category-theory 99/2 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 3 25 ['Brian-Nugent', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster'] adamtopaz
assignee:adamtopaz
3-52113
3 days ago
3-52176
3 days ago
28-68062
28 days
35933 urkud
author:urkud
chore(WellFounded): drop unneeded `Set.Nonempty` assumptions ... in theorems that also assume that a specific element belongs to the set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 60/56 Archive/Imo/Imo1988Q6.lean,Counterexamples/AharoniKorman.lean,Mathlib/Combinatorics/Quiver/Arborescence.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Cover.lean,Mathlib/Order/InitialSeg.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/WellFounded.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/MvPowerSeries/LexOrder.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean 22 5 ['Parcly-Taxel', 'github-actions', 'urkud', 'vihdzp'] dwrensha
assignee:dwrensha
3-46656
3 days ago
9-51739
9 days ago
9-54830
9 days
35215 kim-em
author:kim-em
chore: use @[to_dual] in FixedPoints This PR adds `@[to_dual]` annotations to 14 theorems about `lfp` in `Order/FixedPoints.lean`, auto-generating their `gfp` duals and deleting the hand-written versions. Also registers `OrderHom.lfp` as the dual of `OrderHom.gfp` via `attribute [to_dual existing]`. Auto-generated duals include: `le_gfp`, `gfp_le_fixed`, `gfp_le`, `gfp_le_map`, `map_gfp`, `isFixedPt_gfp`, `map_le_gfp`, `isGreatest_gfp_le`, `isGreatest_gfp`, `gfp_induction`, `map_gfp_comp`, `gfp_gfp`, `map_inf_fixedPoints_le`, `map_sInf_subset_fixedPoints_le`. [Diff relative to #35208](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-fixed-points) - [x] depends on: #35208 🤖 Prepared with Claude Code 249/548 Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean 8 10 ['JovanGerb', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] alexjbest
assignee:alexjbest
3-45256
3 days ago
7-48189
7 days ago
15-6494
15 days
35829 IvanRenison
author:IvanRenison
refactor(Data/Last): move `Mathlib.Tactic.BicategoryLike.pairs` to `List.consecutivePairs` Moves: - Mathlib.Tactic.BicategoryLike.pairs -> List.consecutivePairs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 12/6 Mathlib/Data/List/Defs.lean,Mathlib/Tactic/Widget/StringDiagram.lean 2 5 ['IvanRenison', 'SnirBroshi', 'github-actions', 'robin-carlier'] Vierkantor
assignee:Vierkantor
3-45255
3 days ago
11-55542
11 days ago
12-36175
12 days
36097 matthewjasper
author:matthewjasper
chore: make psuedoparents of algebraic substructures reducible Make functions that take an algebraic substructure and return a sibling class reducible, this matches actual parents and resolves some usage of `set_option backward.isDefEq.respectTransparency false`. For example it ensures that the field instance on `IntermediateField` has a compatible `Semiring` instance to the one from it extending a `Subalgebra`. Also remove @[simp] from `adjoin_toSubsemiring`, since it prevents other simp lemmas on `adjoin` from applying. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
23/16 Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/Ring/Subring/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/RingTheory/NonUnitalSubring/Defs.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 11 1 ['github-actions'] dagurtomas
assignee:dagurtomas
3-45250
3 days ago
6-52568
6 days ago
6-55598
6 days
36116 xgenereux
author:xgenereux
feat(Module/Torsion): P-primary component This PR adds the definition of the `P`-primary component of a module: $$M(P) := \bigcup_{i : \mathbb{N}} \text{torsionBySet A M } P ^ i.$$ as well as some basic lemmas on how it behaves on `inf` and `sup`. The main goal of this definition is to eventually have $$M = \bigoplus_{P} M(P).$$ as well as showing that: Given a surjective linear map `(φ : M₂ →ₗ[A] M₃)`, we have: `Surjective (primaryComponent.map P φ)`. These will require #35539 and I will them PR separately. (Proof is quite small but they should be their own PR I think.) Looking forward for feedback on this! Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
138/0 Mathlib.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean 3 1 ['github-actions'] dagurtomas
assignee:dagurtomas
3-45248
3 days ago
7-8200
7 days ago
7-10119
7 days
36163 mcdoll
author:mcdoll
feat(Analysis/SpecialFunctions): `rpow` is locally integrable Local integrability of real powers. This is only of interest at the origin, where `‖x‖ ^ (-α)` is not bounded. Co-authored-by: Michael Douglas --- From https://github.com/mrdouglasny/OSforGFF and made mathlib ready by me [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 71/0 Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/MeasureTheory/Constructions/HaarToSphere.lean 2 1 ['github-actions'] dagurtomas
assignee:dagurtomas
3-45246
3 days ago
6-48773
6 days ago
6-48454
6 days
36335 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/AdjMatrix): adjacency matrices are Hermitian This should let us access the eigenvalues of adjacency matrices. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics large-import 10/5 Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean 1 2 ['github-actions', 'themathqueen'] nobody
3-37956
3 days ago
3-38018
3 days ago
3-48876
3 days
35826 quangvdao
author:quangvdao
feat(Probability/ProbabilityMassFunction): total variation distance and MetricSpace instance Define total variation distance on probability mass functions, provide a `MetricSpace` instance, and prove the data processing inequality. The extended TV distance `PMF.etvDist` is defined in `ℝ≥0∞` as `(1/2) ∑ x, absDiff (p x) (q x)`, using a new symmetric absolute difference `ENNReal.absDiff`. The real-valued `PMF.tvDist` is its `toReal`. New definitions: - `ENNReal.absDiff`: symmetric absolute difference `(a - b) + (b - a)` - `PMF.etvDist`: extended total variation distance - `PMF.tvDist`: real-valued total variation distance - `PMF.instMetricSpace`: `MetricSpace` instance on `PMF α` Main results: - `ENNReal.absDiff_triangle`: triangle inequality for `absDiff` - `ENNReal.absDiff_tsum_le`: subadditivity over infinite sums - `PMF.etvDist_le_one`: TV distance is at most 1 - `PMF.etvDist_map_le`: data processing inequality (deterministic maps) - `PMF.etvDist_bind_right_le`: data processing inequality (Markov kernels) - `PMF.etvDist_option_punit`: closed form for binary distributions Supersedes #33680 with a complete, sorry-free implementation. See Zulip discussion: This PR was authored with the support of Claude (Cursor IDE). --- This PR provides a complete formalization of total variation distance for PMFs, including: 1. **`ENNReal.absDiff`** (`Mathlib/Data/ENNReal/AbsDiff.lean`): A symmetric absolute difference for `ℝ≥0∞` with triangle inequality, connection to real absolute value, and algebraic properties. The tsum-related lemmas (`absDiff_tsum_le`, `tsum_fiber`) are placed in the TV distance file to avoid pulling topology imports into `Data.ENNReal`. 2. **`PMF.etvDist` / `PMF.tvDist`** (`Mathlib/Probability/ProbabilityMassFunction/TotalVariation.lean`): Total variation distance with a `MetricSpace` instance, data processing inequality for both deterministic maps and Markov kernels, and a closed form for binary distributions. Compared to #33680, this PR: - Has no `sorry`s - Defines the distance in `ℝ≥0∞` first (following Mathlib convention for `edist`/`dist`) - Includes the data processing inequality - Has full documentation and passes all Mathlib linters Made with [Cursor](https://cursor.com) t-measure-probability 459/0 Mathlib.lean,Mathlib/Data/ENNReal/AbsDiff.lean,Mathlib/Probability/ProbabilityMassFunction/TotalVariation.lean 3 5 ['BoltonBailey', 'github-actions', 'joneugster', 'quangvdao'] nobody
3-37209
3 days ago
4-58462
4 days ago
4-58924
4 days
30352 kckennylau
author:kckennylau
feat(RingTheory): Homogeneous localization of tensor product Let `𝒜` be a graded `R`-algebra, and `S` be an `R`-algebra. Then `S ⊗[R] 𝒜` is a graded `S`-algebra with the same grading. Let `W` be a homogeneous submonoid of `𝒜`. Then `(S⊗[R]𝒜)[(1⊗W)⁻¹]₀ ≅ S ⊗[R] (𝒜[W⁻¹]₀)`. --- Split from #26061. - [x] depends on: #30173 - [x] depends on: #30322 - [x] depends on: #30365 - [x] depends on: #36252 Optionally depends on #30379 (graded ring equiv) and #36346 (simp Algebra.algHom), which will save a few lines here, so they are not high priority for this PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 471/22 Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/GradedAlgebra/TensorLocalization.lean,Mathlib/RingTheory/Localization/TensorProduct.lean 5 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] nobody
3-35643
3 days ago
153-53700
153 days ago
0-9
9 seconds
36336 NoahW314
author:NoahW314
feat: add indiscrete topology lemmas Prove that the indiscrete topology is compact and that every function to the indiscrete topology is continuous. --- t-topology new-contributor 19/0 Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Order.lean 2 7 ['NoahW314', 'github-actions', 'plp127'] nobody
3-34412
3 days ago
3-53640
3 days ago
3-59210
3 days
36316 JovanGerb
author:JovanGerb
chore: import `Type*` in `Mathlib.Init` The implementation of `Type*` is very short, so I've put its minimal dependencies in the same file, `Mathlib.Tactic.TypeStar`, and imported this in `Mathlib.Init`. This allows us to get rid of many explicit imports of this file, and lets it be available everywhere in mathlib. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 58/87 Mathlib/Algebra/Notation.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Notation/Lemmas.lean,Mathlib/Control/Functor.lean,Mathlib/Data/Bool/AllAny.lean,Mathlib/Data/Bracket.lean,Mathlib/Data/Int/Cast/Pi.lean,Mathlib/Data/Int/Init.lean,Mathlib/Data/List/Lookmap.lean,Mathlib/Data/List/ModifyLast.lean,Mathlib/Data/List/TFAE.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Num/Basic.lean,Mathlib/Data/Option/Defs.lean,Mathlib/Data/Option/NAry.lean,Mathlib/Data/Ordering/Basic.lean,Mathlib/Data/Prod/PProd.lean,Mathlib/Data/Rat/Init.lean,Mathlib/Data/Tree/Basic.lean,Mathlib/Data/Vector3.lean,Mathlib/Init.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Logic/ExistsUnique.lean,Mathlib/Logic/Function/Coequalizer.lean,Mathlib/Logic/Function/CompTypeclasses.lean,Mathlib/Logic/Function/Defs.lean,Mathlib/Logic/Function/ULift.lean,Mathlib/Logic/Nonempty.lean,Mathlib/Logic/Nontrivial/Defs.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CategoryStar.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Inhabit.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean,Mathlib/Tactic/TypeStar.lean,MathlibTest/BasicFiles/Init.lean,MathlibTest/BasicFiles/TacticBasic.lean,MathlibTest/ImplicitUniverses.lean 44 2 ['SnirBroshi', 'github-actions'] nobody
3-14622
3 days ago
3-81329
3 days ago
3-84378
3 days
36174 mike1729
author:mike1729
feat(Topology/Compactness): add countably compact sets This PR introduces the theory of countably compact sets and spaces. The motivation was the Eberlein–Šmulian theorem but of course this theory is of its own interest and there are many more applications. New definitions: - `IsCountablyCompact A`: a set `A` is countably compact if every sequence in `A` has a cluster point in `A`. - `CountablyCompactSpace E`: the whole space `E` is countably compact. Main results: - `IsCountablyCompact.elim_finite_subcover`: finite subcover from any countable open cover. - `isCountablyCompact_iff_countable_open_cover`: equivalence with the finite-subcover property. - `IsCompact.IsCountablyCompact`: compact implies countably compact. - `IsSeqCompact.IsCountablyCompact`: sequentially compact implies countably compact. - `IsCountablyCompact.isSeqCompact`: countably compact implies sequentially compact in a first-countable space. - `isCountablyCompact_iff_infinite_subset_has_accPt`: Bolzano–Weierstrass characterisation in a T₁ space. - `IsLindelof.isCompact`: a countably compact Lindelöf set is compact. - `IsCountablyCompact.image`: continuous images of countably compact sets are countably compact. - Union stability: binary, `Finset`, `Set.Finite`, and `iUnion` variants. Co-authored-by: Yongxi Lin @CoolRmal --- This PR adds `Mathlib.Topology.Compactness.CountablyCompact`, a new file alongside the existing `Compact`, `SeqCompact`, and `Lindelof` files. The primary definition follows Engelking's *General Topology* (the cluster-point characterisation for sequences), and the equivalence with the finite-subcover characterisation is established immediately. The immediate motivation for this PR is #35473 (Eberlein–Šmulian theorem), which depends on it. Further PRs will extend the theory of countably compact spaces. --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 299/0 Mathlib.lean,Mathlib/Topology/ClusterPt.lean,Mathlib/Topology/Compactness/CountablyCompact.lean 3 4 ['github-actions', 'mike1729', 'plp127'] nobody
3-10535
3 days ago
6-14887
6 days ago
6-14568
6 days
34119 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/WithConv): `Matrix.toLin'` as a star-algebra equivalence between their convolutive rings `WithConv (Matrix m n α)` is ⋆-algebraically equivalent to `WithConv ((n → α) →ₗ m → α)`. In particular, the convolutive product on linear maps corresponds to the Hadamard product on matrices and the intrinsic star on linear maps corresponds to taking the star of each element in the matrix. --- - [x] depends on: #30880 - [x] depends on: #34111 - [x] depends on: #34312 - [x] depends on: #34600 - [x] depends on: #34601 - [x] depends on: #34945 - [x] depends on: #34997 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
92/2 Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/WithConv.lean,Mathlib/LinearAlgebra/Matrix/WithConv.lean,docs/references.bib 4 63 ['eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'themathqueen'] ocfnash
assignee:ocfnash
3-9777
3 days ago
6-39803
6 days ago
14-23680
14 days
36162 SnirBroshi
author:SnirBroshi
chore(Data/Finsupp/Defs): make `Finsupp.onFinset` computable Delete the `noncomputable section` to let every `def` choose whether it's computable, and replace the use of `Classical.decEq` in `onFinset_support` and `onFinset` with a `[DecidableEq M]` assumption. --- [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Finsupp.20noncomputability/with/576412101) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 43/33 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/Data/Sym/Sym2/Finsupp.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean 8 1 ['github-actions'] nobody
3-5247
3 days ago
6-47536
6 days ago
6-48960
6 days
36165 Parcly-Taxel
author:Parcly-Taxel
chore: deprecate `Nat.strongRec(On)'` In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. 34/66 Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean 8 2 ['JovanGerb', 'github-actions'] nobody
3-3187
3 days ago
6-40811
6 days ago
6-42607
6 days
36346 kckennylau
author:kckennylau
chore: add simp lemma to unfold Algebra.algHom ```lean @[simp] lemma Algebra.coe_algHom : ⇑(Algebra.algHom R A B) = algebraMap A B := rfl ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 6/2 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/RingTheory/Etale/StandardEtale.lean 2 2 ['acmepjz', 'github-actions'] nobody
2-85125
2 days ago
3-35730
3 days ago
3-35411
3 days
35337 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): some lemma about span rank In this PR, we proved that for local ring `(R,m)`, the span rank of `M` is equal to dimension of `M/mM` over `R/m` when `M` is fg. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 116/10 Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/KrullDimension/Regular.lean 5 16 ['Thmoas-Guan', 'chrisflav', 'erdOne', 'github-actions'] chrisflav
assignee:chrisflav
2-84308
2 days ago
10-77117
10 days ago
5-31516
5 days
35680 joelriou
author:joelriou
feat(CategoryTheory/Sites): alternative constructor for points By definition, given a point of a site `(C, J)`, the fiber of a presheaf `P` is defined as a filtered colimit indexed by the opposite category of the category of elements of the functor from `C` to types that is part of the definition of the point. In this PR, we introduce a constructor for points which allows to provide a functor `p : N ⥤ C` from a cofiltered and initially small instead. This construction is applied to the construction of the image of a point by a cocontinuous functor. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 337/0 Mathlib.lean,Mathlib/CategoryTheory/Sites/Point/Basic.lean,Mathlib/CategoryTheory/Sites/Point/Map.lean,Mathlib/CategoryTheory/Sites/Point/OfIsCofiltered.lean 4 15 ['bryangingechen', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
2-83514
2 days ago
3-8118
3 days ago
4-84807
4 days
36243 Hagb
author:Hagb
feat(Data/Finsupp/Order): `{emb,map}Domain` preserve pairwise order `embDomain`, and thus also `mapDomain` by an injective map, preserve pairwise order. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 39/0 Mathlib/Data/Finsupp/Order.lean 1 1 ['github-actions'] nobody
2-75193
2 days ago
5-32475
5 days ago
5-32156
5 days
35979 xgenereux
author:xgenereux
chore(RatFunc/AsPolynomial): use Valuation.IsTrivialOn and simplify proofs Use the recently added typeclass `Valuation.IsTrivialOn` instead of the explicit hypothesis. I have taken the opportunity to simplify some proofs with grind. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 22/27 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean 5 9 ['github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'xgenereux'] nobody
2-74355
2 days ago
2-74378
2 days ago
8-50410
8 days
35908 vihdzp
author:vihdzp
chore(FieldTheory/AbelRuffini): simpler definition of `solvableByRad` We redefine `solvableByRad F E` as the smallest intermediate field closed under n-th roots. This makes the predicate `IsSolvableByRad` redundant, and so we deprecate it. We also private/remove various auxiliary results, and change the statement of the Abel-Ruffini theorem to be about an element of the field, rather than the subtype. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
134/164 Archive/Wiedijk100Theorems/AbelRuffini.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean 4 5 ['github-actions', 'plp127', 'vihdzp'] riccardobrasca
assignee:riccardobrasca
2-73059
2 days ago
10-28890
10 days ago
10-29740
10 days
34729 vihdzp
author:vihdzp
chore: `no_expose` various `Ordinal` definitions These all have convoluted definitions that are better characterized by their API, or (in the case of `Ordinal.ToType`) are defined through choice and have no useful definitional equalities. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 14/13 Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean 2 3 ['github-actions', 'leanprover-radar', 'vihdzp'] b-mehta
assignee:b-mehta
2-71638
2 days ago
36-75025
36 days ago
36-74851
36 days
36274 JTylM
author:JTylM
feat(Combinatorics/SimpleGraph/Matching): implemented the matchingNumber of a graph --- I implemented the matchingNumber as described in the issue and proved some statements including showing that there exists a matching achieving the matchingNumber. matchingNumber is increasing under injective maps matchingNumber is equal under isomorphisms matchingNumber of a matching is the cardinality of the matching This is my first PR and i had some trouble with some of the proofs, especially with the proof for matchingNumber.isAttained. So any suggestions on how to make the proofs shorter would be welcome. Also i was not sure about the naming of some of the theorems so i would apprechiate feedback here as well. new-contributor t-combinatorics 357/2 Mathlib/Combinatorics/SimpleGraph/Matching.lean 1 4 ['SproutSeeds', 'github-actions'] nobody
2-71110
2 days ago
2-71170
2 days ago
2-71562
2 days
35840 SnirBroshi
author:SnirBroshi
feat(SetTheory/Ordinal/Arithmetic): `typein (· < ·) = natCast` for `ℕ` and `Fin n` Co-authored-by: Matt Diamond --- [#Is there code for X? > `Ordinal.typein = NatCast`](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Ordinal.2Etypein.20.3D.20NatCast.60/with/576057726) The same statement but for ordinals exists as [Ordinal.typein_ordinal](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/Arithmetic.html#Ordinal.typein_ordinal). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 25/0 Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean 2 17 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] vihdzp
assignee:vihdzp
2-66017
2 days ago
2-66039
2 days ago
12-16091
12 days
35654 euprunin
author:euprunin
chore: golf using `grind` The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `CochainComplex.HomComplex.mem_coboundaries_iff`: unchanged 🎉 * `integral_cos_mul_complex`: unchanged 🎉 * `List.next_getLast_cons`: unchanged 🎉 * `foldl_argAux_mem`: unchanged 🎉 * `Equiv.Perm.support_swap`: unchanged 🎉 * `Fermat42.mul`: unchanged 🎉 * `Filter.high_scores`: 155 ms before, 108 ms after 🎉 * `IocProdIoc_preimage`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 8/41 Mathlib/Algebra/Homology/HomotopyCategory/HomComplexCohomology.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Data/List/MinMax.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/NumberTheory/FLT/Four.lean,Mathlib/Probability/Kernel/IonescuTulcea/Maps.lean 6 4 ['euprunin', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] kex-y
assignee:kex-y
2-64592
2 days ago
2-64617
2 days ago
15-63116
15 days
36349 SnirBroshi
author:SnirBroshi
feat(LinearAlgebra/Matrix): expand `IsSymm`/`IsHermitian` API --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
156/14 Mathlib/Data/Matrix/Composition.lean,Mathlib/LinearAlgebra/Matrix/ConjTranspose.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/Swap.lean,Mathlib/LinearAlgebra/Matrix/Symmetric.lean 6 10 ['SnirBroshi', 'github-actions', 'themathqueen'] nobody
2-64254
2 days ago
3-19635
3 days ago
3-20768
3 days
35772 euprunin
author:euprunin
chore: golf using `grind` The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `CategoryTheory.Precoverage.toGrothendieck_toCoverage`: unchanged 🎉 * `Int.nonneg_or_nonpos_of_mul_nonneg`: unchanged 🎉 * `Associated.separable`: 113 ms before, 67 ms after 🎉 * `ModelWithCorners.isInteriorPoint_disjointUnion_left`: unchanged 🎉 * `ModelWithCorners.isInteriorPoint_disjointUnion_right`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 5/49 Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/Data/Int/Order/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean 4 2 ['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] dagurtomas
assignee:dagurtomas
2-64038
2 days ago
2-64058
2 days ago
13-72087
13 days
36309 euprunin
author:euprunin
chore: golf proofs The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `AlgebraicGeometry.AffineSpace.SpecIso_hom_appTop`: 627 ms before, 385 ms after 🎉 * `AlgebraicGeometry.AffineSpace.reindex_comp`: unchanged 🎉 * `Polynomial.content_eq_zero_iff`: unchanged 🎉 * `Polynomial.mem_image_comap_C_basicOpen`: 1219 ms before, 797 ms after 🎉 * `IsClosed.isClopenable`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 6/32 Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/MetricSpace/Polish.lean 4 8 ['euprunin', 'github-actions', 'harahu', 'urkud'] nobody
2-60310
2 days ago
2-60310
2 days ago
4-14955
4 days
35731 euprunin
author:euprunin
chore: golf using `exact`/`simpa` The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `AlgebraicGeometry.Scheme.Cover.exists_of_trans_eq_trans`: unchanged 🎉 * `AlgebraicGeometry.compactSpace_iff_exists`: unchanged 🎉 * `SimplexCategory.eq_id_of_mono`: unchanged 🎉 * `SimplexCategory.eq_id_of_epi`: unchanged 🎉 * `CategoryTheory.GrothendieckTopology.isIso_toPlus_of_isSheaf`: unchanged 🎉 * `CategoryTheory.Functor.isTriangulated_of_op`: unchanged 🎉 * `SimpleGraph.chromaticNumber_top`: unchanged 🎉 * `SimpleGraph.Subgraph.singletonSubgraph_connected`: unchanged 🎉 * `SimpleGraph.Walk.exists_length_eq_one_iff`: unchanged 🎉 * `Turing.TM2to1.addBottom_modifyNth`: unchanged 🎉 * `IsNoetherian.iff_fg`: unchanged 🎉 * `contMDiff_inclusion`: unchanged 🎉 * `FermatLastTheoremForThree_of_FermatLastTheoremThreeGen`: 146 ms before, 91 ms after 🎉 * `FermatLastTheoremForThreeGen.lambda_sq_dvd_c`: 313 ms before, 218 ms after 🎉 * `WithTop.isGLB_sInf`: unchanged 🎉 * `WithBot.succ_eq_bot`: 56 ms before, <30 ms after 🎉 * `WithTop.pred_eq_top`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 22/91 Mathlib/AlgebraicGeometry/Cover/Directed.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/CategoryTheory/Sites/Plus.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/FieldTheory/Finiteness.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/WithBot.lean 13 25 ['euprunin', 'github-actions', 'leanprover-radar', 'robin-carlier', 'vihdzp'] robin-carlier
assignee:robin-carlier
2-60290
2 days ago
3-19261
3 days ago
11-46534
11 days
36365 xroblot
author:xroblot
feat(FieldTheory/Galois): add fixedField_eq_iff_fixingSubgroup_eq and IsGaloisGroup.subgroup_iff This PR adds two results to the Galois correspondence API: - `IsGalois.fixedField_eq_iff_fixingSubgroup_eq`: `fixedField H = K ↔ K.fixingSubgroup = H` which just an explicit restatement of the order isomorphism. - `IsGaloisGroup.subgroup_iff`: `IsGaloisGroup H F L ↔ FixedPoints.intermediateField H = F` -- assuming `IsGaloisGroup G K L`--, where `H` is a subgroup of `G`, with the two directions as standalone lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
27/0 Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 2 1 ['github-actions'] nobody
2-60243
2 days ago
2-75700
2 days ago
2-75381
2 days
35947 euprunin
author:euprunin
chore: replace `aesop` with `grind` where the latter is significantly faster This experiment investigates the impact of replacing particularly heavy `aesop` calls with `grind`, specifically how this change affects the instruction count as measured by the benchmarking infrastructure. Trace profiling results (differences <30 ms considered measurement noise): * `Submonoid.mem_closure_image_one_lt_iff`: 125 ms before, 61 ms after 🎉 * `SimpleGraph.Connected.connected_delete_edge_of_not_isBridge`: 230 ms before, 51 ms after 🎉 * `SimpleGraph.Subgraph.IsMatching.exists_of_disjoint_sets_of_equiv`: 899 ms before, 666 ms after 🎉 * `SimpleGraph.IsCycles.existsUnique_ne_adj`: 855 ms before, 599 ms after 🎉 * `SimpleGraph.Walk.IsPath.isCycles_spanningCoe_toSubgraph_sup_edge`: 962 ms before, 619 ms after 🎉 * `SimpleGraph.IsAlternating.sup_edge`: 2854 ms before, 1615 ms after 🎉 * `SimpleGraph.Subgraph.IsPerfectMatching.symmDiff_of_isAlternating`: 3103 ms before, 1734 ms after 🎉 * `SimpleGraph.edgeSet_replaceVertex_of_not_adj`: 1525 ms before, 933 ms after 🎉 * `SimpleGraph.edgeSet_replaceVertex_of_adj`: 2194 ms before, 1605 ms after 🎉 * `SimpleGraph.tutte_exists_isPerfectMatching_of_near_matchings`: 3161 ms before, 1652 ms after 🎉 * `RootPairing.Base.sub_notMem_range_root`: 1025 ms before, 978 ms after 🎉 * `RootPairing.EmbeddedG2.mem_allRoots`: 3832 ms before, 3255 ms after 🎉 * `RootSystem.GeckConstruction.Lemmas.0.RootPairing.chainBotCoeff_mul_chainTopCoeff.aux_2`: 3572 ms before, 2631 ms after 🎉 * `isCompact_generateFrom`: 1987 ms before, 763 ms after 🎉 * `IsCompactOpenCovered.of_isCompact_of_forall_exists_isCompactOpenCovered`: 2279 ms before, 2009 ms after 🎉 * `UniformContinuousOn.comp_tendstoUniformly_eventually`: 416 ms before, 151 ms after 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 27/27 Mathlib/Algebra/Group/Irreducible/Indecomposable.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Sets/CompactOpenCovered.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean 11 4 ['euprunin', 'github-actions', 'leanprover-radar', 'vihdzp'] joelriou
assignee:joelriou
2-59951
2 days ago
9-49185
9 days ago
9-48866
9 days
36380 euprunin
author:euprunin
chore: golf using `grind` and `simp` 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): * `AlgebraicGeometry.Scheme.zariskiTopology_le_propQCTopology`: unchanged 🎉 * `CategoryTheory.Pretriangulated.shift_opShiftFunctorEquivalence_counitIso_inv_app`: unchanged 🎉 * `Finset.exists_subset_or_subset_of_two_mul_lt_card`: 210 ms before, 173 ms after 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 5/18 Mathlib/AlgebraicGeometry/Sites/QuasiCompact.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Basic.lean,Mathlib/Data/Finset/Card.lean 3 1 ['github-actions'] nobody
2-58957
2 days ago
2-59029
2 days ago
2-58710
2 days
36381 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(RingTheory/UniqueFactorizationDomain/Multiplicity): more API This adds a few API lemmas on factorization in `UniqueFactorizationMonoid`s. It also includes a minor cleanup of sections and variables. The results will be useful for proving the Northcott property for heights on number fields. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-ring-theory large-import
label:t-algebra$
32/10 Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean 1 1 ['github-actions'] nobody
2-58944
2 days ago
2-59016
2 days ago
2-58697
2 days
35830 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Data/Nat/Choose/Multinomial): multinomial coefficients Define the multinomial coefficients, a variant of `Nat.multinomial`. - redefine `Multiset.multinomial`. Given a multiset `m` of natural numbers, `m.multinomial` is the multinomial coefficient defined by (m.sum) ! / ∏ i ∈ m, m i !. As an example, `Multiset.multinomial {1, 2, 2} = 30`. This is the exponent of $x y^2 z^2$ in $(x+y+z)^5$. This should not be confused with the existing `Multiset.multinomial` which gives a different answer, for example, `Multiset.multinomial {1, 2, 2} = 3`. This function is renamed as `Multiset.countPerms`. - `Multiset.multinomial_cons` proves that `(x ::ₘ m).multinomial = Nat.choose (x + m.sum) x * m.multinomial` - `Multiset.multinomial_add` proves that `(m + m').multinomial = Nat.choose (m + m').sum m.sum * m.multinomial * m'.multinomial` co-authored with @mariainesdff --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 179/20 Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Data/List/ToFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean 4 9 ['AntoineChambert-Loir', 'github-actions', 'vihdzp'] joneugster
assignee:joneugster
2-56270
2 days ago
11-57867
11 days ago
12-5746
12 days
36382 euprunin
author:euprunin
chore: replace long terminal `rw […]`:s (≥6 lemmas) with bare `simp`:s The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Polynomial.derivative_pow`: unchanged 🎉 * `NormedSpace.expSeries_apply_zero`: unchanged 🎉 * `EReal.sign_mul_inv_abs`: 193 ms before, 157 ms after 🎉 * `Matrix.trace_eq_sum_roots_charpoly_of_splits`: unchanged 🎉 * `RingOfIntegers.isUnit_norm_of_isGalois`: unchanged 🎉 * `sdiff_sup`: unchanged 🎉 * `MvPolynomial.quotientEquivQuotientMvPolynomial_rightInverse`: unchanged 🎉 * `TopCat.Sheaf.existsUnique_gluing'`: unchanged 🎉 * `StalkSkyscraperPresheafAdjunctionAuxs.to_skyscraper_fromStalk`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 9/16 Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean,Mathlib/Topology/Sheaves/Skyscraper.lean 9 1 ['github-actions'] nobody
2-54980
2 days ago
2-55045
2 days ago
2-54726
2 days
36377 euprunin
author:euprunin
chore: replace long terminal `simp only […]`:s (≥7 lemmas) with bare `simp`:s The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `SimpleGraph.Walk.toSubgraph_adj_getVert`: unchanged 🎉 * `MeasureTheory.MemLp.induction_dense`: unchanged 🎉 * `DirichletCharacter.re_log_comb_nonneg'`: unchanged 🎉 * `Zsqrtd.intCast_dvd`: unchanged 🎉 * `ProbabilityTheory.Kernel.iIndepSets.iIndep`: unchanged 🎉 * `LaurentSeries.exists_ratFunc_val_lt`: unchanged 🎉 * `Polynomial.cyclotomic_pos_and_nonneg`: unchanged 🎉 * `PowerSeries.eq_shift_mul_X_add_const`: unchanged 🎉 * `PowerSeries.eq_X_mul_shift_add_const`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 9/18 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Probability/Independence/Kernel/Indep.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/PowerSeries/Basic.lean 8 3 ['JovanGerb', 'github-actions'] nobody
2-46200
2 days ago
2-60638
2 days ago
2-60319
2 days
36114 euprunin
author:euprunin
chore: golf proofs The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Real.GammaIntegral_convergent`: unchanged 🎉 * `PartENat.lt_find`: unchanged 🎉 * `MvPFunctor.liftR_iff`: unchanged 🎉 * `LinearMap.ortho_smul_right`: unchanged 🎉 * `MeasureTheory.setToFun_nonneg`: unchanged 🎉 * `ProbabilityTheory.Kernel.measurable_lmarginalPartialTraj`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 6/32 Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/Kernel/IonescuTulcea/PartialTraj.lean 6 1 ['github-actions'] nobody
2-45780
2 days ago
7-12401
7 days ago
7-12082
7 days
35638 vihdzp
author:vihdzp
chore(Topology/Order/OrderClosed): use `to_dual` --- - [x] depends on: #35637 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 124/280 Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/Cover.lean,Mathlib/Order/Filter/Defs.lean,Mathlib/Topology/Order/OrderClosed.lean 4 2 ['github-actions', 'mathlib-dependent-issues'] kex-y
assignee:kex-y
2-45255
2 days ago
5-85309
5 days ago
5-85818
5 days
35652 dennj
author:dennj
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` ## Summary - Add `Matrix.mul_eq_smul_one_symm`: if `M * N = c • 1` and `det M ≠ 0`, then `N * M = c • 1` - A scalar generalisation of `mul_eq_one_symm` (the `c = 1` case) to arbitrary scalars, requiring `IsDomain` and `det M ≠ 0` - The proof uses the adjugate identity `adjugate M * M = det M • 1` to derive `det M • (N * M) = det M • (c • 1)`, then cancels `det M` via `mul_left_cancel₀` Theorem imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory t-algebra new-contributor
label:t-algebra$
28/0 Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean 1 2 ['eric-wieser', 'github-actions'] dagurtomas
assignee:dagurtomas
2-45253
2 days ago
16-67760
16 days ago
16-67441
16 days
35892 vlad902
author:vlad902
feat(Data): lemmas for `List.bagInter` Basic API lemmas for `List.bagInter` and correct a few misnamed lemmas. Co-authored-by: Aristotle (Harmonic) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 60/5 Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/Multiset/UnionInter.lean 3 1 ['github-actions'] Vierkantor
assignee:Vierkantor
2-45251
2 days ago
10-53114
10 days ago
10-55439
10 days
36104 LarsenClose
author:LarsenClose
feat(CategoryTheory/Endofunctor/Algebra): add Adámek's initial algebra theorem Adds Adámek's initial algebra theorem for endofunctors on categories with an initial object. Given `F : C ⥤ C` where `C` has an initial object, if the initial chain `⊥ → F(⊥) → F²(⊥) → ⋯` has a colimit preserved by `F`, then `F` has an initial algebra whose structure map is an isomorphism. New files: - `InitialChain.lean`: defines `iterateObj F n`, `iterateMap F n`, and `initialChain F : ℕ ⥤ C` via `Functor.ofSequence`. - `ChainShift.lean`: constructs `shiftCocone` and `extendCocone`, proves `shiftCoconeIsColimit` (shifted cocone inherits colimit). - `Adamek.lean`: main result. Constructs the initial `F`-algebra `adamek F c hc` and proves `adamek_isInitial`. Convenience API: `adamekFromInitial`, `adamekStructureIso`, `adamekFixedPoint`. 0 sorry. References Adámek 1974. --- t-category-theory new-contributor 505/0 Mathlib.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/Adamek.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/ChainShift.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/InitialChain.lean,docs/references.bib 5 2 ['github-actions'] joelriou
assignee:joelriou
2-45247
2 days ago
6-30811
6 days ago
6-30606
6 days
36168 SnirBroshi
author:SnirBroshi
feat(Order/ConditionallyCompleteLattice/Indexed): `f i j ≤ ⨆ (i) (j), f i j` Add `le_ciSup₂`/`ciInf₂_le` to match `CompleteLattice`'s `le_iSup₂`/`iInf₂_le`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 28/0 Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean 1 1 ['github-actions'] bryangingechen
assignee:bryangingechen
2-45245
2 days ago
6-30811
6 days ago
6-30492
6 days
36204 smmercuri
author:smmercuri
feat(NumberTheory/NumberField/InfiniteAdeleRing): norm and product formula for the infinite adele ring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 25/0 Mathlib/NumberTheory/NumberField/InfiniteAdeleRing.lean 1 1 ['github-actions'] nobody
2-43476
2 days ago
5-81339
5 days ago
5-81020
5 days
36307 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walks): `Walk.ofSupport` / `Walk.ofDarts` --- This would hopefully make constructions such as [the cycle in `cycleGraph`](https://github.com/leanprover-community/mathlib4/blob/1b2df6c93fdd0ece89a32521464d5193e0f381ed/Mathlib/Combinatorics/SimpleGraph/Circulant.lean#L140-L155) or [the path in `pathGraph`](https://github.com/leanprover-community/mathlib4/pull/34171) or [the Hamiltonian walk in the complete graph](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Ore's.20Theorem/near/571353615) easier. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 88/0 Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean 2 1 ['github-actions'] nobody
2-41186
2 days ago
4-25663
4 days ago
4-25344
4 days
36386 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial/Degrees): add some lemmas about `degreeOf` These lemmas are used in #36103 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
71/0 Mathlib/Algebra/MvPolynomial/Degrees.lean 1 2 ['github-actions'] nobody
2-39095
2 days ago
2-39095
2 days ago
2-38776
2 days
35069 A-M-Berns
author:A-M-Berns
feat(Geometry/Polygon): simple polygons and boundary map This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution. - [x] depends on: #34598 --- new-contributor t-euclidean-geometry 360/0 Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean 4 29 ['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] JovanGerb
assignee:JovanGerb
2-33368
2 days ago
13-71114
13 days ago
16-18681
16 days
35906 scp020
author:scp020
feat(Combinatorics/SimpleGraph/Walks): add Walk.IsChord and Walk.IsChordless Add `Walk.IsChord` and `Walk.IsChordless` predicates in a new file `SimpleGraph/Walks/Chords.lean`. See "chord" in https://en.wikipedia.org/wiki/Glossary_of_graph_theory Discussion on Zulip: [Zulip link](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Walk.2EIsChordless.20live.20in.20mathlib.3F/with/575277309) authored-by: Tianyi Zhao --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 68/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Chords.lean 2 11 ['SnirBroshi', 'github-actions', 'scp020'] nobody
2-26015
2 days ago
7-42337
7 days ago
9-6369
9 days
36389 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory): add some lemma about quotSMulTop Add some lemma about quotSMulTop, especially some usual application of Nakayama lemma in related stuffs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 26/0 Mathlib/RingTheory/QuotSMulTop.lean,Mathlib/RingTheory/Regular/RegularSequence.lean 2 1 ['github-actions'] nobody
2-25317
2 days ago
2-25388
2 days ago
2-25069
2 days
34677 joneugster
author:joneugster
feat(scripts/autolabel): add missing folders add the following rules for folders not covered by the script yet: - `Mathlib/Geometry/Polygon` to `t-euclidean-geometry` - `Mathlib/Geometry/Diffeology` to `t-differential-geometry` - `Cache` to `ci` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI easy 7/2 scripts/autolabel.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-21479
2 days ago
24-42626
24 days ago
24-42505
24 days
34678 joneugster
author:joneugster
feat(scripts/autolabel): add dependencies for `t-ring-theory` these changes are motivated by clearing the [triage queue: PRs without topic label](https://leanprover-community.github.io/queueboard/triage.html#unlabelled): about 60-70% of unlabelled PRs were `feat(RingTheory/...)` which also modified stuff falling under `t-algebra`, `t-group-theory` or `t-data`. - [x] depends on: #34066 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI easy 6/3 scripts/autolabel.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-21344
2 days ago
10-67731
10 days ago
10-68961
10 days
34079 joneugster
author:joneugster
feat(scripts/autolabel): add dependencies for alg. geometry and diff. geometry Add topic label dependencies: - "t-algebraic-geometry" -> "t-ring-theory" - "t-differential-geometry" -> "t-analysis", "t-topology" This means the bot will only apply the former if both would be applicable. --- - part of: #34078 - [x] depends on: #34066 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 4/2 scripts/autolabel.lean 1 12 ['github-actions', 'grunweg', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-21119
2 days ago
5-35979
5 days ago
6-36894
6 days
35928 xgenereux
author:xgenereux
feat(Subalgebra/Lattice): add notation for Algebra.adjoin This PR proposes a scoped notation for Algebra.adjoin, `R[a]`, inspired from `IntermediateField.adjoin`. See [here](https://live.lean-lang.org/#codez=JYWwDg9gTgLgBAWQIYwBYBtgCMBQOC0+cAggCZJgwCmpcAxhKVXAGZQQhwAGAkgHbUoIGsBRUAYsCrpSXAHQ4+SYQGcwSOs2LoA5lSxQkeCGCp84AGSpJzwPjgD0hOAGUArmEiw7O1m750MMAQ5izQcGjMXABKANoAHoCBBAA08YBBBMlyWamAmQQAulxwSKQAVv6BweZ8EDAolXJw+A44YFDAAG5icMK1cEws3QDW/CpUsAAqY5wA3pwAXHDjAJ6mcIBJhIsrVAC+cLEIIcXdeXsHSqQAim41dSHHOHCPcAAU8SpwC+MuSwJI8cRQQxLbiCEAASg+3UWUw+AF44FB/HAAAxwADuqDGVAeCKRz2AkIAcigIQtOJMhHC+hAcY9gANUJCCQBqOAARjg8LechUwAAXsxIvYnk8uFxnry+Dp0FQYHcACSvFSxYB5MFg2lwaSjOD0uCMhYEgA8cG5vIFEUxwpF3HFdlGsDgireKrVTuegATCXHmfFwVls9UakXa7E223PACi4BgSwAwhB0DKKiE5FRo3GE0mgiENY5nDwBlwkqa0nAsg14jlIcRCkLuHEkqkMuXcgVde9Itx3FgkLp9IY4NESFwcHo+GMxLQsMDIjrpGmzDAVA0mjgVAxTLQQBp2HMAJxs5GogDSc1BcAARLEL6aVGepskAFSXvI3hbn2EAPmp4eKJQgdhOse7peiAwx8A6MAUpw3J6DAEYyiAKjqsYpjmFYNhwAAClAsoxjhdiCHIAAi0hIFg0AoOE3YRvErS6vYAACsQUGAAD6TDoORJB9gYSByH+AF8HkOA9EgcDqN4vZ9FQAyceRZD/nYhI3Nm5gLKRXFYFSGJmFhWEAPKUJUcBwfpKm1Gp1I4jK8DMF6cG0a0OI6G4SBQLQRoAD5anIwAqMQngGSwALADGtqCYBABsNmynA4hwF6aJhagxJQEsAK+Ki8m4I8tm3ol6IpWlGVQL4ACsMlaSMYwwACQI4uK8riLEzrLnK9VIEsYJPmqOC6bhOI5TVsCdcCGlkVgCAvBY/nwNBpLwqQNIivl9mmbKTlQJqepUH5AVBSFbThWKUaUBmiZUMmfCpum8aXddcAAEyWmYmqPLhMBuFA5ixCJwboDqu37YFYDBaFJ1cJK0qyncAAsr3WqtcXxIVyVoCVmVwAAzFV5HvQisrfb98T/U8Ia6gMe3+aD4PHcCYr2rVcCVUKBP5ajSXFe5pW+LjOXsyj7xcxjPNYwjw0QbVY0E59xOmh8CxvJqFMsEgwDoN92I4GYtDaHofF4M4tHKGAMoqHgoyPdUQi9gAqqMsZIKMqFmDxBuGEbRAqbb6BwG4LudG05Eyi8Q7EJCyymI+EKxPGIAgC4abAG0UqDicsRJyAKc+CQGf6/24nhyc0zidpdDVtseBUPEpuhwscRICc8KN8kRQnHM8LTnAvLgHgADEdCYnQgyDixImD8Po+t3AWAT0PV3TyxbdYG3dAiTrfC0Db27oA7VBOy7a5XVZdBcSoqB4EHohYKHzzh5HWwx3s8eJ8nqe+NEGdZznafEPnvEBzFzgNMAAGpXV25gsIJh+BwUQ6AcAmDdgXPicAcCT0XmPUBJxnBxGwY/VYbg2Jsmrlveg59L54BwEAA) for a preview of how it would look like. Note that I am currently using bracked, `[`, `]`. I know this clashes with the notation for `Polynomial`, `DualNumber`, `AdjoinRoot` and `GetElem` but it is my impression that it would rarely cause issues. See [#mathlib4 > Notation for Algebra.adjoin](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Notation.20for.20Algebra.2Eadjoin/with/576551144). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
236/186 Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/Semisimple.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean,Mathlib/RingTheory/Adjoin/PowerBasis.lean,Mathlib/RingTheory/Adjoin/Singleton.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/Conductor.lean,Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/Ideal.lean,Mathlib/RingTheory/RootsOfUnity/Lemmas.lean,Mathlib/RingTheory/Unramified/LocalStructure.lean,Mathlib/RingTheory/Valuation/LocalSubring.lean,Mathlib/Topology/Algebra/Algebra.lean 23 5 ['github-actions', 'mathlib-merge-conflicts', 'xgenereux'] riccardobrasca
assignee:riccardobrasca
2-17958
2 days ago
2-74258
2 days ago
8-82829
8 days
36379 JadAbouHawili
author:JadAbouHawili
doc: Rename Finset API instances in Documentation for clarity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 3/8 Mathlib/Data/Finset/Lattice/Basic.lean 1 4 ['JadAbouHawili', 'github-actions'] nobody
2-16935
2 days ago
2-57380
2 days ago
2-58712
2 days
32672 tb65536
author:tb65536
feat: haar measures on short exact sequences This PR proves that if `1 → A → B → C → 1` is a short exact sequence of topological groups, then Haar measures on `A` and `C` induce a Haar measure on `B`. The final result of the file is a consequence needed for FLT: If `B → C` is injective on an open set `U`, then `U` has bounded measure. --- - [x] depends on: #35081 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability t-topology FLT 285/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/Extension.lean 3 18 ['RemyDegenne', 'github-actions', 'jcommelin', 'kbuzzard', 'mathlib-dependent-issues', 'tb65536'] nobody
2-10847
2 days ago
29-14843
29 days ago
61-7958
61 days
36024 euprunin
author:euprunin
chore: golf proofs The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Fin.coe_sub_one`: unchanged 🎉 * `LieAlgebra.engel_isBot_of_isMin.lieCharpoly_coeff_natDegree`: 66 ms before, 35 ms after 🎉 * `WithTop.mul_lt_mul`: unchanged 🎉 * `CFC.spectrum_nonempty`: unchanged 🎉 * `ODE.hasDerivWithinAt_picard_Icc`: unchanged 🎉 * `Matrix.vecMul_injective_iff_isUnit`: 240 ms before, 68 ms after 🎉 * `MeasureTheory.SimpleFunc.measure_preimage_lt_top_of_memLp`: unchanged 🎉 * `Polynomial.content_eq_gcd_range_of_lt`: unchanged 🎉 * `RingHom.finiteType_isStableUnderBaseChange`: 163 ms before, 49 ms after 🎉 * `RingHom.Flat.holdsForLocalizationAway`: 91 ms before, <30 ms after 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge 20/46 Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/RingHom/FiniteType.lean,Mathlib/RingTheory/RingHom/Flat.lean 12 14 ['euprunin', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'vihdzp'] tb65536
assignee:tb65536
2-10732
2 days ago
2-60327
2 days ago
6-50035
6 days
36353 smmercuri
author:smmercuri
feat(NumberField/InfinitePlace/Ramification): add cardinality results for (un)ramified places over The number of unramified/ramified places over a fixed infinite place `v` is equal/twice the number of unmixed/mixed complex embeddings over `v.embedding` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 129/30 Mathlib/Data/Set/Card.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 4 3 ['github-actions', 'smmercuri', 'tb65536'] nobody
2-5426
2 days ago
2-72264
2 days ago
2-74029
2 days
35597 BryceT233
author:BryceT233
feat(AdicTopology): add lemmas about adic topology This PR adds APIs to transport topological and uniform properties of adic topologies across ring equivalences, By upgrading an ideal-preserving ring equivalence to a `UniformEquiv`, we provide natural congruence lemmas for adic completeness, precompleteness, and Hausdorffness, which serve as necessary topological preliminaries for the ongoing formalization of the Cohen Structure Theorem. Co-authored-by: @Thmoas-Guan --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 55/2 Mathlib/RingTheory/AdicCompletion/Topology.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean 2 7 ['erdOne', 'github-actions'] urkud
assignee:urkud
2-5107
2 days ago
15-36609
15 days ago
18-23650
18 days
35707 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce `truncTotal` This PR introduces the total degree truncation of multivariate formal power series when the index is finite, and uses it to establish the algebraic equivalence between `MvPowerSeries` and the adic completion of `MvPolynomial` with respect to the ideal spanned by all variables `idealOfVars`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 213/2 Mathlib.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean 4 7 ['BryceT233', 'github-actions', 'joneugster', 'mathlib-bors', 'wwylele'] nobody
2-4719
2 days ago
6-39039
6 days ago
15-21611
15 days
36376 jessealama
author:jessealama
feat(SimpleGraph): bridge from Perm.IsCycle to IsHamiltonian This PR provides `IsHamiltonian.ofPerm`, 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/Combinatorics/SimpleGraph/Walks/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` - `Walk.iterate_length`, `Walk.iterate_getVert`, `Walk.iterate_support`, `Walk.iterate_edges`: 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`**: - `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers **`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**: - `edge_ne_of_isCycleOn`: edge distinctness for cycle-on permutations - `IsHamiltonian.ofPerm`: the main theorem large-import 170/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean 5 21 ['SnirBroshi', 'github-actions', 'jessealama'] nobody
2-3066
2 days ago
2-3117
2 days ago
2-59372
2 days
35977 jessealama
author:jessealama
feat(Algebra/Homology): add dimension lemmas for homological complex differentials Show that `dFrom` and `dTo` in a homological complex vanish when the target or source object is zero, and add `Mathlib.Algebra.Homology.ChainComplex.Dimension` with dimension-related properties for complexes of modules over a division ring over an arbitrary `ComplexShape ι`: zero range from zero objects, finrank equalities between `dFrom`/`dTo` ranges and the underlying differential, inclusion of the range of `dTo` in the kernel of `dFrom`, and a finrank equality for adjacent differentials in ℤ-indexed chain complexes. Spun off from #29713. t-algebra
label:t-algebra$
103/0 Mathlib.lean,Mathlib/Algebra/Homology/ChainComplex/Dimension.lean 2 4 ['github-actions', 'jessealama', 'joelriou', 'mathlib-bors'] joelriou
assignee:joelriou
2-2952
2 days ago
8-84366
8 days ago
8-84085
8 days
30112 gaetanserre
author:gaetanserre
feat(Probability.Kernel): add representation of kernel as a map of a uniform measure Add results about isolation of kernels randomness. In particular, it shows that one can write a Markov kernel as the map by a deterministic of a uniform measure on `[0, 1]`. It corresponds to Lemma 4.22 in "[Foundations of Modern Probability](https://link.springer.com/book/10.1007/978-3-030-61871-1)" by Olav Kallenberg, 2021. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability maintainer-merge 129/0 Mathlib.lean,Mathlib/Probability/Kernel/Representation.lean 2 49 ['DavidLedvinka', 'EtienneC30', 'RemyDegenne', 'gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
2-2700
2 days ago
4-80618
4 days ago
91-75000
91 days
36364 Bergschaf
author:Bergschaf
feat(Order/Sublocale): Better API for NucleusIsoSublocale I propose defining the conversion from Nuclei to Sublocales (and vice versa) directly in the `NucleusIsoSublocale` OrderIso. `Nucleus.toSublocale` and `Sublocale.toNucleus` will then just be abbrev's for the underlying OrderIso. This makes it a lot nicer to transition between the two Structures, especially when (infinite) infima and suprema are involved. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 46/33 Mathlib/Order/Sublocale.lean 1 3 ['Bergschaf', 'YaelDillies', 'github-actions'] nobody
2-2047
2 days ago
2-76257
2 days ago
2-76382
2 days
35113 bryangingechen
author:bryangingechen
ci: refactor commit_verification so it works on PRs from forks Currently the commit verification workflow fails when run on a PR from a fork because it tries to post a comment, but its GITHUB_TOKEN is read-only. [Example failure](https://github.com/leanprover-community/mathlib4/actions/runs/21796757425/job/62885536927?pr=34973) This PR refactors the commit verification workflow using the new [leanprover-community/privilege-escalation-bridge](https://github.com/leanprover-community/privilege-escalation-bridge), splitting it into two workflows where the second one (triggered by `workflow_run` has access to a GITHUB_TOKEN that can post comments). We also make the workflow run the commit verification scripts from `master` rather than the PR branch to close a small security issue where someone could spoof verification / get the workflow to post arbitrary comments by modifying the scripts in their branch. Prepared with codex. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 81/22 .github/workflows/commit_verification.yml,.github/workflows/commit_verification_wf_run.yml 2 29 ['bryangingechen', 'github-actions', 'joneugster', 'marcelolynch', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
2-568
2 days ago
20-75025
20 days ago
7-46277
7 days
36208 EtienneC30
author:EtienneC30
feat: central limit theorem Prove the central limit theorem in dimension 1. Co-authored-by: @hanwenzhu --- - [ ] depends on: #36178 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 163/3 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/TaylorExpansion.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Moments/Variance.lean,docs/100.yaml,docs/1000.yaml 7 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
2-414
2 days ago
2-470
2 days ago
2-151
2 days
35871 edegeltje
author:edegeltje
feat(CategoryTheory/Limits): `IsPullback.mono_fst_of_mono` and similar This lemma is more convenient than going through `MorphismProperty.IsStableUnderBasechange`. We use `(inst : Mono f := by infer_instance)` instead of `[Mono f]` because on occasion, these proof arguments are not by `inferInstance`, and this design lets us more easily use the lemma in such cases. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 42/46 Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/Basic.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean 2 8 ['dagurtomas', 'edegeltje', 'github-actions', 'robin-carlier'] robin-carlier
assignee:robin-carlier
2-27
2 days ago
3-8188
3 days ago
3-11087
3 days
33375 kex-y
author:kex-y
feat(Probability): Local and stable properties --- Defines local and stable properties which is useful for local martingales. - [x] depends on: #33371 - [x] depends on: #33374 - [x] depends on: #33372 Co-authored-by: @RemyDegenne [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) brownian t-measure-probability 399/0 Mathlib.lean,Mathlib/Probability/Process/LocalProperty.lean 2 6 ['github-actions', 'kex-y', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] nobody
1-86159
1 day ago
1-86209
1 day ago
2-587
2 days
35375 joelriou
author:joelriou
feat(Algebra/Homology/SpectralObject): first quadrant spectral objects When a spectral object indexed by the extended integers lies on the first quadrant (typeclass `IsFirstQuadrant`), it will be possible to construct a spectral sequence where the objects on the pages are indexed by `ℕ × ℕ` (TODO). --- - [x] depends on: #35374 - [x] depends on: #35373 - [x] depends on: #35372 - [x] depends on: #35357 - [x] depends on: #35355 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 85/0 Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean 1 16 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier', 'smorel394'] nobody
1-84923
1 day ago
4-67450
4 days ago
4-67133
4 days
35939 joelriou
author:joelriou
feat(Algebra/Homology): a homology exact sequence for triangles of cochain complexes ... which become distinguished in the derived category. --- - [x] depends on: #35938 - [x] depends on: #35937 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 128/11 Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean 2 12 ['dagurtomas', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
1-84843
1 day ago
2-81741
2 days ago
8-13090
8 days
34571 xroblot
author:xroblot
feat(CyclotomicField/Galois): the bijection between subfields and subgroups of Dirichlet characters This PR adds the first results relating the Galois theory of cyclotomic extensions to Dirichlet characters, following Washington, _Introduction to Cyclotomic Fields_. The main result is the definition of the order-preserving bijection between intermediate fields of `ℚ(ζₙ)/ℚ` and subgroups of the group of Dirichlet characters of level `n`. --- - [x] depends on: #33878 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
83/1 Mathlib/FieldTheory/Normal/Defs.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean 2 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-84556
1 day ago
1-84628
1 day ago
2-578
2 days
34717 CoolRmal
author:CoolRmal
feat: add more APIs for the first derivative test The derivative test in Mathlib right now only says whether a point is local maximum. This is hard to use in practice (for example in the [PNT](https://github.com/AlexKontorovich/PrimeNumberTheoremAnd) project) as we sometimes want to show that a point is a maximum on some interval. This PR adds more APIs for the first derivative test to resolve this issue. Co-authored-by: Louis Liu @Deep0Thinking --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 412/32 Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Topology/Order/OrderClosedExtr.lean 2 3 ['CoolRmal', 'github-actions'] nobody
1-83378
1 day ago
37-13527
37 days ago
0-25
25 seconds
35198 j-loreaux
author:j-loreaux
feat: generalize Hölder's inequality for sums to `Real.HolderTriple` Currently the API exists only for `Real.HolderConjugate`. This generalizes it in anticipation of #35197, which implements the Hölder framework for `lp` spaces. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 160/39 Mathlib/Analysis/MeanInequalities.lean,Mathlib/Data/Real/ConjExponents.lean 2 3 ['github-actions', 'mathlib-merge-conflicts'] ADedecker
assignee:ADedecker
1-83197
1 day ago
1-83220
1 day ago
18-26295
18 days
27953 CoolRmal
author:CoolRmal
feat(ProbabilityTheory): Conditional Jensen's Inequality This PR adds several variants of the conditional Jensen's inequality. I made some changes to Mathlib/Analysis/Convex/Approximation.lean because I need the sequence of affine functions to be bouneded above at each point in the proof of `conditional_jensen_hereditarilyLindelofSpace`. --- - [x] depends on: #31411 - [x] depends on: #31399 - [x] depends on: #31180 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 212/18 Mathlib.lean,Mathlib/Analysis/Convex/Approximation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/Measure/Trim.lean 5 11 ['CoolRmal', 'EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] sgouezel
assignee:sgouezel
1-83071
1 day ago
1-84788
1 day ago
35-40392
35 days
36392 JovanGerb
author:JovanGerb
chore: deprecate `push_neg` This PR deprecates `push_neg` in favour of `push Not`. The deprecation message includes an example of how to implement `push_neg` as a macro, in case people want to keep using `push_neg`. This PR replaces all uses of `push_neg` with `push Not`, or golfs them away using `!` tactics like `by_contra!`. The doc-string of `push` is updated with some of the information from the `push_neg` doc-string. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 290/284 Archive/Examples/Kuratowski.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2006Q5.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/IrrationalPowerOfIrrational.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GroupWithZero/Regular.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/IndicatorCard.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Algebra/Regular/SMul.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/ValueDistribution/LogCounting/Asymptotic.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Integrability/LogMeromorphic.lean,Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Matroid/Circuit.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Diam.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/Find.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Data/Nat/Prime/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/List.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/PushoutI.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Dimension/Localization.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/ToLinearEquiv.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean,Mathlib/LinearAlgebra/Projectivization/Cardinality.lean,Mathlib/LinearAlgebra/RootSystem/Finite/G2.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Function/AEEqOfLIntegral.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean 170 1 ['github-actions'] nobody
1-81729
1 day ago
2-2013
2 days ago
2-4331
2 days
36399 chrisflav
author:chrisflav
feat(RingTheory/Flat): finite flat algebra is trivial if rank is equal to `1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 177/3 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/RingTheory/Flat/Rank.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/TensorProduct/Maps.lean 6 1 ['github-actions'] nobody
1-78377
1 day ago
1-78448
1 day ago
1-78129
1 day
33864 Timeroot
author:Timeroot
feat(Computability/Primrec): Proving several Nat arithmetic functions are primrec Prove that gcd, lcm, coprimality, divisiblity, primality, factorial, descending factorial, powers, and various logarithms are all primitive recursive. Co-authored-by: Aristotle Harmonic <[aristotle-harmonic@harmonic.fun](mailto:aristotle-harmonic@harmonic.fun)> large-import t-computability 195/4 Mathlib.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Primrec/List.lean,Mathlib/Computability/Primrec/Nat.lean,Mathlib/Data/Nat/Log.lean 5 6 ['eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] JovanGerb
assignee:JovanGerb
1-78134
1 day ago
1-77897
1 day ago
27-20656
27 days
36396 harahu
author:harahu
doc(misc): fix typos Found by `PyCharm`'s code inspection tool --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 6/6 Archive/Imo/Imo1988Q6.lean,MathlibTest/HaveLetLinter.lean,MathlibTest/fun_prop2.lean,MathlibTest/fun_prop_dev.lean 4 1 ['euprunin', 'github-actions'] nobody
1-77635
1 day ago
1-81911
1 day ago
1-81592
1 day
36338 harahu
author:harahu
doc(Algebra): fix typos Found by `PyCharm`'s code inspection tool. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra documentation
label:t-algebra$
30/30 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/FiniteSupport/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/Embedding/ExtendHomotopy.lean,Mathlib/Algebra/Homology/HomologicalBicomplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexSingle.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/EngelSubalgebra.lean,Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/SuccPred/TypeTags.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean 23 3 ['euprunin', 'github-actions', 'harahu', 'mathlib-merge-conflicts', 'plp127'] nobody
1-77564
1 day ago
2-74213
2 days ago
3-50257
3 days
35896 harahu
author:harahu
chore(misc): fix typos The typos were identified by `PyCharm`'s proofreading inspection. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 97/96 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/FiniteSupport/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Homology/BifunctorShift.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/Embedding/ExtendHomotopy.lean,Mathlib/Algebra/Homology/HomologicalBicomplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexSingle.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/EngelSubalgebra.lean,Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/SuccPred/TypeTags.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Combinatorics/Matroid/Map.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean,Mathlib/Condensed/Light/InternallyProjective.lean,Mathlib/Data/Finset/NatDivisors.lean,Mathlib/Data/FunLike/Graded.lean,Mathlib/Data/Matrix/ColumnRowPartitioned.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Dynamics/Newton.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean,Mathlib/Lean/FoldEnvironment.lean,Mathlib/LinearAlgebra/PiTensorProduct/Dual.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/LinearAlgebra/Transvection.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/Probability/Distributions/Gaussian/IsGaussianProcess/Def.lean,Mathlib/Probability/Distributions/Gaussian/IsGaussianProcess/Independence.lean,Mathlib/Probability/Independence/Process.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Ideal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/PowerSeries/Expand.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/Smooth/Fiber.lean,Mathlib/RingTheory/ZariskisMainTheorem.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,Mathlib/Tactic/Translate/Reorder.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean,Mathlib/Topology/MetricSpace/PartitionOfUnity.lean 63 4 ['euprunin', 'github-actions', 'mathlib-merge-conflicts'] nobody
1-77390
1 day ago
1-82105
1 day ago
7-18357
7 days
36400 chrisflav
author:chrisflav
chore(CategoryTheory/MorphismProperty/Comma): API for `mapLeft` and `mapRight` From Pi1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 108/0 Mathlib/CategoryTheory/MorphismProperty/Comma.lean 1 1 ['github-actions'] nobody
1-77289
1 day ago
1-77367
1 day ago
1-77048
1 day
35072 vasnesterov
author:vasnesterov
feat(Tactic/ComputeAsymptotics/Multiseries): non-primitive corecursion for `Seq`: `FriendlyOperation` API This is a continuation of #34311. This PR adds more API about friendly operations: * `FriendlyOperation.destruct`: a "coinductive destructor" for `FriendlyOperation` * `FriendlyOperation.coind`: a coinductive principle for proving that operation is friendly * `FriendlyOperationClass.eq_of_bisim`: a generalisation of `Seq.eq_of_bisim'` for proving two sequences are equal. --- This is a part of the `compute_asymptotics` tactic (#28291). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-meta 297/2 Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean 1 29 ['Vierkantor', 'github-actions', 'joneugster', 'vasnesterov'] joneugster
assignee:joneugster
1-75757
1 day ago
1-75772
1 day ago
15-76731
15 days
34922 vasnesterov
author:vasnesterov
feat(Tactic/ComputeAsymptotics/Multiseries): Multiseries definition and structural lemmas Define `Multiseries` and `MultiseriesExpansion` and restate some `Seq` API for `Multiseries`. --- This is a part of the `compute_asymptotics` tactic (#28291). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-meta 411/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Defs.lean 3 13 ['Vierkantor', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'vasnesterov'] Vierkantor and joneugster
assignee:Vierkantor assignee:joneugster
1-75214
1 day ago
1-85620
1 day ago
23-9364
23 days
36220 harahu
author:harahu
doc(misc): update two theorem names - https://www.wikidata.org/wiki/Q1543149 carries the name "Sokhotski–Plemelj theorem" - While https://www.wikidata.org/wiki/Q2226807 does carry the name "Vantieghems theorem", I assume the s is assumed to be possessive, since the mathematician credited with the result is called Emmanuel Vantieghem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 2/2 docs/1000.yaml 1 7 ['dwrensha', 'github-actions', 'harahu'] dwrensha
assignee:dwrensha
1-70022
1 day ago
5-61037
5 days ago
5-60718
5 days
36373 joelriou
author:joelriou
chore(CategoryTheory/Limits/Cones): fixing non-dsimp-nf lemmas We use the `dsimp%` term elaborator to put certain lemmas into dsimp normal form, so that they can be used without doing `set_option backward.isDefEq.respectTransparency false`. This removes all but one of these in the file `CategoryTheory/Limits/Cones`. The remaining one has to do with `Quiver.Hom.unop_op`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 52/46 Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/Shapes/SequentialProduct.lean,Mathlib/CategoryTheory/Limits/Yoneda.lean,Mathlib/Condensed/Discrete/Colimit.lean 7 2 ['JovanGerb', 'github-actions'] nobody
1-68944
1 day ago
1-69004
1 day ago
2-68654
2 days
23835 chrisflav
author:chrisflav
feat(Topology): cardinality of connected components is bounded by cardinality of fiber We show that if `f : X → Y` is an open and closed map to `Y` and `Y` is connected, the number of connected components of `X` is bounded by the cardinality of the fiber of any point. In particular, if `Y` has finitely many connected components and `f` finite fibers, also `X` as finitely many connected components. From Pi1. --- - [x] depends on: #23849 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 276/1 Mathlib.lean,Mathlib/Data/Fintype/Pi.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/CardComponents.lean,Mathlib/Topology/Connected/Clopen.lean 6 11 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
1-68386
1 day ago
139-80375
139 days ago
66-69993
66 days
36146 Multramate
author:Multramate
feat(AlgebraicGeometry/GammaSpecAdjunction): add equivalences for Spec morphisms that commute with algebra maps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-algebra
label:t-algebra$
46/2 Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Scheme.lean 3 14 ['CBirkbeck', 'Multramate', 'erdOne', 'github-actions'] nobody
1-62826
1 day ago
5-12159
5 days ago
6-42380
6 days
36086 Multramate
author:Multramate
feat(Algebra): add liftEquiv for groups, rings, algebras, and adjoin roots --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
105/22 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/FieldTheory/RatFunc/Luroth.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean 12 3 ['CBirkbeck', 'Multramate', 'github-actions', 'mathlib-merge-conflicts'] nobody
1-62593
1 day ago
7-9086
7 days ago
7-12790
7 days
33895 jessealama
author:jessealama
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set This PR shows that several list operations from Lean core are primitive recursive: - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via iterating `List.tail` using `nat_iterate` - `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via `list_drop` on the reversed list - `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) - `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean) The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations: - `list_modify` specializes `list_modify'` with `β = Unit` - `list_set` uses `list_modify'` via `List.set_eq_modify` Also moves `list_length` earlier in the file (before `list_drop` and `list_take`, which depend on it). new-contributor t-computability 47/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
1-61915
1 day ago
55-18073
55 days ago
55-41102
55 days
35518 kim-em
author:kim-em
chore: forbid prime (') in filenames, rename LinearCombination' This PR renames `Mathlib/Tactic/LinearCombination'.lean` to `LinearCombinationPrime.lean` (and the corresponding test file), and adds a lint check to `modulesOSForbidden` to prevent future files with prime/apostrophe characters in their names. The `'` character in filenames causes shell escaping issues in scripts (any `find ... -name '*.lean'` or similar pattern needs careful quoting to handle these files correctly). 🤖 Prepared with Claude Code file-removed t-meta 13/8 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LinearCombinationPrime.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/linear_combination_prime.lean 6 6 ['eric-wieser', 'euprunin', 'github-actions', 'kim-em'] nobody
1-59876
1 day ago
18-15282
18 days ago
18-18149
18 days
35702 plp127
author:plp127
feat: uniqueness of partial fraction decomposition We prove a uniqueness theorem for each existence theorem in the file. --- - [x] depends on: #35000 - [x] depends on: #35703 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
254/18 Mathlib/Algebra/Polynomial/PartialFractions.lean 1 3 ['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] nobody
1-59057
1 day ago
11-80426
11 days ago
11-83087
11 days
36171 SnirBroshi
author:SnirBroshi
feat(SetTheory/Ordinal): `o ≤ c.ord ↔ o.card ≤ c` in special cases `o ≤ c.ord ↔ o.card ≤ c` when `o` is initial, or when `c` is finite. The left-to-right direction always holds (`Cardinal.card_le_of_le_ord`). Not to be confused with `c.ord ≤ o ↔ c ≤ o.card` which also always holds (`Cardinal.ord_le`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 11/2 Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Ordinal/Basic.lean 2 4 ['SnirBroshi', 'github-actions', 'vihdzp'] vihdzp
assignee:vihdzp
1-58423
1 day ago
1-58488
1 day ago
2-2672
2 days
36290 euprunin
author:euprunin
chore(AlgebraicGeometry): unsqueeze terminal `simp`:s (`simp only […]` to `simp`) 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): * `AlgebraicGeometry.IsClosedImmersion.Spec_iff`: 141 ms before, 108 ms after 🎉 * `AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.denom_notMem`: unchanged 🎉 * `AlgebraicGeometry.Scheme.PartialMap.ext_iff`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 3/3 Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/RationalMap.lean 3 2 ['github-actions', 'joelriou'] nobody
1-58079
1 day ago
4-66743
4 days ago
4-66424
4 days
33044 bryangingechen
author:bryangingechen
ci: also get cache for parent commit Instead of only attempting to fetch the cache corresponding to the commit, we also try to fetch the cache for the "parent" commit as well. The parent commit is taken from the following candidates in the following order: - `github.event.before`: the last pushed commit; exists for `pull_request_target: synchronize` and `push` events - `github.pull_request.base.sha`: the commit for the base branch; exists for `pull_request_target: opened` (and `reopened`) events - `HEAD^`: exists for all events, but the cache may not have been uploaded cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Mathlib.20has.20moved.20to.20the.20new.20module.20system/near/563452000 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 54/8 .github/workflows/build_template.yml 1 13 ['bryangingechen', 'github-actions', 'grunweg', 'jcommelin', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts'] joneugster
assignee:joneugster
1-53462
1 day ago
55-81891
55 days ago
26-35884
26 days
36407 j-loreaux
author:j-loreaux
feat: norm of sums of continuous functions whose product is zero For continuous functions whose pairwise products are zero, the norm of the sum is the maximum of the norms of the individual functions. This is useful for proving the analogous norm properties for commuting selfadjoint (or normal) elements in a C⋆-algebra. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 87/0 Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/Compact.lean 2 3 ['github-actions', 'themathqueen'] nobody
1-52733
1 day ago
1-52777
1 day ago
1-68915
1 day
36413 JovanGerb
author:JovanGerb
chore(Algebra/Group/InjSurj): clean up instances This PR give a bit of speedup by cleaning up some `Function.Injective.` and `Function.Surjective.` instances. The main point is to put the arguments in the correct order in `{ ..., ... with }`, matching the order of the `extends` clause. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 21/24 Mathlib/Algebra/Group/InjSurj.lean 1 4 ['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-bors'] nobody
1-52316
1 day ago
1-66799
1 day ago
0-6
6 seconds
36405 seewoo5
author:seewoo5
Derivative of modular forms --- Derivative of modular forms, stems from [Sphere Packing project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean). The major goal is two-fold: prove Ramanujan's identities and also prove that Serre derivative preserves modularity (first uses second). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 160/0 Mathlib.lean,Mathlib/NumberTheory/ModularForms/Derivative.lean 2 17 ['CBirkbeck', 'github-actions', 'mathlib-bors', 'seewoo5', 'wwylele'] nobody
1-52164
1 day ago
1-52230
1 day ago
1-53044
1 day
36304 JovanGerb
author:JovanGerb
feat(Translate): translate binder names starting with `h` This PR expands the binder name translation in `to_dual` and `to_additive`. If the binder name cannot be translated by itself, then try translating without the prefix `h`. This is useful when a hypothesis is called `hmin` or `hmax`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 19/1 Mathlib/Tactic/Translate/Core.lean,MathlibTest/ToDual.lean 2 4 ['JovanGerb', 'gasparattila', 'github-actions'] nobody
1-50924
1 day ago
4-50701
4 days ago
4-50382
4 days
36401 JovanGerb
author:JovanGerb
feat(positivity): positivity extension for `a - b` This PR adds support in `positivity` for proving things about subtraction. For example, if the goal is `0 < a - b`, and there is a local hypothesis of type `b < a`, then we close the goal. The motivation is that we want `positivity` to be a flexible tactic. So, when trying to prove `0 < a - b` using a local hypothesis, we should look for the simp normal form of this, which is `b < a`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 61/24 Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Geometry/Manifold/Riemannian/PathELength.lean,Mathlib/Tactic/Positivity/Basic.lean,MathlibTest/positivity.lean 10 4 ['github-actions', 'hrmacbeth', 'j-loreaux', 'leanprover-radar'] nobody
1-46685
1 day ago
1-50954
1 day ago
1-54057
1 day
36421 ROTARTSI82
author:ROTARTSI82
feat(RingTheory/IsAdjoinRoot): add mkOfAdjoinEqTop' Alternative hypothesis to existing theorem: prove the result from a `Module.Free `hypothesis instead of `IsIntegrallyClosed`. If `α` generates `S` as an algebra, then `S` is given by adjoining a root of `minpoly R α`. --- Hello, we are the Algebraic Geometry group from the UW Math AI lab, and this is our first PR! This definition of `mkOfAdjoinEqTop'` generalizes the existing `mkOfAdjoinEqTop` and shows the result from `Module.Free` instead of `IsIntegrallyClosed`. It is used in future results that we would like to upstream at https://github.com/uw-math-ai/monogenic-extensions, which is a project to formalize lemmas 3.1 and 3.2 from https://arxiv.org/abs/2503.07846. Co-authored-by: George Peykanu Co-authored-by: Bryan Boehnke Co-authored-by: Bianca Viray <67076332+b-viray@users.noreply.github.com> --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import 57/0 Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean 2 2 ['github-actions'] nobody
1-46490
1 day ago
1-46564
1 day ago
1-46245
1 day
22366 kim-em
author:kim-em
feat: `check_equalities` tactic for diagnosing defeq problems The `check_equalities` tactic, which checks the typing of equalities in the goal, reporting discrepancies between the implicit type argument of the equality, and the inferred types of the left and right hand sides, at "instances and reducible" transparency. Reports from this tactic do not necessarily indicate a problem, although typically `simp` should reduce rather than increase the reported discrepancies. `check_equalities` may be useful in diagnosing uses of `erw`. t-meta 123/4 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CheckEqualities.lean,Mathlib/Tactic/Common.lean,MathlibTest/check_equalities.lean 7 21 ['adomani', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
1-45269
1 day ago
361-80620
361 days ago
15-14325
15 days
25983 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve/Scheme): define the affine scheme associated to an elliptic curve This contribution was created as part of the AIM workshop "Formalizing Algebraic Geometry" in June 2024. Co-authored-by: Michael Stoll [Michael.Stoll@uni-bayreuth.de](mailto:Michael.Stoll@uni-bayreuth.de) Co-authored-by: Junyan Xu [junyanxu.math@gmail.com](mailto:junyanxu.math@gmail.com) t-algebraic-geometry 165/13 Mathlib.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Scheme.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Infinite.lean,Mathlib/GroupTheory/GroupExtension/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean 15 4 ['MichaelStollBayreuth', 'Multramate', 'github-actions'] alexjbest
assignee:alexjbest
1-45268
1 day ago
4-82330
4 days ago
4-84275
4 days
26561 b-mehta
author:b-mehta
feat(LiminfLimsup): liminf of an antitone function is its supremum --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26560 t-topology 57/0 Mathlib/Topology/Order/LiminfLimsup.lean 1 4 ['b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
1-45267
1 day ago
4-85878
4 days ago
5-437
5 days
33935 mckoen
author:mckoen
feat(CategoryTheory/Monoidal/Arrow): define monoidal structure on arrow category defines a monoidal category structure on the arrow category of a cartesian closed category. --- - [x] depends on: #33974 - [x] depends on: #34887 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 506/0 Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Arrow.lean,Mathlib/CategoryTheory/Monoidal/Limits/Shapes/Pullback.lean 3 20 ['dagurtomas', 'github-actions', 'mathlib-dependent-issues', 'mckoen'] joelriou
assignee:joelriou
1-45266
1 day ago
5-33529
5 days ago
5-84023
5 days
35042 JovanGerb
author:JovanGerb
chore: remove `meta` form `import Mathlib.Tactic...` This PR cleans up some imports of the form `import Mathlib.Tactic...`, by either removing them entirely, or removing the `meta` keyword. It should never be necessary to `meta import` a file from `Mathlib.Tactic`, because the relevant definitions should already have been marked as `meta`. The motivation is to reduce the amount of files that are `meta` imported when writing e.g. `import Mathlib`, hence reducing the amount of stuff that needs to be loaded. There are more other `meta import`s that need to be removed, but this PR is a good start. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 61/142 Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Data/List/ChainOfFn.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ArithMult.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/Choose.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/DeriveCountable.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/Explode.lean,Mathlib/Tactic/Explode/Pretty.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/IrreducibleDef.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Tactic/Order/Graph/Tarjan.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Peel.lean,Mathlib/Tactic/ProdAssoc.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Qify.lean,Mathlib/Tactic/RSuffices.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Common.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/PNat.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TautoSet.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/TagUnfoldBoundary.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CommDiag.lean,Mathlib/Tactic/Widget/CongrM.lean 107 8 ['JovanGerb', 'dupuisf', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] ocfnash
assignee:ocfnash
1-45265
1 day ago
18-11355
18 days ago
22-5514
22 days
35533 mariainesdff
author:mariainesdff
feat(RingTheory/DedekindDomain/Ideal/Lemmas): add nontrivial_heightOneSpectrum Co-authored by: @xgenereux. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 12/0 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 1 4 ['erdOne', 'github-actions', 'mariainesdff', 'tb65536'] mattrobball
assignee:mattrobball
1-45264
1 day ago
7-16450
7 days ago
13-43276
13 days
35568 goliath-klein
author:goliath-klein
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): switch NormedSpace instance to `projectiveSeminorm` The PR switches the `NormedSpace` instance on `PiTensorProduct`s from `injectiveSeminorm` to `projectiveSeminorm` and updates all follow-up results. The signature of `norm_eval_le_projectiveSeminorm` is changed to match the one of `norm_eval_le_injectiveSeminorm`. This is the second in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633). --- - [x] depends on: #35567 This series is the result of splitting up #34137. More discussion there. Co-authored-by: Davood H. H. Tehrani [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 25/29 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean 2 3 ['github-actions', 'mathlib-dependent-issues'] robin-carlier
assignee:robin-carlier
1-45263
1 day ago
5-10137
5 days ago
5-11353
5 days
35677 euprunin
author:euprunin
chore(SetTheory): golf proofs This PR removes unused `have`/`haveI`/`let`/`letI` calls + some small similar cleanups. The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `Cardinal.mul_eq_self`: unchanged 🎉 * `Cardinal.succ_natCast`: unchanged 🎉 * `Ordinal.exists_fundamental_sequence`: unchanged 🎉 * `Cardinal.mk_subtype_le_of_countable_eventually_mem`: unchanged 🎉 * `Nat.card_image_of_injOn`: unchanged 🎉 * `mul_le_of_limit_aux`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This golfing PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 2/11 Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/CountableCover.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/ZFC/PSet.lean 7 4 ['euprunin', 'github-actions', 'leanprover-radar', 'vihdzp'] alreadydone
assignee:alreadydone
1-45262
1 day ago
16-19998
16 days ago
16-19679
16 days
36060 edegeltje
author:edegeltje
chore(CategoryTheory/Classifier): namespace Classifier, rename HasClassifier, move file The declaration `CategoryTheory.Classifier` (and various lemmas about it) is/are moved to the `Subobject` namespace. The declaration `CategoryTheory.HasClassifier` is renamed `CategoryTheory.HasSubobjectClassifier`. The file `CategoryTheory/Topos/Classifier.lean` is moved to `CategoryTheory/Subobject/Classifier/Defs.lean`. Moves: - Classifier.SubobjectRepresentableBy.* -> SubobjectRepresentableBy.* - Classifier.* -> Subobject.Classifier.* - HasClassifier.* -> HasSubobjectClassifier.* --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-category-theory 191/41 Mathlib.lean,Mathlib/CategoryTheory/Subobject/Classifier/Defs.lean 2 4 ['dagurtomas', 'edegeltje', 'github-actions', 'mathlib-merge-conflicts'] joelriou
assignee:joelriou
1-45261
1 day ago
4-73088
4 days ago
7-2392
7 days
36093 tb65536
author:tb65536
feat(GroupTheory/Nilpotent): remove `[IsNilpotent]` assumption from some theorems This PR uses the junk value of `nilpotencyClass` to remove `[IsNilpotent]` assumption from some theorems. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-group-theory
label:t-algebra$
18/12 Mathlib/GroupTheory/Nilpotent.lean 1 1 ['github-actions'] riccardobrasca
assignee:riccardobrasca
1-45260
1 day ago
7-48016
7 days ago
7-47698
7 days
36101 wwylele
author:wwylele
feat(RingTheory): lemmas about power of maximal ideal This adds `IsMaximal.mul_mem_pow` that generalizes `Ideal.IsPrime.mul_mem_pow ` from (IsPrime + IsDedekindDomain) to IsMaximal (Except for the trivial bot case, which is why the prime version is kept) Also added a related `Quotient.isUnit_mk_pow_{of/iff}_notMem` for determining units in a quotient by power Disclosure of AI usage: this was produced when I chat with LLM for certain exercise problems, and I identified these small lemmas that can be implemented. Also asked LLM for some hints for idea. Code entirely written by me --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 59/6 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 4 2 ['copilot-pull-request-reviewer', 'github-actions'] chrisflav
assignee:chrisflav
1-45260
1 day ago
7-30728
7 days ago
7-30409
7 days
36119 Ruizsolveall
author:Ruizsolveall
feat(Topology/Covering): fundamental group of the circle is ℤ ## Summary - Proves that the fundamental group of the circle `π₁(S¹, 0)` is isomorphic to `ℤ`, via covering space theory. - Constructs the winding number map `nLoop : ℤ → Path 0 0` on `AddCircle 1`, and proves it is surjective (`surj_nLoop`), injective (`inj_nLoop`), and additive (`nLoop_add`). - Assembles these into the group isomorphism `fundamentalGroupCircle : Multiplicative ℤ ≃* FundamentalGroup (AddCircle 1) 0`. ## Approach Uses the covering map `ℝ → AddCircle 1` and unique path lifting to establish the bijection between homotopy classes of loops and integers (winding numbers). Homotopy invariance of lifted endpoints gives injectivity; surjectivity follows from lifting arbitrary loops. Additivity uses path concatenation of lifts in the simply connected total space `ℝ`. ## Test plan - [x] `lake env lean Mathlib/Topology/Covering/FundamentalGroupCircle.lean` builds with 0 errors, 0 warnings t-topology new-contributor 236/0 Mathlib.lean,Mathlib/Topology/Covering/FundamentalGroupCircle.lean 2 22 ['Ruizsolveall', 'SnirBroshi', 'b-mehta', 'github-actions', 'vihdzp'] dagurtomas
assignee:dagurtomas
1-45259
1 day ago
7-8963
7 days ago
7-8644
7 days
36137 smmercuri
author:smmercuri
feat: define pullbacks of `HeightOneSpectrum` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 7/0 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
1-45258
1 day ago
6-85395
6 days ago
6-85076
6 days
36276 b-mehta
author:b-mehta
feat(Probability/UniformOn): add uniformOn_pi --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import 14/0 Mathlib/Probability/UniformOn.lean 1 1 ['github-actions'] RemyDegenne
assignee:RemyDegenne
1-45253
1 day ago
4-76794
4 days ago
4-78312
4 days
36288 b-mehta
author:b-mehta
feat(MeasureTheory/Constructions/Pi): add pi_pi_finset This PR adds `Measure.pi_pi_finset`, which computes the product measure of a partial pi set `(s : Set ι).pi f` as `∏ i ∈ s, μ i (f i)` when all measures are probability measures. This generalises `Measure.pi_pi` from `Set.univ.pi` to an arbitrary `Finset`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy t-measure-probability 4/0 Mathlib/MeasureTheory/Constructions/Pi.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
1-45253
1 day ago
4-69164
4 days ago
4-69569
4 days
36289 euprunin
author:euprunin
chore(Algebra): unsqueeze terminal `simp`:s (`simp only […]` to `simp`) 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): * `spectrum.inv₀_mem_iff`: unchanged 🎉 * `Fin.partialProd_contractNth`: unchanged 🎉 * `GenContFract.fib_le_of_contsAux_b`: 1225 ms before, 1045 ms after 🎉 * `normalize_eq_normalize`: unchanged 🎉 * `gcd_mul_left`: 100 ms before, 65 ms after 🎉 * `lcm_mul_left`: unchanged 🎉 * `LieSubmodule.lieIdeal_oper_eq_linear_span`: unchanged 🎉 * `LieIdeal.comap_bracket_incl`: unchanged 🎉 * `MvPolynomial.eval₂_eq_eval_map`: unchanged 🎉 * `geom_sum_pos'`: unchanged 🎉 * `Polynomial.natDegree_multiset_prod_X_sub_C_eq_card`: unchanged 🎉 * `Polynomial.eq_X_add_C_of_degree_le_one`: unchanged 🎉 * `Polynomial.hasseDeriv_coeff`: 491 ms before, 433 ms after 🎉 * `QuadraticAlgebra.algebraMap_dvd_iff`: unchanged 🎉 * `AlgebraicGeometry.IsAffineOpen.iSup_of_disjoint_aux`: 679 ms before, 609 ms after 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
14/15 Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/Order/Ring/GeomSum.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/SmallDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean 11 1 ['github-actions'] ocfnash
assignee:ocfnash
1-45252
1 day ago
4-67084
4 days ago
4-66765
4 days
36297 ocfnash
author:ocfnash
feat: supporting lemmas for theory of bases in Lie theory Split out from other work to simplify review. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra large-import
label:t-algebra$
242/4 Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Lie/Weights/Cartan.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Data/Set/Finite/Range.lean,Mathlib/LinearAlgebra/Basis/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/ModularLattice.lean,Mathlib/Order/SupIndep.lean,Mathlib/RingTheory/Regular/Category.lean 15 1 ['github-actions'] dagurtomas
assignee:dagurtomas
1-45251
1 day ago
unknown
0-0
0 seconds
33355 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870. ### Main definitions - `SimpleGraph.IsVertexReachable`: vertices remain reachable after removing strictly fewer than `k` other vertices. - `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable. Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). new-contributor t-combinatorics 199/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean 3 138 ['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'vihdzp'] YaelDillies
assignee:YaelDillies
1-41107
1 day ago
13-38577
13 days ago
34-70912
34 days
36347 FrankieeW
author:FrankieeW
feat(NumberTheory/QuadraticField): define quadratic number fields as QuadraticAlgebra ℚ d 0 Define `Qsqrtd d` as `QuadraticAlgebra ℚ d 0`, representing the quadratic number field `ℚ(√d)`. Prove trace and norm results, show `Qsqrtd d` is a number field and a quadratic extension when `d` is not a perfect square, and prove that `ℚ(√0)` and `ℚ(√1)` are not fields. Include `IsQuadraticField` as a predicate for quadratic extensions of `ℚ`, and bridge lemmas connecting squarefree integer parameters to the non-square condition. This PR is part of a series upstreaming the [QuadraticNumberFields](https://github.com/FrankieeW/QuadraticNumberFields) project. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/quadratic.20number.20fields) --- ### PRs - #36347 (this PR) - #36387 --- t-number-theory new-contributor large-import 191/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean 4 23 ['FrankieeW', 'eric-wieser', 'github-actions', 'riccardobrasca', 'tb65536', 'wwylele'] nobody
1-40249
1 day ago
1-58644
1 day ago
2-4955
2 days
36390 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory/Ideal): move and add some lemma about smul top move and add some lemma about smul top --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 34/8 Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Regular/RegularSequence.lean 3 2 ['github-actions', 'tb65536'] nobody
1-37312
1 day ago
2-23036
2 days ago
2-23920
2 days
36423 kim-em
author:kim-em
perf: decompress already-cached files concurrently with downloads This PR builds on https://github.com/leanprover-community/mathlib4/pull/32987 (pipeline downloads and decompression) and https://github.com/leanprover-community/mathlib4/pull/36367 (fix: decompress already downloaded files). Previously, already-cached `.ltar` files were only decompressed after all downloads completed, in the final `unpackCache` sweep. This PR starts decompressing them concurrently with downloads by spawning `leantar` as a background task before the download phase begins. The two decompression paths operate on disjoint file sets (pre-cached vs newly downloaded), so there is no conflict. In the common case where a user has most files cached but a few hundred to download, this overlaps several seconds of decompression with network I/O. 🤖 Prepared with Claude Code 73/26 Cache/IO.lean,Cache/Requests.lean 2 1 ['github-actions'] nobody
1-33606
1 day ago
1-35126
1 day ago
1-34807
1 day
36415 j-loreaux
author:j-loreaux
feat: interactions of the continuous functional calculus with the real and imaginary parts --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 180/0 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/RealImaginaryPart.lean 2 2 ['github-actions', 'themathqueen'] nobody
1-33477
1 day ago
1-33540
1 day ago
1-33327
1 day
36425 yuma-mizuno
author:yuma-mizuno
fix: prevent stack overflow in `monoidal` tactic Fix stack overflow when trying to use the tactic with incomplete expressions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-meta 6/0 Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean 2 1 ['github-actions'] nobody
1-28312
1 day ago
1-31612
1 day ago
0-706
11 minutes
34435 huaizhangchu
author:huaizhangchu
feat(Probability): convolution of Poisson distributions This PR proves that the convolution of two Poisson distributions is again a Poisson distribution: `Poisson(r₁) ∗ Poisson(r₂) = Poisson(r₁ + r₂)` ## Main results - `poissonMeasureReal_charFun`: characteristic function of Poisson distribution is `exp(r(exp(it) - 1))` - `poissonMeasureReal_conv_poissonMeasureReal`: convolution of Poisson distributions on ℝ - `poissonMeasure_conv_poissonMeasure`: convolution of Poisson distributions on ℕ - `poissonMeasure_add_poissonMeasure_of_indepFun`: sum of independent Poisson random variables ## Proof strategy Uses characteristic functions: `φ(t) = exp(r(eⁱᵗ - 1))`, then pulls back from ℝ to ℕ. --- - [x] depends on: #34521 t-measure-probability large-import new-contributor 107/1 Mathlib/Probability/Distributions/Poisson/Basic.lean 1 31 ['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'huaizhangchu', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] EtienneC30
assignee:EtienneC30
1-20359
1 day ago
4-12321
4 days ago
29-33945
29 days
35867 edegeltje
author:edegeltje
feat(CategoryTheory/Topos): Define subobject classifier for sheaf of types This PR defines `Sheaf.classifier J : Classifier (Sheaf J (Type (max u v))`, which is the last ingredient missing to sheaf categories being elementary topoi. adapted from: https://github.com/edegeltje/CwFTT/blob/591d4505390172ae70e1bc97544d293a35cc0b3f/CwFTT/Classifier/Sheaf.lean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 331/36 Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Sites/Closed.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean 6 63 ['chrisflav', 'dagurtomas', 'edegeltje', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'robin-carlier'] chrisflav
assignee:chrisflav
1-20194
1 day ago
2-23458
2 days ago
7-2394
7 days
30927 callesonne
author:callesonne
feat(Bicategory/Yoneda): add the yoneda pseudofunctor --- - [x] depends on: #30926 - [x] depends on: #30895 - [x] depends on: #25901 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 124/1 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Yoneda.lean,Mathlib/Data/Opposite.lean 3 14 ['callesonne', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] nobody
1-16320
1 day ago
1-16384
1 day ago
3-21247
3 days
36429 yuma-mizuno
author:yuma-mizuno
feat(CategoryTheory/Bicategory): functor bicategories for lax functors This code is largely adapted from the existing implementation of the functor bicategory of oplax functors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 588/8 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Lax.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Lax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean 5 1 ['github-actions'] nobody
1-16283
1 day ago
1-16356
1 day ago
1-16249
1 day
36393 smmercuri
author:smmercuri
chore(NumberTheory/NumberField): move number field completion material to new subdir --- The reason for this move is that in a dependent PR #30551 I have some results on the ramification theory of infinite place completions which should really go in `NumberTheory/NumberField/InfinitePlace/Ramification.lean` but there is a circular dependence between `InfinitePlace/Completion.lean` and `InfinitePlace/Ramification.lean` that is difficult to resolve. Also `InfinitePlace/Ramification.lean` is getting quite long. So it seems like the best way to fix it is to create a separate `Completion` subdirectory. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 706/670 Mathlib.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/NumberField/InfiniteAdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean 7 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
1-14215
1 day ago
1-18567
1 day ago
0-76011
21 hours
35017 robo7179
author:robo7179
feat(Combinatorics/SimpleGraph/Acyclic): add every nontrivial tree has atleast two leaves Added two theorems to prove that every non trivial tree has atleast two leaves (one in Finite the other in Acyclic). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 75/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 24 ['IvanRenison', 'SnirBroshi', 'github-actions', 'robo7179'] nobody
1-12370
1 day ago
1-69113
1 day ago
28-65104
28 days
36402 gasparattila
author:gasparattila
feat(Translate): add support for specifying argument names This PR adds a `(rename := x → y, ...)` option to `@[to_additive]` and `@[to_dual]` for specifying the argument names of the translated declaration. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 81/50 Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Lattice.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Tactic/Translate/ToDual.lean,MathlibTest/ToDual.lean 6 4 ['JovanGerb', 'gasparattila', 'github-actions'] nobody
1-10589
1 day ago
1-69942
1 day ago
1-72693
1 day
31046 Thmoas-Guan
author:Thmoas-Guan
feat(Homology) : compatibility of map between `Ext` In this PR, we proved the compatibility of map between `Ext` induced by exact functor with 1: `mk_0` 2: `comp` 3: `extClass` --- - [x] depends on: #31707 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 232/8 Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean 5 35 ['Thmoas-Guan', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] eric-wieser
assignee:eric-wieser
1-10494
1 day ago
1-39293
1 day ago
25-63375
25 days
36433 tb65536
author:tb65536
feat(RingTheory/Ideal/Quotient/HasFiniteQuotients): a ring with finite quotients has finitely many ideals of bounded norm This PR proves that a ring with finite quotients has only finitely many ideals of bounded norm. This is needed for the construction of L-functions over number fields. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 69/5 Mathlib/RingTheory/Ideal/Quotient/HasFiniteQuotients.lean 1 1 ['github-actions'] nobody
1-7965
1 day ago
1-8640
1 day ago
0-1
1 second
36374 EtienneC30
author:EtienneC30
refactor: define the Poisson measure via a sum of Dirac masses Change the definition of `poissonMeasure r` to be `Measure.sum (fun n ↦ ENNReal.ofReal (exp (-r) * r ^ n / (n)!) • (.dirac n))` instead of using `PMF`. This allows to directly use API for measures instead of having to develop an API for `PMF`, which anyway is defined as a sum of Dirac masses. Also add some results about integrals against the poissonMeasure. --- - [x] depends on: #36355 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import 105/30 Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/Probability/Distributions/Poisson/Basic.lean,Mathlib/Probability/Distributions/Poisson/PoissonLimitThm.lean 3 11 ['DavidLedvinka', 'EtienneC30', 'b-mehta', 'github-actions', 'mathlib-dependent-issues'] nobody
1-7818
1 day ago
1-69857
1 day ago
1-83571
1 day
35804 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowerAlgebra/Init): add universal divided power algebra We define the universal divided power algebra of an `R`-module `M`. Co-authored by @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 284/0 Mathlib.lean,Mathlib/RingTheory/DividedPowerAlgebra/Init.lean 2 1 ['github-actions'] mattrobball
assignee:mattrobball
1-6945
1 day ago
1-7015
1 day ago
12-83681
12 days
36087 matthewjasper
author:matthewjasper
chore: fix diamonds for Real/Complex Algebra instances Unfold or make `implicit_reducible` some definitions used to define `Algebra ℝ ℂ` . This should allow reducing use of `set_option backward.isDefEq.respectTransparency false`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 73/49 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Category/ModuleCat/Algebra.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Basic.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,MathlibTest/instance_diamonds.lean 20 5 ['github-actions', 'mathlib-merge-conflicts', 'matthewjasper'] nobody
1-5529
1 day ago
1-5554
1 day ago
7-36926
7 days
35774 astrainfinita
author:astrainfinita
chore: use `IsLUB` `IsGLB` in `ConditionallyCompleteLattice` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 138/193 Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLatticeIntervals.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Copy.lean 9 10 ['astrainfinita', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] Komyyy
assignee:Komyyy
1-4629
1 day ago
1-4655
1 day ago
13-8734
13 days
35539 xgenereux
author:xgenereux
feat(DedekindDomain/Factorization): add `iInf` version of `finprod_heightOneSpectrum_factorization` This PR adds an `iInf` version of `finprod_heightOneSpectrum_factorization`. This requires two lemmas: - `prod_eq_iInf_of_coprime` - An `iInf` version of `mul_eq_inf_of_coprime`. - `HeightOneSpectrum.pow_sup_pow_eq_top` - Bundled up version of `Ideal.IsMaximal.coprime_of_ne` + `Ideal.pow_sup_pow_eq_top` for `HeightOneSpectrum`. ------ I noticed that these lemmas simplify a bit the work on the Chinese remainder theorem done in the file. The last commit of this PR is this simplification. I can remove it if this is not relevant. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 87/48 Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 5 17 ['chrisflav', 'erdOne', 'github-actions', 'xgenereux'] chrisflav
assignee:chrisflav
1-4459
1 day ago
1-4529
1 day ago
18-14001
18 days
35880 astrainfinita
author:astrainfinita
feat(Order/Defs/LinearOrder): `min_ind` It will be used to simplify the proofs of other lemmas in a subsequent PR. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 11/0 Mathlib/Order/Defs/LinearOrder.lean 1 1 ['github-actions'] bryangingechen
assignee:bryangingechen
1-4297
1 day ago
11-25805
11 days ago
11-25486
11 days
35762 xroblot
author:xroblot
feat(CyclotomicFields/Galois): compute the image of the stabilizer of an unramified prime ideal in `(ℤ/nℤ)ˣ` For a cyclotomic field `K = ℚ(ζₙ)` and a prime `p` not dividing `n`, we show that for any prime ideal `P` of `𝓞 K` above `p`, the image of the decomposition group of `P` under the isomorphism `Gal(K/ℚ) ≃* (ℤ/nℤ)ˣ` equals the cyclic subgroup generated by the Frobenius element `[p] ∈ (ℤ/nℤ)ˣ`. --- - [x] depends on: #35530 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
115/0 Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Int.lean,Mathlib/RingTheory/Invariant/Basic.lean 6 4 ['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-3918
1 day ago
1-3990
1 day ago
1-11628
1 day
36420 JovanGerb
author:JovanGerb
feat(Tactic/FastInstance): use expected type to fill in arguments This PR improves `fast_instance%` by letting it use the expected type to fill in arguments. This allows us to then define `inferInstanceAs% A` as a macro for `fast_instance% inferInstanceAs A`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 200/96 Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Tactic/FastInstance.lean,MathlibTest/DefEqAbuse.lean,MathlibTest/InferInstanceAsPercent.lean,MathlibTest/fast_instance.lean,MathlibTest/slow_instances.lean 7 9 ['JovanGerb', 'github-actions', 'kim-em', 'leanprover-radar'] nobody
1-3569
1 day ago
1-3633
1 day ago
1-43180
1 day
34588 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add generalizations of some padicVal{Nat,Int} lemmas Also drop the unnecessary primality condition from padicValInt_dvd. From flt-regular. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 34/16 Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean 2 3 ['github-actions', 'mariainesdff', 'mathlib-merge-conflicts'] mariainesdff
assignee:mariainesdff
1-3480
1 day ago
6-15547
6 days ago
24-51895
24 days
34728 j-loreaux
author:j-loreaux
feat: continuous linear equivalence between continuous `ℝ`- and `𝕜`-linear functionals (in either the strong or weak-⋆ topologies) This realizes the map `StrongDual.extendRCLikeₗ`, after pre- and post-composing so that it is an equivalence between the weak duals, as a *continuous* linear equivalence. In addition, when the space is a topological vector space, we realize `StrongDual.extendRCLikeₗ` as a *continuous* linear equivalence between the strong duals. --- - [x] depends on: #34543 The placement in `Analysis/Normed/Module/WeakDual` seems suboptimal because this has nothing to do with the norm. This is because `WeakDual.toStrongDual` is already in this file, which should probably be moved to `Topology/Algebra/Module/WeakDual`. However, even if that moves, the declarations added in this PR cannot easily go with it because they involve `RCLike`. Potentially, they could move to `Analysis/RCLike/Extend` if that file gained the `Topology/Algebra/Module/WeakDual` import. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 87/2 Mathlib/Analysis/Normed/Module/RCLike/Extend.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean 2 7 ['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] nobody
1-3116
1 day ago
1-69029
1 day ago
1-71126
1 day
33466 Shreyas4991
author:Shreyas4991
refactor(Combinatorics/Digraph): add vertex sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 382/55 Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean 2 82 ['IvanRenison', 'Shreyas4991', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp', 'vlad902'] awainverse
assignee:awainverse
1-2640
1 day ago
1-2734
1 day ago
26-26326
26 days
36383 JovanGerb
author:JovanGerb
fix(Translate): check if target is reserved name This PR makes sure that `to_dual`/`to_additive` can translate between reserved names by first realizing them. This is needed in #35031 to translate `CoconeMorphism.mk.congr_simp`. I've made a private function `realizeGlobalConst` which is basically a variant of `Lean.hasConst` but which also checks for reserved names. This should ideally be an API function provided by Lean, but I didn't find it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 18/7 Mathlib/Tactic/Translate/Core.lean 1 2 ['github-actions'] nobody
1-1055
1 day ago
2-53193
2 days ago
2-53180
2 days
35572 joelriou
author:joelriou
feat(CategoryTheory/Sites/Point): fiber functors are monoidal If `Φ` is a point of a site, the target category `A` is monoidal and the tensor product commutes with filtered colimits on both variables, then the functors `Φ.presheafFiber : (Cᵒᵖ ⥤ A) ⥤ A)` and `Φ.sheafFiber : Sheaf J A ⥤ A` are monoidal. --- - [x] depends on: #35757 - [x] depends on: #35961 - [x] depends on: #35806 - [x] depends on: #35691 - [x] depends on: #35575 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory maintainer-merge 157/4 Mathlib.lean,Mathlib/CategoryTheory/Sites/Point/Basic.lean,Mathlib/CategoryTheory/Sites/Point/Conservative.lean,Mathlib/CategoryTheory/Sites/Point/Monoidal.lean,Mathlib/CategoryTheory/Sites/Point/Skyscraper.lean 5 11 ['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier'] nobody
1-311
1 day ago
2-82530
2 days ago
6-2769
6 days
35966 joelriou
author:joelriou
feat(CategoryTheory/Abelian): the localization w.r.t. a Serre class is abelian --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory large-import maintainer-merge 296/6 Mathlib/CategoryTheory/Abelian/SerreClass/Localization.lean 1 9 ['dagurtomas', 'github-actions', 'joelriou', 'robin-carlier'] nobody
0-85427
23 hours ago
2-71478
2 days ago
8-29924
8 days
29550 Raph-DG
author:Raph-DG
feat(RingTheory): Order of vanishing in a discrete valuation ring In this PR we develop some API for working with the order of vanishing in a discrete valuation ring. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-ring-theory large-import 561/5 Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/GroupWithZero/Action/Basic.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean 11 46 ['Raph-DG', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] erdOne
assignee:erdOne
0-84369
23 hours ago
5-11676
5 days ago
45-9023
45 days
36378 EtienneC30
author:EtienneC30
refactor: define the geometric distribution via a sum of Dirac masses Change the definition of `geometricMeasure p` to be `Measure.sum (fun n ↦ ENNReal.ofReal ((1 - p) ^ n * p)) • (.dirac n))` instead of using `PMF`. This allows to directly use API for measures instead of having to develop an API for `PMF`, which anyway is defined as a sum of Dirac masses. Also add some results about integrals against the geometricMeasure. --- - [x] depends on: #36355 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability large-import 135/25 Mathlib/MeasureTheory/Measure/Dirac.lean,Mathlib/Probability/Distributions/Geometric.lean 2 17 ['DavidLedvinka', 'EtienneC30', 'b-mehta', 'github-actions', 'mathlib-dependent-issues'] nobody
0-84307
23 hours ago
1-83724
1 day ago
1-83420
1 day
36439 xgenereux
author:xgenereux
feat(Algebra/Adjoin): CoeT instances for Algebra.adjoin on singletons Is it a common occurrence that I need to consider an element `x` or some polynomial evaluated in `x`, `p.eval x` as an element of `Algebra.adjoin R {x}`. This makes it so that we can write - `(x : adjoin R {x})` instead of `⟨x, self_mem_adjoin_singleton A x⟩` - `(p.eval x : adjoin R {x})` instead of `⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩` This is particularly useful when we need to write the type anyways, so that we need not to write `(⟨p.aeval x, aeval_mem_adjoin_singleton A x⟩ : adjoin R {x})` anymore. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 9/3 Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/RingTheory/Adjoin/Polynomial/Basic.lean 2 1 ['github-actions'] nobody
0-82826
23 hours ago
1-1402
1 day ago
1-1083
1 day
36250 xgenereux
author:xgenereux
feat: add `not_linearIndependent_iff` variants These are useful because you know that `∀ i ∈ f.support, g i ≠ 0` whereas `not_linearIndependent_iff` only gives you `∃ i ∈ s, g i ≠ 0`. In a finset language you could state this is `Nonempty s` + `∀ i ∈ s, g i ≠ 0` but I think just using `Finsupp` is better. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
8/0 Mathlib/LinearAlgebra/LinearIndependent/Defs.lean 1 1 ['github-actions'] kim-em
assignee:kim-em
0-82809
23 hours ago
5-14102
5 days ago
5-13783
5 days
36435 grunweg
author:grunweg
feat: transfer IsTopologicalAddGroup and ContinuousSMul across continuous linear equivalences and use this to remove mathematically superfluous typeclass hypotheses in the tensoriality criterion. Follow-up to #36277/#36432. --- - [x] depends on: #36432 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 67/8 Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/Topology/Algebra/Module/TransferInstance.lean 2 6 ['ADedecker', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'plp127'] nobody
0-82673
22 hours ago
1-4877
1 day ago
1-5220
1 day
36427 kim-em
author:kim-em
chore: remove set_option backward.isDefEq.respectTransparency false This PR removes all `set_option backward.isDefEq.respectTransparency false in` workarounds across 310 files. These are no longer needed with the v4.29.0-rc6 toolchain. 🤖 Prepared with Claude Code 933/916 Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1963Q5.lean,Archive/Imo/Imo1982Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2019Q2.lean,Archive/MinimalSheffer.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Archive/Wiedijk100Theorems/SolutionOfCubicQuartic.lean,Counterexamples/HeawoodUnitDistance.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/Abelian.lean,Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Descent.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/Ring/LinearAlgebra.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/Expr.lean,Mathlib/Algebra/Field/Equiv.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/Functor.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Group/Lattice.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/RingQuot.lean,Mathlib/AlgebraicGeometry/Artinian.lean,Mathlib/AlgebraicGeometry/Cover/Directed.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Geometrically/Basic.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/LimitsOver.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/SchemeTheoreticallyDominant.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Functor.lean,Mathlib/AlgebraicTopology/DoldKan/NReflectsIso.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/ModelCategory/Basic.lean,Mathlib/AlgebraicTopology/Quasicategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Dimension.lean,Mathlib/AlgebraicTopology/SimplicialSet/Finite.lean,Mathlib/AlgebraicTopology/SimplicialSet/HoFunctorMonoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/Horn.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean 668 2 ['github-actions', 'jcommelin'] nobody
0-82023
22 hours ago
1-9572
1 day ago
1-11737
1 day
35841 astrainfinita
author:astrainfinita
chore(Order/Defs/LinearOrder): avoid `grind` in very fundamental lemmas Some lemmas can be optimized more elegantly, but it requires moving lemmas from other files, so I will do it in a subsequent PR. --- [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2334013.20chore.3A.20golf.20with.20grind.20to.20reduce.20explicit.20lemma.20refer/near/570429476) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order maintainer-merge 41/28 Mathlib/Order/Defs/LinearOrder.lean 1 17 ['Komyyy', 'astrainfinita', 'github-actions', 'grunweg'] nobody
0-81669
22 hours ago
1-26294
1 day ago
10-68927
10 days
35771 euprunin
author:euprunin
chore: golf using `exact` The goal of this PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective. Trace profiling results (differences <30 ms considered measurement noise): * `IsBaseChange.comp`: 132 ms before, 98 ms after 🎉 * `Cardinal.powerlt_aleph0`: unchanged 🎉 * `ONote.fastGrowing_one`: unchanged 🎉 Profiled using `set_option trace.profiler true in`. This PR is batched under the following guidelines: * Up to ~5 changed files per PR * Up to ~25 changed declarations per PR * Up to ~100 changed lines per PR --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 3/11 Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Notation.lean 3 1 ['github-actions', 'vihdzp'] nobody
0-81584
22 hours ago
13-74807
13 days ago
13-74488
13 days
36441 mariainesdff
author:mariainesdff
feat(Data/Finsupp/Indicator): add lemmas Co-authored by : @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 22/1 Mathlib/Data/Finsupp/Indicator.lean 1 1 ['github-actions'] nobody
0-81360
22 hours ago
0-81444
22 hours ago
0-81125
22 hours
36442 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2/Card): cardinality theorems about `Sym2 α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 95/0 Mathlib.lean,Mathlib/Data/Sym/Sym2/Card.lean 2 1 ['github-actions'] nobody
0-80790
22 hours ago
0-80868
22 hours ago
0-80549
22 hours
35657 Rida-Hamadani
author:Rida-Hamadani
feat(SimpleGraph): distance equal or greater than two in terms of common neighborhood Two lemmas classifying distances between two vertices according two their common neighborhood. This is the fork version of #12278. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 33/0 Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Data/ENat/Basic.lean 2 9 ['Rida-Hamadani', 'SnirBroshi', 'github-actions', 'vlad902'] nobody
0-80506
22 hours ago
0-80310
22 hours ago
5-65979
5 days
36395 JovanGerb
author:JovanGerb
chore: mark `toSubfield`, `toSubmodule`, `toSubring` as `reducible` This PR marks `IntermediateField.toSubfield`, `Subalgebra.toSubring` and `Subalgebra.toSubmodule` as `implicit_reducible`, because these are all used to construct instances on substructures, and hence need to be reducible when unifying type classes. This allows removing at least 100 backwards compatability flags (possibly more because I haven't checked these exhaustively) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 7/109 Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/RingTheory/DedekindDomain/LinearDisjoint.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 7 10 ['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar', 'riccardobrasca'] nobody
0-79494
22 hours ago
1-1667
1 day ago
1-45783
1 day
36445 ADedecker
author:ADedecker
feat(TestFunction): add `limitCLM`, a variant of `mkCLM` starting from buncled CLMs on D^n_K This will make it much more convenient to deduce not only continuity but also linearity from the work done on D^n_K. This makes it convenient enough to define differentiation (for example) directly as a CLM, hence avoiding the LM/CLM duplication. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 34/8 Mathlib/Analysis/Distribution/TestFunction.lean 1 1 ['github-actions'] nobody
0-77050
21 hours ago
0-76389
21 hours ago
0-76527
21 hours
36446 Vierkantor
author:Vierkantor
feat(Tactic/Linter): weekly lint for Verso syntax in docstrings This PR defines the linter option `linter.style.docStringVerso`, which tries to parse docstrings as Verso documents (while skipping the elaboration part), and reports any parse errors that may occur. This should help the eventual transition to Verso-based docstrings by already collecting examples of docstrings will need to be updated. Verso is not perfectly backward-compatible with Markdown, and so it doesn't make sense to enable this for all CI runs. Instead, I added the linter to the weekly report (that also contains the suggestions for replacing `tac; grind` with `grind`). Since this linter only checks syntax, not semantics, of Verso it won't detect issues that we also need to fix before enabling Verso in Mathlib, like: * `#`-headings being wrongly nested * code snippets referring to non-existent declarations * broken code blocks * code snippets not defining which language / parser to use etc. I argue it is better to incrementally tackle the syntax, since this would also directly improve the quality of our current Markdown rendering. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter documentation 68/1 Mathlib/Init.lean,Mathlib/Tactic/Linter/DocString.lean 2 1 ['github-actions'] nobody
0-75247
20 hours ago
0-75323
20 hours ago
0-75004
20 hours
36279 PatrickMassot
author:PatrickMassot
feat: covariant derivatives on vector bundles From the path towards the the Levi-Civita connection and Riemannian geometry. Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Michael Rothgang --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #36234 - [x] depends on: #36432 t-differential-geometry 484/0 Mathlib.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean 2 7 ['PatrickMassot', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'sgouezel'] nobody
0-73899
20 hours ago
0-73859
20 hours ago
1-6533
1 day
36064 marcelolynch
author:marcelolynch
ci: Push to the cache using OIDC and federated credentials This migration replaces static SAS-based cache upload auth with GitHub OIDC + Entra app registrations in Azure. Concretely, each workflow run gets a GitHub-issued OIDC token, and Azure AD (Entra) exchanges that token for a short-lived access token for Storage. We do this through app registrations configured with federated credentials, so no client secret or SAS needs to be stored for normal operation. A key design point is identity separation. We use two different app registrations (two app IDs): one for `master` workflows and one for non-master workflows. That lets us enforce different trust and permission boundaries in Azure RBAC, instead of giving one shared credential broad write access to every workflow type. Note that this separation is not implemented by this change: for now, both identities are still contributing to the same cache. On the cache client side (Cache/Requests.lean / Cache/Main.lean), auth selection is robust to empty bearer values, and there is migration-safe fallback behavior: if bearer upload fails with auth errors and SAS is available, it retries with SAS. The workflow also supports fallback to MATHLIB_CACHE_SAS when minting fails. Benefits: - OIDC/federated credentials remove dependency on a static shared upload secret. - Tokens are minted just-in-time and short-lived. - We can enforce least privilege cleanly by using separate app identities for different workflow classes. - Blast radius is reduced: master and non-master workflows can have different RBAC scopes. - We keep operational safety during migration by retaining controlled SAS fallback, but SAS is no longer the primary auth path. CI 124/34 .github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,.github/workflows/build_template.yml,.github/workflows/ci_dev.yml,Cache/Main.lean,Cache/README.md,Cache/Requests.lean 8 5 ['github-actions', 'marcelolynch', 'mathlib-merge-conflicts'] nobody
0-71047
19 hours ago
1-57121
1 day ago
3-8201
3 days
36318 grunweg
author:grunweg
feat: delaborators for `MDifferentiable(On)` And make a precise list which elaborators are missing delaborators at the moment. Continuation of #36230. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 158/15 Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation/Delaborators.lean,MathlibTest/DifferentialGeometry/Notation/Sphere.lean 3 1 ['github-actions'] nobody
0-70352
19 hours ago
1-57226
1 day ago
1-58135
1 day
36153 joelriou
author:joelriou
feat(Algebra/Homology/SpectralObject): induced morphisms that are epi/mono --- - [x] depends on: #36029 - [x] depends on: #36030 - [x] depends on: #36032 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-category-theory maintainer-merge
label:t-algebra$
270/0 Mathlib.lean,Mathlib/Algebra/Homology/SpectralObject/EpiMono.lean 2 18 ['github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robin-carlier', 'smorel394'] nobody
0-68713
19 hours ago
2-71513
2 days ago
3-34563
3 days
36451 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Matching): `edgeSet` is injective and strictly monotonic on matchings, and more API --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 45/11 Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Sym/Sym2.lean 3 1 ['github-actions'] nobody
0-67385
18 hours ago
0-68002
18 hours ago
0-67816
18 hours
36457 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat/Presheaf): the pushforward by a functor is monoidal If `F : C ⥤ D` is a functor and `R : Dᵒᵖ ⥤ CommRingCat` is a presheaf of commutative rings, then the pushforward functor from the category of presheaves of modules on `R` to the category of presheaves of modules on `F.op ⋙ R` is monoidal. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory t-algebra
label:t-algebra$
50/0 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/PushforwardZeroMonoidal.lean 2 1 ['github-actions'] nobody
0-62656
17 hours ago
0-62717
17 hours ago
0-62417
17 hours
36448 chrisflav
author:chrisflav
chore(CategoryTheory/Sites): generalize some universe parameters --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 12/11 Mathlib/CategoryTheory/Sites/CompatiblePlus.lean,Mathlib/CategoryTheory/Sites/CompatibleSheafification.lean,Mathlib/CategoryTheory/Sites/PreservesSheafification.lean 3 3 ['chrisflav', 'github-actions', 'leanprover-radar'] nobody
0-61843
17 hours ago
0-73319
20 hours ago
0-73000
20 hours
36306 chrisflav
author:chrisflav
feat(AlgebraicGeometry): `ℓ`-adic cohomology --- - [x] depends on: #36240 - [x] depends on: #36325 - [x] depends on: #36339 - [x] depends on: #36359 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry large-import 226/5 Mathlib.lean,Mathlib/AlgebraicGeometry/Cover/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Sites/ConstantSheaf.lean,Mathlib/AlgebraicGeometry/Sites/ElladicCohomology.lean,Mathlib/AlgebraicGeometry/Sites/Proetale.lean,Mathlib/AlgebraicGeometry/Sites/QuasiCompact.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean,Mathlib/CategoryTheory/Sites/SubcanonicalOver.lean 10 9 ['chrisflav', 'erdOne', 'github-actions', 'joelriou', 'mathlib-dependent-issues'] nobody
0-61097
16 hours ago
0-61780
17 hours ago
0-79117
21 hours
35598 Paul-Lez
author:Paul-Lez
feat(CategoryTheory/Abelian/Exact): add easy lemmas about short exactness Co-authored-by: Whysoserioushah --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 40/0 Mathlib.lean,Mathlib/CategoryTheory/Abelian/ShortExact.lean 2 3 ['Paul-Lez', 'github-actions', 'joelriou'] nobody
0-53777
14 hours ago
0-53842
14 hours ago
0-81831
22 hours
34637 mcdoll
author:mcdoll
feat(Analysis/Distribution): support We define the support of distributions. The definition applies to both tempered and classical distributions, but for this PR we only prove some elementary statements for tempered distributions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 255/0 Mathlib.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Topology/MetricSpace/Bounded.lean 3 21 ['ADedecker', 'github-actions', 'lauramonk', 'mcdoll', 'urkud'] ADedecker
assignee:ADedecker
0-53557
14 hours ago
1-73837
1 day ago
32-59547
32 days
31662 edwin1729
author:edwin1729
feat(Topology/Order): topological basis of scott topology on Complete… …PartialOrder --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR. (1/2) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober. The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) This first PR proves two prerequisites, namely: - the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - [x] depends on: #33061 **The next PR is here:** #31670 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 239/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 66 ['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] b-mehta
assignee:b-mehta
0-52358
14 hours ago
3-86398
3 days ago
10-52396
10 days
36461 chrisflav
author:chrisflav
chore(CategoryTheory/Sites): generalize universes in `Presieve.isSheafFor_iff_yonedaSheafCondition` We add a `shrinkYoneda` version and deduce the existing one from that. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 131/41 Mathlib/CategoryTheory/ShrinkYoneda.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/CategoryTheory/Sites/Sieves.lean 3 1 ['github-actions'] nobody
0-52326
14 hours ago
0-52400
14 hours ago
0-52081
14 hours
36319 themathqueen
author:themathqueen
feat(Analysis/CStarAlgebra/Unitary): left multiplication by a unitary as a linear isometric equivalence Co-authored-by: Jon Bannon <59937998+JonBannon@users.noreply.github.com> --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 171/0 Mathlib.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Maps.lean 3 5 ['github-actions', 'j-loreaux', 'themathqueen'] nobody
0-51437
14 hours ago
0-51467
14 hours ago
3-81448
3 days
35907 JJYYY-JJY
author:JJYYY-JJY
fix(Topology/Defs/Basic): preserve noncanonical topology instances in delaboration Preserve noncanonical topology instances in delaboration. Restore local instances before checking whether topology arguments can be omitted during delaboration, and print `IsOpen[t]`, `IsClosed[t]`, `closure[t]`, and `Continuous[t₁, t₂]` when the topology instances are not canonical in the current local-instance context. Previously, pretty-printing could silently drop noncanonical topology arguments, so declarations such as `LinearMap.mem_span_iff_continuous_of_finite` were rendered as if they used the default topology. Closes #33238 t-topology new-contributor 147/0 Mathlib/Topology/Defs/Basic.lean,MathlibTest/TopologyNonstandardNotation.lean 2 7 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
0-51231
14 hours ago
0-76718
21 hours ago
9-45896
9 days
35630 SnirBroshi
author:SnirBroshi
feat(Data/List/Basic): relate `dropLast` and `concat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/0 Mathlib/Data/List/Basic.lean 1 5 ['SnirBroshi', 'b-mehta', 'github-actions', 'joneugster'] joneugster
assignee:joneugster
0-49081
13 hours ago
11-67196
11 days ago
17-14425
17 days
35649 JovanGerb
author:JovanGerb
feat(Order/GaloisConnection/Defs): use `to_dual` for `GaloisInsertion`/`GaloisCoinsertion` This PR uses `to_dual` to generate declarations about `GaloisCoinsertion` from those for `GaloisInsertion`. - An entry is added to the name translation dictionary for this particular name translation. - One lemma in another file had to be tagged. - Some uses of `to_dual` have been replaced with `to_dual none`, because I had written them before `to_dual none` existed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 42/84 Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Order/GaloisConnection/Defs.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order.lean 5 5 ['JovanGerb', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] nobody
0-47042
13 hours ago
0-47071
12 hours ago
3-83031
3 days
36462 wwylele
author:wwylele
feat(Geometry/Euclidean): integration formula for μHE A step towards #34826. --- The location of `MeasureTheory.volume_eq_of_finrank_eq_one` feels a bit random. I'd like to put it in some early files, but it uses measure preserving of isometry in Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean, which is why it ended up there [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 138/5 Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean 3 14 ['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] nobody
0-45350
12 hours ago
0-50509
13 hours ago
0-50190
13 hours
30379 kckennylau
author:kckennylau
feat(RingTheory): isomorphism of graded rings We define `GradedRingEquiv 𝒜 ℬ` to mean isomorphisms of graded rings, with notation `𝒜 ≃+*ᵍ ℬ`. When possible, instead of parametrizing results over `(e : 𝒜 ≃+*ᵍ ℬ)`, you should parametrize over `[GradedEquivLike E 𝒜 ℬ] [RingEquivClass E A B] (e : E)`. Zulip discussion: [How to define graded ring isomorphisms?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/How.20to.20define.20graded.20ring.20isomorphisms.3F/with/543962394) --- Split from #26061. - [x] depends on: #30355 - [x] depends on: #30312 - [x] depends on: #30367 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 447/1 Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/RingEquiv.lean,Mathlib/RingTheory/GradedAlgebra/RingHom.lean 3 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] erdOne
assignee:erdOne
0-45262
12 hours ago
5-81755
5 days ago
5-84712
5 days
31135 kckennylau
author:kckennylau
feat(RingTheory): is localization iff is localization on saturation In this PR we show that `A` is a localization of `R` on the submonoid `S` iff it is so on the saturation of `S`. Crucially, the saturation of `S` is precisely the elements that become a unit in `A`. --- - [x] depends on: #31132 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 53/0 Mathlib.lean,Mathlib/RingTheory/Localization/Saturation.lean 2 11 ['alreadydone', 'chrisflav', 'github-actions', 'kckennylau', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] mattrobball
assignee:mattrobball
0-45261
12 hours ago
5-78204
5 days ago
5-79771
5 days
33736 fbarroero
author:fbarroero
feat(RingTheory/Polynomial/GaussNorm): The `gaussNorm` is an absolute value if `v` is a nonarchimedean absolute value We prove ``` Polynomial.gaussNorm_isAbsoluteValue {c : ℝ} {R : Type*} [Ring R] {v : AbsoluteValue R ℝ} (hna : IsNonarchimedean v) (hc : 0 < c) : IsAbsoluteValue (gaussNorm v c) ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 189/7 Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean 3 11 ['copilot-pull-request-reviewer', 'erdOne', 'fbarroero', 'github-actions'] nobody
0-45261
12 hours ago
29-801
29 days ago
57-69142
57 days
32033 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): injective dimension equal supremum of localized module In this PR, we proved that for module over Noetherian ring, projective dimension is equal to the supremum of injective dimension of localized modules over all prime/maximal ideals. --- - [ ] depends on: #31995 - [ ] depends on: #31998 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
184/0 Mathlib.lean,Mathlib/RingTheory/LocalProperties/InjectiveDimension.lean 2 4 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] ocfnash
assignee:ocfnash
0-45260
12 hours ago
4-25066
4 days ago
4-27252
4 days
33850 YuvalFilmus
author:YuvalFilmus
feat(Chebyshev/ChebyshevGauss): Chebyshev–Gauss formula We prove the Chebyshev–Gauss quadrature formula, which reduces an integral with respect to the Chebyshev weight function to a finite sum. --- - [ ] depends on: #33676 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 167/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-45260
12 hours ago
42-19564
42 days ago
42-20833
42 days
34031 lua-vr
author:lua-vr
feat(Dynamics/BirkhoffSum): add the maximal ergodic theorem --- This file exports three constants: ```lean public def birkhoffAverageSupSet (f : α → α) (g : α → ℝ) (a : ℝ) : Set α := {x | ∃ n : ℕ, a < birkhoffAverage ℝ f g n x} public theorem meas_birkhoffAverageSupSet_smul_const_le_integral (a : ℝ) (ha : 0 < a) : μ.real (birkhoffAverageSupSet f g a) • a ≤ ∫ x in birkhoffAverageSupSet f g a, g x ∂μ public theorem meas_birkhoffAverageSupSet_smul_const_le_norm (a : ℝ) (ha : 0 < a) : μ.real (birkhoffAverageSupSet f (fun x ↦ ‖g x‖) a) • a ≤ ∫ x, ‖g x‖ ∂μ ``` In my interpretation, the other constants are auxiliary, so I did not make them public. If it's of independent interest, `birkhoffMax` could be exported or moved to a dedicated file, but I'm not sure of that at the moment. - [x] depends on: #34030 - [x] depends on: #34029 - [x] depends on: #34025 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics 291/0 Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Maximal.lean 2 4 ['github-actions', 'lua-vr', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] urkud
assignee:urkud
0-45259
12 hours ago
6-402
6 days ago
6-453
6 days
34709 dennj
author:dennj
feat(Analysis/ODE): add discrete Grönwall inequality ## Summary Add discrete Grönwall inequality to `Mathlib/Analysis/ODE/DiscreteGronwall.lean` Provides bounds for recurrence inequalities of the form `u(n+1) ≤ c(n) * u(n) + b(n)` ### Main results - `discrete_gronwall_prod_general`: Product form working over any linearly ordered commutative ring - `prod_one_add_Ico_mono`: Auxiliary lemma for product comparisons over subintervals - `discrete_gronwall`: Classical exponential bound `u(n) ≤ (u(n₀) + ∑ b(k)) * exp(∑ c(i))` (ℝ-specific) - `discrete_gronwall_Ico`: Uniform bound over a finite interval (ℝ-specific) ## Related work Complements the continuous Grönwall inequality in `Mathlib.Analysis.ODE.Gronwall` ## References * Grönwall, T. H. (1919). "Note on the derivatives with respect to a parameter of the solutions of a system of differential equations". *Annals of Mathematics*, 20(4), 292–296. t-analysis new-contributor 174/0 Mathlib.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean 2 1 ['github-actions'] nobody
0-45259
12 hours ago
37-34675
37 days ago
37-34356
37 days
35400 vlad902
author:vlad902
feat(SimpleGraph): `IsEdgeReachable` lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 18/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean 1 7 ['SnirBroshi', 'github-actions', 'vlad902'] YaelDillies
assignee:YaelDillies
0-45258
12 hours ago
23-4364
23 days ago
23-4045
23 days
35705 jdhart81
author:jdhart81
feat(Data/ENNReal, Probability/Independence): division decomposition and self-independence Two general-purpose lemmas extracted from a formal verification of "The Intelligence Bound" (Hart 2025). --- ### New lemmas - `ENNReal.div_eq_div_mul_div`: Division decomposition `a / c = a / b * (b / c)` when `b ≠ 0` and `b ≠ ⊤`. Added to `Mathlib.Data.ENNReal.Inv`. - `IndepFun.of_self`: If `Y` is independent of itself under a probability measure, then `X` and `Y` are independent. Self-independence implies `Y` is a.e. constant. Added to `Mathlib.Probability.Independence.Basic`. ### Context These lemmas arose in formalizing information-theoretic results where: - The ENNReal division identity is needed for decomposing rate expressions (limsup of ratios) - The self-independence result bridges entropy = 0 and measure-theoretic independence ### References - Formal verification: https://github.com/jdhart81/intelligence-bound-lean - Paper: "The Intelligence Bound" (Hart 2025) new-contributor t-data 47/0 Mathlib/Data/ENNReal/Inv.lean,Mathlib/Probability/Independence/Basic.lean 2 10 ['SnirBroshi', 'github-actions', 'jdhart81', 'joneugster', 'kbuzzard'] joneugster
assignee:joneugster
0-45257
12 hours ago
12-80138
12 days ago
14-49821
14 days
35709 tb65536
author:tb65536
feat(AlgebraicGeometry/EllipticCurve/Reduction): define multiplicative and additive reduction This PR adds definitions of multiplicative and additive reduction. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-algebraic-geometry t-number-theory
label:t-algebra$
86/5 Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean 1 6 ['Multramate', 'github-actions', 'tb65536'] riccardobrasca
assignee:riccardobrasca
0-45256
12 hours ago
15-19397
15 days ago
15-19079
15 days
35812 khwilson
author:khwilson
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`). Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof. Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 392/33 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean 6 3 ['github-actions', 'joneugster'] urkud
assignee:urkud
0-45255
12 hours ago
12-34204
12 days ago
12-36851
12 days
36019 stepan2698-cpu
author:stepan2698-cpu
chore: update undergrad.yaml Adds links to various algebraic subjects which are listed in undergrad.yaml as missing from mathlib. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 14/13 docs/undergrad.yaml 1 3 ['SnirBroshi', 'github-actions', 'stepan2698-cpu'] robin-carlier
assignee:robin-carlier
0-45252
12 hours ago
3-61619
3 days ago
8-3240
8 days
36069 Equilibris
author:Equilibris
feat(Data/PFunctor): Universe generic W Previously `W.ind` was limited to `Prop`. It can for free be changed to `Sort w` forall w. --- When changing adding `elab_as_elim` it broke the usages in `Fix.lean`. I had to change `apply ...`s to use `induction ... using ...` but this a minor change. I added a `simp` lemma to the `w_ind_wMk` as: it is `rfl` and will almost certainly we used at reference site. It might in the future be useful to add `simp` to `wRec_eq` as well. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 42/32 Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean 2 2 ['github-actions'] joneugster
assignee:joneugster
0-45251
12 hours ago
7-4100
7 days ago
7-5465
7 days
36155 grunweg
author:grunweg
feat: custom elaborators for TangentSpace and tangentMap(Within) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 58/28 Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Topology/FiberBundle/Constructions.lean 7 2 ['github-actions', 'mathlib-merge-conflicts'] sgouezel
assignee:sgouezel
0-45250
12 hours ago
5-48460
5 days ago
1-9762
1 day
36214 kebekus
author:kebekus
feat: trivial lemmas and simp lemmas concerning `iteratedFDeriv` and `taylorSeries` To prepare for upcoming PRs, add several trivial lemmas and simp lemmas concerning `iteratedFDeriv` and `taylorSeries`. Use `@[to_fun]` to port several existing statements to match new style conventions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 94/6 Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean 6 7 ['github-actions', 'grunweg', 'kebekus'] j-loreaux
assignee:j-loreaux
0-45248
12 hours ago
5-74955
5 days ago
0-11
11 seconds
36264 kebekus
author:kebekus
feat: introduce canonical factors, a.k.a. "Blaschke factors", as used in complex analysis Introduce canonical factors, also known as "Blaschke factors", used in complex analysis when discussing meromorphic functions defined on spheres. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 169/0 Mathlib.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean 2 1 ['github-actions'] j-loreaux
assignee:j-loreaux
0-45248
12 hours ago
unknown
0-0
0 seconds
36278 kebekus
author:kebekus
feat: Poisson Integral Formula for harmonic functions Establish two versions of the Poisson Integral Formula for harmonic functions on arbitrary disks in the complex plane, formulated with the real part of the Herglotz–Riesz kernel of integration and with the Poisson kernel, respectively. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), formalizing Value Distribution Theory for meromorphic functions on the complex plane. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 111/0 Mathlib.lean,Mathlib/Analysis/Complex/Harmonic/Poisson.lean,Mathlib/Analysis/Complex/Poisson.lean 3 1 ['github-actions'] j-loreaux
assignee:j-loreaux
0-45247
12 hours ago
unknown
0-0
0 seconds
36283 Vierkantor
author:Vierkantor
chore(Tactic/GRewrite): rewrite `grw` family tactic docstrings This PR rewrites the docstrings for tactics in the `grw` family: `grw`, `grewrite`, `apply_rw`, `apply_rewrite`, `nth_rw` and `nth_rewrite`, to consistently match the official style guide, to make sure they are complete while not getting too long. The `grw` tactic docstring was nice and complete, but the others were very brief and needed expansion (especially since it took me quite some time to understand the motivation behind `apply_rw`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) documentation t-meta 141/23 Mathlib/Tactic/GRewrite/Elab.lean 1 11 ['JovanGerb', 'Vierkantor', 'github-actions'] adamtopaz
assignee:adamtopaz
0-45246
12 hours ago
4-73349
4 days ago
4-73030
4 days
36305 JovanGerb
author:JovanGerb
feat(translate): support `to_additive (attr := to_fun)` This PR adds extensible support for letting `to_additive`/`to_dual` interact with other attributes that create declarations, such as `to_fun` and `simps`. Previously, this behaviour was hard-coded just for `simps`. This PR removes `simps` from the imports of `Translate.Core`. For this, `simps` is removed from the existing attribute linter. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 98/128 Mathlib.lean,Mathlib/Algebra/FiniteSupport/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Lean/Meta/Simp.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/ToFun.lean,Mathlib/Tactic/Translate/Attributes.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean 16 3 ['JovanGerb', 'fpvandoorn', 'github-actions'] j-loreaux
assignee:j-loreaux
0-45245
12 hours ago
4-4081
4 days ago
4-40440
4 days
36310 smmercuri
author:smmercuri
feat: `lt` lemmas for `OrderMonoidIso` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
8/0 Mathlib/Algebra/Order/Hom/Monoid.lean 1 1 ['github-actions'] dagurtomas
assignee:dagurtomas
0-45244
12 hours ago
4-19962
4 days ago
4-19643
4 days
36314 JovanGerb
author:JovanGerb
feat(gcongr): support `rintro` patterns This PR adds support for `rintro` patterns in the `with` clause of `gcongr`. This makes it consistent with `congr!`. I've only found one case in mathlib where this could actually be used to shorten a proof. I split the gcongr `elab` into a separate `syntax` and `elab_rules`, which makes it easier to deal with the syntax. I noticed that the implementation of `congr!` was unnecessarily converting back and forth between `rintroPat` and `rcasesPat`, so I changed it to simply only use `rintroPat`, and then did the same in `gcongr`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 41/28 Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Tactic/CongrExclamation.lean,Mathlib/Tactic/Convert.lean,Mathlib/Tactic/Core.lean,Mathlib/Tactic/GCongr/Core.lean 5 1 ['github-actions'] dupuisf
assignee:dupuisf
0-45243
12 hours ago
4-8261
4 days ago
4-8070
4 days
36328 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve): improve API for maps and base changes Dot notation for concrete Weierstrass curves (`Affine`/`Jacobian`/`Projective`) does not quite work on `W : WeierstrassCurve F` even though they're all abbreviations of `WeierstrassCurve`, which is annoying for functions that return `WeierstrassCurve`s (currently just `map`, `baseChange`, and `variableChange`). For instance, for an `A : Affine F`, the expression `A.baseChange K` is a `WeierstrassCurve K` rather than an `Affine K`, so `(A.baseChange K).polynomial` will not work since `polynomial` is a function of `Affine K` rather than `WeierstrassCurve K`; instead we have to do `(A.baseChange K).toAffine.polynomial`, which is wordy. This PR introduces abbreviations `Affine/Jacobian/Projective.map/baseChange` to get around this, and introduces scoped notations `W/K`, where the slashes are given by `\textf`. The notation `W⟮K⟯` for `(W.baseChange K)Point` seems to be useless so far and can now be replaced by `(W/K).Point`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 284/288 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean 13 1 ['github-actions'] alexjbest
assignee:alexjbest
0-45241
12 hours ago
3-57734
3 days ago
3-58047
3 days
36332 mike1729
author:mike1729
feat(Analysis/Normed/Module/WeakDual): register bornology and boundedness API ## Description This PR registers `Bornology` instance and introduces a boundedness API as discussed [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instBornology.20for.20WeakSpace.20and.20WeakDual/with/577457935). ### Main additions - **`WeakDual.instBornology`**: Bornology instance on `WeakDual 𝕜 E` inherited from `StrongDual 𝕜 E` via `inferInstanceAs`. This makes `IsBounded` available directly on weak dual sets, where boundedness means operator-norm boundedness. - **`isVonNBounded_iff_pointwise_bounded`**: A set `s` in `WeakDual 𝕜 E` is von Neumann bounded (w.r.t. the weak-* topology) iff it is pointwise bounded: every `x : E` has `‖f x‖ ≤ r x` for all `f ∈ s`. - **`isBounded_iff_isVonNBounded`**: For normed spaces over `ℝ` or `ℂ`, norm-boundedness and weak-* von Neumann boundedness coincide (via Banach–Steinhaus). - **`isBounded_iff_pointwise_bounded`**: Combines the above two: norm-boundedness ↔ pointwise boundedness. - **`isBounded_polar`** and **`isBounded_closedBall`**: Standalone lemmas replacing repeated inline `isBounded_toStrongDual_preimage_iff_isBounded.mpr ...` patterns. - **Simp lemmas**: `isBounded_toStrongDual_preimage_iff_isBounded` and `isBounded_toWeakDual_preimage_iff_isBounded` for translating between weak and strong dual boundedness. ### API simplification The existing lemmas `isClosed_image_coe_of_bounded_of_closed`, `isCompact_of_bounded_of_closed`, and `isSeqCompact_of_isBounded_of_isClosed` now take `IsBounded s` directly instead of the more verbose `IsBounded (StrongDual.toWeakDual ⁻¹' s)`, since the two are definitionally equal with the new bornology instance. ### Minor changes - Replaced `grind` tactic usage with explicit term - Fixed deprecation dates from 2024-11-19 to 2025-11-19 - Renamed local variable `F` to `E` for consistency with the rest of the file - Added comprehensive module and declaration docstrings --- - [ ] depends on: — - [ ] modifies an existing declaration: yes (simplified signatures of `isClosed_image_coe_of_bounded_of_closed`, `isCompact_of_bounded_of_closed`, `isSeqCompact_of_isBounded_of_isClosed`) - [ ] adds new declarations: yes (`instBornology`, `isBounded_toStrongDual_preimage_iff_isBounded`, `isBounded_toWeakDual_preimage_iff_isBounded`, `isVonNBounded_iff_pointwise_bounded`, `isBounded_iff_isVonNBounded`, `isBounded_iff_pointwise_bounded`, `isBounded_closedBall`, `isBounded_polar`) --- Open in Gitpod --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 205/70 Mathlib/Analysis/Normed/Module/WeakDual.lean 1 2 ['github-actions'] j-loreaux
assignee:j-loreaux
0-45240
12 hours ago
3-62809
3 days ago
3-62592
3 days
36201 themathqueen
author:themathqueen
feat(Analysis/CStarAlgebra): set of star projections equals the extreme points of the nonnegative closed unit ball Co-authored-by: Jon Bannon <59937998+JonBannon@users.noreply.github.com> Co-authored-by: Jireh Loreaux --- - [x] depends on: #35997 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 61/0 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Extreme.lean 2 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-40427
11 hours ago
0-40312
11 hours ago
0-45808
12 hours
26770 Jun2M
author:Jun2M
feat(Combinatorics/Graph): subgraph relations on `Graph` This PR creates a new file `Combinatorics/Graph/Subgraph.lean`. In it, the PR introduces a partial order on graphs by subgraph relation, defines relations `IsInducedSubgraph`, `IsSpanningSubgraph` and `IsClosedSubgraph`. Co-authored-by: Peter Nelson --- - [x] depends on: #34783 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 362/0 Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean 2 77 ['Jun2M', 'YaelDillies', 'github-actions', 'lauramonk', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] YaelDillies
assignee:YaelDillies
0-39974
11 hours ago
4-73141
4 days ago
163-34471
163 days
35745 khwilson
author:khwilson
feat(Mathlib/Analysis/Asymptotics/Defs): congr lemmas for IsBigO* This PR primarily provides two calculational lemmas that are commonly used in bounding functions. First, it provides `IsBigO*.sum_congr`. This theorem allows the user to bound each term of a (finite) sum individually. This is different than `IsBigO.sum` which requires all terms to be bound by the _same_ function. Second, it provides `IsBigO*.sum_congr'`. This theorem allows the user to bound the terms of a sum individually _when the length of the sum changes with respect to the running variable_. This is a common setup with certain techniques such as the method of the hyperbola. Note: This makes the overall length of this file go above 1500 lines. I'm happy to break it up at the request of reviewers, but that's a bigger change to the API. AI Usage: Looking up various lemma names in Google Gemini. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 91/1 Mathlib/Analysis/Asymptotics/Defs.lean 1 12 ['github-actions', 'j-loreaux', 'khwilson'] j-loreaux
assignee:j-loreaux
0-39033
10 hours ago
0-59652
16 hours ago
13-51366
13 days
36324 psinary-sketch
author:psinary-sketch
feat(NumberTheory/LSeries): Schwarz reflection for completedRiemannZeta₀ --- Three new theorems about `completedRiemannZeta₀`: - `completedRiemannZeta₀_conj`: Schwarz reflection `Λ₀(conj s) = conj(Λ₀(s))` - `completedRiemannZeta₀_im_eq_zero_on_half`: the completed zeta function is real-valued on the critical line - `completedRiemannZeta₀_conj_eq_self_on_half`: equivalent fixed-point formulation The Schwarz reflection follows from the Mellin representation: the kernel is real-valued, so the integral commutes with conjugation via `integral_conj`. The critical-line results compose this with the functional equation. t-number-theory new-contributor 152/0 Mathlib.lean,Mathlib/NumberTheory/LSeries/SchwarzReflection.lean 2 2 ['github-actions'] alexjbest
assignee:alexjbest
0-38588
10 hours ago
0-38652
10 hours ago
0-39196
10 hours
36437 Thmoas-Guan
author:Thmoas-Guan
feat(Homology): HasInjectiveDimensionLT with enough projectives For category woth enough projectives, `HasInjectiveDimensionLT X n` only need `Subsingleton (Ext Y X n)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 23/4 Mathlib/CategoryTheory/Abelian/Injective/Dimension.lean,Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean 2 2 ['github-actions', 'joelriou'] nobody
0-37707
10 hours ago
0-37707
10 hours ago
0-37745
10 hours
36463 AlexeyMilovanov
author:AlexeyMilovanov
feat(Data.Nat.Bits): add Nat.ofBits and prove bits_injective This PR introduces `Nat.ofBitsList` for `List Bool` and provides the missing proofs that the standard binary representation `Nat.bits` is injective (`Nat.bits_injective`) and possesses a right inverse for normalized lists (`Nat.bits_ofBitsList`). `ofBitsList` is implemented as an `abbrev` using `foldr` (keeping it transparent to tactics like `simp`). It serves as the exact left inverse to `bits`. Furthermore, `bits_ofBitsList` establishes that `bits` and `ofBitsList` form a bijection between `ℕ` and the set of lists with no trailing `false` values. This avoids the name collision with `Nat.ofBits` from `Batteries` and aligns with previous Zulip discussions (see [here](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration)) regarding the utility of having a complete list-based API for `Nat.bits` in the library. CC: @linesthatinterlace - Adds `Nat.ofBitsList` (as an `abbrev`) - Adds `Nat.ofBitsList_bits` (left inverse property) - Adds `Nat.bits_injective` - Adds `Nat.ofBitsList_eq_zero_iff` (helper lemma for lists without trailing zeros) - Adds `Nat.bits_ofBitsList` (right inverse property) t-data new-contributor 68/1 Mathlib/Data/Nat/Bits.lean 1 3 ['github-actions', 'linesthatinterlace'] nobody
0-36936
10 hours ago
0-46841
12 hours ago
0-46622
12 hours
36436 Thmoas-Guan
author:Thmoas-Guan
feat(Homology): HasProjectiveDimensionLT with enough injectives For category woth enough projectives, `HasProjectiveDimensionLT X n` only need `Subsingleton (Ext X Y n)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 23/4 Mathlib/CategoryTheory/Abelian/Projective/Dimension.lean 1 2 ['github-actions', 'joelriou'] nobody
0-36127
10 hours ago
0-67627
18 hours ago
0-25501
7 hours
36466 wwylele
author:wwylele
feat(Geometry/Euclidean): misc lemma about μHE Some building blocks for #34826 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry t-measure-probability 61/0 Mathlib/Geometry/Euclidean/Volume/Measure.lean 1 2 ['copilot-pull-request-reviewer', 'github-actions'] nobody
0-35947
9 hours ago
0-36866
10 hours ago
0-36547
10 hours
36467 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): `fromRel` & `ToRel` order isomorphism This obsoletes the existing `fromRel` order embedding, but adds an order embedding for `ToRel` since it can avoid `Subtype` which makes it more useful (e.g. it shows `ToRel` is injective). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 35/10 Mathlib/Data/Sym/Sym2.lean 1 1 ['github-actions'] nobody
0-33279
9 hours ago
0-33354
9 hours ago
0-33035
9 hours
36469 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hamiltonian): if mapping a Hamiltonian walk results in a path, the mapping function is injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 29/4 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 2 1 ['github-actions'] nobody
0-28820
8 hours ago
0-28986
7 hours ago
0-28667
7 hours
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 72/3 Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean 1 9 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
0-28369
7 hours ago
0-43335
11 hours ago
1-68107
1 day
33121 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hasse): paths in a graph are isomorphic to path graphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 43/1 Mathlib/Combinatorics/SimpleGraph/Hasse.lean 1 23 ['MrQubo', 'SnirBroshi', 'erdOne', 'github-actions', 'jcommelin', 'mitchell-horner'] b-mehta
assignee:b-mehta
0-27631
7 hours ago
18-42130
18 days ago
77-22727
77 days
30526 SnirBroshi
author:SnirBroshi
chore(Logic/Relation): use `≤` to spell subrelation Replace every `∀ x y, r x y → r' x y` with `r ≤ r'` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 161/136 Mathlib.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Filtered/Connected.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/Data/Quot.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/Prop.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Topology/Gluing.lean 25 15 ['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] thorimur
assignee:thorimur
0-27269
7 hours ago
0-27296
7 hours ago
46-51403
46 days
35647 BryceT233
author:BryceT233
feat(RingTheory/Ideal/Quotient): add a canonical inclusion map This is the second PR split from the larger PR https://github.com/leanprover-community/mathlib4/pull/34936 to make the review process easier. It introduces `Submodule.powSmulQuotInclusion`, which is the canonical inclusion from `I ^ a • N ⧸ I ^ b • (I ^ a • N)` to `M ⧸ I ^ c • N` where `c = b + a`, and provides auxiliary lemmas for it --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 37/0 Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 1 9 ['BryceT233', 'erdOne', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
0-24115
6 hours ago
10-38697
10 days ago
16-53165
16 days
36362 bryangingechen
author:bryangingechen
ci: only generate auto-merge token if the label is present Similar to #35958, we don't need to generate this token if the steps that use it don't need to run. This was causing a build failure for the dependabot PR: #36358 I also cleanup a TODO from #29726. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 12/21 .github/workflows/build_template.yml 1 2 ['github-actions', 'mathlib-merge-conflicts'] nobody
0-23752
6 hours ago
0-23775
6 hours ago
2-80744
2 days
36443 Fieldnote-Echo
author:Fieldnote-Echo
feat(Combinatorics/SimpleGraph): add SimpleGraph.ball (open metric ball) Add `SimpleGraph.ball`, the open ball in the graph extended metric, to `Mathlib.Combinatorics.SimpleGraph.Metric`. ## Summary - Define `SimpleGraph.ball c r := {v | G.edist c v < r}` with `r : ℕ∞` - Add basic lemmas: `mem_ball`, `ball_zero`, `ball_one`, `ball_top`, `ball_subset_ball`, `mem_ball_self`, `mem_ball_comm` - Update module docstring and tags - No new imports ## Design decisions - **Open ball** (strict `<`, not `≤`): `ball c ⊤` coincides with the connected component of `c`, whereas a closed ball would give `closedBall c ⊤ = univ`. - **Named `SimpleGraph.ball`** (not `eball`): since `dist`-valued balls are less natural for disconnected graphs, the `e` prefix is unnecessary. - **Graph-specific** (not via `PseudoEMetricSpace`): avoids importing `ℝ`. Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/SimpleGraph.20metric.20balls/with/577846803). ## AI assistance disclosure Claude (Opus 4.6) was used to help draft and iterate on the implementation. I reviewed the resulting code line by line, verified the proofs compile, and I understand and vouch for the final contents of this PR. t-combinatorics new-contributor 76/3 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 18 ['Fieldnote-Echo', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'lauramonk'] nobody
0-21728
6 hours ago
0-79276
21 hours ago
0-78957
21 hours
36411 justus-springer
author:justus-springer
feat(CategoryTheory/Limits/Preserves/Shapes/Kernels): Preserve monos of preserve kernels If a functor to a normal epi category preserves kernels and zero morphisms, then it preserves monomorphisms. --- - [x] depends on: #36410 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 19/0 Mathlib/CategoryTheory/Limits/Shapes/NormalMono/Equalizers.lean 1 7 ['b-mehta', 'github-actions', 'joelriou', 'justus-springer', 'leanprover-radar', 'mathlib-dependent-issues'] nobody
0-19251
5 hours ago
1-12090
1 day ago
1-12812
1 day
36143 EtienneC30
author:EtienneC30
feat: multivariate Gaussian distributions Define the standard Gaussian distribution over a Euclidean space and multivariate Gaussian distributions over `EuclideanSpace ℝ ι`. Co-authored-by: @RemyDegenne --- - [x] depends on: #36179 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability brownian 293/0 Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/Multivariate.lean 2 2 ['github-actions', 'mathlib-dependent-issues'] nobody
0-15325
4 hours ago
6-1951
6 days ago
6-1847
6 days
35785 Brian-Nugent
author:Brian-Nugent
feat(CategoryTheory/Topology): Add Flasque Sheaves This PR defines flasque sheaves on a topological space as sheaves where all restriction morphisms are epimorphisms. The main result of this PR is `TopCat.Sheaf.IsFlasque.epi_of_shortExact` which says a short exact sequence where the first sheaf is flasque remains exact on sections. --- - [x] depends on: #34267 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 274/0 Mathlib.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean 5 48 ['Brian-Nugent', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smorel394'] dagurtomas
assignee:dagurtomas
0-13951
3 hours ago
2-6793
2 days ago
4-52575
4 days
33780 ooovi
author:ooovi
feat(Geometry/Convex/Cone): lineality space of pointed cones Define the lineality space `PointedCone.lineal` as the submodule `C ⊓ -C`. Prove that it is the largest submodule of the cone, which is sometimes used as an alternative definition. Co-authored-by: Martin Winter --- dependency of #33664 - [x] depends on #33761 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry 42/1 Mathlib/Geometry/Convex/Cone/Pointed.lean 1 19 ['artie2000', 'eric-wieser', 'github-actions', 'martinwintermath', 'mathlib4-merge-conflict-bot', 'ooovi', 'vihdzp'] nobody
0-13761
3 hours ago
15-18244
15 days ago
27-38678
27 days
35675 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory/Smooth): some lemma about formally smooth This PR mainly formalized the result [[Stacks 031L](https://stacks.math.columbia.edu/tag/031L)] This is a preliminary of Cohen Structure Theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 265/4 Mathlib.lean,Mathlib/RingTheory/RingHom/Smooth.lean,Mathlib/RingTheory/Smooth/Quotient.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean 4 12 ['Thmoas-Guan', 'github-actions', 'jcommelin'] jcommelin
assignee:jcommelin
0-11374
3 hours ago
7-82393
7 days ago
15-76886
15 days
35798 xroblot
author:xroblot
feat(RamificationInertia): compute the degrees of the decomposition field and inertia field Prove the degree formulas for the decomposition and inertia fields. --- - [x] depends on: #35530 - [x] depends on: #35303 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-number-theory 95/5 Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean 1 9 ['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'xroblot'] nobody
0-10827
3 hours ago
1-6014
1 day ago
1-11024
1 day
36447 sharky564
author:sharky564
feat(Analysis/Topology): Generalize Riesz' theorem to locally compact… … T2 topological vector spaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor large-import 111/63 Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean 2 5 ['CoolRmal', 'github-actions', 'sharky564'] nobody
0-9770
2 hours ago
0-73831
20 hours ago
0-73541
20 hours
36287 ScottCarnahan
author:ScottCarnahan
feat(Algebra/Lie): add graded Lie ring class This PR adds graded bracket and graded Lie ring classes. It is a first step toward Lie algebras graded by additive commutative monoids. The design is mostly copied from the graded ring API, but with Props enforcing additivity of degree. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
181/0 Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/Lie/Graded.lean 3 2 ['github-actions'] ocfnash
assignee:ocfnash
0-8766
2 hours ago
4-70431
4 days ago
4-70112
4 days
30077 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfBivariate Two specializations of the implicit function theorem, one applying to an uncurried bivariate function and one applying to a curried bivariate function. --- This PR is a synthesis of material from others which failed to make progress. But there seems always to have been a different reason for it, so I'm afraid I keep trying where maybe I shouldn't. #26985 reviewed by j-loreaux and later on by winstonyin. #16743 and #26300 reviewed by sgouezel. [Zulip chat](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Inverse.20function.20theorem.20and.20ContinuousLinearEquiv/with/567586606) with Yury Kudryashov. There are certain changes agreed upon in those PRs, e.g. to existing names, that are doubtless good but that I have excised from this PR to avoid distraction. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 306/0 Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Partial.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Bivariate.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-8660
2 hours ago
21-58779
21 days ago
36-33075
36 days
26160 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation Add the following lemmas concerning variation of a VectorMeasure: * `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`. * `variation_neg`: `(-μ).variation = μ.variation`. * `variation_zero`: `(0 : VectorMeasure X V).variation = 0`. * `absolutelyContinuous` Co-authored-by: @yoh-tanimoto - [x] depends on: #26156 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 340/20 Mathlib.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/Order/Partition/Finpartition.lean 8 28 ['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel', 'yoh-tanimoto'] nobody
0-6746
1 hour ago
0-6698
1 hour ago
36-45632
36 days
36334 Multramate
author:Multramate
feat(AlgebraicGeometry/EllipticCurve): add notation and pretty printer for points Co-authored-by: Kenny Lau --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 41/0 Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean 3 11 ['CBirkbeck', 'Multramate', 'erdOne', 'github-actions', 'riccardobrasca'] nobody
0-6488
1 hour ago
3-61812
3 days ago
3-61493
3 days
36426 kim-em
author:kim-em
chore: disable checkType env_linter This PR disables the `checkType` env_linter, which takes ~44% of total linting time to type-check every declaration statement. This is redundant since all declarations are already type-checked when added to the environment, and external kernel checkers (lean4checker, trepplein) verify Mathlib regularly. No one on Zulip recalls ever seeing it fire in practice. 🤖 Prepared with Claude Code 8/0 Mathlib/Init.lean 1 2 ['JovanGerb', 'github-actions'] nobody
0-6409
1 hour ago
1-28241
1 day ago
1-31127
1 day
36476 marcelolynch
author:marcelolynch
ci: Use splice bot action with in-job token minting Update to use the `leanprover-community/SpliceBot` action, which allows for same-job token minting CI 14/20 .github/workflows/splice_bot_wf_run.yaml 1 1 ['github-actions'] nobody
0-4800
1 hour ago
0-4876
1 hour ago
0-4557
1 hour
36091 JJYYY-JJY
author:JJYYY-JJY
feat(Analysis.LocallyConvex.Separation): add Eidelheit's separation theorem Adds `geometric_hahn_banach_of_interior_nonempty`, formalizing Eidelheit's separation theorem for disjoint convex sets where one has a nonempty interior. This resolves the longstanding TODO in `Mathlib.Analysis.LocallyConvex.Separation`. The patch also removes the TODO for the topological property `Convex ℝ s → interior (closure s) ⊆ s`, as this is already handled by `Convex.closure_interior_eq_closure_of_nonempty_interior` (imported from `Mathlib.Analysis.Convex.Topology`). Key implementation details: * Uses `geometric_hahn_banach_open` to separate `interior A` and `B`. * Requires `B.Nonempty` to guarantee the separating continuous linear functional is nontrivial (`f ≠ 0`), avoiding the triviality trap where `A` covers the entire space. * Uses `closure_minimal` to extend the weak inequality from `interior A` to the entirety of `A`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Interior.20of.20closure.20for.20convex.20sets/with/577060103 t-analysis new-contributor 34/5 Mathlib/Analysis/LocallyConvex/Separation.lean 1 15 ['CoolRmal', 'copilot-pull-request-reviewer', 'faenuccio', 'github-actions', 'wwylele'] faenuccio
assignee:faenuccio
0-4673
1 hour ago
3-31565
3 days ago
7-45738
7 days
36458 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(Algebra/Group): some API lemmas for powMonoidHom This adds a few lemmas about `powMonoidHom`/`nsmulAddMonoidHom` and one convenience lemma that says that the range (as a `MonoidHom`/`AddMonoidHom`) of a `MulEquiv`/`AddEquiv` is the top subobject. It also defines the isomorphism `((i : ι) → A i) ⧸ (powMonoidHom n).range ≃* ((i : ι) → A i ⧸ (powMonoidHom n).range)` and its additive version. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
67/2 Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean 4 1 ['github-actions'] nobody
0-4634
1 hour ago
0-60799
16 hours ago
0-60480
16 hours
36477 JovanGerb
author:JovanGerb
fix(Translate): don't panic when translating an axiom This PR fixes a panic in `to_additive`/`to_dual` which happens when translating an axiom. This panic also appears when translating an imported theorem (in the module system). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 13/6 Mathlib/Tactic/Translate/Core.lean,MathlibTest/toAdditive.lean 2 1 ['github-actions'] nobody
0-4349
1 hour ago
0-4428
1 hour ago
0-4109
1 hour
36357 yuanyi-350
author:yuanyi-350
feat(Analysis/Deriv): add some lemmas for `iteratedDeriv` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 84/8 Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean 5 7 ['github-actions', 'j-loreaux', 'urkud', 'yuanyi-350'] nobody
0-3912
1 hour ago
0-26241
7 hours ago
1-84595
1 day
36470 joelriou
author:joelriou
feat(CategoryTheory/Monoidal): the left adjoint of a lax monoidal functor is oplax monoidal --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 61/0 Mathlib/CategoryTheory/Monoidal/Functor.lean 1 1 ['github-actions'] nobody
0-3036
50 minutes ago
0-3069
45 minutes ago
0-3168
52 minutes
36473 AlexeyMilovanov
author:AlexeyMilovanov
feat(Computability.Primrec.List): add primrec proofs for drop, takeWhile, and dropWhile This PR adds missing proofs that several standard `List` operations are primitive recursive (`Primrec`). Specifically, it introduces: - `List.Primrec.drop`: `List.drop` is primitive recursive (using `nat_rec'`). - `List.Primrec.takeWhile`: `List.takeWhile` is primitive recursive (using `list_rec`). - `List.Primrec.dropWhile`: `List.dropWhile` is primitive recursive (using `list_rec`). - `List.Primrec.length_takeWhile`: The length of `takeWhile` is primitive recursive. These are basic computability properties for lists that were currently missing from `Mathlib.Computability.Primrec.List`. All proofs use standard combinators and `of_eq`. t-computability new-contributor 39/1 Mathlib/Computability/Primrec/List.lean 1 2 ['github-actions'] Komyyy
assignee:Komyyy
0-2994
49 minutes ago
0-11367
3 hours ago
0-11048
3 hours
36479 justus-springer
author:justus-springer
feat(CategoryTheory/MorphismProperty): Morphism property from object properties Introduces `MorphismProperty.ofObjectProperty` with basic API. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 70/0 Mathlib.lean,Mathlib/CategoryTheory/MorphismProperty/OfObjectProperty.lean 2 1 ['github-actions'] nobody
0-1255
20 minutes ago
0-1249
15 minutes ago
0-1031
17 minutes
36478 TJHeeringa
author:TJHeeringa
feat(Analysis/Matrix): Added Schur's product Added Schur's product, i.e. the Hadamard product of two finite positive semi-definite matrices is again a positive semi-definite matrix. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 28/0 Mathlib/Analysis/Matrix/Order.lean 1 3 ['github-actions'] nobody
0-1116
18 minutes ago
0-1549
20 minutes ago
0-1230
20 minutes
35481 FrankieeW
author:FrankieeW
chore(NumberTheory/Zsqrtd): inline duplicated order lemmas into instances This PR follows reviewer feedback by removing duplicated order/additive wrapper theorems in `Zsqrtd` and inlining the proofs into the corresponding typeclass instances. Changes include: - remove redundant wrappers such as `Zsqrtd.le_total`, `Zsqrtd.add_le_add_left`, `Zsqrtd.le_of_add_le_add_left`, `Zsqrtd.add_lt_add_left`, and `Zsqrtd.le_antisymm` - keep the canonical API through `LinearOrder` / ordered additive structure fields - update downstream use in `PellMatiyasevic` to the canonical theorem (`_root_.le_antisymm`) This reduces namespace-level duplicate APIs and keeps proofs aligned with standard typeclass lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-number-theory 26/10 Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean 2 10 ['FrankieeW', 'MichaelStollBayreuth', 'github-actions', 'vihdzp'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
0-1115
18 minutes ago
19-40212
19 days ago
20-82134
20 days
35950 kim-em
author:kim-em
feat(Tactic): add inferInstanceAs% to fix type leakage This PR adds `inferInstanceAs%`, a drop-in replacement for `inferInstanceAs` that prevents "type leakage" in synthesized instances. When `inferInstanceAs (SomeClass A)` is used to define `SomeClass B` (where `B` is a non-reducible alias for `A`), the synthesized instance may contain lambda binder domains (and other sub-expressions) referring to `A` or deeper unfoldings instead of `B`. This is invisible at `default` transparency but causes `isDefEq` failures at `reducibleAndInstances` transparency — which is the level used by `grind`'s `checkInst`. `inferInstanceAs%` fixes this by recursively normalizing the constructor tree: it WHNFs to expose the constructor, patches carrier type parameters via `isDefEq` matching against the unfolding chain, recursively processes instance-implicit fields, and replaces lambda binder domains in function fields. As a demonstration, this fixes the `grind` failure in `FiniteResidueField` that was worked around with `#adaptation_note` and a manual proof on `nightly-testing`. 🤖 Prepared with Claude Code t-meta 480/12 Mathlib.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Tactic.lean,Mathlib/Tactic/InferInstanceAsPercent.lean,MathlibTest/InferInstanceAsPercent.lean 5 43 ['JovanGerb', 'adomani', 'astrainfinita', 'github-actions', 'kim-em', 'leanprover-radar', 'mathlib-bors', 'riccardobrasca'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
0-965
16 minutes ago
5-34800
5 days ago
7-54624
7 days

New contributors' PRs on the review queue

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
33817 FlAmmmmING
author:FlAmmmmING
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem of smallSchroder. In the previous definition, the small Schröder numbers were defined as ```LaTeX s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3... ``` , which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics large-import 61/39 Mathlib/Combinatorics/Enumerative/Schroder.lean 1 19 ['FlAmmmmING', 'github-actions', 'vihdzp'] awainverse
assignee:awainverse
40-45149
1 month ago
55-34425
55 days ago
59-85563
59 days
34227 stepan2698-cpu
author:stepan2698-cpu
feat: If sum of densities is at least one, the sumset covers the naturals Proves an outstanding TODO item from Mathlib.Combinatorics.Schnirelmann : shows that if the sum of two densities is at least one, the sumset covers the positive naturals. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 51/1 Mathlib/Combinatorics/Schnirelmann.lean 1 3 ['github-actions', 'grunweg', 'kbuzzard'] awainverse
assignee:awainverse
40-45146
1 month ago
48-51521
48 days ago
48-65305
48 days
34028 floor-licker
author:floor-licker
feat(SimpleGraph): add max-flow/min-cut weak duality This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S. This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S). t-combinatorics new-contributor 169/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean 2 13 ['SnirBroshi', 'floor-licker', 'github-actions'] kmill
assignee:kmill
39-45156
1 month ago
52-62845
52 days ago
52-65737
52 days
33520 NoneMore
author:NoneMore
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure. The other direction depends on #33458. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 55/0 Mathlib/ModelTheory/ElementarySubstructures.lean 1 3 ['Citronhat', 'NoneMore', 'github-actions'] awainverse
assignee:awainverse
38-45107
1 month ago
67-8328
67 days ago
67-8009
67 days
32570 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 22/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 2 19 ['SnirBroshi', 'github-actions', 'jcommelin', 'ksenono', 'vlad902'] kmill
assignee:kmill
35-54916
1 month ago
35-54916
35 days ago
88-4400
88 days
34191 IlPreteRosso
author:IlPreteRosso
feat(Topology/Algebra/InfiniteSum): Discrete Convolution API 1st PR Defines the very basics of the discrete convolution API. In analogy with [MeasureTheory.Convolution](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Convolution.html#MeasureTheory.convolution). Main definitions include - `mulFiber`, `convolution`, `ConvolutionExists`, `ConvolutionExists.add_distrib`, `ConvolutionExistsAt.smul_convolution`, `mulFiber_swapEquiv`, `convolution_comm` RM: - The main docstring is *as is* - Next step is triple sum intrastrcutre + `assoc` theorems for convolution (long) Continues the work from #33411 and #33410 (splitting into shorter PRs, carries over the modifications from previous reviews) t-topology new-contributor 277/0 Mathlib.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean 2 18 ['IlPreteRosso', 'github-actions', 'j-loreaux'] PatrickMassot
assignee:PatrickMassot
34-74022
1 month ago
34-74217
34 days ago
43-75581
43 days
34182 IlPreteRosso
author:IlPreteRosso
feat(Data/Finsupp/Single, Data/Finsupp/Indicator): Add set_indicator_singleton, indicator_singleton; golfed single_eq_set_indicator, single_eq_indicator [Mathlib.Data.Finsupp.Single](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Single.html#Finsupp.single) - Add `set_indicator_singleton`, golfed `single_eq_set_indicator` [Mathlib.Data.Finsupp.Indicator](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Finsupp/Indicator.html#Finsupp.indicator_apply) - Add `indicator_singleton`, golfed `single_eq_indicator` Continues the work from #34095 large-import t-data new-contributor 17/17 Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Single.lean 2 29 ['IlPreteRosso', 'eric-wieser', 'github-actions', 'mathlib-bors', 'urkud'] eric-wieser and urkud
assignee:urkud assignee:eric-wieser
32-74933
1 month ago
49-33550
49 days ago
49-41224
49 days
34093 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `Option` with basic `ωScottContinuous` lemmas --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 297/0 Mathlib.lean,Mathlib/Data/Option/Order.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean 4 5 ['YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
30-45226
1 month ago
35-27562
35 days ago
35-30207
35 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/ImplicitFunction): define implicitFunctionOfProdDomain This PR continues the work from #16743. Original PR: https://github.com/leanprover-community/mathlib4/pull/16743 --- - [x] depends on: #28352 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 269/157 Mathlib.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean,Mathlib/Analysis/Calculus/ImplicitFunction/ProdDomain.lean 4 27 ['agjftucker', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'winstonyin'] hrmacbeth
assignee:hrmacbeth
29-20685
1 month ago
29-20685
29 days ago
97-38818
97 days
32744 NoneMore
author:NoneMore
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas. The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable. There are also some tool lemmas derived by the preimage lemma. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 147/0 Mathlib/ModelTheory/Definability.lean 1 59 ['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] awainverse
assignee:awainverse
29-14721
1 month ago
61-24441
61 days ago
88-62786
88 days
34481 DAE123456
author:DAE123456
feat: Ore's Theorem Ore Theorem : Let G be a graph of order n ≥ 3 that satisfies the Ore property. Then G has a Hamilton cycle. t-combinatorics new-contributor 3372/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Ore.lean 2 25 ['DAE123456', 'LLaurance', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'kim-em', 'tb65536', 'vlad902'] b-mehta
assignee:b-mehta
28-45072
1 month ago
37-13687
37 days ago
40-64882
40 days
34722 GrigorenkoPV
author:GrigorenkoPV
feat(Data/Finset/RangeDistance): add --- Rebase of https://github.com/leanprover-community/mathlib4/pull/26347 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-data 34/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 4 ['GrigorenkoPV', 'github-actions', 'joneugster', 'plp127'] TwoFX
assignee:TwoFX
28-45068
1 month ago
36-85879
36 days ago
37-1065
37 days
35122 Marygold-Dusk
author:Marygold-Dusk
feat: define C^n submersions This PR defines submersions between C^n manifolds. In the infinite-dimensional setting, submersions are defined via local normal forms rather than surjectivity of the mfderiv. A map f is a submersion at x if, in suitable charts around x and f x, it has the form (u, v) ↦ u after identifying the model space with a product. We prove a few basic properties: - being a submersion is a local property, - products of submersions are submersions, - the set of submersed points is open Future PRs will prove that submersions are C^n and deduce equivalence with the standard definition in finite dimensions. From the path towards the regular value theorem. This file was developed under the supervision of Michael Rothgang. Co-authored-by: Michael Rothgang --- Most of the design is analogues to submersions. t-differential-geometry new-contributor 596/0 Mathlib.lean,Mathlib/Geometry/Manifold/Submersion.lean 2 2 ['github-actions'] grunweg
assignee:grunweg
27-81488
27 days ago
27-83262
27 days ago
27-84358
27 days
32807 WilliamCoram
author:WilliamCoram
feat: Define the Gauss norm for MvPowerSeries We adjust the current definition for Gauss norm on power series to work for multivariate power series. If this seems acceptable I can refactor the single variable case. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 124/0 Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean 2 25 ['WilliamCoram', 'erdOne', 'fbarroero', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] alreadydone
assignee:alreadydone
25-85506
25 days ago
25-85572
25 days ago
39-6715
39 days
34851 dennj
author:dennj
feat(Data/Matrix/Mul): add diagonal and transpose lemmas for vector operations This adds three lemmas for matrix-vector operations that serve as foundational support for future ML formalization: - `vecMul_diagonal_dotProduct`: weighted inner product `x ᵥ* diagonal d ⬝ᵥ y = ∑ i, d i * x i * y i` - `dotProduct_transpose_mulVec`: bilinear form symmetry `x ⬝ᵥ Aᵀ *ᵥ y = y ⬝ᵥ A *ᵥ x` - `mul_diagonal_mulVec`: column-weighted sum `(A * diagonal d) *ᵥ x = ∑ i, (d i * x i) • A.col i` These are basic linear algebra identities involving diagonal matrices and vector operations that appear frequently in machine learning contexts (weighted inner products, attention mechanisms, feature scaling, diagonal preconditioning). t-data new-contributor 22/0 Mathlib/Data/Matrix/Mul.lean 1 5 ['dennj', 'eric-wieser', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
21-51250
21 days ago
34-60726
34 days ago
34-60407
34 days
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`. Summary of additions: - **Full shift and shift action** - `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type). - Right shift `shift g x` with convention `(shift g x) h = x (h * g)`. - **Cylinders and topology** - `cylinder U x : Set (G → A)` for finite `U : Finset G`. - Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed. - Equality with dependent products: `cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API. - **Patterns, occurrences, and subshifts** - `Pattern A G` with finite `support : Finset G` and `data : support → A`. - `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law. - `forbids F` and `Subshift A G` (closed, shift-invariant subsets). - `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness. - **Language on finite shapes and counting** - `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`. - **Entropy along a shape sequence** - `limsupAtTop` (as an `sInf` of eventual upper bounds). - `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)` for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`). - **Specializations** - `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`. - `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`. Mathematical remarks: - The API is **shape-parametric**: entropy is defined along user-provided finite shapes. - On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss). This PR does not assume amenability; the family of shapes is an explicit input. Motivation: Provide a clean, reusable base for symbolic dynamics on groups in mathlib. Future work: - Add a Følner predicate and prove shape-independence / limit existence on amenable groups. - Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors). - Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch). t-dynamics new-contributor 746/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean 3 180 ['Sfgangloff', 'botbaki-review', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] sgouezel
assignee:sgouezel
21-46719
21 days ago
22-46017
22 days ago
126-5168
126 days
34966 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory): add `continuousWithinAt_Ici/Iic_primitive_Ioi/Iio` and `continuousOn_Ici/Iic_primitive_Ioi/Iio/Ici/Iic` This PR proves: - `continuousWithinAt_Ici/Iic_primitive_Ioi/Iio` - `continuousOn_Ici/Iic_primitive_Ioi/Iio/Ici/Iic` - `integral_Ioi_sub_Ioi`, `integral_Ioi_sub_Ioi'`, `integral_Iio_sub_Iio`, `integral_Iio_sub_Iio'` - `Ioi_diff_Ioc` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 125/1 Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean 3 14 ['CoolRmal', 'Deep0Thinking', 'github-actions'] RemyDegenne
assignee:RemyDegenne
17-73697
17 days ago
18-39219
18 days ago
30-17499
30 days
35011 whocares-abt
author:whocares-abt
feat(Combinatorics/SimpleGraph/Copy): add degree of copy less than original add two theorems relating degree of a graph and it's copy t-combinatorics new-contributor 17/0 Mathlib/Combinatorics/SimpleGraph/Copy.lean 1 12 ['SnirBroshi', 'github-actions', 'themathqueen', 'vihdzp'] nobody
16-19657
16 days ago
30-19896
30 days ago
30-19577
30 days
33257 NickAdfor
author:NickAdfor
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) Prove bipartite iff all cycles are even This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length. Co-authored-by: Nick Adfor Co-authored-by: Yue Sun Co-authored-by: Aristotle AI --- ## Main results - `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem ## Key supporting lemmas - `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings - `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity - `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma - `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties ## Proof outline 1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color. 2. For cycles (start = end), this forces even length. 3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization. 4. Show this coloring is valid using bypass operations and path properties. ## Technical notes - Uses `SimpleGraph.Walk` for path/cycle representation - Handles both `IsPath` and `IsCycle` predicates - Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks - Requires `DecidableEq V` for some lemmas - Uses classical logic for case analysis ## Reviewer notes - The proof uses induction on walks and case analysis on colorings - Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations - All theorems are in the `SimpleGraph` namespace - The `bipartite_iff_all_cycles_even` theorem provides the complete characterization t-combinatorics new-contributor 164/8 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 70 ['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'kmill', 'mitchell-horner', 'vihdzp', 'vlad902'] kmill
assignee:kmill
15-45244
15 days ago
31-44178
31 days ago
39-51805
39 days
33985 YellPika
author:YellPika
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`). --- - [x] depends on: #33941 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-order 191/1 Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean 4 20 ['Vierkantor', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] bryangingechen
assignee:bryangingechen
14-45224
14 days ago
25-73387
25 days ago
35-35320
35 days
33662 Pjotr5
author:Pjotr5
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants ### Summary - Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`. The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`). This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`). - Add strict-inequality variants: `expect_lt_expect`, `expect_lt`, `lt_expect`. - Add existence lemmas: `exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`, and `exists_lt_of_expect_lt_expect`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
46/16 Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean 2 1 ['github-actions'] thorimur
assignee:thorimur
13-83103
13 days ago
64-15498
64 days ago
64-15179
64 days
35402 samueloettl
author:samueloettl
feat(Dynamics/BirkhoffSum): birkhoffAverage const --- I think this might be useful. My feeling tells me that one of these should be a simp lemma. I'm not really sure if I got the naming of the theorems correct. When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics new-contributor 22/0 Mathlib/Dynamics/BirkhoffSum/Average.lean 1 2 ['github-actions'] urkud
assignee:urkud
13-45246
13 days ago
16-54920
16 days ago
23-1489
23 days
33458 NoneMore
author:NoneMore
feat(ModelTheory): add lifting for embeddings to languages with constants Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic new-contributor 46/0 Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean 2 7 ['Citronhat', 'NoneMore', 'fpvandoorn', 'github-actions'] fpvandoorn
assignee:fpvandoorn
11-86395
11 days ago
12-213
11 days ago
68-12473
68 days
35653 pepamontero
author:pepamontero
feat: add ChartedSpace structure on orbit space feat: add ChartedSpace structure on orbit space Add topological preliminaries for properly discontinuous group actions, and use them to equip the orbit space `orbitRel.Quotient G M` with a `ChartedSpace` structure. In particular: - Show that the quotient map `Quotient.mk _ : M → orbitRel.Quotient G M` is a covering map and hence a local homeomorphism. - Construct chosen local inverses of the quotient map and establish properties over them. - Define a `ChartedSpace` instance on the quotient by composing these local inverses with charts of M. This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it. --- new-contributor t-differential-geometry 186/0 Mathlib.lean,Mathlib/Geometry/Manifold/Instances/OrbitSpace.lean,Mathlib/Topology/Algebra/OrbitSpace.lean 3 2 ['github-actions'] grunweg
assignee:grunweg
11-76544
11 days ago
16-64289
16 days ago
16-64645
16 days
35857 AlexeyMilovanov
author:AlexeyMilovanov
feat(Logic.Equiv.BijectiveBase2): add bijective base-2 numeration This PR introduces a formalization of the bijective base-2 numeration system. Unlike standard binary representation, bijective base-2 avoids the "leading zeros" problem, providing a strict mathematical bijection between natural numbers (`ℕ`) and lists of booleans (`List Bool`). **Main additions:** * `Equiv.BijectiveBase2.toBits`: Encodes `ℕ` to `List Bool`. * `Equiv.BijectiveBase2.ofBits`: Decodes `List Bool` to `ℕ`. * `equivBijectiveBase2`: The formal `ℕ ≃ List Bool` equivalence. *(Note: This replaces my previously closed PR to avoid the terminology clash between "Dyadic" and dyadic rationals. The namespace and definitions have been updated accordingly).* *(Note: Used AI to assist with standardizing proof structures).* t-logic new-contributor 95/0 Mathlib.lean,Mathlib/Logic/Equiv/ListNatBijective.lean 2 4 ['AlexeyMilovanov', 'SnirBroshi', 'github-actions'] nobody
11-57378
11 days ago
11-66450
11 days ago
11-66588
11 days
34477 spanning-tree
author:spanning-tree
refactor(Order): make CompletePartialOrder extend OrderBot Make `CompletePartialOrder` extend `OrderBot`, and add a constructor `completePartialOrderOfLubOfDirected`. Previously, `CompletePartialOrder` had an implicit bottom element but did not extend OrderBot explicitly. Breaking change: `CompletePartialOrder` instances must provide `⊥` and `bot_le`, or use the constructor. See discussion in [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order new-contributor 15/1 Mathlib/Order/CompletePartialOrder.lean 1 3 ['Citronhat', 'github-actions', 'mathlib-merge-conflicts'] pechersky
assignee:pechersky
9-84537
9 days ago
9-84560
9 days ago
30-59398
30 days
33714 idontgetoutmuch
author:idontgetoutmuch
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II Supersedes https://github.com/leanprover-community/mathlib4/pull/33519 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry new-contributor 680/0 Mathlib.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean 3 200 ['github-actions', 'grunweg', 'idontgetoutmuch'] grunweg
assignee:grunweg
9-77695
9 days ago
9-77721
9 days ago
24-21177
24 days
34875 banrovegrie
author:banrovegrie
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap. - Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}` - Add `Matrix.inv_sub_vecMulVec`: subtraction variant - Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses ## Test plan - [x] `lake build` passes - [x] Lines within 100 char limit - [x] All declarations have docstrings t-algebra new-contributor
label:t-algebra$
135/0 Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean 2 11 ['Xxxjdjdid', 'banrovegrie', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] kim-em
assignee:kim-em
9-76141
9 days ago
33-79958
33 days ago
33-79639
33 days
35805 adrianmartir
author:adrianmartir
feat(NumberTheory/Divisors): Add `infinite_setOf_divisors_iff` This proves that the set of divisors `{ m | m | n }` of a natural number `n` is infinite if and only if `n` is zero. The first proof draft was by @Aristotle-Harmonic. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory new-contributor 10/0 Mathlib/NumberTheory/Divisors.lean 1 5 ['adrianmartir', 'alexjbest', 'github-actions'] alexjbest
assignee:alexjbest
9-13644
9 days ago
13-11646
13 days ago
13-11363
13 days
35329 BryceT233
author:BryceT233
feat(Data/Finsupp): add computational lemmas for cons and single This PR introduces `cons_eq_single_zero_iff` and `cons_eq_single_succ_iff`, which are helper lemmas designed to facilitate calculations (or simplification) of equalities involving `Finsupp.cons` and `Finsupp.single`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 25/0 Mathlib/Data/Finsupp/Fin.lean 1 2 ['github-actions'] TwoFX
assignee:TwoFX
8-51722
8 days ago
8-51781
8 days ago
24-20730
24 days
27229 WilliamCoram
author:WilliamCoram
feat(GroupTheory/DoubleCoset): multiple lemmas From FLT --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-group-theory new-contributor 85/2 Mathlib/GroupTheory/DoubleCoset.lean 1 41 ['CBirkbeck', 'Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'kim-em', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'tb65536'] mariainesdff
assignee:mariainesdff
8-3932
8 days ago
22-14337
22 days ago
105-20507
105 days
34138 pfaffelh
author:pfaffelh
feat(MeasureTheory): Introduce `MassFunction α` giving rise to a `Measure α ⊤` Define `MassFunction α := α → ℝ≥0∞` Define `toMeasure (w : MassFunction α) : @Measure α ⊤` as a sum of diracs Show properties of the resulting objects This PR intends to start a more userfriendly interaction with probability mass functions (`PMF`). There are two main differences between `MassFunction` and `PMF`: * `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `MassFunction`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.) * The `toMeasure` function of `MassFunction` directly defines the measure as a sum of diracs, which immediately makes computations possible. Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability new-contributor 224/0 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/MassFunction.lean 4 10 ['DavidLedvinka', 'github-actions', 'metakunt', 'pfaffelh'] kex-y and ocfnash
assignee:ocfnash assignee:kex-y
7-6016
7 days ago
8-56439
8 days ago
50-61866
50 days
34621 homeowmorphism
author:homeowmorphism
feat(GroupTheory/FreeGroup/Basic): deprecate `FreeGroup Empty ≃ Unit` using `Equiv.ofUnique`, add `Mul` suggestion using `MulEquiv.ofUnique` and add `FreeGroup α ≃* Multiplicative ℤ` feat(GroupTheory/FreeGroup/Basic): deprecate `FreeGroup Empty ≃ Unit` using `Equiv.ofUnique`, add `Mul` suggestion using `MulEquiv.ofUnique` and add `FreeGroup α ≃* Multiplicative ℤ`. This is a dependency of a larger PR to formalize finitely presented groups https://github.com/leanprover-community/mathlib4/pull/34236. --- Originally, the PR showed that `FreeGroup Empty ≃* Unit` and `FreeGroup α ≃* Multiplicative ℤ`. During the review process, I was asked to generalized `Unit` to any `Unique` type and `Empty` to `IsEmpty`. Through working on this, it has been realized that the pre-existing `FreeGroup Empty ≃ Unit` should be deprecated using `Equiv.ofUnique` and a multiplicative version `FreeGroup Empty ≃* Unit` can be obtained similarly using `MulEquiv.ofUnique` and there was no need to explicitly upgrade the equivalence. The title has been changed to reflect this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory new-contributor 45/6 Mathlib/GroupTheory/FreeGroup/Basic.lean 1 40 ['b-mehta', 'copilot-pull-request-reviewer', 'github-actions', 'homeowmorphism', 'kbuzzard', 'riccardobrasca', 'tb65536'] riccardobrasca
assignee:riccardobrasca
6-79251
6 days ago
22-68923
22 days ago
29-85185
29 days
32555 ksenono
author:ksenono
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 127/0 Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean 2 25 ['SnirBroshi', 'SproutSeeds', 'github-actions', 'jcommelin', 'ksenono'] awainverse
assignee:awainverse
6-77517
6 days ago
35-53743
35 days ago
88-26153
88 days
35665 BryceT233
author:BryceT233
feat(RingTheory/AdicCompletion): introduce AdicCompletion.finsuppSum This is split from #34936 to make the review process easier. It introduces `AdicCompletion.finsuppSum`, which is a `Finsupp` version of `AdicCompletion.sum`. --- - [x] depends on: #35595 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 93/0 Mathlib/LinearAlgebra/Finsupp/LSum.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean 2 4 ['github-actions', 'joneugster', 'mathlib-dependent-issues'] riccardobrasca
assignee:riccardobrasca
6-45243
6 days ago
10-26619
10 days ago
15-38774
15 days
34937 tannerduve
author:tannerduve
feat(Computability): semilattice instance on Turing degrees This PR equips `TuringDegree` with a `SemilatticeSup` structure by introducing the Turing join, proving usual least-upper-bound properties, and lifting these to degrees (quotients). In support of this, it extends the existing `RecursiveIn` API with some lemmas used in the degree theory. The main contribution is the `SemilatticeSup` instance on `TuringDegree`. We define the Turing join as follows ``` turingJoin (f g) : ℕ → ℕ -- notation: f ⊕ g ``` and prove it is a least upper bound: * `left_le_join`, `right_le_join` * `join_le` * monotonicity and congruence lemmas (`join_mono`, `join_congr`) We lift this to degrees in `TuringDegree.sup`, `TuringDegree.le_sup_left`, `TuringDegree.le_sup_right`, and `TuringDegree.sup_le` ``` instance : SemilatticeSup TuringDegree ``` **New additions to `RecursiveIn.lean`:** - `liftPrim`, `liftPrimrec`, `RecursiveIn'`, `ComputableIn`, `ComputableIn₂`: Encodes partial/total functions between `Primcodable` types as `ℕ →. ℕ`, analogous to `Partrec`/`Computable`. - `of_eq`, `of_eq_tot`, `of_primrec`, `some`, `none`, `mono`, `subst`: Standard closure properties for `RecursiveIn`. - `cond_const`, `cond_core_rfind`, `cond`, `ComputableIn.cond`: Shows `RecursiveIn` is closed under conditionals when the guard is absolutely computable - `Nat.Partrec.recursiveIn`, `Computable.computableIn`: Every partrec/computable function is recursive in any oracle set. Small addition to `Partrec` we add to `Mathlib.Computability.Partrec` a small helper def (`Partrec.kronecker` and related `rfind` lemmas) representing the function that returns 1 if its two (unpaired) arguments are equal, and 0 otherwise, which is used in the proof of `cond` ## TODO Some current `RecursiveIn` proofs such as `cond_core_rfind` still work directly with the inductive constructors and are thus very long. A follow up could add a combinator-style closure library by essentially relativizing all the results and lemmas in `Partrec`, and proofs could be golfed heavily as they are in `Partrec` ## Note: AI Usage [Aleph prover](https://logicalintelligence.com/aleph-coding-ai/) was allowed to prove an earlier version of `cond_core_rfind`, which included stating and proving the lemma `cond_const` but the proofs have since been iterated on manually Cursor was allowed to run git commands and edit docstrings/headers, and was used in setting up the module structure of the files t-computability new-contributor large-import 644/63 Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean 3 14 ['eric-wieser', 'github-actions', 'plp127', 'tannerduve', 'vihdzp'] nobody
6-40166
6 days ago
21-64333
21 days ago
31-33674
31 days
35559 mike1729
author:mike1729
feat(Analysis/Normed): weak-topology embedding into weak-star bidual and compactenss transfer theorem This PR refactors the double dual material and adds new results connecting the weak topology on a normed space to the weak-star topology on its bidual. ## Changes ### New file: `Analysis.Normed.Module.DoubleDual` Extracts the canonical embedding `inclusionInDoubleDual` and the bidual isometry `inclusionInDoubleDualLi` from `Analysis.Normed.Module.Dual` into a dedicated file, and adds: - `inclusionInDoubleDualWeak`: the canonical map from `WeakSpace 𝕜 X` into `WeakDual 𝕜 (StrongDual 𝕜 X)`. - `inclusionInDoubleDualWeak_isEmbedding`: this map is a topological embedding. - `inclusionInDoubleDualWeak_homeomorph`: the map as a homeomorphism onto its range. - `isCompact_closure_of_isBounded`: bounded sets whose bidual image has weak-star closure in range have weakly compact closure, via Banach–Alaoglu. ### Modified: `Analysis.Normed.Module.Dual` The double dual inclusion material is moved out; polar set results remain. References to `inclusionInDoubleDual` in `polar_closure` are replaced by `ContinuousLinearMap.apply` to avoid a dependency on the new file. --- CC: @faenuccio this may be relevant for your Goldstine formalization. t-analysis new-contributor 240/91 Mathlib.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Analysis/Normed/Module/WeakSpace.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean 10 23 ['ADedecker', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mike1729'] faenuccio
assignee:faenuccio
6-4914
6 days ago
6-79181
6 days ago
11-12992
11 days
35651 sun123zxy
author:sun123zxy
feat(Mathlib/RingTheory/Ideal/Cotangent): `Submodule.map` definition of cotangent spaces This PR adds an alternative definition of the cotangent space as an image under the R-module quotient map. --- Split from PR #33247 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 47/20 Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 2 10 ['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'sun123zxy'] chrisflav
assignee:chrisflav
5-86250
5 days ago
10-68043
10 days ago
6-9373
6 days
35600 yisiox
author:yisiox
feat(Computability): add Kleene's algorithm to prove regular languages have regex matching This PR adds a proof that every regular language has some regular expression matching it. This was achieved by the following constructions and proofs of their correctness - Define `toSingleεNFA` to transform any epsilon-NFA to an equivalent one with only a single start and accept state (and the type is `ExtendedState`) - Define a bijection between `ExtendedState` and `Fin (FinEnum.card (ExtendedState σ))` to index the states - Define `pathRegex` which implements Kleene's algorithm - Define `toRegex` which takes an epsilon-NFA, applies `toSingleεNFA` on it, and computes the corresponding regex using `pathRegex` The proofs of correctness chain together to yield `(toRegex M).matches' = M.accepts` which asserts the direction of Kleene's theorem required. As in [#mathlib4 > Regular languages: the review queue @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/near/573958148), this overlaps with #15654, which uses GNFA instead but has been inactive. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 499/0 Mathlib/Computability/EpsilonNFA.lean 1 2 ['github-actions'] nobody
5-67066
5 days ago
unknown
0-0
0 seconds
36210 vbeffara
author:vbeffara
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph. This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 151/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean 3 2 ['github-actions'] nobody
5-50123
5 days ago
5-50185
5 days ago
5-50557
5 days
34578 dennj
author:dennj
feat: define Boolean circuits over abstract gate families This PR introduces a foundation for Boolean circuits parameterized by abstract gate families. ## Main definitions - `GateEval`: typeclass for gate families with Boolean semantics - `GateHom`: arity-preserving maps between gate families - `Circuit`: inductive type representing circuit syntax trees - `AC0Gate`, `ACC0Gate`, `TC0Gate`: standard complexity-theoretic gate bases ## Design notes The key design choice is to keep **syntax** (gate labels `G : Nat → Type`) separate from **semantics** (`GateEval.eval`), allowing users to define custom gate families (e.g., MAJ, XOR, arbitrary threshold gates) without modifying core definitions. ### Tree vs DAG representation We evaluated two approaches for circuit representation: 1. **Tree-based** (this PR): Circuits as inductive syntax trees 2. **DAG-based**: Circuits as lists of gates with index-based references We chose tree-based circuits because: - **Compositionality**: Easy to build circuits via `gate g (fun i => subcircuit i)` - **Type safety**: Arity-indexed gates (`G : Nat → Type`) catch errors at compile time - **Manipulation**: Natural support for `mapGate`, `subst`, `mapInputs` - **Mathlib philosophy**: Aligns with structural/compositional reasoning patterns For use cases requiring explicit sharing (complexity analysis, evaluation efficiency), a separate `DAG` type can be added later with proven equivalence via `Circuit.toDAG`. The current representation serves as a minimal foundation for size/depth measures, circuit families, and complexity classes (AC0, ACC0, TC0). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-computability 919/0 Mathlib.lean,Mathlib/Computability/Circuit/Basic.lean,Mathlib/Computability/Formula/Basic.lean,Mathlib/Computability/Gate.lean 4 18 ['LLaurance', 'YuvalFilmus', 'dennj', 'github-actions'] Komyyy
assignee:Komyyy
5-45202
5 days ago
22-38690
22 days ago
29-77598
29 days
36245 BryceT233
author:BryceT233
feat(RingTheory/LocalRing): introduce algebra map version of `ResidueField.map` This PR added `IsLocalHom` instances to `AlgHom` and introduced the algebra map version of `IsLocalRing.ResidueField.map` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 57/0 Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean 2 2 ['github-actions'] nobody
5-26727
5 days ago
5-26791
5 days ago
5-26569
5 days
34209 mike1729
author:mike1729
feat(Analysis/Normed): Schauder basis definition and characterization via projections A Schauder basis is a fundamental concept in functional analysis, providing a way to represent every element of a Banach space as a unique convergent series. This PR adds the core structures, some theorems necessary to work with these bases and a characterization of a Schauder basis using projections. This PR is based on Chapter 1. from Albiac, F., & Kalton, N. J. (2016). Topics in Banach Space Theory. This is a first PR in a series of three aiming for Eberlein-Smulyan Theorem. The next one will contain theory of basic sequences and the final one will contain a proof of Eberlein-Smulyan Theorem using basic sequences. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 539/0 Mathlib.lean,Mathlib/Analysis/Normed/Module/Bases.lean,docs/references.bib 3 200 ['Ruben-VandeVelde', 'faenuccio', 'github-actions', 'goliath-klein', 'j-loreaux', 'mike1729', 'sgouezel', 'themathqueen'] sgouezel
assignee:sgouezel
4-61087
4 days ago
11-77692
11 days ago
36-33905
36 days
36062 huaizhangchu
author:huaizhangchu
feat(Probability/PMF): add PMF.integrable_of_summable_norm Adds `PMF.integrable_of_summable_norm`: a function `f` is integrable with respect to `p.toMeasure` when the weighted norms `‖f a‖ * (p a).toReal` form a summable family. This is useful for computing expectations of discrete distributions (Poisson, geometric, etc.) without manually expanding the `HasFiniteIntegral` definition each time. t-measure-probability new-contributor 14/0 Mathlib/Probability/ProbabilityMassFunction/Integrals.lean 1 2 ['github-actions'] sgouezel
assignee:sgouezel
4-45254
4 days ago
7-81390
7 days ago
7-81071
7 days
36088 pevogam
author:pevogam
feat: add a LE version of previous div_lt_div_iff_mul_lt_mul theorem The following is more useful due to the partial order application of LE in comparison to LT. Additionally, add specialized cases of equal denominators as simpler syntactic sugar. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
16/0 Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean 1 2 ['github-actions'] dagurtomas
assignee:dagurtomas
4-45251
4 days ago
7-52502
7 days ago
7-52289
7 days
34599 cameronfreer
author:cameronfreer
feat(Logic/Equiv/Fintype): generalize toCompl and exists_extending_pair to finite source Generalize the Equiv subtype-extension API so it only needs finiteness of the source subtype, then use that to drastically simplify `Equiv.Perm.isMultiplyPretransitive`. ### Changes to `Logic/Equiv/Fintype.lean` * **`Equiv.toCompl`**: generalize from `[Finite α]` to `[Finite {x | p x}]`. New proof (due to tb65536) uses finset symmetric differences to avoid needing finiteness of the ambient type. * **`Equiv.extendSubtype`** and related lemmas: adapt to `[Finite {x | p x}]`. * **`Equiv.Perm.exists_extending_pair`**: strengthen from `[Finite β]` to `[Finite α]`. Given two injective functions `f, g : α → β` where `α` is finite, there exists `σ : Perm β` with `σ ∘ f = g`. The target `β` can now be infinite. ### Changes to `MultipleTransitivity.lean` * **`Equiv.Perm.isMultiplyPretransitive`**: replace ~70-line manual bijectivity construction with a two-line proof via `exists_smul_eq_embedding`. * **`exists_smul_eq_embedding`**: rewire to use `exists_extending_pair` directly (removing the old cardinal-arithmetic proof `exists_extending_pair_of_finite_source`). ### Application Used in formalizing de Finetti's theorem (exchangeability ⇒ contractability): https://github.com/cameronfreer/exchangeability/blob/03a854a2/Exchangeability/Contractability.lean#L459 Co-authored-by: tb65536 t-group-theory new-contributor 51/79 Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/Logic/Equiv/Fintype.lean 2 26 ['LLaurance', 'cameronfreer', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] mattrobball
assignee:mattrobball
3-63662
3 days ago
3-63638
3 days ago
24-84293
24 days
36320 ZRTMRH
author:ZRTMRH
feat(Combinatorics): add Schreier graph definition and covering property Defines Schreier graphs as quivers with labeled edges. `SchreierGraph V ι`: type alias for vertices with quiver structure `schreierGraphLabelling`: prefunctor extracting edge labels `schreierGraphLabelling_isCovering`: the labelling is a covering for group actions `schreierGraph_action_commute`: label-preserving maps commute with the action Ported from [Lean 3 PR #18693](https://github.com/leanprover-community/mathlib3/pull/18693). This PR was written with AI assistance (Claude). The code has been reviewed by the author and their advisor. --- This is the first in a series of PRs splitting #35467 into smaller pieces, as suggested by reviewers. Upcoming PRs will add word evaluation, paths, connectivity, automorphisms, examples, and Cayley sum graphs. t-combinatorics new-contributor 175/0 Mathlib.lean,Mathlib/Combinatorics/Quiver/Schreier.lean 2 2 ['github-actions'] nobody
3-60242
3 days ago
3-82279
3 days ago
3-81960
3 days
34742 Brian-Nugent
author:Brian-Nugent
feat(SheafCohomology): add API for Sheaf Cohomology Defines the long exact sequence on cohomology associated to a short exact sequence of sheaves `H.longSequence`. Also defines `H.equiv₀`, the additive equivalence between `H F 0` and `((sheafSections J AddCommGrpCat).obj (op T)).obj F` when the category has a terminal object `T`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import t-category-theory 99/2 Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/CategoryTheory/Sites/Abelian.lean,Mathlib/CategoryTheory/Sites/SheafCohomology/Basic.lean 3 25 ['Brian-Nugent', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster'] adamtopaz
assignee:adamtopaz
3-52113
3 days ago
3-52176
3 days ago
28-68062
28 days
36336 NoahW314
author:NoahW314
feat: add indiscrete topology lemmas Prove that the indiscrete topology is compact and that every function to the indiscrete topology is continuous. --- t-topology new-contributor 19/0 Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Order.lean 2 7 ['NoahW314', 'github-actions', 'plp127'] nobody
3-34412
3 days ago
3-53640
3 days ago
3-59210
3 days
36174 mike1729
author:mike1729
feat(Topology/Compactness): add countably compact sets This PR introduces the theory of countably compact sets and spaces. The motivation was the Eberlein–Šmulian theorem but of course this theory is of its own interest and there are many more applications. New definitions: - `IsCountablyCompact A`: a set `A` is countably compact if every sequence in `A` has a cluster point in `A`. - `CountablyCompactSpace E`: the whole space `E` is countably compact. Main results: - `IsCountablyCompact.elim_finite_subcover`: finite subcover from any countable open cover. - `isCountablyCompact_iff_countable_open_cover`: equivalence with the finite-subcover property. - `IsCompact.IsCountablyCompact`: compact implies countably compact. - `IsSeqCompact.IsCountablyCompact`: sequentially compact implies countably compact. - `IsCountablyCompact.isSeqCompact`: countably compact implies sequentially compact in a first-countable space. - `isCountablyCompact_iff_infinite_subset_has_accPt`: Bolzano–Weierstrass characterisation in a T₁ space. - `IsLindelof.isCompact`: a countably compact Lindelöf set is compact. - `IsCountablyCompact.image`: continuous images of countably compact sets are countably compact. - Union stability: binary, `Finset`, `Set.Finite`, and `iUnion` variants. Co-authored-by: Yongxi Lin @CoolRmal --- This PR adds `Mathlib.Topology.Compactness.CountablyCompact`, a new file alongside the existing `Compact`, `SeqCompact`, and `Lindelof` files. The primary definition follows Engelking's *General Topology* (the cluster-point characterisation for sequences), and the equivalence with the finite-subcover characterisation is established immediately. The immediate motivation for this PR is #35473 (Eberlein–Šmulian theorem), which depends on it. Further PRs will extend the theory of countably compact spaces. --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 299/0 Mathlib.lean,Mathlib/Topology/ClusterPt.lean,Mathlib/Topology/Compactness/CountablyCompact.lean 3 4 ['github-actions', 'mike1729', 'plp127'] nobody
3-10535
3 days ago
6-14887
6 days ago
6-14568
6 days
36274 JTylM
author:JTylM
feat(Combinatorics/SimpleGraph/Matching): implemented the matchingNumber of a graph --- I implemented the matchingNumber as described in the issue and proved some statements including showing that there exists a matching achieving the matchingNumber. matchingNumber is increasing under injective maps matchingNumber is equal under isomorphisms matchingNumber of a matching is the cardinality of the matching This is my first PR and i had some trouble with some of the proofs, especially with the proof for matchingNumber.isAttained. So any suggestions on how to make the proofs shorter would be welcome. Also i was not sure about the naming of some of the theorems so i would apprechiate feedback here as well. new-contributor t-combinatorics 357/2 Mathlib/Combinatorics/SimpleGraph/Matching.lean 1 4 ['SproutSeeds', 'github-actions'] nobody
2-71110
2 days ago
2-71170
2 days ago
2-71562
2 days
35652 dennj
author:dennj
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` ## Summary - Add `Matrix.mul_eq_smul_one_symm`: if `M * N = c • 1` and `det M ≠ 0`, then `N * M = c • 1` - A scalar generalisation of `mul_eq_one_symm` (the `c = 1` case) to arbitrary scalars, requiring `IsDomain` and `det M ≠ 0` - The proof uses the adjugate identity `adjugate M * M = det M • 1` to derive `det M • (N * M) = det M • (c • 1)`, then cancels `det M` via `mul_left_cancel₀` Theorem imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory t-algebra new-contributor
label:t-algebra$
28/0 Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean 1 2 ['eric-wieser', 'github-actions'] dagurtomas
assignee:dagurtomas
2-45253
2 days ago
16-67760
16 days ago
16-67441
16 days
36104 LarsenClose
author:LarsenClose
feat(CategoryTheory/Endofunctor/Algebra): add Adámek's initial algebra theorem Adds Adámek's initial algebra theorem for endofunctors on categories with an initial object. Given `F : C ⥤ C` where `C` has an initial object, if the initial chain `⊥ → F(⊥) → F²(⊥) → ⋯` has a colimit preserved by `F`, then `F` has an initial algebra whose structure map is an isomorphism. New files: - `InitialChain.lean`: defines `iterateObj F n`, `iterateMap F n`, and `initialChain F : ℕ ⥤ C` via `Functor.ofSequence`. - `ChainShift.lean`: constructs `shiftCocone` and `extendCocone`, proves `shiftCoconeIsColimit` (shifted cocone inherits colimit). - `Adamek.lean`: main result. Constructs the initial `F`-algebra `adamek F c hc` and proves `adamek_isInitial`. Convenience API: `adamekFromInitial`, `adamekStructureIso`, `adamekFixedPoint`. 0 sorry. References Adámek 1974. --- t-category-theory new-contributor 505/0 Mathlib.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/Adamek.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/ChainShift.lean,Mathlib/CategoryTheory/Endofunctor/Algebra/InitialChain.lean,docs/references.bib 5 2 ['github-actions'] joelriou
assignee:joelriou
2-45247
2 days ago
6-30811
6 days ago
6-30606
6 days
36386 SnkXyx
author:SnkXyx
feat(Algebra/MvPolynomial/Degrees): add some lemmas about `degreeOf` These lemmas are used in #36103 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra new-contributor
label:t-algebra$
71/0 Mathlib/Algebra/MvPolynomial/Degrees.lean 1 2 ['github-actions'] nobody
2-39095
2 days ago
2-39095
2 days ago
2-38776
2 days
35069 A-M-Berns
author:A-M-Berns
feat(Geometry/Polygon): simple polygons and boundary map This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution. - [x] depends on: #34598 --- new-contributor t-euclidean-geometry 360/0 Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean 4 29 ['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] JovanGerb
assignee:JovanGerb
2-33368
2 days ago
13-71114
13 days ago
16-18681
16 days
35906 scp020
author:scp020
feat(Combinatorics/SimpleGraph/Walks): add Walk.IsChord and Walk.IsChordless Add `Walk.IsChord` and `Walk.IsChordless` predicates in a new file `SimpleGraph/Walks/Chords.lean`. See "chord" in https://en.wikipedia.org/wiki/Glossary_of_graph_theory Discussion on Zulip: [Zulip link](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Walk.2EIsChordless.20live.20in.20mathlib.3F/with/575277309) authored-by: Tianyi Zhao --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 68/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Chords.lean 2 11 ['SnirBroshi', 'github-actions', 'scp020'] nobody
2-26015
2 days ago
7-42337
7 days ago
9-6369
9 days
36379 JadAbouHawili
author:JadAbouHawili
doc: Rename Finset API instances in Documentation for clarity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 3/8 Mathlib/Data/Finset/Lattice/Basic.lean 1 4 ['JadAbouHawili', 'github-actions'] nobody
2-16935
2 days ago
2-57380
2 days ago
2-58712
2 days
35597 BryceT233
author:BryceT233
feat(AdicTopology): add lemmas about adic topology This PR adds APIs to transport topological and uniform properties of adic topologies across ring equivalences, By upgrading an ideal-preserving ring equivalence to a `UniformEquiv`, we provide natural congruence lemmas for adic completeness, precompleteness, and Hausdorffness, which serve as necessary topological preliminaries for the ongoing formalization of the Cohen Structure Theorem. Co-authored-by: @Thmoas-Guan --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 55/2 Mathlib/RingTheory/AdicCompletion/Topology.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean 2 7 ['erdOne', 'github-actions'] urkud
assignee:urkud
2-5107
2 days ago
15-36609
15 days ago
18-23650
18 days
35707 BryceT233
author:BryceT233
feat(RingTheory/MvPowerSeries): introduce `truncTotal` This PR introduces the total degree truncation of multivariate formal power series when the index is finite, and uses it to establish the algebraic equivalence between `MvPowerSeries` and the adic completion of `MvPolynomial` with respect to the ideal spanned by all variables `idealOfVars`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-ring-theory 213/2 Mathlib.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPowerSeries/Equiv.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean 4 7 ['BryceT233', 'github-actions', 'joneugster', 'mathlib-bors', 'wwylele'] nobody
2-4719
2 days ago
6-39039
6 days ago
15-21611
15 days
27953 CoolRmal
author:CoolRmal
feat(ProbabilityTheory): Conditional Jensen's Inequality This PR adds several variants of the conditional Jensen's inequality. I made some changes to Mathlib/Analysis/Convex/Approximation.lean because I need the sequence of affine functions to be bouneded above at each point in the proof of `conditional_jensen_hereditarilyLindelofSpace`. --- - [x] depends on: #31411 - [x] depends on: #31399 - [x] depends on: #31180 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 212/18 Mathlib.lean,Mathlib/Analysis/Convex/Approximation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/Measure/Trim.lean 5 11 ['CoolRmal', 'EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] sgouezel
assignee:sgouezel
1-83071
1 day ago
1-84788
1 day ago
35-40392
35 days
33895 jessealama
author:jessealama
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set This PR shows that several list operations from Lean core are primitive recursive: - `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via iterating `List.tail` using `nat_iterate` - `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean), via `list_drop` on the reversed list - `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data - `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) - `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean) The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations: - `list_modify` specializes `list_modify'` with `β = Unit` - `list_set` uses `list_modify'` via `List.set_eq_modify` Also moves `list_length` earlier in the file (before `list_drop` and `list_take`, which depend on it). new-contributor t-computability 47/4 Mathlib/Computability/Primrec/List.lean 1 1 ['github-actions'] nobody
1-61915
1 day ago
55-18073
55 days ago
55-41102
55 days
36421 ROTARTSI82
author:ROTARTSI82
feat(RingTheory/IsAdjoinRoot): add mkOfAdjoinEqTop' Alternative hypothesis to existing theorem: prove the result from a `Module.Free `hypothesis instead of `IsIntegrallyClosed`. If `α` generates `S` as an algebra, then `S` is given by adjoining a root of `minpoly R α`. --- Hello, we are the Algebraic Geometry group from the UW Math AI lab, and this is our first PR! This definition of `mkOfAdjoinEqTop'` generalizes the existing `mkOfAdjoinEqTop` and shows the result from `Module.Free` instead of `IsIntegrallyClosed`. It is used in future results that we would like to upstream at https://github.com/uw-math-ai/monogenic-extensions, which is a project to formalize lemmas 3.1 and 3.2 from https://arxiv.org/abs/2503.07846. Co-authored-by: George Peykanu Co-authored-by: Bryan Boehnke Co-authored-by: Bianca Viray <67076332+b-viray@users.noreply.github.com> --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor large-import 57/0 Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean 2 2 ['github-actions'] nobody
1-46490
1 day ago
1-46564
1 day ago
1-46245
1 day
35568 goliath-klein
author:goliath-klein
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): switch NormedSpace instance to `projectiveSeminorm` The PR switches the `NormedSpace` instance on `PiTensorProduct`s from `injectiveSeminorm` to `projectiveSeminorm` and updates all follow-up results. The signature of `norm_eval_le_projectiveSeminorm` is changed to match the one of `norm_eval_le_injectiveSeminorm`. This is the second in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633). --- - [x] depends on: #35567 This series is the result of splitting up #34137. More discussion there. Co-authored-by: Davood H. H. Tehrani [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 25/29 Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean 2 3 ['github-actions', 'mathlib-dependent-issues'] robin-carlier
assignee:robin-carlier
1-45263
1 day ago
5-10137
5 days ago
5-11353
5 days
36119 Ruizsolveall
author:Ruizsolveall
feat(Topology/Covering): fundamental group of the circle is ℤ ## Summary - Proves that the fundamental group of the circle `π₁(S¹, 0)` is isomorphic to `ℤ`, via covering space theory. - Constructs the winding number map `nLoop : ℤ → Path 0 0` on `AddCircle 1`, and proves it is surjective (`surj_nLoop`), injective (`inj_nLoop`), and additive (`nLoop_add`). - Assembles these into the group isomorphism `fundamentalGroupCircle : Multiplicative ℤ ≃* FundamentalGroup (AddCircle 1) 0`. ## Approach Uses the covering map `ℝ → AddCircle 1` and unique path lifting to establish the bijection between homotopy classes of loops and integers (winding numbers). Homotopy invariance of lifted endpoints gives injectivity; surjectivity follows from lifting arbitrary loops. Additivity uses path concatenation of lifts in the simply connected total space `ℝ`. ## Test plan - [x] `lake env lean Mathlib/Topology/Covering/FundamentalGroupCircle.lean` builds with 0 errors, 0 warnings t-topology new-contributor 236/0 Mathlib.lean,Mathlib/Topology/Covering/FundamentalGroupCircle.lean 2 22 ['Ruizsolveall', 'SnirBroshi', 'b-mehta', 'github-actions', 'vihdzp'] dagurtomas
assignee:dagurtomas
1-45259
1 day ago
7-8963
7 days ago
7-8644
7 days
33355 0xTerencePrime
author:0xTerencePrime
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870. ### Main definitions - `SimpleGraph.IsVertexReachable`: vertices remain reachable after removing strictly fewer than `k` other vertices. - `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable. Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). new-contributor t-combinatorics 199/0 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean 3 138 ['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'vihdzp'] YaelDillies
assignee:YaelDillies
1-41107
1 day ago
13-38577
13 days ago
34-70912
34 days
36347 FrankieeW
author:FrankieeW
feat(NumberTheory/QuadraticField): define quadratic number fields as QuadraticAlgebra ℚ d 0 Define `Qsqrtd d` as `QuadraticAlgebra ℚ d 0`, representing the quadratic number field `ℚ(√d)`. Prove trace and norm results, show `Qsqrtd d` is a number field and a quadratic extension when `d` is not a perfect square, and prove that `ℚ(√0)` and `ℚ(√1)` are not fields. Include `IsQuadraticField` as a predicate for quadratic extensions of `ℚ`, and bridge lemmas connecting squarefree integer parameters to the non-square condition. This PR is part of a series upstreaming the [QuadraticNumberFields](https://github.com/FrankieeW/QuadraticNumberFields) project. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/quadratic.20number.20fields) --- ### PRs - #36347 (this PR) - #36387 --- t-number-theory new-contributor large-import 191/0 Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean 4 23 ['FrankieeW', 'eric-wieser', 'github-actions', 'riccardobrasca', 'tb65536', 'wwylele'] nobody
1-40249
1 day ago
1-58644
1 day ago
2-4955
2 days
34435 huaizhangchu
author:huaizhangchu
feat(Probability): convolution of Poisson distributions This PR proves that the convolution of two Poisson distributions is again a Poisson distribution: `Poisson(r₁) ∗ Poisson(r₂) = Poisson(r₁ + r₂)` ## Main results - `poissonMeasureReal_charFun`: characteristic function of Poisson distribution is `exp(r(exp(it) - 1))` - `poissonMeasureReal_conv_poissonMeasureReal`: convolution of Poisson distributions on ℝ - `poissonMeasure_conv_poissonMeasure`: convolution of Poisson distributions on ℕ - `poissonMeasure_add_poissonMeasure_of_indepFun`: sum of independent Poisson random variables ## Proof strategy Uses characteristic functions: `φ(t) = exp(r(eⁱᵗ - 1))`, then pulls back from ℝ to ℕ. --- - [x] depends on: #34521 t-measure-probability large-import new-contributor 107/1 Mathlib/Probability/Distributions/Poisson/Basic.lean 1 31 ['CoolRmal', 'DavidLedvinka', 'EtienneC30', 'github-actions', 'huaizhangchu', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] EtienneC30
assignee:EtienneC30
1-20359
1 day ago
4-12321
4 days ago
29-33945
29 days
35017 robo7179
author:robo7179
feat(Combinatorics/SimpleGraph/Acyclic): add every nontrivial tree has atleast two leaves Added two theorems to prove that every non trivial tree has atleast two leaves (one in Finite the other in Acyclic). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics new-contributor 75/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean 2 24 ['IvanRenison', 'SnirBroshi', 'github-actions', 'robo7179'] nobody
1-12370
1 day ago
1-69113
1 day ago
28-65104
28 days
31662 edwin1729
author:edwin1729
feat(Topology/Order): topological basis of scott topology on Complete… …PartialOrder --- [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR. (1/2) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober. The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) This first PR proves two prerequisites, namely: - the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf) - [x] depends on: #33061 **The next PR is here:** #31670 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology new-contributor 239/1 Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib 4 66 ['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] b-mehta
assignee:b-mehta
0-52358
14 hours ago
3-86398
3 days ago
10-52396
10 days
35907 JJYYY-JJY
author:JJYYY-JJY
fix(Topology/Defs/Basic): preserve noncanonical topology instances in delaboration Preserve noncanonical topology instances in delaboration. Restore local instances before checking whether topology arguments can be omitted during delaboration, and print `IsOpen[t]`, `IsClosed[t]`, `closure[t]`, and `Continuous[t₁, t₂]` when the topology instances are not canonical in the current local-instance context. Previously, pretty-printing could silently drop noncanonical topology arguments, so declarations such as `LinearMap.mem_span_iff_continuous_of_finite` were rendered as if they used the default topology. Closes #33238 t-topology new-contributor 147/0 Mathlib/Topology/Defs/Basic.lean,MathlibTest/TopologyNonstandardNotation.lean 2 7 ['JJYYY-JJY', 'copilot-pull-request-reviewer', 'github-actions', 'j-loreaux'] j-loreaux
assignee:j-loreaux
0-51231
14 hours ago
0-76718
21 hours ago
9-45896
9 days
34709 dennj
author:dennj
feat(Analysis/ODE): add discrete Grönwall inequality ## Summary Add discrete Grönwall inequality to `Mathlib/Analysis/ODE/DiscreteGronwall.lean` Provides bounds for recurrence inequalities of the form `u(n+1) ≤ c(n) * u(n) + b(n)` ### Main results - `discrete_gronwall_prod_general`: Product form working over any linearly ordered commutative ring - `prod_one_add_Ico_mono`: Auxiliary lemma for product comparisons over subintervals - `discrete_gronwall`: Classical exponential bound `u(n) ≤ (u(n₀) + ∑ b(k)) * exp(∑ c(i))` (ℝ-specific) - `discrete_gronwall_Ico`: Uniform bound over a finite interval (ℝ-specific) ## Related work Complements the continuous Grönwall inequality in `Mathlib.Analysis.ODE.Gronwall` ## References * Grönwall, T. H. (1919). "Note on the derivatives with respect to a parameter of the solutions of a system of differential equations". *Annals of Mathematics*, 20(4), 292–296. t-analysis new-contributor 174/0 Mathlib.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean 2 1 ['github-actions'] nobody
0-45259
12 hours ago
37-34675
37 days ago
37-34356
37 days
35705 jdhart81
author:jdhart81
feat(Data/ENNReal, Probability/Independence): division decomposition and self-independence Two general-purpose lemmas extracted from a formal verification of "The Intelligence Bound" (Hart 2025). --- ### New lemmas - `ENNReal.div_eq_div_mul_div`: Division decomposition `a / c = a / b * (b / c)` when `b ≠ 0` and `b ≠ ⊤`. Added to `Mathlib.Data.ENNReal.Inv`. - `IndepFun.of_self`: If `Y` is independent of itself under a probability measure, then `X` and `Y` are independent. Self-independence implies `Y` is a.e. constant. Added to `Mathlib.Probability.Independence.Basic`. ### Context These lemmas arose in formalizing information-theoretic results where: - The ENNReal division identity is needed for decomposing rate expressions (limsup of ratios) - The self-independence result bridges entropy = 0 and measure-theoretic independence ### References - Formal verification: https://github.com/jdhart81/intelligence-bound-lean - Paper: "The Intelligence Bound" (Hart 2025) new-contributor t-data 47/0 Mathlib/Data/ENNReal/Inv.lean,Mathlib/Probability/Independence/Basic.lean 2 10 ['SnirBroshi', 'github-actions', 'jdhart81', 'joneugster', 'kbuzzard'] joneugster
assignee:joneugster
0-45257
12 hours ago
12-80138
12 days ago
14-49821
14 days
35812 khwilson
author:khwilson
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`). Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof. Co-authored-by: Yaël Dillies --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 392/33 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean 6 3 ['github-actions', 'joneugster'] urkud
assignee:urkud
0-45255
12 hours ago
12-34204
12 days ago
12-36851
12 days
36069 Equilibris
author:Equilibris
feat(Data/PFunctor): Universe generic W Previously `W.ind` was limited to `Prop`. It can for free be changed to `Sort w` forall w. --- When changing adding `elab_as_elim` it broke the usages in `Fix.lean`. I had to change `apply ...`s to use `induction ... using ...` but this a minor change. I added a `simp` lemma to the `w_ind_wMk` as: it is `rfl` and will almost certainly we used at reference site. It might in the future be useful to add `simp` to `wRec_eq` as well. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 42/32 Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean 2 2 ['github-actions'] joneugster
assignee:joneugster
0-45251
12 hours ago
7-4100
7 days ago
7-5465
7 days
36332 mike1729
author:mike1729
feat(Analysis/Normed/Module/WeakDual): register bornology and boundedness API ## Description This PR registers `Bornology` instance and introduces a boundedness API as discussed [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/instBornology.20for.20WeakSpace.20and.20WeakDual/with/577457935). ### Main additions - **`WeakDual.instBornology`**: Bornology instance on `WeakDual 𝕜 E` inherited from `StrongDual 𝕜 E` via `inferInstanceAs`. This makes `IsBounded` available directly on weak dual sets, where boundedness means operator-norm boundedness. - **`isVonNBounded_iff_pointwise_bounded`**: A set `s` in `WeakDual 𝕜 E` is von Neumann bounded (w.r.t. the weak-* topology) iff it is pointwise bounded: every `x : E` has `‖f x‖ ≤ r x` for all `f ∈ s`. - **`isBounded_iff_isVonNBounded`**: For normed spaces over `ℝ` or `ℂ`, norm-boundedness and weak-* von Neumann boundedness coincide (via Banach–Steinhaus). - **`isBounded_iff_pointwise_bounded`**: Combines the above two: norm-boundedness ↔ pointwise boundedness. - **`isBounded_polar`** and **`isBounded_closedBall`**: Standalone lemmas replacing repeated inline `isBounded_toStrongDual_preimage_iff_isBounded.mpr ...` patterns. - **Simp lemmas**: `isBounded_toStrongDual_preimage_iff_isBounded` and `isBounded_toWeakDual_preimage_iff_isBounded` for translating between weak and strong dual boundedness. ### API simplification The existing lemmas `isClosed_image_coe_of_bounded_of_closed`, `isCompact_of_bounded_of_closed`, and `isSeqCompact_of_isBounded_of_isClosed` now take `IsBounded s` directly instead of the more verbose `IsBounded (StrongDual.toWeakDual ⁻¹' s)`, since the two are definitionally equal with the new bornology instance. ### Minor changes - Replaced `grind` tactic usage with explicit term - Fixed deprecation dates from 2024-11-19 to 2025-11-19 - Renamed local variable `F` to `E` for consistency with the rest of the file - Added comprehensive module and declaration docstrings --- - [ ] depends on: — - [ ] modifies an existing declaration: yes (simplified signatures of `isClosed_image_coe_of_bounded_of_closed`, `isCompact_of_bounded_of_closed`, `isSeqCompact_of_isBounded_of_isClosed`) - [ ] adds new declarations: yes (`instBornology`, `isBounded_toStrongDual_preimage_iff_isBounded`, `isBounded_toWeakDual_preimage_iff_isBounded`, `isVonNBounded_iff_pointwise_bounded`, `isBounded_iff_isVonNBounded`, `isBounded_iff_pointwise_bounded`, `isBounded_closedBall`, `isBounded_polar`) --- Open in Gitpod --> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 205/70 Mathlib/Analysis/Normed/Module/WeakDual.lean 1 2 ['github-actions'] j-loreaux
assignee:j-loreaux
0-45240
12 hours ago
3-62809
3 days ago
3-62592
3 days
35745 khwilson
author:khwilson
feat(Mathlib/Analysis/Asymptotics/Defs): congr lemmas for IsBigO* This PR primarily provides two calculational lemmas that are commonly used in bounding functions. First, it provides `IsBigO*.sum_congr`. This theorem allows the user to bound each term of a (finite) sum individually. This is different than `IsBigO.sum` which requires all terms to be bound by the _same_ function. Second, it provides `IsBigO*.sum_congr'`. This theorem allows the user to bound the terms of a sum individually _when the length of the sum changes with respect to the running variable_. This is a common setup with certain techniques such as the method of the hyperbola. Note: This makes the overall length of this file go above 1500 lines. I'm happy to break it up at the request of reviewers, but that's a bigger change to the API. AI Usage: Looking up various lemma names in Google Gemini. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 91/1 Mathlib/Analysis/Asymptotics/Defs.lean 1 12 ['github-actions', 'j-loreaux', 'khwilson'] j-loreaux
assignee:j-loreaux
0-39033
10 hours ago
0-59652
16 hours ago
13-51366
13 days
36324 psinary-sketch
author:psinary-sketch
feat(NumberTheory/LSeries): Schwarz reflection for completedRiemannZeta₀ --- Three new theorems about `completedRiemannZeta₀`: - `completedRiemannZeta₀_conj`: Schwarz reflection `Λ₀(conj s) = conj(Λ₀(s))` - `completedRiemannZeta₀_im_eq_zero_on_half`: the completed zeta function is real-valued on the critical line - `completedRiemannZeta₀_conj_eq_self_on_half`: equivalent fixed-point formulation The Schwarz reflection follows from the Mellin representation: the kernel is real-valued, so the integral commutes with conjugation via `integral_conj`. The critical-line results compose this with the functional equation. t-number-theory new-contributor 152/0 Mathlib.lean,Mathlib/NumberTheory/LSeries/SchwarzReflection.lean 2 2 ['github-actions'] alexjbest
assignee:alexjbest
0-38588
10 hours ago
0-38652
10 hours ago
0-39196
10 hours
36463 AlexeyMilovanov
author:AlexeyMilovanov
feat(Data.Nat.Bits): add Nat.ofBits and prove bits_injective This PR introduces `Nat.ofBitsList` for `List Bool` and provides the missing proofs that the standard binary representation `Nat.bits` is injective (`Nat.bits_injective`) and possesses a right inverse for normalized lists (`Nat.bits_ofBitsList`). `ofBitsList` is implemented as an `abbrev` using `foldr` (keeping it transparent to tactics like `simp`). It serves as the exact left inverse to `bits`. Furthermore, `bits_ofBitsList` establishes that `bits` and `ofBitsList` form a bijection between `ℕ` and the set of lists with no trailing `false` values. This avoids the name collision with `Nat.ofBits` from `Batteries` and aligns with previous Zulip discussions (see [here](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration)) regarding the utility of having a complete list-based API for `Nat.bits` in the library. CC: @linesthatinterlace - Adds `Nat.ofBitsList` (as an `abbrev`) - Adds `Nat.ofBitsList_bits` (left inverse property) - Adds `Nat.bits_injective` - Adds `Nat.ofBitsList_eq_zero_iff` (helper lemma for lists without trailing zeros) - Adds `Nat.bits_ofBitsList` (right inverse property) t-data new-contributor 68/1 Mathlib/Data/Nat/Bits.lean 1 3 ['github-actions', 'linesthatinterlace'] nobody
0-36936
10 hours ago
0-46841
12 hours ago
0-46622
12 hours
35647 BryceT233
author:BryceT233
feat(RingTheory/Ideal/Quotient): add a canonical inclusion map This is the second PR split from the larger PR https://github.com/leanprover-community/mathlib4/pull/34936 to make the review process easier. It introduces `Submodule.powSmulQuotInclusion`, which is the canonical inclusion from `I ^ a • N ⧸ I ^ b • (I ^ a • N)` to `M ⧸ I ^ c • N` where `c = b + a`, and provides auxiliary lemmas for it --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 37/0 Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 1 9 ['BryceT233', 'erdOne', 'github-actions', 'wwylele'] chrisflav
assignee:chrisflav
0-24115
6 hours ago
10-38697
10 days ago
16-53165
16 days
36443 Fieldnote-Echo
author:Fieldnote-Echo
feat(Combinatorics/SimpleGraph): add SimpleGraph.ball (open metric ball) Add `SimpleGraph.ball`, the open ball in the graph extended metric, to `Mathlib.Combinatorics.SimpleGraph.Metric`. ## Summary - Define `SimpleGraph.ball c r := {v | G.edist c v < r}` with `r : ℕ∞` - Add basic lemmas: `mem_ball`, `ball_zero`, `ball_one`, `ball_top`, `ball_subset_ball`, `mem_ball_self`, `mem_ball_comm` - Update module docstring and tags - No new imports ## Design decisions - **Open ball** (strict `<`, not `≤`): `ball c ⊤` coincides with the connected component of `c`, whereas a closed ball would give `closedBall c ⊤ = univ`. - **Named `SimpleGraph.ball`** (not `eball`): since `dist`-valued balls are less natural for disconnected graphs, the `e` prefix is unnecessary. - **Graph-specific** (not via `PseudoEMetricSpace`): avoids importing `ℝ`. Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/SimpleGraph.20metric.20balls/with/577846803). ## AI assistance disclosure Claude (Opus 4.6) was used to help draft and iterate on the implementation. I reviewed the resulting code line by line, verified the proofs compile, and I understand and vouch for the final contents of this PR. t-combinatorics new-contributor 76/3 Mathlib/Combinatorics/SimpleGraph/Metric.lean 1 18 ['Fieldnote-Echo', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'lauramonk'] nobody
0-21728
6 hours ago
0-79276
21 hours ago
0-78957
21 hours
35785 Brian-Nugent
author:Brian-Nugent
feat(CategoryTheory/Topology): Add Flasque Sheaves This PR defines flasque sheaves on a topological space as sheaves where all restriction morphisms are epimorphisms. The main result of this PR is `TopCat.Sheaf.IsFlasque.epi_of_shortExact` which says a short exact sequence where the first sheaf is flasque remains exact on sections. --- - [x] depends on: #34267 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 274/0 Mathlib.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/SheafCondition/UniqueGluing.lean 5 48 ['Brian-Nugent', 'dagurtomas', 'github-actions', 'joelriou', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smorel394'] dagurtomas
assignee:dagurtomas
0-13951
3 hours ago
2-6793
2 days ago
4-52575
4 days
36447 sharky564
author:sharky564
feat(Analysis/Topology): Generalize Riesz' theorem to locally compact… … T2 topological vector spaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor large-import 111/63 Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean 2 5 ['CoolRmal', 'github-actions', 'sharky564'] nobody
0-9770
2 hours ago
0-73831
20 hours ago
0-73541
20 hours
26160 oliver-butterley
author:oliver-butterley
feat(MeasureTheory.VectorMeasure): add several lemmas which characterize variation Add the following lemmas concerning variation of a VectorMeasure: * `norm_measure_le_variation`: `‖μ E‖ₑ ≤ variation μ E`. * `variation_neg`: `(-μ).variation = μ.variation`. * `variation_zero`: `(0 : VectorMeasure X V).variation = 0`. * `absolutelyContinuous` Co-authored-by: @yoh-tanimoto - [x] depends on: #26156 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 340/20 Mathlib.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/Order/Partition/Finpartition.lean 8 28 ['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel', 'yoh-tanimoto'] nobody
0-6746
1 hour ago
0-6698
1 hour ago
36-45632
36 days
36091 JJYYY-JJY
author:JJYYY-JJY
feat(Analysis.LocallyConvex.Separation): add Eidelheit's separation theorem Adds `geometric_hahn_banach_of_interior_nonempty`, formalizing Eidelheit's separation theorem for disjoint convex sets where one has a nonempty interior. This resolves the longstanding TODO in `Mathlib.Analysis.LocallyConvex.Separation`. The patch also removes the TODO for the topological property `Convex ℝ s → interior (closure s) ⊆ s`, as this is already handled by `Convex.closure_interior_eq_closure_of_nonempty_interior` (imported from `Mathlib.Analysis.Convex.Topology`). Key implementation details: * Uses `geometric_hahn_banach_open` to separate `interior A` and `B`. * Requires `B.Nonempty` to guarantee the separating continuous linear functional is nontrivial (`f ≠ 0`), avoiding the triviality trap where `A` covers the entire space. * Uses `closure_minimal` to extend the weak inequality from `interior A` to the entirety of `A`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Interior.20of.20closure.20for.20convex.20sets/with/577060103 t-analysis new-contributor 34/5 Mathlib/Analysis/LocallyConvex/Separation.lean 1 15 ['CoolRmal', 'copilot-pull-request-reviewer', 'faenuccio', 'github-actions', 'wwylele'] faenuccio
assignee:faenuccio
0-4673
1 hour ago
3-31565
3 days ago
7-45738
7 days
36473 AlexeyMilovanov
author:AlexeyMilovanov
feat(Computability.Primrec.List): add primrec proofs for drop, takeWhile, and dropWhile This PR adds missing proofs that several standard `List` operations are primitive recursive (`Primrec`). Specifically, it introduces: - `List.Primrec.drop`: `List.drop` is primitive recursive (using `nat_rec'`). - `List.Primrec.takeWhile`: `List.takeWhile` is primitive recursive (using `list_rec`). - `List.Primrec.dropWhile`: `List.dropWhile` is primitive recursive (using `list_rec`). - `List.Primrec.length_takeWhile`: The length of `takeWhile` is primitive recursive. These are basic computability properties for lists that were currently missing from `Mathlib.Computability.Primrec.List`. All proofs use standard combinators and `of_eq`. t-computability new-contributor 39/1 Mathlib/Computability/Primrec/List.lean 1 2 ['github-actions'] Komyyy
assignee:Komyyy
0-2994
49 minutes ago
0-11367
3 hours ago
0-11048
3 hours
36478 TJHeeringa
author:TJHeeringa
feat(Analysis/Matrix): Added Schur's product Added Schur's product, i.e. the Hadamard product of two finite positive semi-definite matrices is again a positive semi-definite matrix. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis new-contributor 28/0 Mathlib/Analysis/Matrix/Order.lean 1 3 ['github-actions'] nobody
0-1116
18 minutes ago
0-1549
20 minutes ago
0-1230
20 minutes
35481 FrankieeW
author:FrankieeW
chore(NumberTheory/Zsqrtd): inline duplicated order lemmas into instances This PR follows reviewer feedback by removing duplicated order/additive wrapper theorems in `Zsqrtd` and inlining the proofs into the corresponding typeclass instances. Changes include: - remove redundant wrappers such as `Zsqrtd.le_total`, `Zsqrtd.add_le_add_left`, `Zsqrtd.le_of_add_le_add_left`, `Zsqrtd.add_lt_add_left`, and `Zsqrtd.le_antisymm` - keep the canonical API through `LinearOrder` / ordered additive structure fields - update downstream use in `PellMatiyasevic` to the canonical theorem (`_root_.le_antisymm`) This reduces namespace-level duplicate APIs and keeps proofs aligned with standard typeclass lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-number-theory 26/10 Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean 2 10 ['FrankieeW', 'MichaelStollBayreuth', 'github-actions', 'vihdzp'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
0-1115
18 minutes ago
19-40212
19 days ago
20-82134
20 days

PRs on the review queue labelled 'easy'

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
34677 joneugster
author:joneugster
feat(scripts/autolabel): add missing folders add the following rules for folders not covered by the script yet: - `Mathlib/Geometry/Polygon` to `t-euclidean-geometry` - `Mathlib/Geometry/Diffeology` to `t-differential-geometry` - `Cache` to `ci` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI easy 7/2 scripts/autolabel.lean 1 2 ['github-actions', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-21479
2 days ago
24-42626
24 days ago
24-42505
24 days
34678 joneugster
author:joneugster
feat(scripts/autolabel): add dependencies for `t-ring-theory` these changes are motivated by clearing the [triage queue: PRs without topic label](https://leanprover-community.github.io/queueboard/triage.html#unlabelled): about 60-70% of unlabelled PRs were `feat(RingTheory/...)` which also modified stuff falling under `t-algebra`, `t-group-theory` or `t-data`. - [x] depends on: #34066 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI easy 6/3 scripts/autolabel.lean 1 3 ['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] jcommelin
assignee:jcommelin
2-21344
2 days ago
10-67731
10 days ago
10-68961
10 days
36288 b-mehta
author:b-mehta
feat(MeasureTheory/Constructions/Pi): add pi_pi_finset This PR adds `Measure.pi_pi_finset`, which computes the product measure of a partial pi set `(s : Set ι).pi f` as `∏ i ∈ s, μ i (f i)` when all measures are probability measures. This generalises `Measure.pi_pi` from `Set.univ.pi` to an arbitrary `Finset`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy t-measure-probability 4/0 Mathlib/MeasureTheory/Constructions/Pi.lean 1 1 ['github-actions'] kex-y
assignee:kex-y
1-45253
1 day ago
4-69164
4 days ago
4-69569
4 days

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

There are currently no PRs on the review queue which are labelled 'tech debt' or 'longest-pole. Congratulations!