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: October 05, 2025 at 20:02 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
27066 vasnesterov
author:vasnesterov
feat(Tactic/Order): frontend for `order` * Support `order [h1, h2]` and `order only [h1, h2]` syntax. * Split conjunctions while extracting facts from the context. E.g. hypotheses in the form `A ∧ B` are converted into two facts `A` and `B`. * Similarly, extract facts from existential quantifiers in the hypotheses. --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #22073. Original PR: https://github.com/leanprover-community/mathlib4/pull/22073 t-meta 91/37 Mathlib.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Util/ElabWithoutMVars.lean,MathlibTest/order.lean 6 22 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
65-78129
2 months ago
84-38056
2 months ago
84-38075
84 days
25758 YaelDillies
author:YaelDillies
chore: shortcut instance `CompleteLattice α → PartialOrder α` This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`. This is a followup to #25358. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 7/0 Mathlib/Order/CompleteLattice/Defs.lean 1 6 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'leanprover-bot'] bryangingechen
assignee:bryangingechen
64-68491
2 months ago
95-76231
3 months ago
115-40407
115 days
26061 kckennylau
author:kckennylau
feat(AlgebraicGeometry): define Projective Space This defines the projective space over a scheme, indexed by an arbitrary type. --- Zulip discussion: [#maths > Projective Space](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Projective.20Space/with/524057860) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 63/0 Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpace.lean 2 14 ['callesonne', 'erdOne', 'github-actions', 'kckennylau'] erdOne
assignee:erdOne
62-68465
2 months ago
109-70206
3 months ago
109-70243
109 days
26054 FMLJohn
author:FMLJohn
feat(RingTheory/GradedAlgebra/Homogeneous/Subsemiring): homogeneous subsemirings of a graded semiring --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) In this pull request, we have defined homogeneous subsemirings of `GradedRing 𝒜` where `𝒜 : ι → σ`, `SetLike σ A` and `AddSubmonoidClass σ A`. ## Main definitions For any `R : Subsemiring A`: * `Subsemiring.IsHomogeneous 𝒜 R`: The property that a subsemiring is closed under `GradedRing.proj`. * `HomogeneousSubsemiring 𝒜`: The structure extending subsemirings which satisfy `Subsemiring.IsHomogeneous`. t-ring-theory 120/0 Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Subsemiring.lean 2 1 ['github-actions'] kim-em
assignee:kim-em
61-37411
2 months ago
61-37411
2 months ago
110-6122
110 days
24730 YaelDillies
author:YaelDillies
feat(RingTheory): group-like elements Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`. We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group. From Toric Co-authored-by: Michał Mrugała --- - [x] depends on: #24747 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 309/0 Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean 4 42 ['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] eric-wieser
assignee:eric-wieser
61-37305
2 months ago
61-37305
2 months ago
147-80754
147 days
26770 Jun2M
author:Jun2M
feat(Combinatorics/Graph) : subgraph relations and operations 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`. Further, it introduce operations `EdgeRestrict`, `EdgeDelete`, `induce` and `VertexDelete`. Co-authored-by: Peter Nelson --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 703/0 Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean 2 1 ['github-actions'] awainverse
assignee:awainverse
59-68479
1 month ago
92-79957
3 months ago
92-79992
92 days
26765 KiringYJ
author:KiringYJ
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance Add two small features to `MeasureTheory/PiSystem`: 1. SetLike instance `instance : SetLike (DynkinSystem α) (Set α)` This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style. 2. `DynkinSystem.pi_lambda` lemma Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`. Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately. Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs. No breaking changes. No dependencies. new-contributor t-measure-probability 13/0 Mathlib/MeasureTheory/PiSystem.lean 1 13 ['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] RemyDegenne
assignee:RemyDegenne
58-68478
1 month ago
66-18127
2 months ago
93-5962
93 days
27534 PierreQuinton
author:PierreQuinton
feat: a typeclass for `sSup`/`sInf` to be lawful Adds lawful infima and suprema type classes. A preorder with lawful suprema: whenever a set has a least upper bound, `sSup` returns a least upper bound for that set. A preorder with lawful infima: whenever a set has a greatest lower bound, `sInf` returns a greastest lower bound for that set. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 121/8 Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean 3 25 ['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] YaelDillies
assignee:YaelDillies
58-32255
1 month ago
70-15552
2 months ago
70-15578
70 days
25779 robin-carlier
author:robin-carlier
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and lax natural transformations of lax functors Given two lax functors `F G` between bicategories, we define lax natural transformations as families of 1-morphisms `∀ a : B, F.obj a ⟶ G.obj a` equipped with a naturality 2-cell `∀ {a b : B} (f : a ⟶ b), app a ≫ G.map f ⟶ F.map f ≫ app b` that are required to satisfy conditions such as naturality, and compatibility with the `mapId` and `mapComp` fields of the source and target functors. This notion dualizes the existing notion of oplax natural transformations between, and tries to narrow the current gap between lax and oplax functors in the library, where the latter has much more formalized API. For maintainability, The code tries to stay as aligned as possible with the code in `CategoryTheory.Bicategory.Naturaltransformations.Oplax`. --- I followed the book by Johnson and Yau for the definition. I made @yuma-mizuno and @callesonne authors of the files, as they are the authors of the original code for Oplax functors, which I basically copy-pasted and modified to make it work with lax functors. They should feel free to modify this if they want. Next thing on the list is to tackle modifications between lax/strong natural transforms of lax transforms, as well as the category instance on lax functors. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #25565.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25565* t-category-theory 286/0 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,scripts/noshake.json 3 3 ['github-actions', 'yuma-mizuno'] joelriou
assignee:joelriou
57-68497
1 month ago
92-43714
3 months ago
114-2073
114 days
27664 pechersky
author:pechersky
feat(Topology,Analysis): discrete topology metric space and normed groups Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y` Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 137/0 Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean 3 3 ['github-actions', 'kckennylau', 'pechersky'] urkud
assignee:urkud
57-68489
1 month ago
67-58501
2 months ago
67-58486
67 days
24850 pechersky
author:pechersky
feat(Topology/UniformSpace/Ultra): uniform spaces induced by pseudometrics are ultra if system is ultra Any uniform space has a natural system of pseudometrics definable on it, comprised of those pseudometrics constructed from a descending chain of equivalence relation entourages. In a nonarchimedean uniformity, this pseudometric system induces the uniformity. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #23111 t-topology 509/1 Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean 3 8 ['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'pechersky'] urkud
assignee:urkud
54-68495
1 month ago
117-55805
3 months ago
133-1331
133 days
27000 gasparattila
author:gasparattila
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms This PR adds an isometric version of the third isomorphism theorem for groups and modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis 49/2 Mathlib/Analysis/Normed/Group/Quotient.lean 1 1 ['github-actions'] urkud
assignee:urkud
54-68490
1 month ago
86-21217
2 months ago
86-21260
86 days
27754 Parcly-Taxel
author:Parcly-Taxel
feat: `finCycle` as iterated `finRotate` Originally used in #25786, but eventually discovered to be unnecessary. t-logic 26/5 Mathlib/Logic/Equiv/Fin/Rotate.lean 1 1 ['github-actions'] fpvandoorn
assignee:fpvandoorn
52-68481
1 month ago
66-16837
2 months ago
66-16882
66 days
27946 plp127
author:plp127
refactor: have `MetrizableSpace` not depend on `MetricSpace` Some theorems for uniform spaces with a countably generated uniformity do not mention their uniformity in any of the hypotheses or the conclusion (for example `UniformSpace.isCompact_iff_isSeqCompact`). This PR allows those theorems to be stated for (pseudo)metrizable spaces without importing the real numbers. See also #2032 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 129/102 Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/Compactness/PseudometrizableLindelof.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/ContinuousMap.lean,Mathlib/Topology/Metrizable/Real.lean,Mathlib/Topology/Metrizable/Uniformity.lean 7 7 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] urkud
assignee:urkud
51-68466
1 month ago
61-36751
2 months ago
62-2223
62 days
28141 YaelDillies
author:YaelDillies
chore: deprecate `BialgHom.coe_toLinearMap` `BialgHom.toLinearMap` is a fake projection. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric easy 5/11 Mathlib/RingTheory/Bialgebra/Hom.lean 1 8 ['YaelDillies', 'eric-wieser', 'github-actions'] alreadydone
assignee:alreadydone
49-68469
1 month ago
57-45598
1 month ago
57-45588
57 days
28198 Sebi-Kumar
author:Sebi-Kumar
feat(Analysis/InnerProductSpace/PiL2): Add instances for EuclideanSpace rank and EuclideanSpace being infinite Add an instance for `Fact (Module.finrank 𝕜 (EuclideanSpace 𝕜 (Fin n)) = n)` which is needed to apply [stereographic'](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/Instances/Sphere.html#stereographic') to EuclideanSpace. Also add an instance for `Infinite (EuclideanSpace 𝕜 ι)` where `ι` is a nonempty fintype. I wasn't sure if these should go in separate pull requests, but they seemed similar enough to me. Thank you to Kenny Lau for the suggestions at [#mathlib4 > Instances for EuclideanSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20for.20EuclideanSpace). --- To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 6/0 Mathlib/Analysis/InnerProductSpace/PiL2.lean 1 1 ['github-actions'] urkud
assignee:urkud
48-68470
1 month ago
55-81706
1 month ago
55-81743
55 days
28072 kckennylau
author:kckennylau
feat(RingTheory/Valuation): make tactic rw_val_equiv Co-authored by Aaron Liu and Bhavik Mehta. A tactic to rewrite relations such as `max (v₁ x) (v₁ y) * v₁ z < 1` into `max (v₂ x) (v₂ y) * v₂ z < 1` , given `h : v₁.IsEquiv v₂`. Allowed relations are `≤`, `<`, `=`, `≠`. Allowed operations are: `0`, `1`, `v₁ r`, `⁻¹`, `^` (both `ℕ` and `ℤ`), `*`, `/`, `min`, `max`. Examples: ```lean example {R Γ₁ Γ₂ : Type} [Ring R] [LinearOrderedCommMonoidWithZero Γ₁] [LinearOrderedCommMonoidWithZero Γ₂] {v₁ : Valuation R Γ₁} {v₂ : Valuation R Γ₂} (h : v₁.IsEquiv v₂) {y z : R} : {x | v₁ x ^ 2 * min (v₁ y) (v₁ z) ≤ 1} = {x | v₂ x ^ 2 * min (v₂ y) (v₂ z) ≤ 1} := by rw_val_equiv h ``` It is also possible to use `←` to rewrite in the opposite direction, and to use `at h1 h3 ⊢` to specify which hypotheses (and/or goal) to rewrite, similar to the syntax of `rw`. There is also `rwa_val_equiv` to work like `rwa`. --- Zulip: [#Is there code for X? > Tactics for comparing equivalent valuations](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tactics.20for.20comparing.20equivalent.20valuations) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 455/13 Mathlib/RingTheory/Valuation/Basic.lean,MathlibTest/Simproc/ValEquiv.lean 2 34 ['b-mehta', 'eric-wieser', 'github-actions', 'kckennylau', 'pechersky', 'plp127'] erdOne
assignee:erdOne
47-68485
1 month ago
58-3777
1 month ago
58-64673
58 days
28191 kckennylau
author:kckennylau
feat(Logic): tag Injective, Surjective, and Bijective with fun_prop --- Zulip: * [#Is there code for X? > surjective is not funprop!](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/surjective.20is.20not.20funprop!) * [#mathlib4 > `fun_prop` for Injective/Surjective/Bijective?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20for.20Injective.2FSurjective.2FBijective.3F) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 16/0 Mathlib/Tactic/FunProp.lean 1 3 ['github-actions', 'grunweg', 'kckennylau'] alexjbest
assignee:alexjbest
47-68483
1 month ago
55-18594
1 month ago
55-83196
55 days
28125 nonisomorphiclinearmap
author:nonisomorphiclinearmap
feat(Combinatorics): basic definition of simplicial complexes This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean. --- This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one. We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. new-contributor t-combinatorics 374/0 Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean 5 1 ['github-actions'] awainverse
assignee:awainverse
46-68493
1 month ago
58-562
1 month ago
58-598
58 days
28153 kckennylau
author:kckennylau
feat(Simproc): Simproc for explicit diagonal matrices ```lean example : (diagonal ![37, -1] : Matrix (Fin 2) (Fin 2) ℤ) = !![37, 0; 0, -1] := by simp ``` --- Shares code with #28148. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 114/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,scripts/noshake.json 4 1 ['github-actions'] alexjbest
assignee:alexjbest
46-68491
1 month ago
57-6833
1 month ago
57-6875
57 days
28186 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic Add `instance : IsEquiv (Path x₀ x₁) Homotopic` to the library. Allow use of lemmas like `of_eq` when proving two paths are homotopic. --- To provide additional context, I am relatively new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario and supervised by Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`. Also, I am not super familiar with `IsEquiv` and when it should/shouldn't be used. I just wanted to use a lemma like `Path.Homotopic.of_eq` at one point while working on my code, and thought this was the best way to add such a result to the library. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 5/0 Mathlib/Topology/Homotopy/Path.lean 1 4 ['Sebi-Kumar', 'github-actions', 'kckennylau'] PatrickMassot
assignee:PatrickMassot
46-68490
1 month ago
56-13420
1 month ago
56-13459
56 days
26428 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: norm_num support for Int.fract --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-meta 61/0 Mathlib/Data/Rat/Floor.lean,MathlibTest/norm_num_ext.lean 2 6 ['Rob23oba', 'github-actions', 'grunweg'] Rob23oba
assignee:Rob23oba
45-25206
1 month ago
45-25206
1 month ago
101-39685
101 days
28399 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: ring-theoretic fractions in Rat --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 47/0 Mathlib.lean,Mathlib/RingTheory/Localization/Rat.lean 2 1 ['github-actions'] robertylewis
assignee:robertylewis
43-68499
1 month ago
52-41435
1 month ago
52-41474
52 days
28473 EtienneC30
author:EtienneC30
feat: toLp and ofLp are analytic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 42/0 Mathlib.lean,Mathlib/Analysis/Analytic/WithLp.lean 2 1 ['github-actions'] hrmacbeth
assignee:hrmacbeth
43-68496
1 month ago
51-22670
1 month ago
51-22646
51 days
27990 kckennylau
author:kckennylau
feat(Counterexamples): a nontrivial valuation with discrete topology This file constructs a valuation on `K[X]` satisfying `IsValuativeTopology K[X] ∧ Nonempty (valuation K[X]).RankOne ∧ IsNontrivial K[X] ∧ DiscreteTopology K[X]`, and proves that `IsValuativeTopology F ∧ IsNontrivial F ∧ DiscreteTopology F` is not possible if `F` is a field. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 172/0 Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean 2 n/a ['github-actions', 'grunweg', 'kckennylau', 'pechersky'] nobody
43-53584
1 month ago
unknown
unknown
28812 yury-harmonic
author:yury-harmonic
feat(PNat/Factors): add attrs and lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 42/0 Mathlib/Data/PNat/Factors.lean 1 1 ['github-actions'] nobody
43-17698
1 month ago
43-17854
1 month ago
43-17886
43 days
27245 rirarika
author:rirarika
feat: multivariate polynomial ring properties about irreducibility --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
43-14887
1 month ago
79-43333
2 months ago
79-43367
79 days
25907 mans0954
author:mans0954
feat: low order roots of unity This PR continues the work from #25470. Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 t-algebra
label:t-algebra$
182/0 Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean 2 2 ['github-actions', 'mans0954'] kim-em
assignee:kim-em
43-14849
1 month ago
112-27540
3 months ago
112-27580
112 days
28531 Ruben-VandeVelde
author:Ruben-VandeVelde
chore: remove Cardinal imports from Topology.Algebra.InfiniteSum.Group --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 51/15 Mathlib.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Const.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/InfiniteSum/Real.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/PartitionOfUnity.lean 16 4 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions'] TwoFX
assignee:TwoFX
42-68465
1 month ago
49-79317
1 month ago
49-79292
49 days
28837 yury-harmonic
author:yury-harmonic
feat(ValMinAbs): add lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 24/6 Mathlib/Data/ZMod/ValMinAbs.lean 1 1 ['github-actions'] nobody
42-45653
1 month ago
42-45663
1 month ago
42-45693
42 days
28132 dupuisf
author:dupuisf
feat: preliminary `grind` tags for `IsUnit` This PR adds preliminary `grind` tags for the `IsUnit` predicate. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
61/17 Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean 6 2 ['github-actions', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
41-68470
1 month ago
50-64818
1 month ago
50-64793
50 days
28325 pechersky
author:pechersky
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` On the way to golf/generalize the proof that locally compact valued fields have locally finite valuation groups as embodied in `Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ] --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order t-topology 160/2 Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean 3 1 ['github-actions'] PatrickMassot
assignee:PatrickMassot
41-68467
1 month ago
53-50683
1 month ago
53-53385
53 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 242/1 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/CardComponents.lean,Mathlib/Topology/Connected/Clopen.lean 6 5 ['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] grunweg
assignee:grunweg
40-68499
1 month ago
48-25648
1 month ago
50-19673
50 days
27824 ChrisHughes24
author:ChrisHughes24
feat(Calculus): exists_gt_of_deriv_pos and variants --- I created a new file for this as I anticipate there will be many lemmas relating derivatives and monotonicity in future. Some lemmas relating deriviatives to monotonicity are already in mathlib and should maybe moved to the file (e.g. docs#HasDerivWithinAt.nonneg_of_monotoneOn). I stated them in as much generality as I could, copying the generality of `HasDerivWithinAt.nonneg_of_monotoneOn`. - [x] depends on: #28039 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 85/0 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Order.lean 2 29 ['ChrisHughes24', 'EtienneC30', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] hrmacbeth
assignee:hrmacbeth
40-68496
1 month ago
51-12296
1 month ago
55-29985
55 days
25292 YaelDillies
author:YaelDillies
feat: the `ConvexCone` generated by a set Define `ConvexCone.copy` and `ConvexCone.hull` and use them to golf the `CompleteLattice` instance. From Toric --- - [x] depends on: #25291 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 94/35 Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Geometry/Convex/Cone/Basic.lean 2 8 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
39-81585
1 month ago
70-34028
2 months ago
107-72345
107 days
28768 yury-harmonic
author:yury-harmonic
feat(Data/Nat): define `Nat.nthRoot` Define `Nat.nthRoot n a` to be the `n`th root of a natural number `a`. --- This is a dependency of a `norm_num` plugin that can handle `(8 : Real) ^ (2 / 3 : Real)`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 218/0 Mathlib.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Nat/NthRoot/Lemmas.lean 3 16 ['b-mehta', 'eric-wieser', 'github-actions', 'j-loreaux', 'yury-harmonic'] nobody
39-80722
1 month ago
43-54031
1 month ago
44-8709
44 days
25225 xcloudyunx
author:xcloudyunx
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Trails.lean 1 6 ['IvanRenison', 'github-actions', 'vlad902'] kmill
assignee:kmill
39-30734
1 month ago
131-74260
4 months ago
131-74304
131 days
26914 quangvdao
author:quangvdao
feat(Data/PFunctor/Univariate): more definitions for univariate `PFunctor` This PR defines several basic definitions of `PFunctor`, including zero, one, constants, monomials, coproduct (sum), product, sigma, pi, tensor product, universe lifting, and equivalence. We also add: (1) simple lemmas connecting the basic definitions, (2) an automatically derived ext lemma for `PFunctor` via `@[ext]` attribute Some things I'm not clear on: - I define `HAdd` and `HMul` instances for coproduct and product of poly functors having different universe levels. Should I also define `Add` and `Mul` instances for poly functors having the same universe level? - Is it ok to define notation for tensor product, i.e. `@[inherit_doc] scoped infixr:80 " ⊗ " => tensor`? I'm worried it might clash with other notation. - Need a double-check on the priority of notation. Some future definitions to add: - Various equivalences arising from arithmetic identities, e.g., `P + 0 ≃ₚ P`. - Definitions of Lenses and Charts (each of them will be a file or even a folder) - Exponential objects (corresponding to both `prod` and `tensor`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 144/5 Mathlib/Data/PFunctor/Univariate/Basic.lean 1 19 ['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] eric-wieser
assignee:eric-wieser
39-15450
1 month ago
88-69557
2 months ago
88-69593
88 days
23238 YaelDillies
author:YaelDillies
feat: extended floor and ceil My motivation for this is to prove `ENat.toENNReal (⨆ i, f i) = ⨆ i, ENat.toENNReal (f i)` and `ENat.toENNReal (⨅ i, f i) = ⨅ i, ENat.toENNReal (f i)`. Kalle Kytölä independently needs this for his formalisation of statistical physics. From MiscYD --- - [x] depends on: #24781 - [x] depends on: #24782 See #15269 for a past attempt. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
235/0 Mathlib.lean,Mathlib/Algebra/Order/Floor/Extended.lean 2 25 ['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kkytola', 'mathlib4-dependent-issues-bot', 'urkud'] alreadydone
assignee:alreadydone
39-9726
1 month ago
147-7091
4 months ago
194-59299
194 days
22662 plp127
author:plp127
feat: Localization.Away.lift (computably) This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`. --- - [x] depends on: #24791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
74/0 Mathlib/RingTheory/Localization/Away/Basic.lean 1 17 ['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] mariainesdff
assignee:mariainesdff
38-68256
1 month ago
146-72871
4 months ago
212-72844
212 days
27392 Paul-Lez
author:Paul-Lez
feat(Tactic/SimpUtils): add simproc finding commands This PR adds some commands to allow users to find simprocs/dsimprocs/simp theorems that match on a given pattern. Thanks to Robin Arnez for telling me about `simprocDeclExt` :) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 690/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpUtils.lean,MathlibTest/SimpUtils.lean 4 9 ['Paul-Lez', 'eric-wieser', 'github-actions', 'kmill'] robertylewis
assignee:robertylewis
38-9386
1 month ago
60-82525
1 month ago
62-83187
62 days
26484 peabrainiac
author:peabrainiac
feat(Geometry/Diffeology): basics of diffeological spaces Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces. --- This PR continues the work from #21969. t-differential-geometry 471/0 Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib 3 10 ['JovanGerb', 'github-actions', 'grunweg', 'lecopivo', 'peabrainiac'] grunweg
assignee:grunweg
37-40118
1 month ago
99-61334
3 months ago
99-66077
99 days
26240 grunweg
author:grunweg
perf(CommandLinterLinter): use Substring more Probably, these changes make little difference, but let's find out. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-linter RFC 14/15 Mathlib/Tactic/Linter/CommandStart.lean 1 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] joneugster
assignee:joneugster
37-39874
1 month ago
106-77437
3 months ago
106-82039
106 days
27516 gaetanserre
author:gaetanserre
feat: add rational approximation lemma for suprema in `unitInterval` Add `sSup_eq_iUnion_rat` lemma that provides a rational approximation characterization of suprema in the unit interval. For monotone functions `f : α → I → ℝ`, the lemma establishes that the set of pairs where `a < sSup {x | f e.1 x < e.2}` equals the union over all rationals `q ∈ I` with `q > a` of the sets `{e | f e.1 q < e.2}`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 44/0 Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Topology/UnitInterval.lean 2 6 ['gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
37-17009
1 month ago
42-18728
1 month ago
68-9723
68 days
27433 YaelDillies
author:YaelDillies
refactor: make `⇑e⁻¹ = e.symm` simp From BrauerGroup and ClassFieldTheory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 217/256 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/GroupTheory/Perm/Basic.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/Logic/Equiv/Set.lean 16 3 ['eric-wieser', 'github-actions'] dwrensha
assignee:dwrensha
36-68511
1 month ago
49-22241
1 month ago
49-53604
49 days
28560 euprunin
author:euprunin
chore(Combinatorics/Quiver): golf entire `lift_spec` using `rfl` ---
Show trace profiling of lift_spec: <10 ms before, <10 ms after 🎉 ### Trace profiling of `lift_spec` before PR 28560 ```diff diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean index 33e371b283..76a3371b36 100644 --- a/Mathlib/Combinatorics/Quiver/Symmetric.lean +++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean @@ -164,6 +164,7 @@ def lift [HasReverse V'] (φ : Prefunctor V V') : | Sum.inl g => φ.map g | Sum.inr g => reverse (φ.map g) +set_option trace.profiler true in theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') : Symmetrify.of.comp (Symmetrify.lift φ) = φ := by fapply Prefunctor.ext ``` ``` ✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.3s) Build completed successfully (147 jobs). ``` ### Trace profiling of `lift_spec` after PR 28560 ```diff diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean index 33e371b283..3adf874946 100644 --- a/Mathlib/Combinatorics/Quiver/Symmetric.lean +++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean @@ -164,13 +164,10 @@ def lift [HasReverse V'] (φ : Prefunctor V V') : | Sum.inl g => φ.map g | Sum.inr g => reverse (φ.map g) +set_option trace.profiler true in theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') : Symmetrify.of.comp (Symmetrify.lift φ) = φ := by - fapply Prefunctor.ext - · rintro X - rfl - · rintro X Y f - rfl + tauto theorem lift_reverse [h : HasInvolutiveReverse V'] (φ : Prefunctor V V') {X Y : Symmetrify V} (f : X ⟶ Y) : ``` ``` ✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.2s) Build completed successfully (147 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-combinatorics 2/6 Mathlib/Combinatorics/Quiver/Symmetric.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
36-68504
1 month ago
49-10359
1 month ago
49-10401
49 days
29014 ShreckYe
author:ShreckYe
feat(Data/List/Scan): some theorems that relate `scanl` with `foldl` I am not sure which is the best form of `getElem_scanl_eq_foldl_take` here, so I added several alternative forms. Feel free to remove any of them if necessary. t-data 35/0 Mathlib/Data/List/Scan.lean 1 9 ['ShreckYe', 'github-actions', 'themathqueen', 'vlad902'] nobody
36-43339
1 month ago
39-38586
1 month ago
39-38625
39 days
26843 vasnesterov
author:vasnesterov
feat(Tactic/Simproc): nested quantifiers in `existsAndEq` Generalize the `existsAndEq` simproc to nested existential quantifiers. For example `∃ a, p a ∧ ∃ b, a = f b ∧ q b` now simplifies to `∃ b, p (f b) ∧ q b`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This PR continues the work from #23365. Original PR: https://github.com/leanprover-community/mathlib4/pull/23365 migrated-from-branch large-import t-meta 457/77 Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,MathlibTest/Simproc/ExistsAndEq.lean 4 15 ['JovanGerb', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] kmill
assignee:kmill
35-28097
1 month ago
35-81889
1 month ago
90-13021
90 days
25856 MichaelStollBayreuth
author:MichaelStollBayreuth
perf(Data.Real.Sqrt): make Real.sqrt irreducible We try to see what happens if we make Real.sqrt irreducible. There are cases where this makes unification very significantly faster, compare [#mathlib4 > Coercion triggers timeout @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Coercion.20triggers.20timeout/near/517177117). (Migrated manually from #24752) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated-from-branch t-data 7/5 Mathlib/Data/Real/Sqrt.lean 1 5 ['MichaelStollBayreuth', 'github-actions', 'j-loreaux', 'leanprover-bot'] ericrbg
assignee:ericrbg
34-82629
1 month ago
35-945
1 month ago
104-27535
104 days
28296 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): Hamidoune's Freiman-Kneser theorem for nonabelian groups add noncommutative Freiman-Kneser theorem for doubling less than 2-\epsilon --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 339/3 Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 1 14 ['YaelDillies', 'github-actions', 'strihanje01'] awainverse
assignee:awainverse
34-68465
1 month ago
45-25319
1 month ago
47-2160
47 days
25920 BoltonBailey
author:BoltonBailey
feat(Data/Finsupp/Basic): `Finsupp.optionElim'` Similar to how Finsupp.cons constructs a map Fin (n + 1) →₀ M from a map Fin n →₀ M, we define Finsupp.optionElim' to construct a map Option α →₀ M from a map α →₀ M, given an additional value for none. We base this on the new optionEquiv definition. As a function, it behaves as Option.elim', hence the name. We prove a variety of API lemmas, based on those for Finsupp.cons, to bring the definitions more in line with the contents of Data/Finsupp/Fin. We also refactor to a new file to help avoid a too-long file and make this more analogous to Finsupp.cons Original PR: https://github.com/leanprover-community/mathlib4/pull/13861 - [x] depends on: #26309 migrated-from-branch t-data 114/23 Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Option.lean 2 15 ['BoltonBailey', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] eric-wieser
assignee:eric-wieser
34-48117
1 month ago
34-53163
1 month ago
99-23642
99 days
28602 gmcninch-tufts
author:gmcninch-tufts
feat(Algebra/Polynomial/Module): prove equivalence of a certain tensor product with PolynomialModule For a commutative ring `R` and an `R`-module `M`, construct an equivalence between the `R[X]`-modules `R[X] ⊗[R] M` and `PolynomialModule R M`. This equivalence enables application of some base-change results to `PolynomialModule R M` . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
210/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean 2 1 ['github-actions'] jcommelin
assignee:jcommelin
33-68490
1 month ago
48-17566
1 month ago
48-17602
48 days
26284 plp127
author:plp127
feat: faster implementation of `Nat.primeFactorsList` + `@[csimp]` lemma Add a function `Nat.primeFactorsListFast` that `#eval`s faster, and a `@[csimp]` lemma `Nat.primeFactorsList_eq_primeFactorsListFast` that shows `Nat.primeFactorsList = Nat.primeFactorsListFast`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 95/0 Mathlib/Data/Nat/Factors.lean 1 5 ['b-mehta', 'github-actions', 'grunweg', 'plp127'] b-mehta
assignee:b-mehta
33-10820
1 month ago
104-55662
3 months ago
104-69568
104 days
28929 grunweg
author:grunweg
experiment: use `fun_prop` in Homeomorph Can we make the continuity auto-parameters use `fun_prop`? Or perhaps `first |fun_prop; |dsimp; fun_prop`? --- Compared to #13994, it seems this is a much smoother experience. I suspect the RefineDiscTree changes have helped (but that is pure speculation). [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 13/5 Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Constructions/DomMulAct.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/Homeomorph/Defs.lean 6 4 ['euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] PatrickMassot
assignee:PatrickMassot
32-68493
1 month ago
40-72771
1 month ago
40-78082
40 days
27308 xyzw12345
author:xyzw12345
feat(LinearAlgebra/SymmetricAlgebra): IsSymmetricAlgebra This PR continues the work from #24602. Original PR: https://github.com/leanprover-community/mathlib4/pull/24602 t-algebra
label:t-algebra$
78/0 Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean 2 3 ['github-actions', 'mattrobball', 'xyzw12345'] mattrobball
assignee:mattrobball
32-42599
1 month ago
77-19423
2 months ago
77-19467
77 days
28831 qawbecrdtey
author:qawbecrdtey
feat(Logic/Equiv/List): add `decodeList_encodeList_eq_self` and removed unnecessary linter options --- This is useful when we call `encode` and `decode` of a list to define a new `Encoder` involving `List`s. ```lean theorem decodeList_encodeList_eq_self (l : List α) : decodeList (encodeList l) = some l ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 7/6 Mathlib/Logic/Equiv/List.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
31-68497
1 month ago
42-62541
1 month ago
42-62574
42 days
28906 gasparattila
author:gasparattila
feat(Topology/Algebra/Module): `prod` and `coprod` as `ContinuousLinearEquiv`s --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 36/5 Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean 2 1 ['github-actions'] jcommelin
assignee:jcommelin
31-68496
1 month ago
41-8663
1 month ago
41-8695
41 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 46/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
31-50766
1 month ago
92-13892
3 months ago
92-13929
92 days
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r ## Summary This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`. It constructs a bijection between: - The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and - The set of partitions of `n - r` whose largest part is at most `r`. This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics. ## Implementation notes - The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures. - The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`. ## Linting - [x] Passes `lake build` - [x] Linter clean (no commandStart or longLine issues) ## Author Contributed by Yiran Wang. new-contributor t-combinatorics 85/0 Mathlib/Combinatorics/Enumerative/Partition.lean 1 3 ['WangYiran01', 'github-actions'] b-mehta
assignee:b-mehta
31-47300
1 month ago
86-38452
2 months ago
86-38487
86 days
29307 harahu
author:harahu
doc: hyphenate attributive compound adjectives ending in "exact" Compound adjectives that are attributive (coming before their noun) should almost always be hyphenated in English. This PR covers such adjectives that are ending in "exact". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 144/144 Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Homology/ConcreteCategory.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Limits/ExactFunctor.lean,Mathlib/CategoryTheory/Limits/Preserves/Finite.lean,Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean,Mathlib/CategoryTheory/ObjectProperty/Extensions.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/LeftExact.lean,Mathlib/CategoryTheory/Shift/ShiftSequence.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean,Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean,Mathlib/CategoryTheory/Sites/Sheafification.lean,Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean,Mathlib/RingTheory/Regular/IsSMulRegular.lean,Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean 47 n/a ['github-actions'] nobody
31-44967
1 month ago
unknown
unknown
27254 yuanyi-350
author:yuanyi-350
2025 imo problem3 - [x] depends on: #28788 - [x] depends on: #28790 - [x] depends on: #28829 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 231/0 Archive.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean 3 28 ['github-actions', 'jsm28', 'kbuzzard', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] jsm28
assignee:jsm28
31-34915
1 month ago
32-70581
1 month ago
66-45443
66 days
26277 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences This file contains elementary definitions involving congruence relations and morphisms for semirings, rings, and algebras. * `RingCon.ker`: the kernel of a monoid homomorphism as a congruence relation * `RingCon.lift`, `RingCon.liftₐ`: the homomorphism / the algebra morphism on the quotient given that the congruence is in the kernel * `RingCon.map`, `RingCon.mapₐ`: homomorphism / algebra morphism from a smaller to a larger quotient * `RingCon.quotientKerEquivRangeS`, `RingCon.quotientKerEquivRange`, `RingCon.quotientKerEquivRangeₐ` : the first isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.comapQuotientEquivRangeS`, `RingCon.comapQuotientEquivRange`, `RingCon.comapQuotientEquivRangeₐ` : the second isomorphism theorem for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`) and algebras (using `AlgHom.range`). * `RingCon.quotientQuotientEquivQuotient`, `RingCon.quotientQuotientEquivQuotientₐ` : the third isomorphism theorem for semirings (or rings) and algebras It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 554/2 Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean 5 4 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions'] joneugster
assignee:joneugster
30-45147
1 month ago
61-37533
2 months ago
104-80146
104 days
28613 espottesmith
author:espottesmith
feat(Combinatorics): define undirected hypergraphs This PR defines undirected hypergraphs: ``` @[ext] structure Hypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The hyperedge set -/ hyperedgeSet : Set (Set α) /-- All hyperedges must be subsets of the vertex set -/ hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet ``` In addition to the main definition, some additional definitions and related lemmas are provided: - vertex adjacency - hyperedge adjacency - vertex "stars" - special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs) - (some) hypergraph cardinality - subhypergraphs, induced subhypergraphs, and partial hypergraphs This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib. In the near future, goals include: - defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β` - coersion/generalization of graph as 2-uniform hypergraph - conversion of a hypergraph into its associated clique graph/two-section graph - constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`) - rank and co-rank - walks, paths, cycles, etc. on hypergraphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 375/0 Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean 2 52 ['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
30-34543
1 month ago
30-34543
1 month ago
36-20725
36 days
29028 themathqueen
author:themathqueen
feat(Algebra/Star): define `unitary R →* StarAlgEquiv S R R` Every unitary defines a star-algebra automorphism (this is an extension of a special version of `MulSemiringAction.toRingEquiv` for unitaries). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
64/0 Mathlib.lean,Mathlib/Algebra/Star/UnitaryStarAlgAut.lean 2 14 ['eric-wieser', 'github-actions', 'themathqueen'] eric-wieser
assignee:eric-wieser
30-13139
1 month ago
37-37028
1 month ago
39-7632
39 days
19046 j-loreaux
author:j-loreaux
feat: define class `SemigroupAction` --- If I can get this building with minimal performance impact, I would like to change the names to: `MulAction → MonoidAction` `SemigroupAction → MulAction` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
48/26 Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/RingTheory/Trace/Basic.lean 13 10 ['alreadydone', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] jcommelin
assignee:jcommelin
29-68499
29 days ago
37-84729
1 month ago
44-25613
44 days
28311 eric-wieser
author:eric-wieser
fix(Tactic/NormNum): do not hang on large powers This uses `Lean.checkExponent` to guard against large powers. Unfortunately the log messages it emits are currently swallowed, but surfacing these may require changing the API for norm_num extensions (to live in `OptionT MetaM`) and so is left to future work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta bug 41/23 Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/norm_num.lean,MathlibTest/norm_num_ext.lean 4 4 ['github-actions', 'mathlib4-merge-conflict-bot'] robertylewis
assignee:robertylewis
29-68497
29 days ago
38-75153
1 month ago
46-41966
46 days
29040 PMKielstra
author:PMKielstra
feat: trapezoidal rule for integration This PR defines the trapezoidal rule and proves the standard error bound on it in terms of bounds on the second derivative. I have vague plans of using this plus interval arithmetic to develop a tactic that can automatically close goals of the form `\integral x in a..b, f x < y` or similar. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 273/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean 3 40 ['PMKielstra', 'github-actions', 'tb65536'] kex-y
assignee:kex-y
29-68493
29 days ago
38-75386
1 month ago
38-75822
38 days
29042 vihdzp
author:vihdzp
feat(SetTheory/Ordinal/Exponential): generalize theorems from `y = succ x` to `x < y` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 18/6 Mathlib/SetTheory/Ordinal/Exponential.lean 1 1 ['github-actions'] b-mehta
assignee:b-mehta
29-68492
29 days ago
38-65134
1 month ago
38-65117
38 days
29082 grunweg
author:grunweg
RFC: tag `IsInducing` and `Is{Open,Closed,}Embedding` with `fun_prop` I have not tested if this is usable in practice; perhaps it is not. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 37/5 Mathlib/Topology/Constructions.lean,Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/Maps/Basic.lean 3 1 ['github-actions'] jcommelin
assignee:jcommelin
29-68490
29 days ago
38-742
1 month ago
38-772
38 days
28140 YaelDillies
author:YaelDillies
feat: a `PointedCone`-valued version of `Submodule.span` This is merely to guide typing. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-convex-geometry toric 11/2 Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
29-14624
29 days ago
29-14655
29 days ago
57-9541
57 days
28970 Whysoserioushah
author:Whysoserioushah
feat(Algebra/Algebra/ReducedNorm) : Defines reduced norm and trace TODO : 1. add the theorem proving reduced charpoly is independent from the choice of AlgEquiv (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Algebra.2ETensorProduct.2Eassoc/with/536349758)) 2. prove reduced charpoly is "actually" in the polynomial ring of base field (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.E2.9C.94.20Refactor.20Subfield)) therefore content about this topic is basically the best I could do for now :-( --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
66/0 Mathlib.lean,Mathlib/Algebra/Algebra/ReducedNorm.lean 2 15 ['Whysoserioushah', 'chrisflav', 'eric-wieser', 'github-actions', 'kbuzzard'] chrisflav
assignee:chrisflav
29-13440
29 days ago
29-14788
29 days ago
40-16162
40 days
28339 JovanGerb
author:JovanGerb
feat(gcongr): support `@[gcongr]` for `Monotone` and friends This PR adds the feature to `gcongr` that you can now tag lemmas whose conclusion is `Monotone f`, `Antitone f`, etc. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 119/88 Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GCongr/inequalities.lean 20 4 ['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
28-68484
28 days ago
40-16714
1 month ago
52-73329
52 days
28833 yury-harmonic
author:yury-harmonic
feat(MvPolynomial/Expand): more lemmas --- - [x] depends on: #28832 - [x] depends on: #28830 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 88/18 Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Expand.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] dwrensha
assignee:dwrensha
28-68482
28 days ago
41-85223
1 month ago
42-570
42 days
28511 YaelDillies
author:YaelDillies
feat(Finsupp): `congr!`-compatible version of `prod_congr` `congr!` doesn't like the `g1 x (f x)` appearing in the hypothesis of `Finsupp.prod_congr`: `f x` isn't a free variable. Note: A few proofs broke due to `simp` using `congr` lemmas internally. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
17/11 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean 5 12 ['JovanGerb', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] kmill
assignee:kmill
28-33177
28 days ago
50-39632
1 month ago
50-39665
50 days
26453 jburroni
author:jburroni
feat(Data/PNat/Basic): add order-related instances to PNat Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances. This allows, for example, the use of lemmas related to `Intervals` built with ℕ+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 31/0 Mathlib.lean,Mathlib/Data/PNat/Order.lean 2 14 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jburroni', 'vihdzp'] ericrbg
assignee:ericrbg
27-7959
27 days ago
27-12963
27 days ago
97-15272
97 days
28950 Vierkantor
author:Vierkantor
fix(TacticAnalysis): comment out syntax range check In #28802 we discovered the tactic analysis framework does not fire on declarations using `where` clauses. The reason is that `def foo where ...` gets turned into `def foo := { ... }`, and the `{ ... }` syntax is assigned a range outside of the `where ...` syntax; this causes the syntax range check to omit the whole declaration body. I am not entirely sure this is a bug in Lean or it was a misuse of ranges; in the meantime it should be okay to skip the check: the worst that happens is we analyze a piece of syntax outside of the declaration, which we'd get to later anyway. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 23/3 Mathlib/Tactic/TacticAnalysis.lean,MathlibTest/TacticAnalysis.lean 2 3 ['Vierkantor', 'github-actions', 'thorimur'] robertylewis
assignee:robertylewis
26-17807
26 days ago
40-36543
1 month ago
40-36519
40 days
27567 themathqueen
author:themathqueen
feat(LinearAlgebra/TensorProduct/Associator): add `lid` and `assoc` tensor lemmas This adds `TensorProduct.lid_tensor` and `TensorProduct.assoc_tensor`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
31/2 Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean 2 3 ['github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
26-14143
26 days ago
56-3666
1 month ago
69-82894
69 days
26909 gasparattila
author:gasparattila
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
69/3 Mathlib/LinearAlgebra/Projectivization/Subspace.lean 1 5 ['eric-wieser', 'gasparattila', 'github-actions'] Vierkantor
assignee:Vierkantor
26-7061
26 days ago
88-86091
2 months ago
88-86130
88 days
26331 Timeroot
author:Timeroot
feat(Algebra/Polynomial): Descartes' Rule of signs This PR continues the work from #23681. Original PR: https://github.com/leanprover-community/mathlib4/pull/23681 t-algebra
label:t-algebra$
467/3 Mathlib.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Data/Sign/Defs.lean 6 27 ['Ruben-VandeVelde', 'Timeroot', 'adomani', 'chrisflav', 'github-actions'] adomani
assignee:adomani
25-59219
25 days ago
103-61202
3 months ago
103-61237
103 days
26398 ChrisHughes24
author:ChrisHughes24
feat(ModelTheory): definable functions --- Possibly this should be generalized to partial functions. I migrated the PR by hand instead of using the script. - [x] depends on: #20166 - [x] depends on: #20161 - [x] depends on: #20115 - [x] depends on: #20174 - [x] depends on: #20175 - [x] depends on: #21948 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 618/0 Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean 2 7 ['ChrisHughes24', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot'] fpvandoorn
assignee:fpvandoorn
24-5168
24 days ago
102-39356
3 months ago
102-39606
102 days
28695 chrisflav
author:chrisflav
feat(RingTheory): meta properties of bijective ring homomorphisms In particular, we show that bijective is a property local on the (algebraic) source. --- - [x] depends on: #28642 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 170/7 Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/LocalProperties/Exactness.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/RingHom/Bijective.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 11 2 ['github-actions', 'mathlib4-dependent-issues-bot'] kbuzzard
assignee:kbuzzard
22-68503
22 days ago
33-1762
1 month ago
33-4803
33 days
24184 YaelDillies
author:YaelDillies
feat: `[G : H]` notation for the index of `H : Subgroup G` This is a cute notation which I wrote for FLT. Not sure whether we want it in mathlib nor how to include `relindex` in the picture. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra RFC
label:t-algebra$
5/0 Mathlib/GroupTheory/Index.lean 1 8 ['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-merge-conflict-bot'] eric-wieser
assignee:eric-wieser
22-3389
22 days ago
22-3414
22 days ago
169-77527
169 days
27936 alreadydone
author:alreadydone
feat(Algebra): additivize Dvd and Prime `Prime` can't be directly additivized, so we introduce `Preprime`, which drops the `≠ 0` condition, and additivize it to `AddPrime`. To show that `Preprime` is a reasonable definition, we show its connection to `Irreducible` under `IsPrimal` and `IsRegular` conditions. We also show that an element in a product monoid is preprime iff one component is a unit and the other is preprime, and the same with `Preprime` replaced by `Irreducible`. Also additivize `IsPrimal`, `IsRelPrime` and `DecompositionMonoid`. The motivation is that the primality of `single g 1` in `AddMonoidAlgebra k G` is connected to the primality of `g` in `G`. --- I've checked [all 29 files](https://github.com/search?q=repo%3Aleanprover-community%2Fmathlib4%20%E2%88%A3%20to_additive&type=code) containing the `∣` symbol and the `to_additive` attribute and fixed the wrongly translated (`dvd` to `addDvd`) names. TODO: connect (Add)Dvd to [ExistsMul/AddOfLE](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.html#ExistsMulOfLE) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
400/191 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 30 11 ['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] bryangingechen
assignee:bryangingechen
21-82056
21 days ago
22-2803
22 days ago
60-52084
60 days
27252 Parcly-Taxel
author:Parcly-Taxel
feat: sharp bounds for `‖exp (I * x) - 1‖` when `x` is real From Carleson carleson t-analysis 44/0 Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean 2 13 ['Parcly-Taxel', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] hrmacbeth
assignee:hrmacbeth
21-68478
21 days ago
29-34503
29 days ago
30-40958
30 days
29055 vihdzp
author:vihdzp
feat: `Ordinal.toENat` We essentially copy the Cardinal/ENat file but make it for ordinals instead. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2317758.20Ordinal.2EtoENat/near/479768508) for some prior discussion on this PR (particularly, the duplication and how there's no easy way to resolve it.) --- Moved from #17758. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 292/0 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/ENat.lean 6 1 ['github-actions'] alreadydone
assignee:alreadydone
21-68476
21 days ago
38-34708
1 month ago
38-34724
38 days
22039 YaelDillies
author:YaelDillies
feat: simproc for computing `Finset.Ixx` of natural numbers --- - [x] depends on: #22290 - [x] depends on: #22559 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 315/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean 4 64 ['FLDutchmann', 'Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'kckennylau', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] eric-wieser
assignee:eric-wieser
21-36963
21 days ago
172-35195
5 months ago
227-82304
227 days
26544 vihdzp
author:vihdzp
feat(SetTheory/ZFC/Ordinal): Lean ordinals to ZFC ordinals We define `Ordinal.toZFSet` and prove that its outputs are precisely the ZFC ordinals. Moved from #19985. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-set-theory 166/5 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean 4 23 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'staroperator', 'vihdzp'] b-mehta
assignee:b-mehta
20-68471
20 days ago
28-37029
28 days ago
55-14385
55 days
22043 YaelDillies
author:YaelDillies
chore: shortcut instance for `Neg ℤˣ` This lets us avoid importing `Ring` in downstream files (most of the effect is to come). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed t-algebra
label:t-algebra$
20/47 Mathlib.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Int/AbsoluteValue.lean,Mathlib/Data/Int/Associated.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,MathlibTest/Zify.lean 12 17 ['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] eric-wieser
assignee:eric-wieser
20-40884
20 days ago
144-23921
4 months ago
228-83344
228 days
29668 harahu
author:harahu
doc: cleanup of kleene star docs This PR: - Corrects "Kleene's star" to "Kleene star" - Clarifies a comment about notation. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 5/5 Mathlib/Computability/Language.lean 1 1 ['github-actions'] nobody
20-36897
20 days ago
20-36905
20 days ago
20-36937
20 days
28533 kim-em
author:kim-em
feat(linarith): add `linarith?` mode which suggests a `linarith only` call Adds `linarith?`, which traces the internal to watch which inequalities are being used, and suggests a `linarith only` call via the "try this:" mechanism. Also adds a `+minimize` flag, on by default, which then greedily tries to drop hypotheses from the used set, to see if the problem is still possible with a smaller set. Currently I don't have test case showing this is worthwhile, however. Contributions welcome. ------ https://chatgpt.com/codex/tasks/task_e_68a02bce93a883218485c7e7cafb877a codex t-meta 212/68 Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean,MathlibTest/linarith.lean 3 12 ['YaelDillies', 'eric-wieser', 'github-actions', 'hrmacbeth', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] robertylewis
assignee:robertylewis
20-25211
20 days ago
33-61002
1 month ago
49-60360
49 days
26580 vasnesterov
author:vasnesterov
feat(Tactic/Order): translate linear orders to `Int` It was [pointed out](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/tactic.20for.20partial.20orders/near/515897754) that `order` is not complete for linear orders with lattice operations (while it remains complete for linear orders without lattice operations and for general lattices without assuming linearity). The problem for linear orders with lattice operations is NP-hard, but it can be translated from an arbitrary type to `Int` and then solved using a smart and efficient procedure (such as `omega`). This PR implements such a translation within the `order` tactic. Co-authored-by: Aaron Liu --- - [x] depends on: #26354 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 300/29 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/Order/Preprocessing.lean,Mathlib/Tactic/Order/ToInt.lean,MathlibTest/order.lean 7 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] alexjbest
assignee:alexjbest
20-15872
20 days ago
20-15880
20 days ago
84-30182
84 days
26110 YaelDillies
author:YaelDillies
feat: sharp monoids Define sharp monoids, which are the monoids whose only unit is `1`. This concept is useful in log geometry and in particular shows up in the theory of affine monoids. This concept already existed in the guise of `Subsingleton Mˣ`, but giving it a name makes it easier to refer to and uncovers some missing instances. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
51/30 Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Data/List/Prime.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/RingTheory/Valuation/Integers.lean 18 7 ['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'vihdzp'] adomani
assignee:adomani
20-15022
20 days ago
24-9453
24 days ago
108-9494
108 days
29422 jsm28
author:jsm28
fix(Data/Finset/Max): Use `DecidableEq` for `insert` lemmas These `insert` in these lemma statements uses a `DecidableEq` instance derived from `LinearOrder`; make them syntactically more general by passing in a `DecidableEq` instance separately. (Some `insert` lemmas in this file already take `DecidableEq` hypotheses.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 8/8 Mathlib/Data/Finset/Max.lean 1 2 ['eric-wieser', 'github-actions'] nobody
20-10762
20 days ago
27-66440
27 days ago
27-66417
27 days
29690 jt496
author:jt496
chore(SimpleGraph/Subgraph): remove duplicate def and fix names We previously had `Subgraph.topEquiv` and `Subgraph.topIso` for the graph isomorphism `(⊤ : G.Subgraph).coe ≃g G`. `Subgraph.topIso` seems preferable as a name for this so this PR deprecates the other name. Also rename and deprecate `Subgraph.botEquiv` to `Subgraph.botIso`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 5/6 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 1 ['github-actions'] nobody
19-82752
19 days ago
19-82767
19 days ago
19-82803
19 days
28884 kim-em
author:kim-em
chore: deprecate ShiftLeft Int instance This PR proposes deprecating the `ShiftLeft Int` instance (which allows bit-shifting an integer by an integer), and similarly for `ShiftRight`. These are unused in Mathlib. I'm happy if someone wants to keep this, but I would ask that they: * fix the doc-strings to explain what happens for negative shifts * ~~restores the theorem `Int.shiftLeft_add` which I've commented out on `nightly-testing` (and then revert b33c9d7aaea on `nightly-testing`).~~ * ideally but optionally, complete the API, e.g. reducing shifts by casts back to shifts by a Nat t-data 22/3 Mathlib/Data/Int/Bitwise.lean 1 5 ['eric-wieser', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] nobody
19-68481
19 days ago
19-68499
19 days ago
41-36596
41 days
28973 YaelDillies
author:YaelDillies
feat(TensorProduct): `lTensor` as an `AlgHom` and other lemmas From Toric Co-authored-by: Michał Mrugała --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 21/0 Mathlib/RingTheory/TensorProduct/Basic.lean 1 7 ['YaelDillies', 'eric-wieser', 'github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
19-49859
19 days ago
19-69457
19 days ago
20-32669
20 days
29706 kim-em
author:kim-em
feat: add piCongrSigmaFiber and piCongrFiberwise equivalences ## Summary Add two new equivalence functions for working with fibers and sigma types: - `Equiv.piCongrSigmaFiber`: transforms between functions on sigma fibers and regular pi types - `Equiv.piCongrFiberwise`: lifts fiber-wise equivalences to product equivalences These functions are from the FLT (Fermat's Last Theorem) project and are useful for manipulating dependent function types indexed by fibers of a function. ## Details The new definitions allow for elegant transformations between: 1. Functions defined on sigma types representing fibers of a function 2. Regular dependent functions These are particularly useful in algebraic contexts where one needs to work with products indexed by fibers. ## Context This PR was prepared by Claude (Claude Code) based on the following prompt: > "Please read FLT/Mathlib/Logic/Equiv/Basic.lean, and also the corresponding file in the Mathlib repository. Please prepare a PR to Mathlib containing this content, putting it at an appropriate point in the corresponding Mathlib file. Make sure the PR is label FLT, and write in the PR comment an explanation that the PR was prepared by Claude, including quoting the prompting." The content is sourced from `/Users/kim/projects/lean/FLT/FLT/Mathlib/Logic/Equiv/Basic.lean` in the FLT project repository. 🤖 Generated with [Claude Code](https://claude.ai/code) FLT t-logic 39/0 Mathlib/Logic/Equiv/Basic.lean 1 5 ['Ruben-VandeVelde', 'github-actions', 'kim-em'] nobody
19-23342
19 days ago
19-23820
19 days ago
19-40027
19 days
26735 Raph-DG
author:Raph-DG
feat(AlgebraicGeometry): The codimension of a point of a scheme is equal to the krull dimension of the stalk In this PR we show that the codimension of a point in a scheme is equal to the krull dimension of the local ring at that point, as in stacks 02IZ. --- The proof of the main result `stalk_dim_eq_coheight` is currently a bit long for my (and I suspect the broader community's) tastes. That said, I'm not quite sure the best way to break it into pieces, any comments would be very much appreciated! - [ ] depends on: #26204 [For the notion of codimension, here we are using the coheight in the specialization order. ] - [ ] depends on: #26225 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 204/1 Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Topology/KrullDimension.lean 3 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] erdOne
assignee:erdOne
18-68496
18 days ago
26-44766
26 days ago
26-45534
26 days
29132 YaelDillies
author:YaelDillies
feat(AdjoinRoot): bundle operations as `AlgHom`s In particular, generalise and rename `liftHom` to use a general `eval₂` instead of `aeval`. From Toric Co-authored-by: Andrew Yang the.erd.one@gmail.com Co-authored-by: Michał Mrugała kiolterino@gmail.com --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric 164/103 Mathlib/Algebra/Algebra/Hom.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/RingTheory/Adjoin/Field.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean 9 3 ['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot'] erdOne
assignee:erdOne
18-68494
18 days ago
33-19406
1 month ago
35-29862
35 days
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 466/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Topology/Algebra/AsymptoticCone.lean 4 45 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
18-50033
18 days ago
61-11926
2 months ago
75-29458
75 days
29437 NotWearingPants
author:NotWearingPants
feat(Data/Seq): add Seq.subsequence and prove basic theorems about it I added `Seq.subsequence` to compose a sequence with a monotone function, creating a subsequence. Aliased to `Seq.comp` since it's a composition. I also added `Nat.le_induction_step_iff` which is needed to prove a subsequence is a sequence. This proves the comment at the top of `Defs.lean` that says "if `f n = none`, then `f m = none` for all `m ≥ n`" while `IsSeq` only talks about `n+1`. For completion I added the same statement for `Int`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 114/0 Mathlib/Data/Int/Init.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
18-29277
18 days ago
18-29298
18 days ago
27-16787
27 days
24794 chrisflav
author:chrisflav
feat(RingTheory/Presentation): core of a presentation If `P` is a presentation of `S` as an `R`-algebra and `R₀` a subring of `R` containing the coefficients of the relations of `P`, then there exists an `R₀`-algebra `S₀` such that `S` is isomorphic to the base change of `S₀` to `R`. This is a tool to remove Noetherian hypothesis in certain situations. --- - [x] depends on: #24788 - [x] depends on: #24786 - [x] depends on: #24785 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 256/6 Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean 10 17 ['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] Vierkantor
assignee:Vierkantor
18-17645
18 days ago
22-182
22 days ago
117-70814
117 days
28699 chrisflav
author:chrisflav
feat(RingTheory/Cotangent): cotangent of composition with localization away from an element Let `R → S → T` be algebras such that `T` is the localization of `S` away from one element, where `S` is generated over `R` by `P : R[X] → S` with kernel `I` and `Q : S[Y] → T` is the canonical `S`-presentation of `T` with kernel `K`. Denote by `J` the kernel of the composition `R[X,Y] → T`. We deduce `J/J² ≃ₗ[T] T ⊗[S] (I/I²) × K/K²` from the Jacobi Zariski sequence. From Pi1. --- - [x] depends on: #28697 The import increase is expected: This file was PRed in two steps and only the second one depends on more imports. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 157/4 Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean 4 4 ['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] erdOne
assignee:erdOne
18-16817
18 days ago
45-23899
1 month ago
45-25307
45 days
26129 LessnessRandomness
author:LessnessRandomness
feat(Geometry/Euclidean/Angle/Unoriented): triangle inequality for angles This PR continues the work from #24206. Original PR: https://github.com/leanprover-community/mathlib4/pull/24206 new-contributor t-euclidean-geometry 203/16 Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean 8 76 ['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] jsm28
assignee:jsm28
18-10114
18 days ago
30-73231
1 month ago
106-14621
106 days
29324 tb65536
author:tb65536
refactor(Analysis/Calculus/IteratedDeriv/Defs): tweak statement of `iteratedDerivWithin_one` This PR removes the `x` from `iteratedDerivWithin_one` to make it match `iteratedDerivWithin_zero`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 3/2 Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean 1 3 ['Ruben-VandeVelde', 'github-actions', 'grunweg'] grunweg
assignee:grunweg
18-6267
18 days ago
32-2209
1 month ago
32-2185
32 days
29756 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: Finsupp.comapDomain_surjective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-data 9/0 Mathlib/Data/Finsupp/Basic.lean 1 1 ['github-actions'] nobody
18-5
18 days ago
18-43
18 days ago
18-78
18 days
26961 mariainesdff
author:mariainesdff
feat(RingTheory/PowerSeries/Substitution): add API Co-authored-by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 57/5 Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean 2 13 ['Ruben-VandeVelde', 'github-actions', 'mariainesdff', 'mattrobball'] mattrobball
assignee:mattrobball
17-30961
17 days ago
17-30961
17 days ago
64-50981
64 days
25831 ScottCarnahan
author:ScottCarnahan
feat (RingTheory/HahnSeries): Powers of a binomial This PR introduces powers of a binomial `single g 1 - single g' 1` in a Hahn series, where the powers take values in a binomial ring. These series behave as one would expect with respect to addition of powers, and comparison with natural number powers. They are often used in the theory of vertex algebras. --- - [x] depends on: #25830 - [x] depends on: #27497 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24102.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24102* t-ring-theory 132/0 Mathlib.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean 5 13 ['ScottCarnahan', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] kbuzzard
assignee:kbuzzard
17-4149
17 days ago
51-77940
1 month ago
51-79394
51 days
29761 bwangpj
author:bwangpj
feat: Chinese Remainder Theorem for `ZMod n` Define `ZMod.equivPi`, the Chinese Remainder Theorem for `ZMod n`, decomposing it as a product of `ZMod` over its prime power factors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 22/0 Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/ZMod/QuotientRing.lean 2 8 ['Ruben-VandeVelde', 'bwangpj', 'github-actions', 'j-loreaux'] nobody
16-77150
16 days ago
16-77150
16 days ago
17-42133
17 days
26827 pechersky
author:pechersky
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26713 - [x] depends on: #26826 t-algebra t-analysis t-number-theory
label:t-algebra$
205/20 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 3 19 ['ADedecker', 'adamtopaz', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] kbuzzard
assignee:kbuzzard
16-72740
16 days ago
53-14980
1 month ago
89-80695
89 days
26096 vasnesterov
author:vasnesterov
feat(Topology/Instances): Cantor set is the set of ternary numbers without `1`s * Prove `ofDigits_zero_two_sequence_mem_cantorSet`: If `x = 0.d₀d₁...` in base-3, and none of the digits `dᵢ` is `1`, then `x` belongs to the Cantor set. * Prove `ofDigits_zero_two_sequence_unique`: such a representation is uniquie. * Define `toTernary` which converts a real number from the Cantor set to its ternary representation without `1`s. * Prove `ofDigits_cantorToTernary : ofDigits (cantorToTernary x) = x`. --- This is a prerequisite for #26136. - [x] depends on: #26001 - [x] depends on: #26021 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology 231/0 Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json 2 3 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] jcommelin
assignee:jcommelin
16-68485
16 days ago
23-81024
23 days ago
23-81379
23 days
29530 ShreckYe
author:ShreckYe
feat(Dynamics/PeriodicPts): some theorems for `Pi.map` in `Dynamics/PeriodicPts` analogous to those for `Prod.map` Split from #29204. Some namespace prefixes are added in `GroupTheory/OrderOfElement.lean` to distinguish the extra imports introduced. - [ ] depends on: #29528 large-import 77/8 Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/GroupTheory/OrderOfElement.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] dupuisf
assignee:dupuisf
16-68479
16 days ago
24-7912
24 days ago
24-8564
24 days
29569 chrisflav
author:chrisflav
chore(RingTheory/LocalProperties): add algebra versions of exactness lemmas The module variants are less convenient to apply directly in the case of algebras. From Pi1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 67/0 Mathlib/RingTheory/LocalProperties/Exactness.lean 1 1 ['github-actions'] mattrobball
assignee:mattrobball
16-68474
16 days ago
23-74793
23 days ago
23-74911
23 days
27306 xyzw12345
author:xyzw12345
feat: `lie_ring` tactic and `LieReduce` command This PR continues the work from #22196. Original PR: https://github.com/leanprover-community/mathlib4/pull/22196 t-meta 810/2 Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json 8 12 ['JovanGerb', 'github-actions', 'xyzw12345'] JovanGerb
assignee:JovanGerb
16-54493
16 days ago
26-59082
26 days ago
74-26159
74 days
26829 pechersky
author:pechersky
feat(RingTheory/Valuation): Valuation.leAddSubgroup and ideal/submodule versions of ltAddSubgroup Extracted from #25450 without changing how Valued works --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) @faenuccio hopefully this bypasses any wait on #14752 because I am not changing Valued files. t-ring-theory 173/0 Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean 2 7 ['JovanGerb', 'github-actions', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'pechersky'] mariainesdff
assignee:mariainesdff
16-14039
16 days ago
58-4425
1 month ago
90-65336
90 days
29400 ShreckYe
author:ShreckYe
feat(`Algebra/BigOperators`): products of the results of insertion and removal on tuples and lists, and some needed lemmas large-import 102/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/Vector/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean 6 6 ['ShreckYe', 'bryangingechen', 'eric-wieser', 'github-actions'] bryangingechen
assignee:bryangingechen
15-80323
15 days ago
28-29875
28 days ago
28-29918
28 days
27429 smorel394
author:smorel394
feat(RepresentationTheory/FinGroupCharZero): applications of Maschke's theorem Prove some properties of representations that follow from Maschke's theorem: * If `G` is a finite group whose order is invertible in a field `k`, then every object of `Rep k G` (resp. `FDRep k G`) is injective and projective. * For an object `V` of `FDRep k G`, when `k` is an algebraically closed field in which the order of `G` is invertible: (1) `V` is simple if and only `V ⟶ V` is a `k`-vector space of dimension `1` (`FDRep.simple_iff_end_is_rank_one`); (2) When `k` is characteristic zero, `V` is simple if and only if `∑ g : G, V.character g * V.character g⁻¹ = Fintype.card G` (`FDRep.simple_iff_char_is_norm_one`). Note: This used to be #27165, but it was closed for some reason I don't understand. - [x] depends on: #27154 - [x] depends on: #27134 - [x] depends on: #27125 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
135/0 Mathlib.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] jcommelin
assignee:jcommelin
15-68496
15 days ago
23-14233
23 days ago
23-14583
23 days
29562 ShreckYe
author:ShreckYe
feat(Analysis/SpecialFunctions/Trigonometric): tangent half-angle substitution t-analysis 82/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean 1 1 ['github-actions'] urkud
assignee:urkud
15-68491
15 days ago
24-13333
24 days ago
24-13372
24 days
29587 uniwuni
author:uniwuni
feat(GroupTheory/Finiteness): define finitely generated semigroups We define finitely generated semigroups and basics similarly to monoids and groups and prove that semigroups and monoids remain finitely generated when a congruence is quotiented out. This will be important when further developing semigroup theory. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 259/14 Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean 2 3 ['github-actions', 'plp127', 'uniwuni'] dupuisf
assignee:dupuisf
15-68490
15 days ago
23-28274
23 days ago
23-28250
23 days
29235 yoh-tanimoto
author:yoh-tanimoto
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE add `ClosedSubmodule.mapEquiv` for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with `closure` and `⊔`. motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by `Complex.I`) #29251 https://ems.press/content/serial-article-files/48171 - [x] depends on: #29230 for `Lattice` `CompleteLattice` t-topology 69/1 Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] fpvandoorn
assignee:fpvandoorn
14-78225
14 days ago
23-11639
23 days ago
23-13924
23 days
29347 themathqueen
author:themathqueen
refactor(Algebra/Star/StarAlgHom): let `StarAlgEquiv` extend `StarRingEquiv` instead of `RingEquiv` Instead of having `StarAlgEquiv` extend `RingEquiv` and have properties `map_star'` and `map_smul'`, it now extends `StarRingEquiv` with only `map_smul'`. --- Will add more API in the next PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
29/36 Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean 2 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'themathqueen'] kbuzzard
assignee:kbuzzard
13-82063
13 days ago
28-81406
28 days ago
31-17959
31 days
29744 espottesmith
author:espottesmith
feat(Combinatorics): define directed hypergraphs This PR defines directed hypergraphs: ``` @[ext] structure DiHypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The edge set -/ edgeSet : Set ((Set α) × (Set α)) /-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/ edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet ``` Additional definitions: - tail/head stars and negative/positive stars - some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty) - Vertex and (hyper)edge adjacency - isolated vertices - empty and nonempty dihypergraphs The design employed here is based off of #28613, but this PR does not depend on that one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 391/0 Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean 2 1 ['github-actions'] nobody
13-24556
13 days ago
18-31089
18 days ago
18-31134
18 days
22151 alreadydone
author:alreadydone
feat(RingTheory): a semiprimary ring is Noetherian/Artinian iff its Jacobson radical is fg A key fact used is `Module.FG.smul`: if `I` is a two-sided ideal of `R` that is f.g. as a left ideal and `N` is a f.g. `R`-module, then `I • M` is also a f.g. `R`-module. Many lemmas about coprimality of ideals are also generalized to the noncommutative, two-sided setting. --- - [x] depends on: #21904 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 233/166 Mathlib/Algebra/Algebra/Operations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean 9 10 ['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] eric-wieser
assignee:eric-wieser
12-85827
12 days ago
12-85893
12 days ago
192-84946
192 days
29497 xyzw12345
author:xyzw12345
feat(Counterexamples): A ring such that dim A = 1 but dim A[x] = 3 In this PR, we constructed an example of a commutative ring `A` that satisfies `ringKrullDim A = 1` but `ringKrullDim A[X] = 3`, following the construction of https://math.stackexchange.com/questions/1267419/examples-of-rings-whose-polynomial-rings-have-large-dimension --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
176/0 Counterexamples.lean,Counterexamples/DimensionPolynomial.lean,Mathlib.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/KrullDimension/LocalRing.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean 7 15 ['github-actions', 'joelriou', 'kbuzzard', 'kckennylau', 'kim-em', 'xyzw12345'] joelriou
assignee:joelriou
12-70815
12 days ago
12-70815
12 days ago
24-14616
24 days
29626 themathqueen
author:themathqueen
chore(Algebra/Order/Module/PositiveLinearMap): generalize `OrderHomClass.ofLinear` Generalize `OrderHomClass.ofLinear` from linear maps to additive group homomorphisms. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
10/11 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean 2 5 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] Vierkantor
assignee:Vierkantor
12-68489
12 days ago
20-21648
20 days ago
22-0
22 days
29656 jsm28
author:jsm28
feat(Geometry/Euclidean/Angle/Bisector): bisecting angles and equal distances Prove a lemma ```lean /-- A point `p` is equidistant to two affine subspaces if and only if the angles at a point `p'` in their intersection between `p` and its orthogonal projections onto the subspaces are equal. -/ lemma dist_orthogonalProjection_eq_iff_angle_eq {p p' : P} {s₁ s₂ : AffineSubspace ℝ P} [s₁.direction.HasOrthogonalProjection] [s₂.direction.HasOrthogonalProjection] (hp' : p' ∈ s₁ ⊓ s₂) : haveI : Nonempty s₁ := ⟨p', hp'.1⟩ haveI : Nonempty s₂ := ⟨p', hp'.2⟩ dist p (orthogonalProjection s₁ p) = dist p (orthogonalProjection s₂ p) ↔ ∠ p p' (orthogonalProjection s₁ p) = ∠ p p' (orthogonalProjection s₂ p) := by ``` that gives the basic fact relating equal distances to affine subspaces, and bisecting angles involving those subspaces, needed to connect `incenter` and `excenter` to bisecting angles. (Other pieces involved in getting such a statement for angles involving vertices of a triangle rather than just touchpoints include #29410, #29413, #29418 and their dependencies.) I expect the new file `Bisector.lean` to be an appropriate place to end up with actual definitions of bisectors as submodules and affine subspaces; those definitions aren't needed for my immediate goals with `incenter` and `excenter`, but it seems appropriate to use such a file for lemmas relating to bisectors whether or not they explicitly involve such definitions. I do expect to add similar statements involving oriented angles in a followup, so the imports of this new file should be expected to increase. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 118/0 Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean 2 7 ['eric-wieser', 'github-actions', 'jsm28'] JovanGerb
assignee:JovanGerb
12-68487
12 days ago
20-68610
20 days ago
20-68587
20 days
29688 tb65536
author:tb65536
feat(FieldTheory/IsGaloisGroup): prove the Galois correspondence for `IsGaloisGroup` This PR reproves the Galois correspondence for `IsGaloisGroup`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
89/0 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 1 ['github-actions'] joneugster
assignee:joneugster
12-68485
12 days ago
19-83201
19 days ago
19-83178
19 days
26660 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): weak non-commutative Kneser's theorem add theorem about the structure of a doubling smaller than the golden ratio --- - [x] depends on: #28653 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import maintainer-merge new-contributor t-combinatorics 215/41 Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 2 79 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'strihanje01'] YaelDillies
assignee:YaelDillies
12-24604
12 days ago
12-57253
12 days ago
53-85629
53 days
27216 D-Thomine
author:D-Thomine
feat(Cardinal/Finite): ENat powers and cardinality This PR continues the work from #25574. Original PR: https://github.com/leanprover-community/mathlib4/pull/25574 t-algebra
label:t-algebra$
209/4 Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/SetTheory/Cardinal/Finite.lean 4 21 ['D-Thomine', 'eric-wieser', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot'] kbuzzard
assignee:kbuzzard
12-20392
12 days ago
12-20419
12 days ago
74-80046
74 days
25799 dagurtomas
author:dagurtomas
feat(CategoryTheory): the universal property of localized monoidal categories This PR provides a monoidal structure on any functor out of a localized monoidal category whose precomposition with the localization functor is monoidal --- - [x] depends on: #29564 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24727.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24727* file-removed t-category-theory 244/2 Mathlib.lean,Mathlib/CategoryTheory/Localization/Bifunctor.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean 8 20 ['dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
12-7829
12 days ago
12-10856
12 days ago
27-529
27 days
29624 mcdoll
author:mcdoll
feat(LinearAlgebra/LinearPMap): add definition of resolvent and first resolvent identity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
180/2 Mathlib/LinearAlgebra/LinearPMap.lean 1 2 ['github-actions', 'mcdoll'] kim-em
assignee:kim-em
11-82253
11 days ago
20-6804
20 days ago
20-6781
20 days
27887 JovanGerb
author:JovanGerb
feat: `to_dual` attribute This PR defines the `to_dual` attribute for translating lemmas to their dual. This is useful in order theory and in category theory. It is built on top of the `to_additive` machinery. This PR only adds `@[to_dual]` tags in files that directly need to import `ToDual`, namely `Order/Defs/PartialOrder`, `Order/Notation` and `Combinatorics/Quiver/Basic`. Further tagging is left for (many) future PRs. This PR continues the work from #21719 Related (mathlib3) issues: - https://github.com/leanprover-community/mathlib3/issues/13461 - https://github.com/leanprover-community/mathlib3/issues/7691 Co-authored-by: @bryangingechen --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-meta 597/276 Mathlib.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/GuessName.lean,Mathlib/Tactic/ToAdditive/ToDual.lean,Mathlib/Tactic/ToDual.lean,MathlibTest/toAdditive.lean,scripts/noshake.json 15 13 ['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] alexjbest
assignee:alexjbest
11-76107
11 days ago
11-76844
11 days ago
37-21013
37 days
28818 NotWearingPants
author:NotWearingPants
feat(Data/Setoid/Basic): add theorems about lifting a function to its kernel Currently `ker_lift_injective` and `quotientKerEquivOfRightInverse` lift `f` to `ker f` in their definition. This PR makes this function available as `Setoid.ker_lift f` and adds a few more theorems about it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 29/15 Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean 4 18 ['NotWearingPants', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
11-71501
11 days ago
23-5585
23 days ago
41-20523
41 days
29920 urkud
author:urkud
feat: separable but not second countable LOTS --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 55/0 Counterexamples.lean,Counterexamples/SeparableNotSecondCountable.lean,Mathlib/Data/Prod/Lex.lean 3 1 ['github-actions'] nobody
11-69046
11 days ago
11-77530
11 days ago
11-77562
11 days
29715 ADedecker
author:ADedecker
feat: generalize `IsClosed.vadd_right_of_isCompact` to proper actions I realized a few weeks after adding them to Mathlib that the more conceptual approach for lemmas of the form "`s • t` is closed when one of `s` and `t` is closed and the other is compact" is that of proper maps and proper actions. This PR switches to this approach. More precisely: - I refactored the proof [IsClosed.smul_left_of_isCompact](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Group/Pointwise.html#IsClosed.smul_left_of_isCompact) in terms of properness. The proof is essentially the same length, but conceptually simpler. - More importantly, I generalize [IsClosed.vadd_right_of_isCompact](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Group/AddTorsor.html#IsClosed.vadd_right_of_isCompact) from topological torsors to proper actions. Note that I do not assume separation, which creates some troubles as compact sets are not closed... - To support the above, I introduce a bit more API on proper maps - I also moved `isProperMap_iff_isClosedMap_filter` to `Topology/Maps/Proper/UniversallyClosed`, together with the ultrafilter analog. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology 196/93 Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/ProperAction/Basic.lean,Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/Maps/Proper/UniversallyClosed.lean 7 2 ['ADedecker', 'github-actions'] grunweg
assignee:grunweg
11-68483
11 days ago
19-28100
19 days ago
19-28138
19 days
27817 zhuyizheng
author:zhuyizheng
feat: add IMO2025P1 Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO new-contributor 1310/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] dwrensha
assignee:dwrensha
11-31607
11 days ago
16-51079
16 days ago
48-76184
48 days
29322 xroblot
author:xroblot
feat(RingTheory/Localization/AtPrime): bijection between prime ideals Let `R ⊆ S` be an extension of rings and `p` be a prime ideal of `R`. Denote by `Rₚ` the localization of `R` at the complement of `p` and by `Sₚ` the localization of `S` at the (image) of the complement of `p`. In this PR, we study the extension `Rₚ ⊆ Sₚ` and the relation between the (nonzero) prime ideals of `Sₚ` and the prime ideals of `S` above `p`. In particular, we prove that (under suitable conditions) they are in bijection. In a following PR #27706, we prove that the residual degree and ramification index are preserved by this bijection. Note. The new file `RingTheory.Localization.AtPrime.Extension` is imported in `RingTheory.Trace.Quotient` because one function from the latter was moved to the former, but the plan is eventually to move the isomorphisms proved in `RingTheory.Trace.Quotient` to `RingTheory.Localization.AtPrime.Basic` and `RingTheory.Localization.AtPrime.Extension` where they belong. This will be done in #27706. --- t-ring-theory 145/8 Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean 6 1 ['github-actions'] chrisflav
assignee:chrisflav
11-28102
11 days ago
32-14218
1 month ago
32-14252
32 days
27244 xroblot
author:xroblot
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is injective This PR develops some API for [FractionalIdeal.extendedHomₐ](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/FractionalIdeal/Extended.html#FractionalIdeal.extendedHom%E2%82%90) and in particular proves when it is an injective map. As a consequence, it deduces the fact that lifting an integral ideal in an extension of Dedekind domains is an injective map. Note: the import increase happens in a leaf file `Mathlib.RingTheory.FractionalIdeal.Extended` --- - [x] depends on: #28800 t-ring-theory large-import 140/8 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean 3 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] kbuzzard
assignee:kbuzzard
11-28032
11 days ago
32-25000
1 month ago
68-29580
68 days
26396 xroblot
author:xroblot
feat(RingTheory): define the dual of a basis for the trace and prove basic properties Specialize the construction of `BilinForm.dualBasis` to the case of the trace and proves basic results about it. This will be useful for future works on the [Submodule.traceDual](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/DedekindDomain/Different.html#Submodule.traceDual) --- t-ring-theory 121/38 Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Trace/Basic.lean 3 3 ['github-actions', 'mathlib4-merge-conflict-bot'] adomani
assignee:adomani
11-27804
11 days ago
20-21106
20 days ago
100-75127
100 days
26155 xroblot
author:xroblot
feat(DedekindDomain/Different): add the transitivity formula This PR proves the transitivity formula for the different ideal. The PR also adds one new instance: - `FiniteDimensional (FractionRing A) (FractionRing B)` deduced from `Module.Finite A B` when `B` is a Dedekind domain. --- t-algebra
label:t-algebra$
177/10 Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean 4 15 ['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'xroblot'] Vierkantor
assignee:Vierkantor
11-27768
11 days ago
31-43345
1 month ago
103-50192
103 days
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 5 ['JaafarTanoukhi', 'NotWearingPants', 'Rida-Hamadani', 'github-actions'] kmill
assignee:kmill
11-11740
11 days ago
42-1977
1 month ago
42-2010
42 days
28967 utkuokur
author:utkuokur
refactor(Combinatorics/SimpleGraph/Walk): simplify proof of "support_tail_of_not_nil" The proof of the lemma named "support_tail_of_not_nil" is shortened. Since "support_tail" is not needed anymore, it is removed. @[deprecated (since := "2025-08-26")] sign is added for the removed "support_tail". The library references to "support_tail" are replaced with "support_tail_of_not_nil". To keep [@simp] on "cons_support_tail" and avoid the linter error, the [@simp] of "support_tail_of_not_nil" (previously on "support_tail") is removed. There might be a better way that I am missing, to deal with the linter error. --- Additionally, a merge conflict with `master` was resolved by keeping the generalized `support_tail_of_not_nil` and reintroducing `support_tail` as a deprecated alias for compatibility. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 7/10 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 2 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] awainverse
assignee:awainverse
11-3054
11 days ago
26-83626
26 days ago
40-13137
40 days
27307 xyzw12345
author:xyzw12345
feat(RingTheory/GradedAlgebra): homogeneous relation This PR continues the work from #22279. Original PR: https://github.com/leanprover-community/mathlib4/pull/22279 t-ring-theory 391/0 Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousRelation.lean 9 9 ['chrisflav', 'eric-wieser', 'github-actions', 'ocfnash', 'xyzw12345'] mattrobball
assignee:mattrobball
10-68487
10 days ago
62-8474
2 months ago
77-19789
77 days
29596 alreadydone
author:alreadydone
chore(Algebra): extract `Submonoid.IsLocalizationMap` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
282/119 Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Extension/Presentation/Submersive.lean,Mathlib/RingTheory/Localization/Defs.lean 7 3 ['github-actions', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
10-68483
10 days ago
18-22040
18 days ago
22-34961
22 days
29723 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add TensorProduct.piScalarRight_symm_algebraMap --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-algebra
label:t-algebra$
5/0 Mathlib/LinearAlgebra/TensorProduct/Pi.lean 1 3 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] joneugster
assignee:joneugster
10-68480
10 days ago
19-15977
19 days ago
19-16011
19 days
29221 euprunin
author:euprunin
chore: remove redundant `rintro` invocations (before `omega`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 0/3 Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Data/List/Range.lean 2 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] RemyDegenne
assignee:RemyDegenne
10-40351
10 days ago
10-40351
10 days ago
33-47991
33 days
28574 euprunin
author:euprunin
chore(Topology/Category): golf entire `finiteCoproduct.ι_desc_apply`, `piIsoPi_hom_apply`, `prodIsoProd_hom_apply` and `pullbackIsoProdSubtype_hom_apply` using `tauto` and `rfl` ---
Show trace profiling of finiteCoproduct.ι_desc_apply: 15 ms before, 25 ms after ### Trace profiling of `finiteCoproduct.ι_desc_apply` before PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..216c5888f2 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,6 +109,7 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x ``` ``` ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (1.9s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.011940] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.definition.header] [0.011212] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.010053] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012175] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012211] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.015416] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.014903] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.014576] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.014564] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.011699] change (ι X a ≫ desc X π) _ = _ Build completed successfully (985 jobs). ``` ### Trace profiling of `finiteCoproduct.ι_desc_apply` after PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..b70ed614b6 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,11 +109,10 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by - intro x - change (ι X a ≫ desc X π) _ = _ - simp only [ι_desc] + tauto instance : HasCoproduct X where exists_colimit := ⟨finiteCoproduct.cofan X, finiteCoproduct.isColimit X⟩ diff --git a/Mathlib/Topology/Category/TopCat/Limits/Products.lean b/Mathlib/Topology/Category/TopCat/Limits/Products.lean index 0b74c2f6ee..353896fce8 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Products.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Products.lean @@ -62,9 +62,7 @@ theorem piIsoPi_inv_π_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : theorem piIsoPi_hom_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) (x : (∏ᶜ α : TopCat.{max v u})) : (piIsoPi α).hom x i = (Pi.π α i :) x := by - have := piIsoPi_inv_π α i - rw [Iso.inv_comp_eq] at this - exact ConcreteCategory.congr_hom this x + tauto /-- The inclusion to the coproduct as a bundled continuous map. -/ abbrev sigmaι {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) : α i ⟶ TopCat.of (Σ i, α i) := by @@ -165,9 +163,7 @@ theorem prodIsoProd_hom_snd (X Y : TopCat.{u}) : theorem prodIsoProd_hom_apply {X Y : TopCat.{u}} (x : ↑(X ⨯ Y)) : (prodIsoProd X Y).hom x = ((Limits.prod.fst : X ⨯ Y ⟶ _) x, (Limits.prod.snd : X ⨯ Y ⟶ _) x) := by - ext - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_fst X Y) x - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_snd X Y) x + tauto @[reassoc (attr := simp), elementwise] theorem prodIsoProd_inv_fst (X Y : TopCat.{u}) : diff --git a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean index 66049170b3..68b42db21b 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean @@ -110,9 +110,7 @@ theorem pullbackIsoProdSubtype_hom_apply {f : X ⟶ Z} {g : Y ⟶ Z} (pullbackIsoProdSubtype f g).hom x = ⟨⟨pullback.fst f g x, pullback.snd f g x⟩, by simpa using CategoryTheory.congr_fun pullback.condition x⟩ := by - apply Subtype.ext; apply Prod.ext - exacts [ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_fst f g) x, - ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_snd f g) x] + tauto theorem pullback_topology {X Y Z : TopCat.{u}} (f : X ⟶ Z) (g : Y ⟶ Z) : (pullback f g).str = ``` ``` ✔ [982/985] Built Mathlib.Topology.Category.TopCat.Limits.Products (2.7s) ✔ [983/985] Built Mathlib.Topology.Category.TopCat.Limits.Pullbacks (2.4s) ✔ [984/985] Built Mathlib.CategoryTheory.Extensive (4.3s) ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (3.0s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033044] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto [Elab.definition.header] [0.031659] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.030394] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030250] expected type: Sort ?u.7534, term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030242] expected type: Sort ?u.7534, term binrel% Eq✝ (finiteCoproduct.desc X π (finiteCoproduct.ι X a x)) (π a x) [Elab.step] [0.025815] expected type: , term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) [Elab.step] [0.010204] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term (finiteCoproduct.ι X a x) [Elab.step] [0.010186] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term finiteCoproduct.ι X a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033536] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033652] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.025323] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.024806] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.024330] tauto [Elab.step] [0.024317] tauto [Elab.step] [0.024304] tauto Build completed successfully (985 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-topology easy 4/15 Mathlib/Topology/Category/CompHausLike/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean 3 1 ['github-actions'] ADedecker
assignee:ADedecker
10-40304
10 days ago
10-40304
10 days ago
49-9756
49 days
28490 euprunin
author:euprunin
chore: golf entire `epi_of_cokernel_π_eq_zero`, `bottom_row_coprime`, `congr_of_eventuallyEq` and `Invertible.congr` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 8/12 Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/Topology/ContinuousOn.lean 4 1 ['github-actions'] kex-y
assignee:kex-y
10-40271
10 days ago
10-40271
10 days ago
44-2037
44 days
29947 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Maps Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 1 ['github-actions'] nobody
10-38919
10 days ago
11-12022
11 days ago
11-12061
11 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/) t-group-theory FLT new-contributor 97/0 Mathlib/GroupTheory/DoubleCoset.lean 1 16 ['Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
10-33120
10 days ago
17-8765
17 days ago
75-74639
75 days
26259 Raph-DG
author:Raph-DG
feat(Topology): Connecting different notions of locally finite In this PR we connect the notions of local finiteness of an indexed family of sets (as in LocallyFinite) and of a set of sets (as in Function.locallyFinsuppWithin) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-topology 38/0 Mathlib/Topology/LocallyFinsupp.lean 1 18 ['Raph-DG', 'chrisflav', 'github-actions', 'jcommelin', 'kckennylau'] jcommelin
assignee:jcommelin
10-12762
10 days ago
10-38078
10 days ago
99-2065
99 days
29411 llllvvuu
author:llllvvuu
feat(LinearAlgebra/Matrix/Rank): rank factorization The rank factorization derived from `Module.finBasis`. Co-authored-by: Aristotle Harmonic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
20/0 Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean 2 1 ['github-actions'] jcommelin
assignee:jcommelin
10-11794
10 days ago
27-81122
27 days ago
27-81115
27 days
29526 llllvvuu
author:llllvvuu
feat: `Multiset.map f` identifies `f` up to permutation Motivation: Reason about `Fintype`-indexed families via `Multiset` equality. Example use case 1: ```lean theorem Matrix.IsHermitian.cfc_eigenvalues {d : Type*} [Fintype d] [DecidableEq d] {M : Matrix d d 𝕜} (hM : M.IsHermitian) (f : ℝ → ℝ) (hcfc : Matrix.IsHermitian (cfc f M) := cfc_predicate f M) : ∃ (e : d ≃ d), hcfc.eigenvalues = f ∘ hM.eigenvalues ∘ e := by have := hcfc.roots_charpoly_eq_eigenvalues.symm rw [hM.charpoly_cfc_eq f, Polynomial.roots_prod] at this; swap · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this have he := (Multiset.compTriple_equivOfMapUnivEq this).comp_eq simp_rw [← Function.comp_def RCLike.ofReal, ← Function.comp_def f, Function.comp_assoc] at he exact ⟨_, RCLike.ofReal_injective.comp_left he.symm⟩ ``` Example use case 2 (on top of https://github.com/leanprover-community/mathlib4/pull/29610): ```lean theorem LinearMap.Eigenbasis.μ_equiv {ι ι' R G : Type*} [Fintype ι] [Fintype ι'] [CommRing R] [IsDomain R] [AddCommGroup G] [Module R G] [Module.Free R G] [Module.Finite R G] {f : Module.End R G} (B₁ : f.Eigenbasis ι) (B₂ : f.Eigenbasis ι') : ∃ e : ι ≃ ι', B₁.μ = B₂.μ ∘ e := by classical have := congr(Polynomial.roots $(B₁.charpoly_eq.symm.trans B₂.charpoly_eq)) rw [Polynomial.roots_prod, Polynomial.roots_prod] at this; rotate_left · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] · simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero] simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this exact ⟨Multiset.equivOfMapUnivEq this, (Multiset.compTriple_equivOfMapUnivEq this).comp_eq.symm⟩ ``` Co-authored-by: Aristotle Harmonic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 35/0 Mathlib/Data/Multiset/Fintype.lean 1 8 ['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'vihdzp', 'wwylele'] nobody
10-11462
10 days ago
24-66892
24 days ago
24-66885
24 days
29275 wwylele
author:wwylele
feat(GroupTheory): add DivisibleHull This is part of Hahn embedding theorem #27268, where an a ordered group is first embedded in a divisible group / Q-module. I am aware at #25662 there is also an ongoing rewrite of `LocalizedModule` that this PR uses. Hopefully I avoided interfering it by using mostly with public API. --- - [x] depends on: #29277 - [x] depends on: #29388 - [x] depends on: #29386 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory maintainer-merge 451/3 Mathlib.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/PNat.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/DivisibleHull.lean 6 106 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp', 'wwylele'] tb65536
assignee:tb65536
9-68485
9 days ago
17-7962
17 days ago
26-71561
26 days
29488 Timeroot
author:Timeroot
feat: 'said' tactic Functionally similar to `says`, but explicitly not for checking output or even saying there ever was output. `X said Y` just means that `X` was part of the process for (a human, or machine, or both) to generate `Y`. Based on this [#mathlib4 > noisy simp says in CI @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/noisy.20simp.20says.20in.20CI/near/538443152) Zulip discussion --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 40/0 Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/Says.lean,MathlibTest/says.lean 4 3 ['JovanGerb', 'MichaelStollBayreuth', 'github-actions'] JovanGerb
assignee:JovanGerb
9-68484
9 days ago
17-40458
17 days ago
25-60005
25 days
29765 YaelDillies
author:YaelDillies
feat: commutative monoids are internal monoids From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory 76/6 Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean 2 3 ['YaelDillies', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
9-68480
9 days ago
17-45043
17 days ago
17-45076
17 days
29769 Vierkantor
author:Vierkantor
CI: run a weekly linter workflow This PR adds a workflow analogous to the nightly regression lints, that reports possible refactors using the tactic analysis framework. Those would be too noisy or take too much time to run in regular CI. As a first linter, we have the `mergeWithGrind` linter that reports when a sequence of tactics followed by `grind` can become just `grind`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 102/1 .github/workflows/weekly-lints.yml,Mathlib/Init.lean 2 1 ['github-actions'] bryangingechen
assignee:bryangingechen
9-68479
9 days ago
17-32988
17 days ago
17-32965
17 days
29771 Vierkantor
author:Vierkantor
refactor(TacticAnalysis): use full CommandElabM context in test Running the `rwMerge` linter on the whole of Mathlib reveals that the tactic analysis framework did not always correctly pass the environment to the test step of a pass. By running the test in a full `CommandElabM` and adding a `ContextInfo` and `TacticInfo`, we can access the right environment (using the `ctxI.runTacticCode` function). There are still a few subtle issues to do with notation but I would like to get this fix in first, since it involves some larger refactors. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 44/17 Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean 3 7 ['adomani', 'bryangingechen', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] kim-em
assignee:kim-em
9-68478
9 days ago
17-16004
17 days ago
17-32532
17 days
29990 pechersky
author:pechersky
feat(Algebra/Subgroup/Lattice): `mem_biSup_of_directedOn` Generalization of existing `mem_iSup_of_directed` On the way to characterization of the torsion subgroup as the sup over all subgroups of roots of unity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
35/10 Mathlib/Algebra/Group/Subgroup/Lattice.lean 1 1 ['github-actions'] nobody
9-54365
9 days ago
9-54419
9 days ago
9-54405
9 days
29471 harahu
author:harahu
doc: use en dash instead of hyphen in Akra-Bazzi When joining two names, like is done here, the en dash is usually preferred over a regular hyphen. This also aligns the naming in mathlib with that of [Wikipedia](https://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method). Some concern was raised [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.23.2029464.20corrections.20to.20docs.20by.20way.20of.20LLM/near/538466767) regarding what this implies for code searches using `grep` and similar tools. Consequently, tags have been added to make sure searches using the regular hyphen will still hit the relevant files. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 28/21 Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean 3 6 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
9-48367
9 days ago
9-48392
9 days ago
25-64329
25 days
29556 joelriou
author:joelriou
feat(CategoryTheory): canonical colimits Given a functor `F : C ⥤ D` and `Y : D`, we say that `Y` is a canonical colimit relatively to `F` is `Y` identifies to the colimit of all `F.obj X` for `X : C` and `f : F.obj X ⟶ Y`, i.e. `Y` identifies to the colimit of the obvious functor `CostructuredArrow F Y ⥤ D` (see definitions `canonicalCocone` and `CanonicalColimit`). We introduce the corresponding property `isCanonicalColimit F` of objects of `D`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 72/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Canonical.lean 2 2 ['github-actions', 'joelriou'] joneugster
assignee:joneugster
9-38520
9 days ago
24-29261
24 days ago
24-29237
24 days
29995 vihdzp
author:vihdzp
feat: more lemmas on `Concept` These are used in the [`combinatorial-games`](https://github.com/vihdzp/combinatorial-games) repository. Note that `Concept α α (· ≤ ·)` is the Dedekind-McNeille completion, while `Concept α α (· < ·)` is a modified form of it that's used to define surreal cuts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 40/0 Mathlib/Order/Concept.lean 1 10 ['github-actions', 'linesthatinterlace', 'vihdzp'] nobody
9-37728
9 days ago
9-42665
9 days ago
9-42699
9 days
23920 YaelDillies
author:YaelDillies
feat: relation-separated sets Define a notion of separation of a set relative to a relation. This will be used to unify metric and dynamical separation. From MiscYD and LeanAPAP --- - [x] depends on: #26988 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 66/0 Mathlib.lean,Mathlib/Data/Rel/Separated.lean 2 21 ['ADedecker', 'D-Thomine', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] ADedecker
assignee:ADedecker
9-13776
9 days ago
9-13798
9 days ago
39-77725
39 days
29354 themathqueen
author:themathqueen
refactor(Algebra/Algebra/Equiv): allow for non-unital `AlgEquiv` This refactors `AlgEquiv` to allow for non-unital algebras. More specifically, we weaken the type class assumptions from: ```lean structure AlgEquiv (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] ``` to ```lean structure AlgEquiv (R A B : Type*) [Add A] [Add B] [Mul A] [Mul B] [SMul R A] [SMul R B] ``` Instead of a `commutes'` field, we now have a `map_smul'` field. We also include a definition `AlgEquiv.ofCommutes` which takes in a `RingEquiv` and a `commutes'` field to match before and for convenience. `StarAlgEquiv` now extends `AlgEquiv`. We also generalize a few files to allow for non-unital. I suspect there are a few more things to generalize, but will leave this for later. Co-authored-by: Jireh Loreaux --- Revives #8686. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
527/484 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/Unique.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Invariant/Profinite.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Jacobson/Artinian.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/MatrixAlgebra.lean,Mathlib/RingTheory/MvPolynomial/Localization.lean,Mathlib/RingTheory/Norm/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/PolynomialAlgebra.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/RingHom/FiniteType.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/TensorProduct/Pi.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/LocallyConstant/Algebra.lean 96 25 ['fpvandoorn', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] joelriou
assignee:joelriou
9-9862
9 days ago
9-12483
9 days ago
22-70257
22 days
29328 vlad902
author:vlad902
feat(SimpleGraph): graph isomorphism preserves `IsAcyclic`/`IsTree` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 21/2 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 2 ['github-actions', 'themathqueen'] b-mehta
assignee:b-mehta
8-68493
8 days ago
32-513
1 month ago
32-532
32 days
29823 themathqueen
author:themathqueen
feat(Algebra/Group/Submonoid): add `(Add)Submonoid.closure_pi` This generalizes and moves some proofs from subgroups to submonoids in order to add `(Add)Submonoid.closure_pi`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
86/45 Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/Group/Submonoid/Finite.lean 3 6 ['eric-wieser', 'github-actions', 'themathqueen'] dagurtomas
assignee:dagurtomas
8-68487
8 days ago
15-78891
15 days ago
15-78931
15 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 161/95 Mathlib/Order/Concept.lean 1 17 ['github-actions', 'linesthatinterlace', 'plp127', 'vihdzp'] nobody
8-57133
8 days ago
9-42595
9 days ago
9-42628
9 days
29538 YaelDillies
author:YaelDillies
refactor(FractionalIdeal): use algebraic order theory API Instantiate instances earlier and use generic lemmas instead of the `FractionalIdeal`-specific ones. Also rename `_nonzero` in lemma names to `_ne_zero`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 158/176 Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean 8 1 ['github-actions'] chrisflav
assignee:chrisflav
7-68473
7 days ago
21-24183
21 days ago
21-24167
21 days
29791 llllvvuu
author:llllvvuu
feat(Order): lemmas about `iSupIndep` * generalize `Finset.SupIndep` "bind" operations from `DistribLattice` to `IsModularLattice` * new lemma `iSupIndep.iInf` * more characterizations of `iSupIndep` on submodules: * `iSupIndep_iff_finset_sum_eq_zero_imp_eq_zero` * `iSupIndep_iff_finset_sum_eq_imp_eq` * add `@[simp]` and `@[grind]` attributes which were helpful for these proofs Original motivation was to have the following fact: ```lean theorem iSupIndep_iInf_genEigenspace [NoZeroSMulDivisors R M] {α : Type*} (f : α → End R M) (k : ℕ∞) : iSupIndep fun μ : α → R ↦ ⨅ a : α, ((f a).genEigenspace (μ a)) k := .iInf (f · |>.genEigenspace · k) (f · |>.independent_genEigenspace k) ``` Co-authored-by: Aristotle Harmonic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 166/62 Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Lattice/Union.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/Logic/Embedding/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SupIndep.lean 11 12 ['github-actions', 'leanprover-bot', 'llllvvuu'] bryangingechen
assignee:bryangingechen
7-68472
7 days ago
15-65061
15 days ago
16-2280
16 days
29693 kckennylau
author:kckennylau
feat(RingTheory): make Euclidean domain from DVR --- Zulip: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leading.20term.20of.20valuation/near/539666529 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory maintainer-merge 82/0 Mathlib/RingTheory/DiscreteValuationRing/Basic.lean 1 6 ['github-actions', 'kckennylau', 'pechersky'] chrisflav
assignee:chrisflav
7-68472
7 days ago
19-22693
19 days ago
19-68594
19 days
29512 grunweg
author:grunweg
feat: check for PR titles which do not start with "feat" etc. We ignore draft PRs and PRs with the WIP label. The set of checks is intentionally kept small, and could be expanded in the future. --- More basic version of #16303: given that mathlib's statistics will use the PR kind, let's make sure PR kinds are somewhat appropriate. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 365/0 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check_title_labels.lean 10 17 ['bryangingechen', 'eric-wieser', 'github-actions', 'grunweg'] bryangingechen
assignee:bryangingechen
7-50009
7 days ago
25-12444
25 days ago
25-12420
25 days
28719 mitchell-horner
author:mitchell-horner
refactor: redefine `IsTuranMaximal` Redefined `IsTuranMaximal := G.IsExtremal (CliqueFree · (r + 1))` and - replaced `classical` in `IsTuranMaximal.le_iff_eq` with `DecidableRel` - refactored `turanGraph.instDecidableRelAdj`, `turanGraph_zero`, `exists_isTuranMaximal` - added `open Fintype` - replaced `simp only` with `rw` or `simp_rw` --- - [x] depends on: #28721 - [x] depends on: #29054 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 33/46 Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean 1 8 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'vihdzp'] kmill
assignee:kmill
7-38754
7 days ago
7-42085
7 days ago
34-61207
34 days
25843 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): define `between` subgraphs The simple graph `G.between s t` is the subgraph of `G` containing edges that connect a vertex in the set `s` to a vertex in the set `t`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24948.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24948* t-combinatorics 86/0 Mathlib/Combinatorics/SimpleGraph/Bipartite.lean 1 1 ['github-actions'] b-mehta
assignee:b-mehta
7-38730
7 days ago
114-22842
3 months ago
114-22817
114 days
28097 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/PosDef): kronecker of positive (semi-)definite matrices is positive (semi-)definite This first shows that `U * x * star U` is positive (semi-)definite if and only if `x` is, for an invertible matrix `U` in a not necessarily commutative star-ring. Then using the spectral theorem, it follows that the kronecker of positive (semi-)definite matrices is positive (semi-)definite. --- - [x] depends on: #28093 - [x] depends on: #28476 - [x] depends on: #28544 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
88/5 Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean 4 9 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] joneugster
assignee:joneugster
7-23686
7 days ago
10-30408
10 days ago
33-81355
33 days
29361 FlAmmmmING
author:FlAmmmmING
feat: Catalan generating function as a formal power series We introduce the Catalan generating function as a formal power series over `ℕ`. ## Main Definitions * `PowerSeries.catalanSeries`: The Catalan generating function as a power series. ## Main Results * `PowerSeries.sum_coeff_X_catalanSeries`: When `n` is a natural number, each term in the sum `coeff i X * catalan (n - i)` is 0 except for `i = 1`. * `PowerSeries.coeff_X_mul_catalanSeries`: The coefficient of `X * catalanSeries` at `X^n` is `catalan (n - 1)` when `n > 0`. * `PowerSeries.catalanSeries_one_add_X_mul_self_sq`: The Catalan generating function satisfies the equation `catalanSeries = 1 + X * catalanSeries ^ 2`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 71/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean 2 4 ['Ruben-VandeVelde', 'github-actions', 'wwylele'] kbuzzard
assignee:kbuzzard
7-10772
7 days ago
30-41163
1 month ago
30-41193
30 days
27290 themathqueen
author:themathqueen
feat: `Star`, `StarAddMonoid`, and `StarModule` instances for tensor products This pr defines the `Star`, `StarAddMonoid` and `StarModule` instances on tensor product spaces. And the `StarRing` instance. --- - [x] depends on: #27288 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
55/0 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Star.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] nobody
7-9868
7 days ago
7-13101
7 days ago
7-13915
7 days
27228 themathqueen
author:themathqueen
feat: defining the inner product on tensor products This defines the inner product on tensor product spaces. Also defines `OrthonormalBasis.tensorProduct`. The implementation is based on [here](https://github.com/ocfnash/lean-shannon-lovasz/blob/e63e535599ffb3c2a7e995e1621847693dd68fab/src/to_mathlib/analysis/inner_product_space/tensor_product.lean#L404) (by @jjaassoonn), which defines the inner product on real tensor product spaces. The exact same implementation also applies for the general case. Closes #6020 --- - [x] depends on: #27288 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis
label:t-algebra$
281/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean 4 5 ['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] nobody
7-8900
7 days ago
7-8901
7 days ago
7-10199
7 days
29589 grunweg
author:grunweg
feat: add mfderiv_prod and mfderiv_prodMap Part of my bordism theory project: these will be needed for https://github.com/leanprover-community/mathlib4/pull/22059. Updated version of #22642. --- - [x] depends on: #30049 for ease of reviewing [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 81/0 Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
7-5857
7 days ago
7-27488
7 days ago
7-27494
7 days
30009 ADedecker
author:ADedecker
chore: rename `IsTopologicalGroup.toUniformSpace` to `IsTopologicalGroup.rightUniformSpace` I have plans to finally do left and right uniformities properly, but I'd like to do some of the remaining before the fact to ease review. I also take this opportunity to remove a duplication of private lemmas `extend_Z_bilin_aux` and `extend_Z_bilin_key`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 104/184 Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Operator/Compact.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Topology/Algebra/Group/Defs.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Algebra/Module/Alternating/Topology.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/ContinuousMap/Algebra.lean 23 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] nobody
7-4856
7 days ago
7-4878
7 days ago
8-18283
8 days
30056 vlad902
author:vlad902
feat(GroupTheory): finitely generated groups are quotients of free groups on finite generators This is equivalent to the formulation that finitely generated groups/monoids are quotients of FreeGroups/Monoids over the same generators, though I think the phrasing as a surjective homomorphism is more useful. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 31/0 Mathlib/GroupTheory/Finiteness.lean 1 1 ['github-actions'] nobody
7-3473
7 days ago
7-3489
7 days ago
7-3521
7 days
29362 stepanholub
author:stepanholub
feat:(Data/List) add the notion of period of List and prove the Periodicity Lemma Add the concept of the period of a List (word, sequence) which is missing, and prove its basic nontrivial property describing under which conditions list can have two periods known as the Periodicity Lemma (aka Fine-Wilf Theorem). --- t-data new-contributor 227/0 Mathlib.lean,Mathlib/Data/List/PeriodicityLemma.lean 2 125 ['Ruben-VandeVelde', 'Timeroot', 'fpvandoorn', 'github-actions', 'madvorak', 'plp127', 'stepanholub', 'wwylele'] nobody
7-720
7 days ago
11-3534
11 days ago
28-86131
28 days
30062 plp127
author:plp127
chore(Order/Defs/PartialOrder): golf non-instance Golf `decidableLTOfDecidableLE` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy 2/6 Mathlib/Order/Defs/PartialOrder.lean 1 1 ['github-actions'] nobody
6-76632
6 days ago
6-76696
6 days ago
6-76684
6 days
29369 vlad902
author:vlad902
feat(SimpleGraph): `IsSubwalk` of common Walk decompositions Add some helper lemmas to show that decompositions of walks are sub-walks. t-combinatorics 61/17 Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 2 1 ['github-actions'] awainverse
assignee:awainverse
6-68486
6 days ago
30-7563
1 month ago
30-7606
30 days
29758 NotWearingPants
author:NotWearingPants
feat(RingTheory/RootsOfUnity): exp(pi * i * q) is a root of unity for rational q --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 32/1 Mathlib/RingTheory/RootsOfUnity/Complex.lean 1 5 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
6-68484
6 days ago
16-73300
16 days ago
16-80300
16 days
29864 themathqueen
author:themathqueen
chore(Algebra/Order/BigOperators/Group/{Finset, Multiset}): generalize results to `(Mul)(Add)LeftMono` Generalize some stuff from `IsOrdered(Add)Monoid` to `(Mul)(Add)LeftMono`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
61/53 Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Int/Sum.lean,Mathlib/Data/NNRat/BigOperators.lean,Mathlib/Tactic/Positivity/Finset.lean 5 1 ['github-actions'] dagurtomas
assignee:dagurtomas
6-68480
6 days ago
14-3120
14 days ago
14-10338
14 days
29121 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: MvPolynomial.symmetricSubalgebra.{aevalMultiset,sumPolynomial} --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 192/0 Mathlib.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Eval.lean 2 1 ['github-actions'] chrisflav
assignee:chrisflav
6-43024
6 days ago
36-68151
1 month ago
36-68183
36 days
29946 smmercuri
author:smmercuri
feat(InfinitePlace/Ramification): embeddings of unramified/ramified infinite places satisfy `IsUnmixed/IsMixed` --- - [x] depends on: #29945 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-number-theory 52/1 Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-33980
6 days ago
6-34002
6 days ago
6-44081
6 days
29309 LLaurance
author:LLaurance
feat(Combinatorics/SimpleGraph): Nontrivial connected graph contains a vertex that leaves the graph connected if removed This shows that any nontrivial connected graph contains a vertex that, when removed, leaves the graph connected. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 156/10 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-30438
6 days ago
6-30438
6 days ago
27-35054
27 days
29735 vihdzp
author:vihdzp
feat: order instances on quotients We define a `Preorder (Quotient s)` instance in the natural way, and prove that it can be strengthened to a `LinearOrder` when all equivalence classes are `OrdConnected`. --- See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20linear.20order.20is.20linear.20order/near/539915988) for some long-winded discussion about this. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 125/0 Mathlib.lean,Mathlib/Order/Quotient.lean 2 3 ['github-actions', 'plp127'] bryangingechen
assignee:bryangingechen
6-25279
6 days ago
18-52728
18 days ago
18-52762
18 days
29665 xroblot
author:xroblot
feat(IsCyclotomicExtension): some results for the sub-algebra case We add some results about cyclotomic extensions which are also contained in an extension `A ⊆ B` of rings. In this case, the cyclotomic extension `IsCyclotomicExtension S A C` is determined by `S` and thus we can prove various statements such as the fact that the compositum of `A[ζₙ]` and `A[ζₘ]` is `A[ζₗ]` where `l` is the lcm of `n` and `m`. --- - [x] depends on: #29600 t-algebra
label:t-algebra$
121/12 Mathlib/NumberTheory/Cyclotomic/Basic.lean 1 8 ['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'xroblot'] ocfnash
assignee:ocfnash
6-18419
6 days ago
6-18541
6 days ago
18-74917
18 days
29642 pechersky
author:pechersky
chore(RingTheory/AdicValuation,LaurentSeries): switch to `WithZero.exp` instead of coercions of `Multiplicative.ofAdd` as requested at https://github.com/leanprover-community/mathlib4/pull/27339#issuecomment-3285102305 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 58/68 Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/LaurentSeries.lean 5 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-14772
6 days ago
6-21280
6 days ago
14-31649
14 days
28395 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): nondegenerate simplices in the standard simplex In this PR, we show that `d`-dimensional nondegenerate simplices in `Δ[n]` identify to `Fin (d + 1) ↪o Fin (n + 1)`. (This PR also contains some general additional API for (non)degenerate simplices. For this reason, three definitions related to subcomplexes generated by a simplex had to be moved from `StdSimplex.lean` to `Subcomplex.lean`.) --- - [x] depends on: #28337 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology maintainer-merge 247/20 Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/Order/Hom/Basic.lean 5 24 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] robin-carlier
assignee:robin-carlier
6-13733
6 days ago
6-19079
6 days ago
24-76911
24 days
29425 pechersky
author:pechersky
feat(NumberTheory/Padics/Torsion): `HasEnoughRootsOfUnity ℤ_[p] (p - 1)` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #29403 - [x] depends on: #29404 - [x] depends on: #29405 - [x] depends on: #29408 - [x] depends on: #29424 t-ring-theory 179/0 Mathlib.lean,Mathlib/NumberTheory/Padics/Torsion.lean,Mathlib/RingTheory/ZMod/Torsion.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-12680
6 days ago
6-13356
6 days ago
6-13989
6 days
26104 xroblot
author:xroblot
feat(NumberField/IsCM): compute ratio of regulators This PR continues the work from #23696. Compute the ratio between the regulator of `K` and the regulator of its maximal real subfield. --- - [x] depends on: #23694 - [x] depends on: #26075 - [x] depends on: #26108 t-number-theory 75/4 Mathlib/GroupTheory/Index.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean 4 4 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] nobody
6-12347
6 days ago
6-14239
6 days ago
6-15621
6 days
25794 dagurtomas
author:dagurtomas
feat(CategoryTheory): localization preserves braided structure --- - [x] depends on: #29568 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #24485.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/24485* file-removed t-category-theory 225/4 Mathlib.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean 6 15 ['dagurtomas', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] mattrobball
assignee:mattrobball
6-11518
6 days ago
6-12389
6 days ago
62-21539
62 days
28876 ScottCarnahan
author:ScottCarnahan
feat (Algebra/Group/Action/Basic): add IsLeftCancelSMul This PR adds classes `IsLeftCancelSMul` and `IsLeftCancelVAdd`, for actions that are injective on the left. This property automatically holds for group actions, and for the left multiplication action of a left cancellative monoid. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
51/13 Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/AddTorsor.lean 2 5 ['ScottCarnahan', 'dagurtomas', 'github-actions'] dagurtomas
assignee:dagurtomas
6-10708
6 days ago
6-10736
6 days ago
40-23559
40 days
30037 linesthatinterlace
author:linesthatinterlace
feat: Fin.find update We currently define `Fin.find` in a way that is redundant (in the sense that it is just equivalent to `Fin.find?` in batteries). This PR replaces it with a definition that works closer to `Nat.find`, and links the new definition of `Fin.find` to `Fin.find?` in the natural way. --- - [ ] depends on: batteries#1431 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 137/103 Mathlib/Data/Fin/Tuple/Basic.lean,lake-manifest.json 2 6 ['github-actions', 'linesthatinterlace', 'llllvvuu', 'mathlib4-merge-conflict-bot'] nobody
6-9313
6 days ago
6-9331
6 days ago
7-65236
7 days
28224 joelriou
author:joelriou
feat(AlgebraicTopology): the type of non degenerate simplices of a simplicial set In this PR, we introduce the ordered type `X.N` of nondegenerate simplices in a simplicial set `X`. --- - [x] depends on: #27968 - [x] depends on: #28034 - [x] depends on: #26076 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 217/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean 5 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-6214
6 days ago
6-6227
6 days ago
6-6203
6 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/Implicit): define implicitFunOfProdDomain 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/) new-contributor t-analysis 107/4 Mathlib/Analysis/Calculus/Implicit.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-5574
6 days ago
6-42579
6 days ago
6-44157
6 days
26668 mariainesdff
author:mariainesdff
feat(Analysis/Normed/Unbundled/SpectralNorm): add API Co-authored-by: @faenuccio --- - [ ] depends on: #26667 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis t-number-theory 127/16 Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean 1 15 ['MichaelStollBayreuth', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-4004
6 days ago
18-30426
18 days ago
18-32022
18 days
29860 mcdoll
author:mcdoll
feat(Analysis/Fourier): Parseval identity The Plancherel theorem states that the Fourier transform is unitary on L^2. We prove the main step which is that the Fourier transform on Schwartz space preserves the L^2-norm. --- The extension of the Fourier transform to L^2 will be proved in a subsequent PR. - [x] depends on: #29852 - [x] depends on: #29853 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 144/26 Mathlib/Analysis/Distribution/FourierSchwartz.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,docs/undergrad.yaml 4 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
5-78128
5 days ago
5-78147
5 days ago
11-81151
11 days
27258 JovanGerb
author:JovanGerb
Imo2020 q6 Original PR: #23431 This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28. TODO: The function `project a b p` that is defined here should be replaced with `signedDist a p (b -ᵥ a)`. --- - [x] depends on: #27257 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 346/0 Archive.lean,Archive/Imo/Imo2020Q6.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] dwrensha
assignee:dwrensha
5-68486
5 days ago
13-14173
13 days ago
13-15453
13 days
27416 joelriou
author:joelriou
feat(Algebra/Homology): Ext modules In this PR, we show that if `C` is a `R`-linear abelian category, then there is a `R`-module structure on the groups `Ext X Y n` for `X` and `Y` in `C` and `n : ℕ`. --- - [x] depends on: #26031 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra t-category-theory
label:t-algebra$
164/12 Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean 5 6 ['Thmoas-Guan', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] dagurtomas
assignee:dagurtomas
5-68485
5 days ago
13-14186
13 days ago
13-14306
13 days
27742 ChrisHughes24
author:ChrisHughes24
feat(Nat/nth): inequalities about Nat.nth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 51/0 Mathlib/Data/Nat/Nth.lean 1 3 ['ChrisHughes24', 'github-actions'] pechersky
assignee:pechersky
5-68483
5 days ago
66-32501
2 months ago
66-32538
66 days
27864 BoltonBailey
author:BoltonBailey
feat(Data/{Finset,Multiset}/Sort): give sort functions ≤ default argument Changes the `Finset.sort` and `Multiset.sort` functions to take `≤` as the default relation argument. Then removes this argument where possible through the rest of the library. This involves switching the order of arguments, but I think this is fine, as this function is mostly called by dot notation anyway, and I think it is more typical for the first argument of such functions to have the type that matches the namespace. Thanks to @eric-wieser for suggesting this approach Zulip discussion: [#mathlib4 > Redefine {Fin/Multi}set.sort to take linear order?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Redefine.20.7BFin.2FMulti.7Dset.2Esort.20to.20take.20linear.20order.3F/with/532398325) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 121/97 Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean 9 5 ['BoltonBailey', 'eric-wieser', 'github-actions', 'grunweg'] pechersky
assignee:pechersky
5-68482
5 days ago
64-16811
2 months ago
64-70342
64 days
27991 sinianluoye
author:sinianluoye
feat (Rat): add Rat.den_eq_of_add_den_eq_one and its dependent lemmas ```lean4 example {q r : ℚ} (h : (q + r).den = 1) : q.den = r.den := by ``` It is so simple, but I couldn't find it in current mathlib repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 28/0 Mathlib/Data/Rat/Lemmas.lean 1 14 ['github-actions', 'sinianluoye', 'themathqueen'] pechersky
assignee:pechersky
5-68481
5 days ago
60-68068
1 month ago
61-9713
61 days
28077 ShreckYe
author:ShreckYe
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` `exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. t-data new-contributor 10/0 Mathlib/Data/Finset/Card.lean 1 4 ['ShreckYe', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
5-68480
5 days ago
59-34558
1 month ago
59-34597
59 days
28119 JasperMS
author:JasperMS
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate. In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization. Part of Carleson, original result by Edward van de Meent. Moves: - Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice --- This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out! Mathlib PRs are still new to me, so please point out where I can improve! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-data new-contributor 56/12 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean 4 11 ['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] pechersky
assignee:pechersky
5-68479
5 days ago
58-21283
1 month ago
58-21717
58 days
29351 staroperator
author:staroperator
feat(SetTheory/Cardinal): generalize and rename theorems on `Cardinal.sum` Some theorems on `Cardinal.sum f` are taking `f : ι → Cardinal.{max u v}`, which can be generalized to `f : ι → Cardinal.{v}`. Also rename `sum_le_iSup_lift`, `sum_lt_lift_of_isRegular`, `sum_eq_iSup_lift` etc. to reflect their signatures in names. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 79/36 Mathlib/Data/W/Cardinal.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean,Mathlib/SetTheory/Cardinal/Regular.lean 10 5 ['github-actions', 'staroperator', 'vihdzp'] alreadydone
assignee:alreadydone
5-68477
5 days ago
30-74545
1 month ago
31-7331
31 days
29395 YaelDillies
author:YaelDillies
refactor: make `PosMulMono` and alike custom classes In the current setup, users get confusing non-beta-reduced goals involving a subtype when trying to provide an instance of `PosMulMono`. This PR changes it to be a custom structure with the expected fields. This follows `PosSMulMono` and alike. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
187/268 Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Order/Ring/Opposite.lean,Mathlib/Algebra/Order/Ring/Prod.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Filter/Ring.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,MathlibTest/GRewrite.lean 22 4 ['github-actions', 'mathlib4-merge-conflict-bot'] Vierkantor
assignee:Vierkantor
5-68475
5 days ago
13-43704
13 days ago
23-6316
23 days
29478 llllvvuu
author:llllvvuu
feat(LinearAlgebra): roots of charpoly are the eigenvalues/spectrum Co-authored-by: Aristotle Harmonic --- - [ ] depends on: #29428 for the lemma `LinearMap.charpoly_sub_smul` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
128/27 Mathlib.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean 5 15 ['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] ocfnash
assignee:ocfnash
5-68474
5 days ago
12-75537
12 days ago
22-72322
22 days
29861 themathqueen
author:themathqueen
feat(LinearAlgebra/Matrix/PosDef): `vecMulVec a (star a)` is positive semi-definite The matrices `vecMulVec a (star a)` and `vecMulVec (star a) a` are always positive semi-definite. And in a nontrivial commutative ring with nontrivial index, they are never positive definite. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
64/0 Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean 2 7 ['eric-wieser', 'github-actions', 'themathqueen'] ocfnash
assignee:ocfnash
5-68471
5 days ago
13-26179
13 days ago
14-14015
14 days
29877 Komyyy
author:Komyyy
feat: inner product of the gradient Also, this PR enables the `conj` notation in the file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 37/10 Mathlib/Analysis/Calculus/Gradient/Basic.lean 1 1 ['github-actions'] hrmacbeth
assignee:hrmacbeth
5-68470
5 days ago
13-27334
13 days ago
13-27312
13 days
29888 mcdoll
author:mcdoll
feat(Analysis/Normed): Extend densely defined LinearMaps to CLM This PR both adds a new and more user-friendly way to extend a CLM defined on a dense subspace. It also moves the old definition to the same file and as a side effect, we reduce the import tree. The moved parts are not modified except for adapting the sections and imports. Original definition of `ContinuousLinearMap.extend` was by Zhouhang Zhou in 2019 (mathlib3 PR #1649) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 254/86 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean 5 2 ['github-actions', 'mcdoll'] hrmacbeth
assignee:hrmacbeth
5-68469
5 days ago
12-80937
12 days ago
13-12287
13 days
29237 harahu
author:harahu
doc: capitalize archimedean Adjectives derived from people's last names are usually capitalized in English. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 332/331 Counterexamples/MapFloor.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Archimedean/Hom.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Module/Archimedean.lean,Mathlib/Algebra/Order/Nonneg/Floor.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Normed/Algebra/Ultra.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Order/Hom/Basic.lean,Mathlib/Analysis/Normed/Order/Hom/Ultra.lean,Mathlib/Analysis/Normed/Ring/Ultra.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Data/Int/SuccPred.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/SuccPred.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/GroupTheory/Archimedean.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/SuccPred/IntervalSucc.lean,Mathlib/Order/SuccPred/LinearLocallyFinite.lean,Mathlib/Order/SuccPred/Tree.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Algebra/Order/Archimedean.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean,Mathlib/Topology/MetricSpace/Ultra/Pi.lean,Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean,Mathlib/Topology/UniformSpace/Ultra/Constructions.lean 73 5 ['euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] dwrensha
assignee:dwrensha
5-30607
5 days ago
20-36821
20 days ago
31-37964
31 days
30073 JovanGerb
author:JovanGerb
feat: new `by_cases!` tactic This PR defines the `by_cases! h : p` tactic, which is a macro for `by_cases h : p` followed by a `try push_neg at h` in the second goal. We use `try push_neg` instead of `push_neg` to make the tactic also succeed when no negation is pushed. Should this maybe throw an warning? This PR also refactors many proofs to use `by_cases!` The tactic implementation can be found in the first commit. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 574/717 Archive/Imo/Imo2024Q6.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Homology/Embedding/TruncGE.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/OfFn.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Faces.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplicialObject/II.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/EGauge.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Meromorphic/NormalForm.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/WellOrderContinuous.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Matroid/IndepAxioms.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Combinatorics/SetFamily/Intersecting.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Int/Order/Basic.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Equitable.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/FieldTheory/JacobsonNoether.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Basis/Defs.lean 203 2 ['JovanGerb', 'github-actions'] nobody
5-30162
5 days ago
6-10916
6 days ago
6-10957
6 days
29257 harahu
author:harahu
doc: attach "pre", "pseudo", "semi" and "sub" as a prefixes where they are now free-standing These are all examples of [bound morphemes](https://en.wikipedia.org/wiki/Bound_and_free_morphemes) and should be attached, either in closed form or by hyphen, to some other construct. Whether to write the resulting words with a hyphen or in closed form is a stylistic choice and I am open to discussing the specifics. I've made choices based on existing literature and what I personally found natural. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 50/50 Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Group/BallSphere.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Lean/Meta/KAbstractPositions.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/Uniformity.lean,scripts/autolabel.lean 21 1 ['euprunin', 'github-actions'] JovanGerb
assignee:JovanGerb
5-29342
5 days ago
33-4444
1 month ago
33-4481
33 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/) t-ring-theory file-removed 462/3 Mathlib.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Properties.lean 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] erdOne
assignee:erdOne
5-19187
5 days ago
5-19214
5 days ago
21-31596
21 days
29341 joelriou
author:joelriou
feat(Topology): the topology generated by a family of spaces Some categories of topological spaces are "convenient" in the sense that they have nice categorical properties (e.g. they have limits, colimits and are cartesian closed). This PR is the first in a series towards showing that delta generated spaces form a cartesian closed monoidal category (see https://github.com/joelriou/topcat-model-category/blob/852a514c1d955ab586507bcd5a7b5efb99c6c3df/TopCatModelCategory/Convenient/CartesianClosed.lean#L92 for the general result), and this result is part of my formalization effort towards the Quillen model category structure on simplicial sets. In this PR, given a family `X` of topological spaces, and a topological space `Y`, we introduce the `X`-generated topology on `Y`, which is coinduced by all continuous maps `X i → Y`. (Eventually, this will generalize previous works by Dagur Asgeirsson and Ben Eltschig about compactly/delta generated spaces in mathlib. At some point, their definitions will be refactored as particular cases of the definitions in this PR series.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 291/0 Mathlib.lean,Mathlib/Topology/Convenient/GeneratedBy.lean,docs/references.bib 3 10 ['github-actions', 'joelriou', 'peabrainiac'] jcommelin
assignee:jcommelin
5-11668
5 days ago
31-37736
1 month ago
31-37711
31 days
29837 jsm28
author:jsm28
feat(Geometry/Euclidean/Incenter): touchpoints in `interior` and `Sbtw` Add lemmas showing that touchpoints for the incenter are in the interior of a face, as is the touchpoint opposite a vertex for the excenter opposite that vertex, and corresponding `Sbtw` statements in the case of a triangle including `Sbtw` statements about the other touchpoints (not in the interior of a side) for an excenter in that case. The `Sbtw` statements are expected to be used in followups together with #29656 to give statements about the incenter and excenters lying on angle bisectors as expressed in terms of angles involving vertices rather than touchpoints. --- - [ ] depends on: #29410 - [ ] depends on: #29418 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 102/1 Mathlib/Geometry/Euclidean/Incenter.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
5-10965
5 days ago
5-12287
5 days ago
5-13456
5 days
29207 YaelDillies
author:YaelDillies
chore(MonoidAlgebra/Defs): reorder, rename variables Sort the declarations according to typeclass assumptions, *and* according to the order in which we need them to be for #25273. Rename the semiring variable to `R` and the monoid one to `M`. Simultaneously golf. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
461/588 Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean 9 6 ['JovanGerb', 'YaelDillies', 'github-actions'] dagurtomas
assignee:dagurtomas
4-68468
4 days ago
12-11414
12 days ago
12-11396
12 days
29729 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: Ideal.ramificationIdx_mul_inertiaDeg_of_isLocalRing --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) FLT t-number-theory 27/0 Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 3 8 ['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot', 'tb65536', 'xroblot'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
4-68467
4 days ago
12-45537
12 days ago
18-39467
18 days
29772 ScottCarnahan
author:ScottCarnahan
feat (RingTheory/HahnSeries/Multiplication): Add group instances to HahnModule This PR adds `Zero` and `AddCommGroup` instances to `HahnModule` when appropriate. We also add comparison lemmas for subtraction in the `AddCommGroup` case, and reorganize some `variables`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 18/9 Mathlib/RingTheory/HahnSeries/Multiplication.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
4-68466
4 days ago
17-30252
17 days ago
17-30286
17 days
29781 chrisflav
author:chrisflav
feat(RingTheory/Finiteness): a finite and finitely presented algebra is finitely presented We show that if `S` is finite as a module over `R` and finitely presented as an algebra over `R`, then it is finitely presented as a module over `R`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 357/36 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Finiteness/ModuleFinitePresentation.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean 9 1 ['github-actions'] erdOne
assignee:erdOne
4-68465
4 days ago
17-10734
17 days ago
17-10712
17 days
29871 zach1502
author:zach1502
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation This PR adds two lemmas formalizing standard Gaussian pivot identities: * `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`: After applying the canonical left/right transvection products that clear the last column and row, the pivot (bottom-right) entry of a matrix is unchanged. Marked `@[simp]`. * `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`: If the pivot entry is nonzero, then the determinant of the matrix factors as the determinant of the top-left block times the pivot entry, after performing the canonical transvections. This is the usual Gauss–pivot determinant identity. * Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas are usable by `simp`/`simpa`. --- --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
94/0 Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean 2 2 ['github-actions', 'zach1502'] riccardobrasca
assignee:riccardobrasca
4-68463
4 days ago
12-84773
12 days ago
13-63836
13 days
29909 Vierkantor
author:Vierkantor
feat(CI): add build output to CI workflows This PR uses the Zulip build report script (originally developed for the nightly-regression-report workflow) to add a summary of build output to other Zulip posts about workflow results. This allows us to more easily see the origin of a failure. This requires redoing the script a little to make it a bit more flexible, and the output is slightly reformatted to become consistent across the various workflows (4 of them that post to Zulip). We don't do so for the nightly-testing failures, since those run in a different workflow, and it would be a lot of work to access the command output from another workflow. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 93/69 .github/workflows/daily.yml,.github/workflows/nightly-docgen.yml,.github/workflows/nightly-regression-report.yml,scripts/zulip_build_report.sh 4 1 ['github-actions'] robertylewis
assignee:robertylewis
4-68462
4 days ago
12-19837
12 days ago
12-19815
12 days
29154 ScottCarnahan
author:ScottCarnahan
feat (Algebra/Lie): Define low-degree cochains and differentials This PR defines 1-cochains and 2-cochains of a Lie algebra `L` with coefficients in an `L`-module `M`. This special case is useful for constructing central extensions of Lie algebras, while not needing the general machinery of Lie algebra cohomology. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
199/0 Mathlib.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Cochain.lean 3 7 ['ScottCarnahan', 'github-actions', 'ocfnash'] ocfnash
assignee:ocfnash
4-51801
4 days ago
6-55480
6 days ago
32-28533
32 days
29253 FernandoChu
author:FernandoChu
feat(CategoryTheory): (Co)limits in preorders Characterize (co)limits in preorders as glbs/lubs, plus some other instances. new-contributor t-category-theory 151/13 Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean 2 12 ['FernandoChu', 'github-actions', 'joelriou'] joelriou
assignee:joelriou
4-39771
4 days ago
4-39775
4 days ago
31-38410
31 days
30088 FernandoChu
author:FernandoChu
feat(CategoryTheory): `Exists` gives images We show that (the underlying arrow of) `(exists f.obj) x` is an image. This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. t-category-theory 147/2 Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/Basic.lean 3 6 ['FernandoChu', 'github-actions', 'joelriou'] nobody
4-39108
4 days ago
4-39108
4 days ago
4-54099
4 days
25974 scholzhannah
author:scholzhannah
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions. This PR continues the work from #25318. Original PR: https://github.com/leanprover-community/mathlib4/pull/25318 Co-authored-by: Floris van Doorn large-import t-topology 174/5 Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean 1 4 ['github-actions', 'joelriou', 'scholzhannah'] ADedecker
assignee:ADedecker
4-38719
4 days ago
5-24441
5 days ago
104-4851
104 days
30109 scholzhannah
author:scholzhannah
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 390/1 Mathlib/Topology/CWComplex/Classical/Subcomplex.lean 1 1 ['github-actions'] nobody
4-34921
4 days ago
4-36952
4 days ago
4-36984
4 days
27073 pechersky
author:pechersky
feat(Archive/Examples/Local): files showcasing properties of local fields for p-adics, completions of number fields, laurent series, and fraction rings of witt vectors Should get filled in as more data/instances are declared --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 139/0 Archive.lean,Archive/Examples/Local/Laurent.lean,Archive/Examples/Local/NumberField.lean,Archive/Examples/Local/Padic.lean,Archive/Examples/Local/Witt.lean 5 6 ['faenuccio', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
4-34807
4 days ago
28-8077
28 days ago
79-24839
79 days
29306 YaelDillies
author:YaelDillies
chore(GroupTheory/GroupAction/Basic): don't import `Module` This is useful to be able to replace `NoZeroSMulDivisors` with `Module.IsTorsionFree` later. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
16/17 Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/LinearAlgebra/Projectivization/Cardinality.lean 2 8 ['YaelDillies', 'eric-wieser', 'github-actions', 'riccardobrasca'] eric-wieser
assignee:eric-wieser
4-33850
4 days ago
28-45671
28 days ago
32-7013
32 days
29300 Louddy
author:Louddy
feat: SkewPolynomial ## Univariate skew polynomials Skew polynomials are represented as `SkewMonoidAlgebra R (Multiplicative ℕ)`, where `R` is usually at least a Semiring. In this file, we define `SkewPolynomial` and provide basic instances. The point if this PR is to introduce the very most basic definitions and API. From #23949. 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$
178/0 Mathlib.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,docs/references.bib 3 1 ['github-actions'] riccardobrasca
assignee:riccardobrasca
4-33788
4 days ago
32-33876
1 month ago
32-33900
32 days
29314 Louddy
author:Louddy
feat(SkewMonoidAlgebra): Lifts for skew monoid algebras Lemmas about different kinds of "lifts" to `SkewMonoidAlgebra` - Similar in spirit to the MonoidAlgebra.Lift file. Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)> --- - [x] depends on: #29310 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 238/2 Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] riccardobrasca
assignee:riccardobrasca
4-33740
4 days ago
6-1588
6 days ago
6-7005
6 days
29143 RemyDegenne
author:RemyDegenne
feat(Probability/Decision): basic properties of the Bayes risk - Comparison of the Bayes risk and the minimax risk - Maximal value of the Bayes risk and particular cases where it equals that value - Data-processing inequality --- - [x] depends on: #29137 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 262/1 Mathlib.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Defs.lean 3 14 ['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] EtienneC30
assignee:EtienneC30
4-30981
4 days ago
4-30981
4 days ago
6-46872
6 days
30029 ADedecker
author:ADedecker
feat: define IsRightUniformGroup and IsLeftUniformGroup This mostly contains the definition and additional documentation. Future PRs will take care of expanding the theory, and proving in particular that `IsUniformGroup` is precisely the conjuction of these two typeclasses. --- - [x] depends on: #30025 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 199/36 Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean 2 9 ['ADedecker', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
4-30286
4 days ago
7-4756
7 days ago
7-15987
7 days
28349 kckennylau
author:kckennylau
feat(Meta): add notation for naming stacked polynomials This PR changes the notation for naming formal variables associated to recursive polynomial-like objects. Registration is done only once per each polynomial-like functor. Usage: ```lean register_poly_vars "[" "]" Polynomial Polynomial.C Polynomial.X register_poly_vars (mv := true) "[" "]" MvPolynomial MvPolynomial.C MvPolynomial.X name_poly_vars R[a,b][C] name_poly_vars _[x,y,z] ``` `_[[x,y,z]]` allows for the hole to be substituted by any base ring, so `(x : R[[x,y,z]])` will be valid syntax. --- I have not mass deployed the new syntax at every possible location, I plan to do that in a future PR following this. Zulip: [#mathlib4 > Notation for polynomial variables](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Notation.20for.20polynomial.20variables) This is a refactor of the currently existing [Mathlib.Tactic.namePolyVarsOver](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Ring/NamePolyVars.html#Mathlib.Tactic.namePolyVarsOver). More explicitly, the current invocation `name_poly_vars x,y over R` is now `poly_variable R[x,y]`. The behaviours inherited from `name_poly_vars` are: * We do not synthesize the necessary instances (such as `[CommRing R]`) at the point of declaration, but only when the new notations are used. * We refer to an explicit term (`R` in the examples) which is "fixed", in the sense that: * it is only valid for `R` explicitly, and not any other `variable` such as `S`. * it has built-in hygiene, so if you shadow the variable by declaring a new `variable (R : Type*)`, it will still refer to the old one. And the new behaviours are: * Currently only `x` and `y` are new notations, but in the new tactic the whole ring `R[x,y]` is also available as notation. * Currently only the forward direction (i.e. elaboration, going from `x` to `MvPolynomial.X 0`) is implemented, but in the new tactic we also implement the backward direction, printing `MvPolynomial.X 0` back as `x` (and `MvPolynomial (Fin 2) R` is printed as `R[x,y]`). * Support beyond just `MvPolynomial`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 652/88 Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/PolyVariable.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,MathlibTest/PolyVariable.lean,scripts/noshake.json 10 80 ['JovanGerb', 'adamtopaz', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'kim-em', 'plp127', 'robertmaxton42', 'sgouezel'] adamtopaz
assignee:adamtopaz
4-26341
4 days ago
12-18654
12 days ago
51-84976
51 days
30107 grunweg
author:grunweg
chore: track occurrences of 'nonrec' as technical debt Matches leanprover-community/leanprover-community.github.io#689: only merge when that is deemed a good idea. -------- TODO: make the count more robust, for instance count all occurrences of "^nonrec " plus those of "^[private|protected] nonrec ". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt CI 1/0 scripts/technical-debt-metrics.sh 1 1 ['github-actions'] nobody
4-24120
4 days ago
4-41370
4 days ago
4-41348
4 days
26332 Timeroot
author:Timeroot
feat(ModelTheory/Definability): TermDefinable functions This PR continues the work from #23506. Original PR: https://github.com/leanprover-community/mathlib4/pull/23506 t-logic 145/0 Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json 3 28 ['Timeroot', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] fpvandoorn
assignee:fpvandoorn
4-22983
4 days ago
20-14068
20 days ago
101-62254
101 days
26287 mbkybky
author:mbkybky
feat(Data/ENat/Lattice): coercion to `WithBot ℕ∞` commutes with `biSup` The coercion from `ℕ∞` to `WithBot ℕ∞` commutes with `biSup` and `biInf`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 24/0 Mathlib/Data/ENat/Lattice.lean 1 5 ['github-actions', 'kckennylau', 'mbkybky'] ericrbg
assignee:ericrbg
4-18812
4 days ago
4-18812
4 days ago
84-20034
84 days
27971 smmercuri
author:smmercuri
feat: weak approximation theorems for infinite places of a number field Under the diagonal embedding into infinite places, a number field $K$ is dense inside both the product $\prod_{v \mid \infty} (K, v)$, where $(K, v)$ denotes $K$ equipped with $v$'s topology, and the infinite adele ring $\prod_v K_v$. This PR continues the work from #22153. Original PR: https://github.com/leanprover-community/mathlib4/pull/22153 --- - [x] depends on: #27969 large-import FLT t-algebra t-number-theory
label:t-algebra$
98/2 Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] nobody
4-18374
4 days ago
4-23177
4 days ago
4-25826
4 days
25969 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupHomology/Functoriality): the degree 1 part of the corestriction-coinflation exact sequence Given a `G`-representation `A` and a normal subgroup `S` of `G`, this PR defines the corestriction-coinflation short complex `H₁(S, A) ⟶ H₁(G, A) ⟶ H₁(G ⧸ S, A_S)` induced by the natural inclusion `S → G` and projections `G → G / S, A → A_S`. We prove it's exact, and that the righthand map is an epimorphism. --- - [x] depends on: #21652 - [x] depends on: #21732 - [x] depends on: #21733 - [x] depends on: #21735 - [x] depends on: #21736 - [x] depends on: #21738 - [x] depends on: #25868 - [x] depends on: #25873 - [x] depends on: #25880 - [x] depends on: #25884 - [x] depends on: #25888 - [x] depends on: #25939 - [x] depends on: #25952 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *Earlier version at #22656.* t-algebra
label:t-algebra$
262/9 Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean 5 n/a ['101damnations', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
3-86087
3 days ago
unknown
unknown
30116 FormulaRabbit81
author:FormulaRabbit81
feat(Measure): proof that a relatively compact set of measures is tight --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-measure-probability 196/2 Mathlib/MeasureTheory/Measure/Tight.lean 1 1 ['github-actions'] nobody
3-78701
3 days ago
3-78738
3 days ago
3-78771
3 days
28604 alreadydone
author:alreadydone
chore(Algebra/Ring/Defs): add two classes (minimally invasive version) Add the missing `NonAssocComm(Semi)ring` classes and add some missing instances between existing classes. Contrary to #28532, the approach here doesn't add any new `extends`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
59/17 Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean 3 19 ['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
3-72685
3 days ago
3-72685
3 days ago
4-45302
4 days
26757 fweth
author:fweth
feat(CategoryTheory/Topos): define elementary topos This commit begins the formalization of the notion of an *elementary topos*, following the definition in \[Mac Lane & Moerdijk, *Sheaves in Geometry and Logic* (1992), Ch. IV, Section 1]. It introduces the file `Mathlib/CategoryTheory/Topos/Basic.lean`, which currently includes: * The definition of an elementary topos. * Proof that the power object map is a functor * Theorem about pullbacks of characterstic maps Subobject classifiers, which are used in the definition, have already been defined in `CategoryTheory/Topos/Classifier.lean` Work in progress: further formalization of the section is planned. Questions: * Should the definition of power objects be separated into its own file/module, perhaps under `CategoryTheory/Topos/PowerObject.lean`? * Is the notation `P` / `P_morph` / `P_functor` for the power object functor on objects / morphisms / total acceptable? * Should the comments and docstrings rather use the notation from the book, where `g ∘ f` denotes arrow composition from righ to left, or the Lean variant `f ≫ g`? Klaus Gy klausgy@gmail.com --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 391/68 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 9 14 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
3-68498
3 days ago
28-19261
28 days ago
47-77821
47 days
27978 smmercuri
author:smmercuri
feat: `InfinitePlace.Extension` API for extensions of infinite places. If `L / K` are fields and `v : InfinitePlace K`, then we define and add basic API for `v.Extension L` : the subtype of `w : InfinitePlace L` whose restriction to `K` matches `v`. This PR continues the work from #24881. Original PR: https://github.com/leanprover-community/mathlib4/pull/24881 --- - [x] depends on: #27977 FLT t-number-theory 49/0 Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] MichaelStollBayreuth
assignee:MichaelStollBayreuth
3-68496
3 days ago
11-13273
11 days ago
11-41173
11 days
29941 themathqueen
author:themathqueen
feat(Algebra/Star): define the convolution star on linear maps This pr defines the _convolution_ star operation on linear maps `E →ₗ F` where `(star f) x = star (f (star x))`. This corresponds to a map being star-preserving, i.e., a map is self-adjoint iff it is star-preserving. The name "convolution star" is just to match the naming of the _convolution_ product in #25183. This is scoped to `ConvolutionStar` as to not conflict with the global instance on `E →ₗ[𝕜] E` on finite-dimensional Hilbert spaces, where `star` is defined as `LinearMap.adjoint`. In a finite-dimensional C⋆-algebra with a positive linear functional, which induces the GNS Hilbert space (TODO) and a coalgebra given by the adjoint of the multiplication map and the algebra unit map (TODO), we get a star ring where multiplication is given by the convolution product and star is given by the convolution star. In such a space, we can then define the isomorphism `(E →ₗ[ℂ] F) ≃⋆ₐ (F ⊗[ℂ] Eᵐᵒᵖ)`, which is an important identification in the theory of non-commutative graphs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
94/0 Mathlib.lean,Mathlib/Algebra/Star/Convolution.lean 2 1 ['github-actions'] ocfnash
assignee:ocfnash
3-68488
3 days ago
11-25712
11 days ago
11-26472
11 days
30117 euprunin
author:euprunin
chore(Data/Rat): golf entire `inv_intCast_num_of_pos` and `den_inv_of_ne_zero` using `simp` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/9 Mathlib/Data/Rat/Lemmas.lean 1 1 ['github-actions'] nobody
3-54361
3 days ago
3-54376
3 days ago
3-54408
3 days
29661 euprunin
author:euprunin
chore(Data): golf entire `tail_cons` using `rfl`. fix `coe_eq_image_val` theorem statement. ---
Show trace profiling of tail_cons: <10 ms before, <10 ms after 🎉 ### Trace profiling of `tail_cons` before PR 29661 ```diff diff --git a/Mathlib/Data/Seq/Defs.lean b/Mathlib/Data/Seq/Defs.lean index fc03ab5f49..aba7137487 100644 --- a/Mathlib/Data/Seq/Defs.lean +++ b/Mathlib/Data/Seq/Defs.lean @@ -229,6 +229,7 @@ theorem head_cons (a : α) (s) : head (cons a s) = some a := by theorem tail_nil : tail (nil : Seq α) = nil := rfl +set_option trace.profiler true in @[simp] theorem tail_cons (a : α) (s) : tail (cons a s) = s := by obtain ⟨f, al⟩ := s ``` ``` ✔ [428/428] Built Mathlib.Data.Seq.Defs (3.8s) Build completed successfully (428 jobs). ``` ### Trace profiling of `tail_cons` after PR 29661 ```diff diff --git a/Mathlib/Data/Seq/Defs.lean b/Mathlib/Data/Seq/Defs.lean index fc03ab5f49..ad65ea7a8f 100644 --- a/Mathlib/Data/Seq/Defs.lean +++ b/Mathlib/Data/Seq/Defs.lean @@ -229,11 +229,9 @@ theorem head_cons (a : α) (s) : head (cons a s) = some a := by theorem tail_nil : tail (nil : Seq α) = nil := rfl +set_option trace.profiler true in @[simp] -theorem tail_cons (a : α) (s) : tail (cons a s) = s := by - obtain ⟨f, al⟩ := s - apply Subtype.eq - dsimp [tail, cons] +theorem tail_cons (a : α) (s) : tail (cons a s) = s := rfl theorem head_eq_some {s : Seq α} {x : α} (h : s.head = some x) : s = cons x s.tail := by diff --git a/Mathlib/Data/Set/Functor.lean b/Mathlib/Data/Set/Functor.lean index 35063a2feb..7b52b24536 100644 --- a/Mathlib/Data/Set/Functor.lean +++ b/Mathlib/Data/Set/Functor.lean @@ -139,10 +139,7 @@ as was defined in `Data.Set.Notation`. -/ attribute [local instance] Set.monad in /-- The coercion from `Set.monad` as an instance is equal to the coercion in `Data.Set.Notation`. -/ theorem coe_eq_image_val (t : Set s) : - @Lean.Internal.coeM Set s α _ _ t = (t : Set α) := by - change ⋃ (x ∈ t), {x.1} = _ - ext - simp + @Lean.Internal.coeM Set s α _ _ t = (t : Set α) := rfl variable {β : Set α} {γ : Set β} {a : α} ``` ``` ✔ [428/428] Built Mathlib.Data.Seq.Defs (1.0s) Build completed successfully (428 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-data 2/5 Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Set/Functor.lean 2 7 ['Ruben-VandeVelde', 'eric-wieser', 'euprunin', 'github-actions'] nobody
3-51330
3 days ago
3-51377
3 days ago
5-83148
5 days
26464 joelriou
author:joelriou
feat(LinearAlgebra): generators of pi tensor products In this PR, we show that the `R`-module `⨂[R] i, M i` is finitely generated if the index type is finite and all `M i` are finitely generated. This follows from a more precise result about generators of `⨂[R] i, M i`. --- This PR continues the work from #18725. Original PR: https://github.com/leanprover-community/mathlib4/pull/18725 file-removed t-algebra
label:t-algebra$
270/5 Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean 10 21 ['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] mattrobball
assignee:mattrobball
3-47152
3 days ago
15-3974
15 days ago
81-53346
81 days
29713 jessealama
author:jessealama
feat (Algebra/Homology): add Euler–Poincaré formula This PR adds the Euler characteristic for chain complexes and proves the Euler-Poincaré formula relating the alternating sum of chain dimensions to the alternating sum of homology dimensions. ### Main definitions (in `EulerCharacteristic.lean`) * `ChainComplex.boundedEulerChar`: The Euler characteristic over a finite set * `ChainComplex.eulerChar`: The Euler characteristic as an infinite sum * `ChainComplex.homologyBoundedEulerChar`: The homological Euler characteristic over a finite set * `ChainComplex.homologyEulerChar`: The homological Euler characteristic as an infinite sum Both bounded and infinite definitions work with ℤ-indexed complexes over any ring R. The file also includes theorems relating the formally infinite sums to finite sums when there is finite support: * `ChainComplex.eulerChar_eq_boundedEulerChar`: The infinite Euler characteristic equals the bounded one when the chain complex vanishes outside a finite set * `ChainComplex.homologyEulerChar_eq_homologyBoundedEulerChar`: The infinite homological Euler characteristic equals the bounded one when homology vanishes outside a finite set ### Main result (in `EulerPoincare.lean`) * `ChainComplex.eulerChar_eq_homology_eulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions. --- Related to: #29639, #29643, #29646 new-contributor t-algebra
label:t-algebra$
444/0 Mathlib.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean 3 19 ['github-actions', 'jessealama', 'joelriou', 'kim-em'] dagurtomas
assignee:dagurtomas
3-47097
3 days ago
18-20883
18 days ago
19-30732
19 days
28162 EtienneC30
author:EtienneC30
feat: define positive semidefinite sesquilinear maps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
34/0 Mathlib/LinearAlgebra/SesquilinearForm.lean 1 6 ['EtienneC30', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] nobody
3-43019
3 days ago
6-33676
6 days ago
16-81800
16 days
30119 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: WithTop/Bot.mapD To replace Option.elim; working towards #27918 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 32/4 Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean 2 1 ['github-actions'] nobody
3-41712
3 days ago
3-41896
3 days ago
3-41938
3 days
26923 oliver-butterley
author:oliver-butterley
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem. Co-authored-by: Lua Viana Reis - [x] depends on: #26074 - [x] depends on: #26807 - [x] depends on: #26810 - [x] depends on: #26840 - [x] depends on: #26842 - [x] depends on: #26848 - [x] depends on: #26851 - [x] depends on: #26852 - [x] depends on: #26853 - [x] depends on: #27008 - [x] depends on: #28901 Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics 401/0 Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean 2 13 ['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] urkud
assignee:urkud
3-35996
3 days ago
40-54839
1 month ago
47-24306
47 days
26956 mariainesdff
author:mariainesdff
feat(RingTheory/DividedPowers/Basic): add divided power structure on pZp We construct a divided power structure on the ideal `(p) ⊆ ℤ_[p]`, given by the family of maps `fun n x ↦ x^n / n!`. Co-authored-by: @AntoineChambert-Loir --- - [x] depends on: #22322 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 237/0 Mathlib.lean,Mathlib/RingTheory/DividedPowers/Padic.lean 2 18 ['github-actions', 'loefflerd', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] loefflerd and mattrobball
assignee:loefflerd assignee:mattrobball
3-32772
3 days ago
19-21995
19 days ago
76-55004
76 days
30123 erdOne
author:erdOne
feat(Topology): add `IsCompact.closure_eq_nhdsKer` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 11/0 Mathlib/Topology/Separation/Regular.lean 1 1 ['github-actions'] nobody
3-32551
3 days ago
3-32561
3 days ago
3-32594
3 days
30124 erdOne
author:erdOne
feat(RingTheory): `IsAdicComplete I R ↔ CompleteSpace R ∧ T2Space R` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-topology
label:t-algebra$
40/0 Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Topology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Separation/Basic.lean 5 1 ['github-actions'] nobody
3-31498
3 days ago
3-31498
3 days ago
3-31601
3 days
27673 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): add cyclic reduction of words This PR adds the definition of `reduceCyclically`. This function produces a subword of a word `w` by cancelling the first and last letters of `w` as long as possible. If `w` is reduced, the resulting word will be cyclically reduced. It is a part of a series of PR on the theory of cyclically reduced words. Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project. - [x] depends on: #25966 - [x] depends on: #27672 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 76/0 Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean 1 6 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
3-30611
3 days ago
4-45153
4 days ago
4-46464
4 days
29935 ineol
author:ineol
fix: cache fails when Mathlib is a nightly dependency Cache should on check for the nightly-testing remote when it is run from the Mathlib root and not from a repo which depends on Mathlib. Fixes #28594 --- I don't know how to test this fix since it would need to be in a nightly release, but at least it is working when ran from from tip of master. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor CI 3/3 Cache/Requests.lean 1 3 ['github-actions', 'ineol', 'robin-carlier'] kim-em
assignee:kim-em
3-26156
3 days ago
3-26156
3 days ago
11-36798
11 days
27364 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupCohomology): cohomology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0` and by `Cochains(A, φ, ψ)` the periodic cochain complex `0 ⟶ A --ψ--> A --φ--> A --ψ--> A --φ--> A ⟶ ...`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `Hom(P, A)` is isomorphic to `Cochains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the cohomology of this complex computes group cohomology. --- - [x] depends on: #27362 - [x] depends on: #27361 - [x] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
142/1 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
3-15175
3 days ago
3-15509
3 days ago
3-18077
3 days
27365 101damnations
author:101damnations
feat(RepresentationTheory/Homological/GroupHomology): homology of finite cyclic groups Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0`. When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `(A ⊗ P)_G` is isomorphic to `Chains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the homology of this complex computes group homology. --- - [x] depends on: #27362 - [x] depends on: #27361 - [x] depends on: #27363 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
142/1 Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
3-15167
3 days ago
3-15395
3 days ago
3-17843
3 days
26975 Whysoserioushah
author:Whysoserioushah
feat: a norm_num extension for complex numbers co-authored-by : @thefundamentaltheor3m, @hrmacbeth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 350/0 Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/NormNumI.lean,MathlibTest/norm_numI.lean 5 47 ['Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] robertylewis
assignee:robertylewis
3-14406
3 days ago
80-6212
2 months ago
80-10520
80 days
30131 fpvandoorn
author:fpvandoorn
feat: alias_in attribute * A small wrapper for adding an alias of a declaration in another namespace. * application time `.afterCompilation` is necessary for `#eval` to work correctly * Docstrings are copied, jump-to-definition works (no test in the test file, but tested locally) * To be used for CW-complexes, where lemmas are frequently duplicated between `RelCWComplex` and `CWComplex`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) cc @scholzhannah t-meta 93/0 Mathlib.lean,Mathlib/Util/AliasIn.lean,MathlibTest/Util/AliasIn.lean 3 1 ['github-actions'] nobody
3-12073
3 days ago
3-12073
3 days ago
3-12051
3 days
30133 smmercuri
author:smmercuri
feat: `WithVal v` and `WithVal w` are isomorphic as uniform spaces when `v` and `w` are equivalent valuations --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 93/0 Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean 2 1 ['github-actions'] nobody
3-9901
3 days ago
3-9973
3 days ago
3-9949
3 days
30135 erdOne
author:erdOne
feat(RingTheory): `ValuativeRel` on subrings --- @pechersky do we want this? [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 15/0 Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean 1 1 ['github-actions'] nobody
3-7573
3 days ago
3-7582
3 days ago
3-7615
3 days
30130 Bergschaf
author:Bergschaf
feat(GroupTheory/FreeGroup/Orbit): The orbit of a point generated by parts of a free group can be "duplicated" Applying `w⁻¹` to the orbit generated by all elements of a free group that start with `w` yields the orbit generated by all the words that start with every letter execpt `w⁻` (and the original point) The orbit of a point `x` generated by a set of group elements `s` defined as all the points that can be reached by applying the elements of `s` to `x`. A special case of this result is needed for the banach tarski theorem. --- I tried my best to shorten the proof of orbit.duplicate, but is quite long. There are some aspects that are duplicated due to case splits but I don't konw if it is possible to avoid that. I'd apprectiate some tips on that. And I'm not quite sure about the naming of the theorems and definitions, please let me know if you have other (better) ideas! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 135/0 Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Orbit.lean 2 1 ['github-actions'] nobody
3-84
3 days ago
3-15292
3 days ago
3-15334
3 days
30141 shalliso
author:shalliso
fix(Topology/Baire/Lemmas): fix index type in isMeagre_iUnion The index set ι needs to be of type Sort* instead of type Type* in isMeagre_iUnion otherwise I get the following message when I try to use it: typeclass instance problem is stuck, it is often due to metavariables Countable ?m.27 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 1/1 Mathlib/Topology/GDelta/Basic.lean 1 1 ['github-actions'] nobody
2-81204
2 days ago
2-81217
2 days ago
2-81251
2 days
30071 Jlh18
author:Jlh18
feat: dualize Pseudofunctor.CoGrothendieck results to Pseudofunctor.Grothendieck Continuing from #29681, dualize all definitions and lemmas in the namespace `Pseudofunctor.CoGrothendieck` to results in the namespace `Pseudofunctor.Grothendieck`. - [ ] depends on: #29681 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 121/9 Mathlib/CategoryTheory/Bicategory/Grothendieck.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-79265
2 days ago
4-1227
4 days ago
4-11732
4 days
30140 chrisflav
author:chrisflav
feat(AlgebraicGeometry): locally directed colimits in `P.Over ⊤ S` We lift the colimit properties of `Scheme` to `P.Over ⊤ S` if `IsLocalAtSource P`. In particular, `P.Over ⊤ S` has pushouts along open immersions and (small) coproducts. We also add two instances, that make ``` example [IsLocalAtSource P] {U X Y : Scheme.{u}} (f : U ⟶ X) (g : U ⟶ Y) [IsOpenImmersion f] [IsOpenImmersion g] : HasPushout f g := inferInstance ``` work. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 164/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/LimitsOver.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean 5 1 ['github-actions'] nobody
2-79103
2 days ago
2-82401
2 days ago
2-82378
2 days
30030 JonBannon
author:JonBannon
feat(MeasureTheory): add `MemLp.Const` class and instances to unify `p = ∞` and `μ.IsFiniteMeasure` cases Although it is possible to ensure that, for example, the `One` instances for `p=∞` and `μ.IsFiniteMeasure` are defeq, introducing an `MemLp.Const` typeclass removes the need to unfold extensively to check this definitional equality, improving performance. cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Lp.20constant.20function.20issue/with/537563137 This PR introduces the requisite class and associated instances. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 85/55 Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean 6 13 ['JonBannon', 'github-actions', 'j-loreaux'] nobody
2-76008
2 days ago
5-68815
5 days ago
7-75270
7 days
29728 ADA-Projects
author:ADA-Projects
feat(Topology/KrullDimension): add subspace dimension inequality This PR extends topological Krull dimension theory with basic results about subspaces. - Add mapIrreducibleClosed function for canonical maps between irreducible closed sets - Prove injectivity and strict monotonicity of these maps - Establish partial order structure on IrreducibleCloseds - Prove topKrullDim_subspace_le theorem showing dim(Y) ≤ dim(X) for subspaces **Update (per reviewer feedback):** Reorganized code structure as requested: - Moved `IrreducibleCloseds` extensions from `KrullDimension.lean` to `Sets/Closeds.lean` - This includes `PartialOrder` instance, `map` functions, and embedding lemmas - Better modularity: other files can now use `IrreducibleCloseds` without importing Krull dimension theory The main result `topologicalKrullDim_subspace_le` remains the same - any subspace Y has dim(Y) ≤ dim(X). Some sections of this code (and documentation) were generated with the help of Gemini. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 146/20 Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean 2 9 ['ADA-Projects', 'fpvandoorn', 'github-actions', 'kim-em'] PatrickMassot
assignee:PatrickMassot
2-68494
2 days ago
10-37934
10 days ago
10-54654
10 days
29743 loefflerd
author:loefflerd
feat(Topology/Algebra): discrete iff finite index subgroup discrete Show that if G is a topological group and H is a finite-index subgroup, then H is discrete iff G is. --- - [x] depends on: #29648 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 153/9 Mathlib.lean,Mathlib/Data/Set/Constructions.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/DiscreteSubset.lean 6 8 ['Ruben-VandeVelde', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
2-68493
2 days ago
10-18008
10 days ago
12-58340
12 days
29954 kckennylau
author:kckennylau
feat(RingTheory): an algebra that is an invertible module is isomorphic to the base ring This PR considers the case where we have an `R`-algebra `A` which is also an invertible `R`-module, then constructs an isomorphism between `R` and `A` as `R`-algebras: ```lean variable (R A : Type*) [CommSemiring R] [Semiring A] [Algebra R A] [Module.Invertible R A] def algEquivOfRing : R ≃ₐ[R] A := ``` --- Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/an.20algebra.20that.20is.20module-invertible.20is.20the.20base.20ring/with/541351797 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
90/0 Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/PicardGroup.lean 2 1 ['github-actions'] ocfnash
assignee:ocfnash
2-68489
2 days ago
10-18460
10 days ago
10-64445
10 days
29964 Vierkantor
author:Vierkantor
feat(TacticAnalysis): check if we are in a `try`/`anyGoals` context This PR adds a check if the tactic is being run in a `try` or `anyGoals` call, so that we do not add a warning for the original tactic failing in this context. This was the source of a few "original tactic failed" in the `grind` regression reports. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 71/31 Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean 3 1 ['github-actions'] adamtopaz
assignee:adamtopaz
2-68487
2 days ago
10-40883
10 days ago
10-40861
10 days
29967 kim-em
author:kim-em
chore: fix longest pole utilities, and verify in CI We should consider outright deleting these. The fact that they were broken is good evidence they haven't been used recently. Sebastian also has a good replacement available (that is aware of the module system), although I'm not sure it's deployed yet. CI 26/22 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,LongestPole/Main.lean,LongestPole/Unused.lean 6 2 ['bryangingechen', 'github-actions'] bryangingechen
assignee:bryangingechen
2-68486
2 days ago
10-32088
10 days ago
10-32124
10 days
29976 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Topology/Semicontinuous): lower bounds on compact sets Prove that lower semicontinuous functions attain their lower bound on nonempty compact sets, and the analogous lemma for upper semicontinuous functions. By the way, add several basic results for semicontinuous functions, relating the WithinAt, At, On versions. Co-authored with @ADedecker --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 300/1 Mathlib/Order/Filter/Extr.lean,Mathlib/Topology/Semicontinuous.lean 2 1 ['github-actions'] TwoFX
assignee:TwoFX
2-68484
2 days ago
10-1449
10 days ago
10-1425
10 days
26219 Thmoas-Guan
author:Thmoas-Guan
feat(RingTheory/KrullDimension): Krull Dimension of quotient regular sequence We show that if M is a finite module over a Noetherian local ring R, [r₁, …, rₙ] is an M-sequence, then dim M⧸(r₁, …, rₙ)M + n = dim M. Co-authored-by: Yongle Hu @mbkybky --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 225/15 Mathlib.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Support.lean 9 n/a ['Thmoas-Guan', 'chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mbkybky'] chrisflav
assignee:chrisflav
2-64318
2 days ago
unknown
unknown
28241 alreadydone
author:alreadydone
chore(Data): `SetLike Finset` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 56/65 Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Attach.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Probability/Independence/Kernel.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/Separation/Basic.lean 27 5 ['alreadydone', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] nobody
2-63560
2 days ago
2-63560
2 days ago
35-50531
35 days
29558 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): definition of global dimension In this PR, we define projective dimension and global dimension using `CategoryTheory.HasProjectiveDimensionLT` --- - [ ] depends on: #29882 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 212/0 Mathlib.lean,Mathlib/RingTheory/GlobalDimension.lean 2 7 ['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] erdOne
assignee:erdOne
2-62125
2 days ago
11-26222
11 days ago
12-28478
12 days
30148 mbkybky
author:mbkybky
chore(RingTheory/Spectrum/Prime/Module): golf `stableUnderSpecialization_support` using `mem_support_mono` Golf [Module.stableUnderSpecialization_support](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Spectrum/Prime/Module.html#Module.stableUnderSpecialization_support) using [Module.mem_support_mono](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Support.html#Module.mem_support_mono). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 2/6 Mathlib/RingTheory/Spectrum/Prime/Module.lean 1 1 ['github-actions'] nobody
2-59780
2 days ago
2-59793
2 days ago
2-59828
2 days
30003 vlad902
author:vlad902
feat(Order): helper lemmas for `IsChain`/`IsAntichain` These were useful in formalizing Dilworth's theorem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 16/0 Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean 2 6 ['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vlad902'] nobody
2-49551
2 days ago
2-49580
2 days ago
9-5922
9 days
29835 vlad902
author:vlad902
feat(Order): add `IsMaxAntichain` and some lemmas for `IsMaxChain` Define `IsMaxAntichain` to be the antichain analogue of `IsMaxChain` and add some useful lemmas to both that I needed for proving Mirsky's theorem. - [ ] depends on: #29834 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 51/0 Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean 2 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-49088
2 days ago
2-85188
2 days ago
2-85514
2 days
30059 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib/Algebra/QuadraticAlgebra): norm, star structure on quadratic alg. Define the norm and the star structure on a quadratic algebra. Application to the units and the zero divisors. The file `Mathlib.Algebra.QuadraticAlgebra.lean` has been renamed to `Mathlib.Algebra.QuadraticAlgebra/Defs.lean`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
416/1 Mathlib.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/QuadraticAlgebra.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean 4 29 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'j-loreaux'] riccardobrasca
assignee:riccardobrasca
2-45302
2 days ago
2-75041
2 days ago
6-66800
6 days
30069 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add lemma `IsTree.dist_ne_of_adj` and necessary lemmas This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 34/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 7 ['github-actions', 'themathqueen', 'vlad902'] nobody
2-42186
2 days ago
6-15281
6 days ago
6-21032
6 days
30120 FernandoChu
author:FernandoChu
feat(CategoryTheory): Pullback of equalizer is an equalizer We show that the pullback of an equalizer (seen as a subobject) along some morphism `h` is the subobject that comes from the equalizer of the two original arrows precomposed with `h`. A `TODO` was completed in the process. This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. large-import t-category-theory 112/2 Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackCone.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Limits.lean 5 3 ['FernandoChu', 'github-actions', 'joelriou'] nobody
2-35479
2 days ago
2-35479
2 days ago
2-41117
2 days
30152 YaelDillies
author:YaelDillies
feat(Filter): a finite set is eventually a subset of any exhaustion This will be used to prove a sort of compactness result for finite minors of a graph. From the ProofBench workshop --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 4/0 Mathlib/Order/Filter/Finite.lean 1 2 ['github-actions', 'kckennylau'] nobody
2-34744
2 days ago
2-44802
2 days ago
2-44796
2 days
30158 nicolaviolette
author:nicolaviolette
feat: combinatorics simplegraph basic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 9/4 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] nobody
2-34228
2 days ago
2-34236
2 days ago
2-34270
2 days
30111 sgouezel
author:sgouezel
feat: composing a continuous multilinear map with continuous linear maps is analytic in both variables --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-analysis 133/0 Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean 2 15 ['github-actions', 'loefflerd', 'sgouezel'] nobody
2-33832
2 days ago
2-33832
2 days ago
2-63399
2 days
30121 idontgetoutmuch
author:idontgetoutmuch
Principal fiber bundle core A structure capturing what it means to be a principal fibre bundle. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry 227/0 Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean 2 5 ['github-actions', 'grunweg'] nobody
2-33176
2 days ago
2-46150
2 days ago
3-39102
3 days
29734 bwangpj
author:bwangpj
feat(Probability/Kernel): \phi-irreducibility of kernels Define powers of kernels, the Chapman-Kolmogorov equations, as well as \phi-irreducibility of kernels, following Robert-Casella, "Monte Carlo Statistical Methods", Definition 6.13. Co-authored-by: Matteo Cipollina @or4nge19 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 160/8 Mathlib.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/CompMap.lean,Mathlib/Probability/Kernel/Irreducible.lean,docs/references.bib 5 6 ['RemyDegenne', 'bwangpj', 'github-actions'] RemyDegenne
assignee:RemyDegenne
2-28023
2 days ago
12-17181
12 days ago
18-56219
18 days
29447 j-loreaux
author:j-loreaux
chore(Analysis/NormedSpace/HahnBanach): move and split files This moves or splits the files in `Analysis/NormedSpace/HahnBanach/` accordingly: - `Separation` → `Analysis/LocallyConvex/Separation` - `Extension` → `Analysis/Normed/Module/HahnBanach/Extension` - `SeparatingDual`: split, mostly in `Analysis/LocallyConvex/SeparatingDual`, but a few completeness results are sent to `Analysis/Normed/Module/HahnBanach/Completeness`. The split allows us to significantly reduce the imports of `SeparatingDual`, albeit with a new proof that a normed space over `RCLike 𝕜` has a separating dual. Here we use the geometric Hahn-Banach theorem instead of the analytic one. This is part of #28698 to migrate the material in `Analysis/NormedSpace/` to other locations. --- - [ ] depends on: #29445 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 102/77 Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Convex/KreinMilman.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/HahnBanach/Completeness.lean,Mathlib/Analysis/Normed/Module/HahnBanach/Extension.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean 17 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
2-24187
2 days ago
2-25023
2 days ago
4-4534
4 days
30163 NotWearingPants
author:NotWearingPants
feat(Data/Set/Lattice): useful equivalences of `biUnion` and `biInter` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 25/0 Mathlib/Data/Set/Lattice.lean 1 1 ['github-actions'] nobody
2-23342
2 days ago
2-23342
2 days ago
2-23392
2 days
27400 dleijnse
author:dleijnse
feat: define geometrically reduced algebras Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
117/0 Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Nilpotent/Defs.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 6 72 ['dleijnse', 'github-actions', 'joelriou', 'kckennylau'] joelriou
assignee:joelriou
2-22447
2 days ago
2-22484
2 days ago
69-34296
69 days
30159 joelriou
author:joelriou
chore: make Opposite.small an instance If `X` is small, so is `Xᵒᵖ`. It no longer seems to be dangerous to have such an instance. (Which shall be convenient for #30160.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-category-theory easy 2/3 Mathlib/Data/Opposite.lean 1 5 ['github-actions', 'joelriou', 'leanprover-bot'] nobody
2-20913
2 days ago
2-20913
2 days ago
2-20891
2 days
30167 RemyDegenne
author:RemyDegenne
feat: Fernique's theorem for Gaussian distributions For a Gaussian measure on a second-countable normed space, there exists `C > 0` such that the function `x ↦ exp (C * ‖x‖ ^ 2)` is integrable. As a consequence, a Gaussian measure in a second-countable Banach space has finite moments of all orders. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 275/0 Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,docs/1000.yaml 4 2 ['RemyDegenne', 'github-actions'] nobody
2-20526
2 days ago
2-20556
2 days ago
2-20595
2 days
29759 NotWearingPants
author:NotWearingPants
feat(Analysis/SpecificLimits/Fibonacci): prove that the ratio of consecutive Fibonacci numbers tends to the golden ratio --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 36/0 Mathlib.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean 2 7 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions', 'kckennylau'] nobody
2-19185
2 days ago
2-19186
2 days ago
9-74562
9 days
30147 NotWearingPants
author:NotWearingPants
feat(NumberTheory/ArithmeticFunction): add some lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-number-theory 23/1 Mathlib/NumberTheory/ArithmeticFunction.lean 1 2 ['github-actions', 'kckennylau'] nobody
2-18576
2 days ago
2-65110
2 days ago
2-65142
2 days
28797 xroblot
author:xroblot
feat(DedekindDomain/Ideal): `relNorm` of a prime ideal The relative norm of the maximal ideal `P` above the maximal ideal `p` is equal to `p ^ p.inertiaDeg P`. --- - [x] depends on: #27105 - [x] depends on: #27157 - [x] depends on: #28169 - [x] depends on: #28738 - [x] depends on: #28724 - [x] depends on: #29068 - [x] depends on: #29069 - [x] depends on: #29907 t-ring-theory 166/1 Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean 3 17 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'xroblot'] riccardobrasca
assignee:riccardobrasca
2-16790
2 days ago
4-31122
4 days ago
4-39082
4 days
29649 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(Analysis/Normed/Algebra/GelfandMazur): new file This adds two version of the *Gelfand-Mazur* *Theorem*: ```lean NormedAlgebra.Complex.nonempty_algEquiv (F : Type*) [NormedRing F] [NormOneClass F] [NormMulClass F] [NormedAlgebra ℂ F] [Nontrivial F] : Nonempty (ℂ ≃ₐ[ℂ] F) NormedAlgebra.Real.nonempty_algEquiv_or (F : Type*) [NormedField F] [NormedAlgebra ℝ F] : Nonempty (F ≃ₐ[ℝ] ℝ) ∨ Nonempty (F ≃ₐ[ℝ] ℂ) ``` The version for complex algebras differs in its assumptions from the existing version [NormedRing.algEquivComplexOfComplete](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Algebra/Spectrum.html#NormedRing.algEquivComplexOfComplete) (nontrivial normed algebra with multiplicative norm vs. complete division ring with submultiplicative norm). A version for real algebras is not yet in Mathlib; it is needed in the context of implementing (absolute) heights; see [Heights](https://github.com/MichaelStollBayreuth/Heights). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 367/0 Mathlib.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean 2 6 ['MichaelStollBayreuth', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
2-16542
2 days ago
9-16258
9 days ago
20-85878
20 days
30004 luigi-massacci
author:luigi-massacci
feat(MeasureTheory/Integral/TestAgainst): integrating BCFs against a finite measure or an L1Loc map as CLMs This PR merges #29511 and #29748. Create a new file `TestAgainst.lean` with definitions wrapping integration against a finite measure or a locally integrable map as continuous linear maps on bounded continuous functions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability t-analysis 113/1 Mathlib.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/TestAgainst.lean 3 38 ['EtienneC30', 'github-actions', 'j-loreaux', 'luigi-massacci'] EtienneC30
assignee:EtienneC30
2-15621
2 days ago
2-15802
2 days ago
8-34152
8 days
26267 vasnesterov
author:vasnesterov
feat(Analysis/Calculus): Taylor series converges to function on whole ball * Prove `FormalMultilinearSeries.AnalyticOnNhd`: the sum of series is analytic on its ball of convergence. * Prove `AnalyticOn.hasFPowerSeriesOnBall`: a variant of `AnalyticAt.hasFPowerSeriesAt` which gives convergence to the function on the ball of convergence. --- - [x] depends on: #23745 - [x] depends on: #23747 - [x] depends on: #23748 - [x] depends on: #26247 This PR continues the work from #23749. Original PR: https://github.com/leanprover-community/mathlib4/pull/23749 t-analysis 65/0 Mathlib.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/IteratedDeriv/ConvergenceOnBall.lean 3 5 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] urkud
assignee:urkud
2-14725
2 days ago
46-19284
1 month ago
93-4151
93 days
29754 or4nge19
author:or4nge19
feat(Combinatorics/Quiver): add strongly connected quivers Define strongly connected quivers and their components. Add both standard strong connectivity (allowing length-0 paths) and positive-path strong connectivity. Establish basic properties and relationships to weak connectivity via symmetrification. This is part of Perron Frobenius theorem and grounds its characterization/def of Irreducible matrices and Markov chain analysis in subsequent PRs. split from #28728 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 210/5 Mathlib/Combinatorics/Quiver/ConnectedComponent.lean 1 13 ['github-actions', 'ocfnash', 'or4nge19'] ocfnash
assignee:ocfnash
2-13380
2 days ago
5-142
5 days ago
15-67335
15 days
30171 smmercuri
author:smmercuri
feat(DedekindDomain/AdicValuation): `le_one` lemmas for `HeightOneSpectrum.valuation` and specialisations to `Rat` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 53/0 Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 1 1 ['github-actions'] nobody
2-12913
2 days ago
2-13030
2 days ago
2-13061
2 days
29981 mans0954
author:mans0954
feat(Algebra/Polynomial/Degree/SmallDegree): eq_quadratic_of_degree_le_two Expansion of a polynomial of degree 2. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #30046 t-algebra
label:t-algebra$
7/0 Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean 1 9 ['JovanGerb', 'github-actions', 'mans0954', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] nobody
2-12335
2 days ago
6-11487
6 days ago
9-5723
9 days
29856 mans0954
author:mans0954
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`. Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 110/11 Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean 2 1 ['github-actions'] ADedecker
assignee:ADedecker
2-12277
2 days ago
14-22052
14 days ago
14-22062
14 days
30070 adomani
author:adomani
CI: remove deprecations automatically This workflow automates the removal of deprecated declarations. The action is currently configured to run once a week to automatically remove all deprecations older than 6 months. This is managed by the `remove_deprecated_decls` action and depends on the two files `Mathlib/Tactic/Linter/CommandRanges.lean` and `Mathlib/Tactic/Linter/FindDeprecations.lean`. The action can be manually triggered and there is the option of passing two dates in `YYYY-MM-DD` format or also the more human "3 months ago", as long as it is a valid input for `date -d`. The lean files take care of identifying the declarations with the deprecated attribute whose `since` field is between the given ranges. Those declarations then get automatically removed and, if there are no errors, the bot creates a PR with the changes. These PRs then go, naturally, through CI, where issues related to having removed the deprecated declarations will be picked up. The bot also posts a comment on Zulip mentioning when the PR has been opened. Co-authored-by: Bryan Gin-ge Chen --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 595/0 .github/workflows/remove_deprecated_decls.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CommandRanges.lean,Mathlib/Tactic/Linter/FindDeprecations.lean,MathlibTest/FindDeprecations.lean 6 26 ['Vierkantor', 'adomani', 'bryangingechen', 'github-actions'] nobody
2-10866
2 days ago
4-61203
4 days ago
5-4159
5 days
30180 mcdoll
author:mcdoll
feat(Analysis/Calculus): add a version of bounding iterated derivatives of compositions with fewer assumptions on differentiability --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 17/3 Mathlib/Analysis/Calculus/ContDiff/Bounds.lean 1 1 ['github-actions'] nobody
2-8120
2 days ago
2-8126
2 days ago
2-8164
2 days
30162 bryangingechen
author:bryangingechen
ci(label_new_contributor.yml): only trigger when PR is opened Currently, this is triggered even when new bots push a commit to a PR (e.g. the pre-commit.ci bot); adding the `types` filter will prevent the `new-contributor` label being added in such cases. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 8/1 .github/workflows/label_new_contributor.yml 1 4 ['bryangingechen', 'github-actions', 'pechersky'] nobody
2-1636
2 days ago
2-24370
2 days ago
2-24348
2 days
30137 vlad902
author:vlad902
feat(SimpleGraph): subsingleton/nontrivial helper lemmas Helper lemmas I found useful in mutliple PRs for dispatching trivial cases. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 22/0 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] nobody
2-1591
2 days ago
2-85581
2 days ago
2-85616
2 days
30173 kckennylau
author:kckennylau
chore: generalise extensionality lemmas for localization This PR generalises some extensionality lemmas for morphisms from localization. The codomains are generalised from `CommMonoid` to `Monoid`, and from `CommSemiring` to `Semiring`. Then two new extensionality lemmas for algebra morphisms are added. Currently `Submonoid.LocalizationMap.epic_of_localizationMap` says that if `M` and `P` are commutative monoids, and `f : M →* N` is a localization map for a submonoid `S`, then two monoid homs `j k : N →* P` are equal if they are equal after composing with `f`. This PR relaxes the assumption on `P` from `CommMonoid` to `Monoid`. Similar generalisations are made in other places, and then two new lemmas for `AlgHom` are added. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
37/18 Mathlib/Algebra/Category/Ring/Instances.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean 5 1 ['github-actions'] nobody
2-1375
2 days ago
2-10474
2 days ago
2-10459
2 days
29705 llllvvuu
author:llllvvuu
feat(LinearAlgebra/Matrix): formula for charpoly of an inverse matrix Co-authored-by: Aristotle Harmonic --- - [x] depends on: #29709 to re-organized some imports [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
14/0 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean 1 7 ['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] Vierkantor
assignee:Vierkantor
2-258
2 days ago
10-14886
10 days ago
10-24443
10 days
26785 TOMILO87
author:TOMILO87
feat: beta distribution Add the Beta distribution to the probability distributions in mathlib4 This PR introduces the Beta distribution on the reals. Main definitions: - betaPDFReal (α β x : ℝ) — the probability density function as a real-valued function - betaPDF (α β x : ℝ) — the pdf as a ℝ≥0∞-valued function - betaMeasure (α β : ℝ) — the probability measure associated with the Beta distribution Main results: - lintegral_betaPDF_eq_one — proof that the pdf integrates to 1 (normalization) - Lemmas on positivity, measurability, and integrability of the pdf - isProbabilityMeasureBeta — the Beta measure is a probability measure Notes: - Follows the general structure of other distributions in mathlib (e.g. Gamma). - Several unused helper lemmas were removed, and proofs streamlined in response to reviewer feedback. - Thanks to @EtienneC30 and @RemyDegenne for detailed reviews across multiple rounds. This is a clean version of the PR originally opened as [#25608](https://github.com/leanprover-community/mathlib4/pull/25608) and temporarily migrated in [#26325](https://github.com/leanprover-community/mathlib4/pull/26325). new-contributor t-measure-probability 152/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean 3 49 ['EtienneC30', 'RemyDegenne', 'TOMILO87', 'github-actions'] EtienneC30
assignee:EtienneC30
1-81809
1 day ago
11-39894
11 days ago
70-6733
70 days
29284 Jlh18
author:Jlh18
feat(CategoryTheory): naturality lemmas for Core construction Lemmas for PR #29283 to prove that `Core` is the right adjoint to the forgetful functor from `Cat` to `Grpd`. These lemmas are more general than that setting, and need not be stated in the bundled format. - [ ] depends on: #29250 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 62/0 Mathlib/CategoryTheory/Core.lean 1 14 ['Jlh18', 'adomani', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-81629
1 day ago
1-81629
1 day ago
16-9049
16 days
29004 euprunin
author:euprunin
chore: change from `:= by rfl` to `:= rfl` For `@[simp]` lemmas this makes them usable by `dsimp`; others are stylistic cleanup (but they're now "`dsimp`-ready" if tagged later). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 138/242 Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Order/Hom/MonoidWithZero.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Presheaf.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Subtype.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Pi.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean,Mathlib/Topology/Category/TopCat/Opens.lean,Mathlib/Topology/ContinuousMap/Units.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/Sets/Closeds.lean 95 21 ['eric-wieser', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
1-80894
1 day ago
1-80917
1 day ago
11-67183
11 days
29279 Jlh18
author:Jlh18
feat: free groupoid on a category, free-forgetful adjunction - define `CategoryTheory.Category.FreeGroupoid` in a file of the same name - show the universal property of this construction, as the initial category localizing all maps in the category. These are the defs `of`, `lift`, and their related theorems - Show that this construction is functorial `CategoryTheory.Category.FreeGroupoid.map` - Convert this to a functor `CategoryTheory.Category.Grpd.free` from `Cat` to `Grpd`, and show that it is left adjoint to the forgetful functor - `CategoryTheory.Grpd.freeForgetAdjunction` - [ ] depends on: #29278 - [ ] depends on: #30115 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 236/1 Mathlib.lean,Mathlib/CategoryTheory/Category/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean 3 10 ['Jlh18', 'MichaelStollBayreuth', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-80319
1 day ago
1-81293
1 day ago
12-81338
12 days
27273 xroblot
author:xroblot
feat(IntermediateField/LinearDisjoint): Two fields are linearly disjoint iff they are disjoint in the Galois case --- - [x] depends on: #26841 t-algebra
label:t-algebra$
73/1 Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/LinearDisjoint.lean 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] mattrobball
assignee:mattrobball
1-68502
1 day ago
9-36800
9 days ago
9-38409
9 days
23181 YaelDillies
author:YaelDillies
refactor(Topology/UniformSpace): use `SetRel` What's left in `UniformSpace.Defs` is precisely the theory of the uniformity filter. The motivation is that the theory of coverings and packings in both high dimensional probability and dynamics can be based on entourages, while they have little to do with the uniformity filter (indeed, entourages are in a sense a quantitative version of the uniformity filter). --- - [x] depends on: #25587 - [x] depends on: #26988 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 660/618 Mathlib/Data/Rel.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/RegularityCompacts.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Compact.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/DiscreteUniformity.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/HeineCantor.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean,Mathlib/Topology/UniformSpace/OfFun.lean,Mathlib/Topology/UniformSpace/Separation.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean,Mathlib/Topology/UniformSpace/Ultra/Constructions.lean,Mathlib/Topology/UniformSpace/UniformApproximation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean 30 35 ['ADedecker', 'PatrickMassot', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] ADedecker
assignee:ADedecker
1-68502
1 day ago
9-21883
9 days ago
84-84801
84 days
28561 euprunin
author:euprunin
chore(Data): golf entire `equivFunOnFintype_single`, `predAbove_right_zero`, `snoc_zero` and more using `rfl` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 25/88 Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/Take.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/PFunctor/Univariate/M.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/Set/Sups.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean 17 7 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] pechersky
assignee:pechersky
1-68501
1 day ago
31-4937
1 month ago
46-66563
46 days
28582 Thmoas-Guan
author:Thmoas-Guan
feat(Data): some lemmas about WithBot ENat Add some lemma about withBot ENat discovered when dealing with `ringKrullDim` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 25/0 Mathlib/Data/ENat/Basic.lean 1 5 ['Ruben-VandeVelde', 'Thmoas-Guan', 'github-actions'] pechersky
assignee:pechersky
1-68500
1 day ago
12-38508
12 days ago
37-15978
37 days
29356 Paul-Lez
author:Paul-Lez
feat(Mathlib/FieldTheory/RatFunc/Basic): add characteristic instances for `RatFunc` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
63/17 Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/IsSimpleRing.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean 11 8 ['Paul-Lez', 'eric-wieser', 'github-actions'] kim-em
assignee:kim-em
1-68499
1 day ago
30-78344
1 month ago
30-78374
30 days
29463 HugLycan
author:HugLycan
feat(Positivity): add positivity extensions for `NNReal.rpow` and `ENNReal.rpow` --- This PR adds positivity extensions for `NNReal.rpow` and `ENNReal.rpow`. related issue #6038 @fpvandoorn [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 70/3 Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,MathlibTest/positivity.lean 2 10 ['HugLycan', 'fpvandoorn', 'github-actions', 'grunweg'] hrmacbeth
assignee:hrmacbeth
1-68498
1 day ago
9-19855
9 days ago
9-21535
9 days
29863 FernandoChu
author:FernandoChu
feat(CategoryTheory): Colimits in `Subobject X` Adds colimits to `Subobject X`. Together with https://github.com/leanprover-community/mathlib4/pull/29253, this will show existence of lubs in the poset of subobjects. This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. t-category-theory 71/0 Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] riccardobrasca
assignee:riccardobrasca
1-68497
1 day ago
9-43769
9 days ago
14-10937
14 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 863/3 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 23 ['JovanGerb', 'PatrickMassot', 'github-actions', 'hrmacbeth', 'kim-em'] JovanGerb
assignee:JovanGerb
1-68493
1 day ago
8-80636
8 days ago
8-80619
8 days
29999 jeremypparker
author:jeremypparker
chore(Analysis/Fourier/AddCircle): remove stale comment --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 0/1 Mathlib/Analysis/Fourier/AddCircle.lean 1 2 ['Ruben-VandeVelde', 'github-actions', 'jeremypparker'] sgouezel
assignee:sgouezel
1-68491
1 day ago
9-37239
9 days ago
9-37272
9 days
30000 themathqueen
author:themathqueen
refactor(Analysis/InnerProductSpace/Positive): generalize definition to use `IsSymmetric` instead of `IsSelfAdjoint` and `CompleteSpace` The definition remains the same in complete spaces, but this allows us to use positivity and the partial order without needing completeness. To use the old definition (i.e., `IsSelfAdjoint` and ...), instead of unfolding, use `ContinuousLinearMap.isPositive_def`. `isPositive_iff` is renamed to `isPositive_iff'`, and `isPositive_iff` points to the same thing but with `IsSymmetric` instead of `IsSelfAdjoint`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 64/54 Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/StarOrder.lean 2 3 ['github-actions', 'themathqueen'] sgouezel
assignee:sgouezel
1-68490
1 day ago
9-31458
9 days ago
9-37205
9 days
29788 robertmaxton42
author:robertmaxton42
feat (Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions. Bundling of existing continuity lemmas: * `ContinuousMap.subtypeVal` * `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps * `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps * `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo` New functions: * `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set` * `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism * Descending from a coherent set of subspaces is a quotient map The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.) This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 226/3 Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json 7 6 ['adamtopaz', 'github-actions', 'robertmaxton42'] adamtopaz
assignee:adamtopaz
1-65974
1 day ago
1-65994
1 day ago
16-62074
16 days
29342 mans0954
author:mans0954
refactor(Analysis/LocallyConvex/AbsConvex): Redefine AbsConvex to use a single ring of scalars Currently the definition of Absolutely Convex in Mathlib is a little unexpected: ``` def AbsConvex (s : Set E) : Prop := Balanced 𝕜 s ∧ Convex ℝ s ``` At the time this definition was formulated, Mathlib's definition of `Convex` required the scalars to be an `OrderedSemiring` whereas the definition of `Balanced` required the scalars to be a `SeminormedRing`. Mathlib didn't have a concept of a semi-normed ordered ring, so a set was defined as `AbsConvex` if it is balanced over a `SeminormedRing` `𝕜` and convex over `ℝ`. Recently the requirements for the definition of `Convex` have been relaxed (#24392, #20595) so it is now possible to use a single scalar ring in common with the literature. Previous discussion: - https://github.com/leanprover-community/mathlib4/pull/17029#discussion_r1782249323 - https://github.com/leanprover-community/mathlib4/pull/26345#discussion_r2287535746 --- - [x] depends on: #29248 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 51/67 Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] j-loreaux
assignee:j-loreaux
1-52685
1 day ago
3-2517
3 days ago
3-2504
3 days
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… # Symbolic dynamics on groups: core API and entropy along finite shapes 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). new-contributor t-dynamics 717/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean 2 64 ['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] sgouezel
assignee:sgouezel
1-47819
1 day ago
1-47917
1 day ago
35-32574
35 days
30187 CoolRmal
author:CoolRmal
chore(Topology/MeasureTheory/Probability): Rename the file for compactly supported continuous functions. Move two lemmas `essSup_uniformOn_eq_ciSup` and `essInf_cond_count_eq_ciInf` from Mathlib/MeasureTheory/Function/EssSup.lean to Mathlib/Probability/UniformOn.lean in order to avoid warnings for import in the PR [feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem](https://github.com/leanprover-community/mathlib4/pull/28061#top). Create a new folder named CompactlySupported and moved two related files into this folder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor 17/15 Mathlib.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Basic.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Bounded.lean 8 1 ['github-actions'] nobody
1-45413
1 day ago
1-47380
1 day ago
1-47425
1 day
29979 jano-wol
author:jano-wol
feat: invariant dual submodules define Lie ideals Invariant dual submodules define Lie ideals --- PR shows that Invariant dual submodules define Lie ideals. This work is part of the framework: https://github.com/orgs/leanprover-community/projects/17 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
437/166 Mathlib.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean 4 9 ['github-actions', 'jano-wol', 'ocfnash'] ocfnash
assignee:ocfnash
1-43211
1 day ago
1-43211
1 day ago
4-17539
4 days
29136 YaelDillies
author:YaelDillies
feat(CategoryTheory/Monoidal): `mapMon` of a lax-braided functor is lax-braided Also move the `BraidedCategory (Mon_ C)` instance earlier in the file to avoid splitting up the functor material. I think it makes more sense like this (defining `Mon_Class`, then `Mon_`, then `Functor.mapMon`). From Toric --- - [x] depends on: #30157 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-category-theory 71/9 Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean 3 12 ['YaelDillies', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
1-40123
1 day ago
1-40530
1 day ago
31-30935
31 days
29719 kim-em
author:kim-em
feat(Topology/Algebra/Group/Units): add topological properties of units ## Summary Add lemmas about units in topological monoids: - `Submonoid.units_isOpen`: units of open submonoids are open in the units topology - `ContinuousMulEquiv.piUnits`: homeomorphism between units of a product and product of units This content was prepared by Claude from the FLT project. Source file: `/Users/kim/projects/lean/flt/FLT/Mathlib/Topology/Algebra/Group/Units.lean` GitHub source: https://github.com/ImperialCollegeLondon/FLT/blob/main/FLT/Mathlib/Topology/Algebra/Group/Units.lean 🤖 Generated with [Claude Code](https://claude.ai/code) FLT t-topology 53/0 Mathlib.lean,Mathlib/Topology/Algebra/Group/Units.lean 2 7 ['Ruben-VandeVelde', 'github-actions', 'kim-em', 'plp127'] ADedecker
assignee:ADedecker
1-38656
1 day ago
1-38656
1 day ago
8-81824
8 days
30101 wwylele
author:wwylele
feat(Algebra/HahnEmbedding): ArchimedeanStrata is non-empty This is a small part of #27268 (Hahn embedding theorem). Separated out for easy review while waiting for the other dependency. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import maintainer-merge t-algebra
label:t-algebra$
8/0 Mathlib/Algebra/Order/Module/HahnEmbedding.lean 1 2 ['YaelDillies', 'github-actions'] nobody
1-38271
1 day ago
1-38271
1 day ago
4-77699
4 days
29376 vlad902
author:vlad902
feat(SimpleGraph): helper lemmas for `Walk.IsSubwalk` t-combinatorics 29/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
1-38268
1 day ago
29-46185
29 days ago
29-46219
29 days
25814 vlad902
author:vlad902
feat(SimpleGraph): weaker condition for paths in acyclic graphs `IsAcyclic.isPath_iff_chain'` defines a weaker condition for proving that a walk is a path, in particular it shows that rather than proving that all vertices in the support of a walk are distinct, one must only show that consecutive edges are distinct (e.g. every other vertex must be distinct.) This leads to a simple corollary that trails are also paths in acyclic graphs. I had a need for this when formalizing Cayley graphs, since this condition maps cleanly onto words in free groups being reduced. --- *This PR continues the work from #25630.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/25630* t-combinatorics 38/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean 2 2 ['github-actions', 'vlad902'] kmill
assignee:kmill
1-37264
1 day ago
115-20677
3 months ago
115-20651
115 days
27021 grunweg
author:grunweg
feat: custom elaborators for differential geometry Add two sets of custom elaborators for differential geometry, to - infer the model with corners in `MDifferentiable{WithinAt,At,On}` or `ContMDiff{WithinAt,At,On}` expressions from the local context, and provide shorter notation in that setting - do the same for mfderiv: `mfderiv% f` is shorthand for `mfderiv I J f`; `mfderiv[s] f x` is short for `mfderivWithin I J f s` - convert a fibre bundle section from a dependent section to a function into the total space, making working with differentiability of sections of fibre bundles less cumbersome This was [discussed on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/with/528035295), to overall broad consensus. This code has substantial tests, and been partially reviewed by `fpvandoorn` (in person). It has been tested in the branch in #26221 (uncovering minor issues, but not substantial ones --- the worst of which have been fixed). The implementation itself is of prototype quality and will be cleaned up in the future. Once it is more robust, more differential geometry files can be converted to use it. From the path towards geodesics and the Levi-Civita connection. Co-authored-by: Patrick Massot ----------- I agree that merging not fully polished code is not ideal, but propose doing so for two reasons: - the work in #26221 used these elaborators extensively (to test them). Reverting those changes, merging the code, only to re-apply them is not a good use of time. Merging this PR now enables merging the work in #26221 soon. - the feature is clearly useful and not going away: in the files that use it, it works well already. Holding off on further adopting, but merging it now seems like a good compromise. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 1359/0 Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Lean/Expr/Basic.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json 7 35 ['adamtopaz', 'github-actions', 'grunweg', 'sgouezel'] robertylewis
assignee:robertylewis
1-34192
1 day ago
5-37260
5 days ago
84-76892
84 days
29164 vlad902
author:vlad902
feat(SimpleGraph): Hall's Marriage Theorem for bipartite graphs Derive the graph theoretic proof of Hall's marriage theorem from the combinatorial version. Note that I specifically implement this for the more general case of infinite graphs that are locally finite (e.g. every vertex has only finite neighbors.) As a result, the theorem depends on some category theoretic infrastructure required for the infinite combinatorial formulation of Hall's Marriage Theorem and hence I've placed the theorems into their own file to avoid requiring it in `Matching.lean` - [ ] depends on: #29162 t-combinatorics 130/7 Mathlib.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,docs/1000.yaml 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] b-mehta
assignee:b-mehta
1-28549
1 day ago
21-57494
21 days ago
21-60717
21 days
30161 EtienneC30
author:EtienneC30
feat: currying as a measurable equivalence --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 87/0 Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean 2 1 ['github-actions'] nobody
1-23813
1 day ago
2-29127
2 days ago
2-29104
2 days
26885 pechersky
author:pechersky
feat(Topology/ValuativeRel): ValuativeTopology 𝒪[K] and even when not a field, `ValuativeRel 𝒪[K]` This is an example of something achievable with the new declarations that wasn't possible with Valued Such that we can discuss the valuations on the subring without always using coercions But to achieve this, one needs some juggling of the value groups --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #26834 t-algebra t-topology t-number-theory
label:t-algebra$
73/0 Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 2 9 ['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] alreadydone
assignee:alreadydone
1-23237
1 day ago
39-2431
1 month ago
88-73837
88 days
30114 euprunin
author:euprunin
chore(Data/Finset): golf entire `powersetCard_zero` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 1/5 Mathlib/Data/Finset/Powerset.lean 1 1 ['github-actions'] nobody
1-22743
1 day ago
1-22743
1 day ago
4-5507
4 days
27370 euprunin
author:euprunin
chore(Tactic/CancelDenoms): golf entire `cancel_factors_eq` using `grind` ---
Show trace profiling of cancel_factors_eq: 120 ms before, 46 ms after 🎉 ### Trace profiling of `cancel_factors_eq` before PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..3ec2128994 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,6 +80,7 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (2.8s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.015258] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.definition.header] [0.014988] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.122474] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.119890] CancelDenoms.cancel_factors_eq [Elab.step] [0.118614] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.118601] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.010324] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] [Elab.step] [0.010312] (rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.010299] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.010291] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.105805] · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105661] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105650] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.043946] refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.043859] expected type: a = b, term mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.025447] expected type: ?m.103 * ?m.104 ≠ 0, term (mul_ne_zero ?_ ?_) [Elab.step] [0.025432] expected type: ?m.103 * ?m.104 ≠ 0, term mul_ne_zero ?_ ?_ [Meta.synthInstance] [0.019262] ✅️ NoZeroDivisors α [Elab.step] [0.021441] on_goal 1 => apply mul_ne_zero [Elab.step] [0.019543] apply mul_ne_zero [Elab.step] [0.019530] apply mul_ne_zero [Elab.step] [0.019514] apply mul_ne_zero [Meta.synthInstance] [0.013986] ✅️ NoZeroDivisors α [Elab.step] [0.018650] · exact one_ne_zero [Elab.step] [0.018355] exact one_ne_zero [Elab.step] [0.018309] exact one_ne_zero [Elab.step] [0.018269] exact one_ne_zero [Elab.step] [0.017827] expected type: 1 ≠ 0, term one_ne_zero [Meta.synthInstance] [0.012295] ✅️ NeZero 1 Build completed successfully (436 jobs). ``` ### Trace profiling of `cancel_factors_eq` after PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..066f915189 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,20 +80,11 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by - rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] - ext; constructor - · rintro rfl - rfl - · intro h - simp only [← mul_assoc] at h - refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h - on_goal 1 => apply mul_ne_zero - on_goal 1 => apply div_ne_zero - · exact one_ne_zero - all_goals assumption + grind theorem cancel_factors_ne {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (3.1s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.034809] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by grind [Elab.definition.header] [0.014091] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.046425] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.045869] CancelDenoms.cancel_factors_eq [Elab.step] [0.045340] grind [Elab.step] [0.045327] grind [Elab.step] [0.045311] grind info: Mathlib/Tactic/CancelDenoms/Core.lean:87:2: [Elab.async] [0.027621] Lean.addDecl [Kernel] [0.027585] ✅️ typechecking declarations [CancelDenoms.cancel_factors_eq._proof_1_1] Build completed successfully (436 jobs). ```
maintainer-merge t-meta easy 1/11 Mathlib/Tactic/CancelDenoms/Core.lean 1 9 ['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] alexjbest
assignee:alexjbest
1-16514
1 day ago
1-16515
1 day ago
74-75001
74 days
30174 mcdoll
author:mcdoll
feat: the Hölder conjugate of an `ENNReal` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge 4/0 Mathlib/Data/Real/ConjExponents.lean 1 2 ['github-actions', 'grunweg'] nobody
1-15930
1 day ago
1-15930
1 day ago
2-8997
2 days
29960 yonggyuchoimath
author:yonggyuchoimath
feat(Algebra/Category/Ring): equalizers of pushout maps of tensor product inclusions This PR defines a ring map `S →ₗ[R] S ⊗[R] S : s ↦ (s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)` for an `R`-algebra `S`, and show that its kernel is exactly (the image of) `R` if `S` is faithfully flat over `R`. Changes: * `TensorProduct.AlgebraTensorModule.distribBaseChange`: Origianlly takes `M` and `N`, where `M` is an `R`-module with an additional instance `IsScalarTower R A M`. This is unnecessary, so I changed the `M` and `N` into `N` and `Q`, now both of which are merely modules over `R`. Main results : * Add compatibility of `Algebra.TensorProduct.includeLeft` (or `Algebra.TensorProduct.includeRight`) with `TensorProduct.AlgebraTensorModule.distribBaseChange` and `LinearMap.lTensor` * Define `Algebra.TensorProduct.includeLeftSubRight`, which is the `R`-linear map `S →ₗ[R] S ⊗[R] S` sending `s : S` to `(s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)`. * `Algebra.TensorProduct.exactIncludeLeftSubRight_of_faithfullyFlat`: the pair `algebraMap : R → S` and `includeLeftSubRight R S : S → S ⊗[R] S` is exact if `S` is a faithfully flat `R`-algebra. new-contributor 229/1 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean 4 3 ['erdOne', 'github-actions', 'yonggyuchoimath'] nobody
1-11607
1 day ago
5-2371
5 days ago
7-36840
7 days
30200 yonggyuchoimath
author:yonggyuchoimath
feat(CategoryTheory/Limits/Opposites) : add opposites of coforks and forks This PR adds missing definitions surrounding `op` and `unop` of coforks and forks. In `CategoryTheory/Limits/Shapes/Equalizers.lean`: - `CoforkOfπ.ext` : Adds an extensionality `def` corresponding to theexisting `ForkOfι.ext` In `CategoryTheory/Limits/Opposites.lean`: - `parallelPairOp`: the dual behavior for `parallelPair` (similar to `spanOp`, `cospanOp`) - `pullbackIsoOpPushout`: the dual version of the existing `pullbackIsoUnopPushout` - `Cofork.unop`, `Cofork.op`, `Fork.unop`, `Fork.op`: define `unop` and `op` of `Cofork` and `Fork` - `isColimitEquivIsLimitOp`: A cofork in `C` is a colimit if and only if its opposite is limit in `Cᵒᵖ` - `isColimitOfπEquivIsLimitOp`: `Cofork.ofπ π` is colimit in `C` if and only if `Fork.ofι π.op` is limit in `Cᵒᵖ` Relevant dual statements have also been added. Further notes: - line 1187, 1215 : I was not able to remove the lengthy `simp only` - The file length is now almost 1500. t-category-theory 365/0 Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean 2 1 ['github-actions'] nobody
1-11563
1 day ago
1-11869
1 day ago
1-11902
1 day
29365 staroperator
author:staroperator
feat(SetTheory/ZFC): add `ZFSet.card` The same as `ZFSet.rank`, we define `ZFSet.card` as `ZFSet.{u} → Cardinal.{u}` and prove some basic properties. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 123/4 Mathlib.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Cardinal.lean 4 21 ['YaelDillies', 'github-actions', 'staroperator', 'vihdzp'] YaelDillies
assignee:YaelDillies
1-6166
1 day ago
1-6166
1 day ago
29-85670
29 days
30206 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Hamiltonian): `p.support.length = Fintype.card α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 8/0 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
1-5932
1 day ago
1-5943
1 day ago
1-5984
1 day
30207 euprunin
author:euprunin
chore(Data): golf entire `getElem_insertIdx_add_succ` and `inv_sqrt_two_sub_one` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 2/5 Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Real/Sqrt.lean 2 1 ['github-actions'] nobody
1-4362
1 day ago
1-4373
1 day ago
1-4406
1 day
30182 urkud
author:urkud
feat(Calculus): derivative of `ContinuousMultilinearMap.compContinuousLinearMap` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 126/1 Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean 3 1 ['github-actions'] nobody
1-2118
1 day ago
1-81117
1 day ago
1-81153
1 day
30209 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: some TwoSidedIdeal.span lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory FLT 16/0 Mathlib/RingTheory/TwoSidedIdeal/Operations.lean 1 1 ['github-actions'] nobody
1-980
1 day ago
1-1072
1 day ago
1-1107
1 day
28793 grunweg
author:grunweg
feat: smooth immersions Define smooth immersions between manifolds. We use a definition which allows for corners, infinite dimension and arbitrary fields. Future PRs will - prove that immersions are C^n (#28796), - prove another characterisation of immersions: f is immersed at x iff the differential df_x splits, i.e. is injective, has closed range and its image has a closed complement, and in particular that a map between finite-dimensional manifolds over a complete field is an immersion iff its differential is injective, - use this to prove that the product (#28853) and composition of immersions is an immersion, - use this theory to give more conceptual proofs of half of `Manifold/Instances/Icc.lean` (#29077) - define smooth embeddings and immersed and embedded smooth submanifolds --- - [x] depends on: #28701 Most of the above has been done at https://github.com/grunweg/mathlib4/tree/MR-define-immersions. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry 478/0 Mathlib.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,docs/references.bib 4 57 ['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'sgouezel'] sgouezel
assignee:sgouezel
1-150
1 day ago
1-9026
1 day ago
9-6740
9 days
27107 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(GroupTheory/GroupAction/SubMulAction/Combination) : combinations and group actions `Nat.Combination X n` is the type all `s : Finset X` such that `s.card = n`. This PR provides some API for this subtype and the `SubMulAction` it inherits when a group acts on `X`. It will be used in conjunction with the description of some maximal subgroups of `Equiv.Perm X` to construct primitive actions. Question on the names: when `X` is a fintype, there is `Finset.powersetCard` that gives the same object, as a `Finset`. But the present PR also applies when `X` is infinite. Then maybe `Nat.Combination` should be renamed as `Set.powersetCard`? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 324/0 Mathlib.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean 4 39 ['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'tb65536'] alreadydone
assignee:alreadydone
0-85947
23 hours ago
61-36925
2 months ago
83-66664
83 days
29652 fmortimore
author:fmortimore
feat(Order): the Bourbaki–Witt theorem We prove the Bourbaki-Witt theorem, one of Wiedijk's 1000+ theorems --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 231/0 Mathlib.lean,Mathlib/Order/BourbakiWitt.lean,docs/1000.yaml 3 7 ['eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] Vierkantor
assignee:Vierkantor
0-85206
23 hours ago
20-80411
20 days ago
20-80442
20 days
30211 euprunin
author:euprunin
chore(Tactic/Positivity): golf entire `min_ne` and `max_ne` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 2/2 Mathlib/Tactic/Positivity/Basic.lean 1 1 ['github-actions'] nobody
0-83681
23 hours ago
0-83695
23 hours ago
0-83729
23 hours
30215 NotWearingPants
author:NotWearingPants
feat(Data/List/NodupEquivFin): add equiv with `count = 1` hypothesis --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 7/2 Mathlib/Data/List/NodupEquivFin.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79153
21 hours ago
0-79153
21 hours ago
0-79537
22 hours
30214 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 11/0 Mathlib/Data/List/Basic.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79082
21 hours ago
0-79082
21 hours ago
0-79834
22 hours
30144 alreadydone
author:alreadydone
feat(Data/Nat): reducible binaryRec + Redefine `Nat.binaryRec` to allow kernel reduction. + Move some lemmas from Data/Nat/Bitwise to Data/Nat/BinaryRec. + Use `nsmulBinRec` for nsmul/zsmul on elliptic curves. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-algebra
label:t-algebra$
77/56 Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Size.lean 8 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
0-77309
21 hours ago
1-20847
1 day ago
1-68350
1 day
30219 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Paths): path iff `p.support.get` is injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 4/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-76193
21 hours ago
0-76209
21 hours ago
0-76242
21 hours
30220 NotWearingPants
author:NotWearingPants
chore(Data/List/Nodup): golf `nodup_iff_injective_get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 2/5 Mathlib/Data/List/Nodup.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-74597
20 hours ago
0-74607
20 hours ago
0-74643
20 hours
30210 wwylele
author:wwylele
feat(RingTheory/PowerSeries): Multipliable (1 + f i) for when the order tends to infinity As `Summable f` and `Multipliable (1 + f ·)` are often related, this shares the same condition as `summable_of_tendsto_order_atTop_nhds_top` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 26/0 Mathlib/RingTheory/PowerSeries/PiTopology.lean 1 2 ['b-mehta', 'github-actions'] nobody
0-74037
20 hours ago
0-84939
23 hours ago
0-84973
23 hours
30216 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): `get` is surjective iff every element is in the list --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 13/0 Mathlib/Data/List/Basic.lean 1 3 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-74014
20 hours ago
0-79146
21 hours ago
0-79180
21 hours
30217 NotWearingPants
author:NotWearingPants
feat(Data/List/GetD): `getD` is surjective iff every element is in the list --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 19/0 Mathlib/Data/List/GetD.lean 1 2 ['github-actions', 'themathqueen'] nobody
0-73984
20 hours ago
0-78899
21 hours ago
0-78935
21 hours
30221 b-mehta
author:b-mehta
feat(Data/Nat/BinaryRec): equational lemmas for variants of binary recursion Adds the missing equational lemmas for `binaryRec'` and `binaryRecFromOne`. The statements and implicitness are chosen to match the existing ones for `binaryRec`, which seem to work quite well. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 33/0 Mathlib/Data/Nat/BinaryRec.lean 1 1 ['github-actions'] nobody
0-73242
20 hours ago
0-73748
20 hours ago
0-73786
20 hours
30222 b-mehta
author:b-mehta
feat(Nat/Log): add lemma for `log b (n / b ^ k)` This lemma is a simple consequence of the previous by induction, but is often useful for calculation, especially since the natural number division and natural number subtraction play very nicely here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 5/0 Mathlib/Data/Nat/Log.lean 1 2 ['github-actions', 'themathqueen'] nobody
0-72251
20 hours ago
0-73194
20 hours ago
0-73233
20 hours
30213 NotWearingPants
author:NotWearingPants
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 18/16 Mathlib/Data/List/GetD.lean 1 8 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-72220
20 hours ago
0-81361
22 hours ago
0-81558
22 hours
30223 NotWearingPants
author:NotWearingPants
feat(Data/List/Nodup): `get` is bijective iff `count = 1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 9/0 Mathlib/Data/List/Nodup.lean 1 1 ['github-actions'] nobody
0-70538
19 hours ago
0-70550
19 hours ago
0-70583
19 hours
30181 alreadydone
author:alreadydone
feat(Data/Nat): reducible strong recursion + Redefine `Nat.strongRec'` to allow Lean kernel computation (reduction) with the strong Nat recursor. TODO: maybe merge this with Batteries' `Nat.strongRec`. + Redefine `Nat.xgcd` to use `Nat.strongRec'` to allow kernel reduction. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 38/27 Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Init.lean 2 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
0-69622
19 hours ago
1-81480
1 day ago
2-1129
2 days
28893 joelriou
author:joelriou
refactor(AlgebraicTopology): redefine the topological simplex using the convexity API Before this PR, the n-dimensional topological simplex (in the `AlgebraicTopology` hierarchy) was defined as a subtype of `Fin (n + 1) → ℝ≥0`, which did not interact well with the convexity API which assumes the ambient type is a vector space. In this PR, we redefine the topological simplex functor (as a cosimplicial object in `TopCat`) using the already existing `stdSimplex` from `Analysis.Convex`. --- - [x] depends on: #28891 - [x] depends on: #28869 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology t-convex-geometry large-import 91/108 Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SingularSet.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Convex/StdSimplex.lean 4 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] robin-carlier
assignee:robin-carlier
0-68466
19 hours ago
36-13765
1 month ago*
0-2609
43 minutes*
29501 Vierkantor
author:Vierkantor
test(TacticAnalysis): ensure `classical`'s effects are picked up This test case used to fail, and needed a fix to the `classical` tactic in the standard library: - [x] depends on: https://github.com/leanprover/lean4/pull/10332 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-meta 10/0 MathlibTest/TacticAnalysis.lean 1 6 ['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
0-68464
19 hours ago
8-33882
8 days ago
10-40775
10 days
29513 grunweg
author:grunweg
fix(lint-style): parse linter options and load environment extensions correctly Parse options and load linter set extension correctly. This fixes two issues: - We never called the `toOptions` function that parses Lakefile options into a `Lean.Options` structure: the function we use instead is only meant for command-line options and doesn't handle the `weak.` prefix correctly. - The way we load linter sets was incorrect: `withImportModules` stopped updating environment extensions since [lean4#6325](https://github.com/leanprover/lean4/pull/6325), and that is exactly what we use to store linter sets. At the time of writing, `importModules` might be a suitable replacement (but this is not very safe, and not documented to be stable). Instead, write a small elaborator returning the environment at the point of elaboration, and use that instead. --- - [x] depends on: #29584 - [x] depends on: #29585 - [x] depends on: #29586 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-meta 28/12 scripts/lint-style.lean 1 13 ['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] dwrensha
assignee:dwrensha
0-68463
19 hours ago
8-36054
8 days ago
17-22454
17 days
29969 smmercuri
author:smmercuri
refactor: use isometry extensions for completions at infinite places of number fields The API for `InfinitePlace.Completion` currently makes use of abstract results defined on absolute values, which all depend on the hypothesis of the form `∀ x, ‖f x‖ = v x`. This is equivalent to `f` being an isometry, and so many of these results can be bypassed and deprecated by using `Isometry.completion_extension` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 72/47 Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/Topology/MetricSpace/Completion.lean 4 1 ['github-actions'] RemyDegenne
assignee:RemyDegenne
0-68462
19 hours ago
10-13724
10 days ago
10-13708
10 days
30038 JovanGerb
author:JovanGerb
feat(push): `@[push]` annotations for `fun` This PR adds the annotations for the tactics `push fun _ ↦ _` and `pull fun _ ↦ _` and the simprocs `pushFun` and `pullFun`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 28/6 Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Data/Nat/Cast/Basic.lean,Mathlib/Order/Lattice.lean,MathlibTest/push.lean 4 1 ['github-actions'] j-loreaux
assignee:j-loreaux
0-68459
19 hours ago
7-72504
7 days ago
7-72480
7 days
30042 JovanGerb
author:JovanGerb
feat(push): `@[push]` attributes for `∈` in `Set`, `Finset` and `Multiset` This PR adds `@[push]` annotations for the membership relations, for `Set`, `Finset` and `Multiset`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 169/104 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Data/DFinsupp/Interval.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Pi.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finset/Sum.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Dedup.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Range.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Multiset/Sum.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Multiset.lean,Mathlib/Order/Interval/Set/Defs.lean,Mathlib/Order/SetNotation.lean,MathlibTest/push.lean 48 1 ['github-actions'] EtienneC30
assignee:EtienneC30
0-68458
19 hours ago
7-69550
7 days ago
7-69526
7 days
30225 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Walk): `p.getVert` and `p.support.get` have the same range --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 8/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 1 ['github-actions'] nobody
0-67638
18 hours ago
0-67652
18 hours ago
0-67692
18 hours
30227 b-mehta
author:b-mehta
feat(Nat/Log): log of Nat.bit A useful rewrite lemma in applications, especially when `b` is a more complex expression. Mathlib already has a preference for using `Nat.log 2` over `Nat.log2`, since the former has many more lemmas about it, and better tactic support, so we follow the established pattern here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 4/0 Mathlib/Data/Nat/Log.lean 1 1 ['github-actions'] nobody
0-65086
18 hours ago
0-65089
18 hours ago
0-65130
18 hours
30228 b-mehta
author:b-mehta
feat(Data/List): relate destutter and dedup --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 27/0 Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Destutter.lean 2 1 ['github-actions'] nobody
0-64435
17 hours ago
0-64448
17 hours ago
0-64490
17 hours
30229 b-mehta
author:b-mehta
chore(Nat/Log): swap Nat.pow_le_iff_le_log lemmas Swap the order of the following four lemmas: - `Nat.pow_le_iff_le_log` - `Nat.lt_pow_iff_log_lt` - `Nat.le_pow_iff_clog_le` - `Nat.pow_lt_iff_lt_clog` This is to match the pattern used everywhere else in mathlib, eg for Real.log, and the pattern used in core, eg for Nat.log2. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 43/26 Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Tactic/NormNum/NatLog.lean 3 1 ['github-actions'] nobody
0-62239
17 hours ago
0-64010
17 hours ago
0-63986
17 hours
30226 erdOne
author:erdOne
feat(AlgebraicGeometry): global sections of inverse limits of schemes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 401/3 Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean 2 1 ['github-actions'] nobody
0-62074
17 hours ago
0-63361
17 hours ago
0-65522
18 hours
30231 NotWearingPants
author:NotWearingPants
feat(LinearAlgebra/Matrix/Charpoly): `trace_eq_neg_charpoly_coeff` using `nextCoeff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra easy
label:t-algebra$
6/3 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean 2 2 ['NotWearingPants', 'github-actions'] nobody
0-61969
17 hours ago
0-61972
17 hours ago
0-62014
17 hours
29956 NotWearingPants
author:NotWearingPants
feat(Algebra/Polynomial): small and useful lemmas feat(Algebra/Polynomial): added many small and useful lemmas about polynomials --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
299/74 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean 16 60 ['NotWearingPants', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] nobody
0-60515
16 hours ago
3-73402
3 days ago
10-56353
10 days
29896 themathqueen
author:themathqueen
chore(LinearAlgebra/Matrix/PosDef): deprecate `PosSemidef.sqrt` in favour of `CFC` We deprecate `PosSemidef.sqrt` and all related results in favour of using more general results (i.e., `CFC.sqrt` and results in C*-algebras). This also defines the partial order and `StarOrderedRing` instances on matrices. This also moves all results related to `PosSemidef.sqrt` to `Analysis/Matrix/Order` to minimize imports. The partial order instance on matrices is scoped to `MatrixOrder` (analogous to `ComplexOrder`). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed large-import 295/278 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,MathlibTest/PosDef.lean 7 49 ['github-actions', 'j-loreaux', 'loefflerd', 'mathlib4-merge-conflict-bot', 'themathqueen'] nobody
0-60332
16 hours ago
9-20924
9 days ago
10-70205
10 days
30026 ADedecker
author:ADedecker
chore: new file for constructions of uniform groups The split between `Defs` and `Basic` was a bit messy (e.g the `Prod` instance was in `Defs` but the `Pi` instance was in `Basic`), and I'm going to make these files longer when introducing left and right uniform groups, so I figured the best solution was to move everything in an intermediate `Constructions` file. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-topology 112/94 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean,Mathlib/Topology/UniformSpace/Matrix.lean 8 3 ['github-actions', 'mcdoll'] dagurtomas
assignee:dagurtomas
0-59564
16 hours ago
0-59564
16 hours ago
8-22919
8 days
30234 Komyyy
author:Komyyy
fix: fix errors in LongestPole --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 18/18 LongestPole/Main.lean,LongestPole/Unused.lean 2 1 ['github-actions'] nobody
0-55106
15 hours ago
0-55376
15 hours ago
0-55378
15 hours
30039 JovanGerb
author:JovanGerb
feat(push): `@[push]` annotations for `Real.log` This PR adds `push` annotations, and tests for `Real.log`. It also updates the `#push` and `#pull` commands so that they can take a discharger, and can take any head. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 45/18 Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Tactic/Push.lean,MathlibTest/push.lean 4 1 ['github-actions'] nobody
0-48866
13 hours ago
7-72441
7 days ago
7-72417
7 days
30235 zcyemi
author:zcyemi
feat(Geometry/Euclidean/Sphere/Tangent) add isTangentAt with right-angle --- This PR mainly adds two theorems: - `IsTangentAt.dist_eq_of_mem_of_mem` : Two tangent lines through same point yield equal distances - `IsTangentAt_iff_angle_eq_pi_div_two`: Characterization of tangency via angle. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 49/1 Mathlib/Geometry/Euclidean/Sphere/Tangent.lean 1 1 ['github-actions'] nobody
0-48145
13 hours ago
0-48152
13 hours ago
0-48193
13 hours
30232 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): add `ConnectedComponent.toSubgraph` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 17/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-46483
12 hours ago
0-60166
16 hours ago
0-60205
16 hours
25183 YaelDillies
author:YaelDillies
feat: convolution product on linear maps from a coalgebra to an algebra Construct the ring structure on linear maps `C → A` where `C` is a coalgebra and `A` an algebra, where multiplication is given by `(f * g)(x) = ∑ f x₍₁₎ * g x₍₂₎` in Sweedler notation or ``` | μ | | / \ f * g = f g | | \ / δ | ``` diagrammatically, where `μ` stands for multiplication and `δ` for comultiplication. [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Mul.60.20instance.20on.20algebra.20homomorphisms.20from.20monoid.20algebra) From Toric Co-authored-by: Michał Mrugała Co-authored-by: Yunzhou Xie --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
261/10 Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean,Mathlib/RingTheory/Regular/RegularSequence.lean 7 88 ['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'smorel394', 'themathqueen'] kbuzzard
assignee:kbuzzard
0-46372
12 hours ago
38-37229
1 month ago
133-3275
133 days
26457 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(Mathlib/GroupTheory/Perm/MaximalSubgroups): maximal subgroups of the permutation group * `Equiv.Perm.isCoatom_stabilizer`: when `s : Set α` is not empty, nor its complementary subset, and if the cardinality of `s` is not half of that of `α`, then `MulAction.stabilizer (Equiv.Perm α) s` is a maximal subgroup of the symmetric group `Equiv.Perm α`. This is the *intransitive case* of the O'Nan-Scott classification. ## TODO * Appplication to primitivity of the action of `Equiv.Perm α` on finite combinations of `α`. * Finish the classification --- - [ ] depends on: #26282 - [x] depends on: #26281 - [x] depends on: #26280 - [x] depends on: #26279 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory 525/2 Mathlib.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,docs/references.bib 8 n/a ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-40523
11 hours ago
unknown
unknown
30205 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Walk): `p.getVert` is `p.support.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-combinatorics easy 15/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 3 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions'] nobody
0-35134
9 hours ago
0-35134
9 hours ago
1-6282
1 day
29916 themathqueen
author:themathqueen
chore: move some results from `Analysis/Normed/Algebra/Spectrum` to `Analysis/{Real, Complex}/Spectrum` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-analysis 130/74 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Complex/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Real/Spectrum.lean 5 6 ['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] ADedecker
assignee:ADedecker
0-34996
9 hours ago
0-34996
9 hours ago
11-72352
11 days
30178 EtienneC30
author:EtienneC30
feat: preimage of Set.pi by uncurry --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data maintainer-merge 10/0 Mathlib/Data/Set/Prod.lean,Mathlib/Data/Set/Sigma.lean 2 2 ['Ruben-VandeVelde', 'github-actions'] nobody
0-34918
9 hours ago
0-34918
9 hours ago
2-8585
2 days
30032 riccardobrasca
author:riccardobrasca
feat: factorization of cyclotomic polynomial over finite fields We compute the degree of the factors of the `n`-th cyclotomic polynomial over a finite field of characteristic `p` when `p` and `n` are coprime. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge t-algebra t-number-theory
label:t-algebra$
184/3 Mathlib.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/NumberTheory/GaussSum.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean 5 12 ['Ruben-VandeVelde', 'github-actions', 'riccardobrasca'] jcommelin
assignee:jcommelin
0-34520
9 hours ago
0-35663
9 hours ago
8-13986
8 days
26374 joelriou
author:joelriou
feat(CategoryTheory): existence of right derived functors using derivability structures In this PR, we formalize an existence theorem for right derived functors which appeared in the article _Structures de dérivabilité_ by Bruno Kahn and Georges Maltsiniotis, Adv. Math. 218 (2008). --- - [x] depends on: #26036 This PR continues the work from #22508. Original PR: https://github.com/leanprover-community/mathlib4/pull/22508 t-category-theory 165/2 Mathlib.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseRightDerived.lean 5 4 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
0-33974
9 hours ago
0-33974
9 hours ago
0-33999
9 hours
30103 kebekus
author:kebekus
feat: first main theorem of value distribution theory Establish the first main theorem of value distribution theory in full. This PR completes a major milestone in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize 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/) large-import t-analysis 102/7 Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,docs/overview.yaml 2 7 ['github-actions', 'grunweg', 'kebekus', 'sgouezel'] nobody
0-32956
9 hours ago
0-32956
9 hours ago
2-41338
2 days
26720 vlad902
author:vlad902
feat(SimpleGraph): lemmas relating edges and darts to the support Useful lemmas to make it easier to pass between the support/edges/darts of a walk. - [x] depends on: #25812 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 27/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 9 ['b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] b-mehta
assignee:b-mehta
0-30197
8 hours ago
0-30197
8 hours ago
23-56712
23 days
29800 YaelDillies
author:YaelDillies
chore: rename `MonoidHom.toAdditive''` to `MonoidHom.toAdditiveLeft` and alike --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
118/80 Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Equiv/TypeTags.lean,Mathlib/Algebra/Group/Nat/Hom.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Order/Hom/TypeTags.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/FiniteAbelian/Basic.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/RingTheory/Valuation/RankOne.lean 14 2 ['github-actions', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
0-27761
7 hours ago
0-27792
7 hours ago
16-45204
16 days
30085 riccardobrasca
author:riccardobrasca
feat: add Mathlib.RingTheory.RootsOfUnity.Units We abb basic results about cyclotomic units. From `flt-regular`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra t-number-theory
label:t-algebra$
124/0 Mathlib.lean,Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean 2 18 ['faenuccio', 'github-actions', 'riccardobrasca'] faenuccio
assignee:faenuccio
0-27644
7 hours ago
0-28120
7 hours ago
1-19770
1 day
30212 tb65536
author:tb65536
feat(Algebra/Polynomial/Factors): Introduce predicate and basic API This PR introduces a predicate `Polynomial.Factors` that generalizes `Polynomial.Splits` beyond fields. This PR contains the definition of `Polynomial.Factors` along with most of API for `Polynomial.Splits`. The end goal is to either redefine `Polynomial.Splits` in terms of `Polynomial.Factors` or deprecate `Polynomial.Splits` entirely. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60Polynomial.2ESplits.60.20to.20rings --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory t-algebra
label:t-algebra$
293/1 Mathlib.lean,Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Splits.lean 4 26 ['github-actions', 'kckennylau', 'tb65536'] nobody
0-24923
6 hours ago
0-77955
21 hours ago
0-77933
21 hours
30243 euprunin
author:euprunin
chore(AlgebraicGeometry/Sites): golf entire `pretopology_eq_inf` using `rfl` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 1/4 Mathlib/AlgebraicGeometry/Sites/Pretopology.lean 1 1 ['github-actions'] nobody
0-19953
5 hours ago
0-19961
5 hours ago
0-20000
5 hours
30136 vlad902
author:vlad902
feat(SimpleGraph): lemmas characterizing graphs that are not complete/empty Two helper lemmas that I've found useful in several other PRs that characterize graphs that are neither complete nor empty. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 8/0 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] nobody
0-19648
5 hours ago
3-1405
3 days ago
3-1441
3 days
29833 vlad902
author:vlad902
feat(Set): helper lemmas about set cardinality A few lemmas I needed in formalizing Dilworth's theorem and vertex covers. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 19/0 Mathlib/Data/Set/Card.lean 1 13 ['Ruben-VandeVelde', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] nobody
0-19646
5 hours ago
0-78958
21 hours ago
15-28887
15 days
30047 ooovi
author:ooovi
feat(Combinatorics/SimpleGraph): edge labellings Add edge labellings for `SimpleGraph` as well as some basic lemmata. --- This is mostly a cleaned up part of @b-mehta's lean4 port of their [formalisation of an exponentially better upper bound on Ramsey numbers ](https://github.com/b-mehta/ExponentialRamsey/). I need these definitions for another project on Ramsey theory. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 234/3 Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabelling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean 5 45 ['YaelDillies', 'b-mehta', 'github-actions', 'ooovi', 'vlad902'] nobody
0-16787
4 hours ago
0-16787
4 hours ago
5-27247
5 days
27414 staroperator
author:staroperator
feat(ModelTheory): Semilinear sets in `ℕ ^ k` are closed under intersection and complement Separated from #27100. This PR proves that semilinear sets in `ℕ ^ k` are closed under intersection, complement and set difference. We will soon generalize them in #27789. --- - [x] depends on: #27082 - [x] depends on: #27086 - [x] depends on: #27088 - [x] depends on: #27096 - [x] depends on: #27342 - [x] depends on: #28670 - [x] depends on: #29032 - [x] depends on: #29749 - [x] depends on: #29784 - [x] depends on: #29793 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 628/4 Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Nat.lean 3 12 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] fpvandoorn
assignee:fpvandoorn
0-13203
3 hours ago
1-20548
1 day ago
12-5281
12 days
26347 mans0954
author:mans0954
feat(Data/Finset/RangeDistance): abs_sub_lt_of_mem_finset_range This PR continues the work from #23161. Original PR: https://github.com/leanprover-community/mathlib4/pull/23161 t-data 30/0 Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean 3 2 ['github-actions', 'mans0954'] alreadydone
assignee:alreadydone
0-8835
2 hours ago
62-35467
2 months ago
103-44871
103 days
30246 dwrensha
author:dwrensha
make Nat.digits use well-founded recursion once again #25864 made `Nat.digits` structurally recursive, which has some benefits. In doing so, however, it added significant complexity. As brought up in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/structural.20recursion.20instead.20of.20well.20founded/near/543172385), on the balance that PR might not be considered an improvement. The present PR reverts that change (but keeps a code golf that was bundled with it). Note that recent improvements to core Lean mean that `simp` can handle the structurally recursive version without a problem: ```lean example : digits 10 123456789 = [9,8,7,6,5,4,3,2,1] := by simp [digits, digitsAux] ``` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 7/45 Mathlib/Data/Nat/Digits/Defs.lean 1 3 ['dwrensha', 'github-actions', 'plp127'] nobody
0-8718
2 hours ago
0-10419
2 hours ago
0-10451
2 hours
30238 kebekus
author:kebekus
feat: behavior of divisors when taking powers of meromorphic functions Establish the behavior of divisors when taking powers of meromorphic functions. For consistency, provide `_fun`-versions of several simple lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 108/1 Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean 2 8 ['YaelDillies', 'github-actions', 'kebekus'] nobody
0-7549
2 hours ago
0-16860
4 hours ago
0-30298
8 hours
30034 yonggyuchoimath
author:yonggyuchoimath
feat(Mathlib/AlgebraicGeometry/AffineScheme): add preservation of limits of affine schemes This PR adds simple results about affine schemes. Main changes: * `createsLimitsForgetToScheme`: The forgetful functor `AffineScheme ⥤ Scheme` creates small limits. * (written by Andrew Yang) `preservesLimit_rightOp_Γ`: Shows that `Scheme.Γ.rightOp : Scheme ⥤ CommRingCatᵒᵖ` preserves limits of diagrams consisting of affine schemes. * `preservesColimit_Γ`: The dual statement. This PR reopens #30015, which was acidentally closed by myself. --- - [ ] depends on: #30014 maintainer-merge 28/0 Mathlib/AlgebraicGeometry/AffineScheme.lean 1 23 ['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yonggyuchoimath'] nobody
0-6143
1 hour ago
0-6143
1 hour ago
6-77481
6 days
30176 mcdoll
author:mcdoll
feat(Analysis/Distribution): Multiplication of two functions of temperate growth is of temperate growth --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 57/1 Mathlib/Analysis/Distribution/SchwartzSpace.lean 1 2 ['ADedecker', 'github-actions'] nobody
0-2717
45 minutes ago
2-8854
2 days ago
2-8891
2 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
26765 KiringYJ
author:KiringYJ
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance Add two small features to `MeasureTheory/PiSystem`: 1. SetLike instance `instance : SetLike (DynkinSystem α) (Set α)` This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style. 2. `DynkinSystem.pi_lambda` lemma Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`. Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately. Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs. No breaking changes. No dependencies. new-contributor t-measure-probability 13/0 Mathlib/MeasureTheory/PiSystem.lean 1 13 ['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] RemyDegenne
assignee:RemyDegenne
58-68478
1 month ago
66-18127
2 months ago
93-5962
93 days
27000 gasparattila
author:gasparattila
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms This PR adds an isometric version of the third isomorphism theorem for groups and modules. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-analysis 49/2 Mathlib/Analysis/Normed/Group/Quotient.lean 1 1 ['github-actions'] urkud
assignee:urkud
54-68490
1 month ago
86-21217
2 months ago
86-21260
86 days
28198 Sebi-Kumar
author:Sebi-Kumar
feat(Analysis/InnerProductSpace/PiL2): Add instances for EuclideanSpace rank and EuclideanSpace being infinite Add an instance for `Fact (Module.finrank 𝕜 (EuclideanSpace 𝕜 (Fin n)) = n)` which is needed to apply [stereographic'](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/Instances/Sphere.html#stereographic') to EuclideanSpace. Also add an instance for `Infinite (EuclideanSpace 𝕜 ι)` where `ι` is a nonempty fintype. I wasn't sure if these should go in separate pull requests, but they seemed similar enough to me. Thank you to Kenny Lau for the suggestions at [#mathlib4 > Instances for EuclideanSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20for.20EuclideanSpace). --- To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 6/0 Mathlib/Analysis/InnerProductSpace/PiL2.lean 1 1 ['github-actions'] urkud
assignee:urkud
48-68470
1 month ago
55-81706
1 month ago
55-81743
55 days
28125 nonisomorphiclinearmap
author:nonisomorphiclinearmap
feat(Combinatorics): basic definition of simplicial complexes This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean. --- This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one. We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. new-contributor t-combinatorics 374/0 Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean 5 1 ['github-actions'] awainverse
assignee:awainverse
46-68493
1 month ago
58-562
1 month ago
58-598
58 days
28186 Sebi-Kumar
author:Sebi-Kumar
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic Add `instance : IsEquiv (Path x₀ x₁) Homotopic` to the library. Allow use of lemmas like `of_eq` when proving two paths are homotopic. --- To provide additional context, I am relatively new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario and supervised by Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`. Also, I am not super familiar with `IsEquiv` and when it should/shouldn't be used. I just wanted to use a lemma like `Path.Homotopic.of_eq` at one point while working on my code, and thought this was the best way to add such a result to the library. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 5/0 Mathlib/Topology/Homotopy/Path.lean 1 4 ['Sebi-Kumar', 'github-actions', 'kckennylau'] PatrickMassot
assignee:PatrickMassot
46-68490
1 month ago
56-13420
1 month ago
56-13459
56 days
28812 yury-harmonic
author:yury-harmonic
feat(PNat/Factors): add attrs and lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 42/0 Mathlib/Data/PNat/Factors.lean 1 1 ['github-actions'] nobody
43-17698
1 month ago
43-17854
1 month ago
43-17886
43 days
27245 rirarika
author:rirarika
feat: multivariate polynomial ring properties about irreducibility --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
88/0 Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean 2 5 ['alreadydone', 'github-actions', 'mbkybky'] alreadydone
assignee:alreadydone
43-14887
1 month ago
79-43333
2 months ago
79-43367
79 days
28768 yury-harmonic
author:yury-harmonic
feat(Data/Nat): define `Nat.nthRoot` Define `Nat.nthRoot n a` to be the `n`th root of a natural number `a`. --- This is a dependency of a `norm_num` plugin that can handle `(8 : Real) ^ (2 / 3 : Real)`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 218/0 Mathlib.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Nat/NthRoot/Lemmas.lean 3 16 ['b-mehta', 'eric-wieser', 'github-actions', 'j-loreaux', 'yury-harmonic'] nobody
39-80722
1 month ago
43-54031
1 month ago
44-8709
44 days
25225 xcloudyunx
author:xcloudyunx
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 16/0 Mathlib/Combinatorics/SimpleGraph/Trails.lean 1 6 ['IvanRenison', 'github-actions', 'vlad902'] kmill
assignee:kmill
39-30734
1 month ago
131-74260
4 months ago
131-74304
131 days
28296 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): Hamidoune's Freiman-Kneser theorem for nonabelian groups add noncommutative Freiman-Kneser theorem for doubling less than 2-\epsilon --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 339/3 Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 1 14 ['YaelDillies', 'github-actions', 'strihanje01'] awainverse
assignee:awainverse
34-68465
1 month ago
45-25319
1 month ago
47-2160
47 days
28602 gmcninch-tufts
author:gmcninch-tufts
feat(Algebra/Polynomial/Module): prove equivalence of a certain tensor product with PolynomialModule For a commutative ring `R` and an `R`-module `M`, construct an equivalence between the `R[X]`-modules `R[X] ⊗[R] M` and `PolynomialModule R M`. This equivalence enables application of some base-change results to `PolynomialModule R M` . --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
210/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean 2 1 ['github-actions'] jcommelin
assignee:jcommelin
33-68490
1 month ago
48-17566
1 month ago
48-17602
48 days
28906 gasparattila
author:gasparattila
feat(Topology/Algebra/Module): `prod` and `coprod` as `ContinuousLinearEquiv`s --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 36/5 Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean 2 1 ['github-actions'] jcommelin
assignee:jcommelin
31-68496
1 month ago
41-8663
1 month ago
41-8695
41 days
26790 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 46/1 Mathlib/Combinatorics/Enumerative/Bell.lean 1 11 ['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] awainverse
assignee:awainverse
31-50766
1 month ago
92-13892
3 months ago
92-13929
92 days
26986 WangYiran01
author:WangYiran01
feat(Partition): add bijection for partitions with max part ≤ r ## Summary This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`. It constructs a bijection between: - The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and - The set of partitions of `n - r` whose largest part is at most `r`. This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics. ## Implementation notes - The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures. - The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`. ## Linting - [x] Passes `lake build` - [x] Linter clean (no commandStart or longLine issues) ## Author Contributed by Yiran Wang. new-contributor t-combinatorics 85/0 Mathlib/Combinatorics/Enumerative/Partition.lean 1 3 ['WangYiran01', 'github-actions'] b-mehta
assignee:b-mehta
31-47300
1 month ago
86-38452
2 months ago
86-38487
86 days
28613 espottesmith
author:espottesmith
feat(Combinatorics): define undirected hypergraphs This PR defines undirected hypergraphs: ``` @[ext] structure Hypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The hyperedge set -/ hyperedgeSet : Set (Set α) /-- All hyperedges must be subsets of the vertex set -/ hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet ``` In addition to the main definition, some additional definitions and related lemmas are provided: - vertex adjacency - hyperedge adjacency - vertex "stars" - special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs) - (some) hypergraph cardinality - subhypergraphs, induced subhypergraphs, and partial hypergraphs This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib. In the near future, goals include: - defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β` - coersion/generalization of graph as 2-uniform hypergraph - conversion of a hypergraph into its associated clique graph/two-section graph - constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`) - rank and co-rank - walks, paths, cycles, etc. on hypergraphs --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 375/0 Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean 2 52 ['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot'] b-mehta
assignee:b-mehta
30-34543
1 month ago
30-34543
1 month ago
36-20725
36 days
29040 PMKielstra
author:PMKielstra
feat: trapezoidal rule for integration This PR defines the trapezoidal rule and proves the standard error bound on it in terms of bounds on the second derivative. I have vague plans of using this plus interval arithmetic to develop a tactic that can automatically close goals of the form `\integral x in a..b, f x < y` or similar. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 273/0 Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean 3 40 ['PMKielstra', 'github-actions', 'tb65536'] kex-y
assignee:kex-y
29-68493
29 days ago
38-75386
1 month ago
38-75822
38 days
26453 jburroni
author:jburroni
feat(Data/PNat/Basic): add order-related instances to PNat Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances. This allows, for example, the use of lemmas related to `Intervals` built with ℕ+. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 31/0 Mathlib.lean,Mathlib/Data/PNat/Order.lean 2 14 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jburroni', 'vihdzp'] ericrbg
assignee:ericrbg
27-7959
27 days ago
27-12963
27 days ago
97-15272
97 days
26909 gasparattila
author:gasparattila
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
69/3 Mathlib/LinearAlgebra/Projectivization/Subspace.lean 1 5 ['eric-wieser', 'gasparattila', 'github-actions'] Vierkantor
assignee:Vierkantor
26-7061
26 days ago
88-86091
2 months ago
88-86130
88 days
27292 gasparattila
author:gasparattila
feat: asymptotic cone of a set This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray. --- - [x] depends on: #27221 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 466/0 Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Topology/Algebra/AsymptoticCone.lean 4 45 ['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] YaelDillies
assignee:YaelDillies
18-50033
18 days ago
61-11926
2 months ago
75-29458
75 days
29437 NotWearingPants
author:NotWearingPants
feat(Data/Seq): add Seq.subsequence and prove basic theorems about it I added `Seq.subsequence` to compose a sequence with a monotone function, creating a subsequence. Aliased to `Seq.comp` since it's a composition. I also added `Nat.le_induction_step_iff` which is needed to prove a subsequence is a sequence. This proves the comment at the top of `Defs.lean` that says "if `f n = none`, then `f m = none` for all `m ≥ n`" while `IsSeq` only talks about `n+1`. For completion I added the same statement for `Int`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-data new-contributor 114/0 Mathlib/Data/Int/Init.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
18-29277
18 days ago
18-29298
18 days ago
27-16787
27 days
26129 LessnessRandomness
author:LessnessRandomness
feat(Geometry/Euclidean/Angle/Unoriented): triangle inequality for angles This PR continues the work from #24206. Original PR: https://github.com/leanprover-community/mathlib4/pull/24206 new-contributor t-euclidean-geometry 203/16 Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean 8 76 ['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] jsm28
assignee:jsm28
18-10114
18 days ago
30-73231
1 month ago
106-14621
106 days
29744 espottesmith
author:espottesmith
feat(Combinatorics): define directed hypergraphs This PR defines directed hypergraphs: ``` @[ext] structure DiHypergraph (α : Type*) where /-- The vertex set -/ vertexSet : Set α /-- The edge set -/ edgeSet : Set ((Set α) × (Set α)) /-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/ edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet ``` Additional definitions: - tail/head stars and negative/positive stars - some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty) - Vertex and (hyper)edge adjacency - isolated vertices - empty and nonempty dihypergraphs The design employed here is based off of #28613, but this PR does not depend on that one. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 391/0 Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean 2 1 ['github-actions'] nobody
13-24556
13 days ago
18-31089
18 days ago
18-31134
18 days
26660 strihanje01
author:strihanje01
feat(Combinatorics/Additive/VerySmallDoubling): weak non-commutative Kneser's theorem add theorem about the structure of a doubling smaller than the golden ratio --- - [x] depends on: #28653 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import maintainer-merge new-contributor t-combinatorics 215/41 Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean 2 79 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'strihanje01'] YaelDillies
assignee:YaelDillies
12-24604
12 days ago
12-57253
12 days ago
53-85629
53 days
28818 NotWearingPants
author:NotWearingPants
feat(Data/Setoid/Basic): add theorems about lifting a function to its kernel Currently `ker_lift_injective` and `quotientKerEquivOfRightInverse` lift `f` to `ker f` in their definition. This PR makes this function available as `Setoid.ker_lift f` and adds a few more theorems about it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 29/15 Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean 4 18 ['NotWearingPants', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
11-71501
11 days ago
23-5585
23 days ago
41-20523
41 days
27817 zhuyizheng
author:zhuyizheng
feat: add IMO2025P1 Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO new-contributor 1310/0 Archive.lean,Archive/Imo/Imo2025Q1.lean 2 2 ['github-actions', 'mathlib4-merge-conflict-bot'] dwrensha
assignee:dwrensha
11-31607
11 days ago
16-51079
16 days ago
48-76184
48 days
28871 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Tournaments Define orientations and tournaments. Related to #26771. Co-authored-by: Rida Hamadani --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 62/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean 3 5 ['JaafarTanoukhi', 'NotWearingPants', 'Rida-Hamadani', 'github-actions'] kmill
assignee:kmill
11-11740
11 days ago
42-1977
1 month ago
42-2010
42 days
28967 utkuokur
author:utkuokur
refactor(Combinatorics/SimpleGraph/Walk): simplify proof of "support_tail_of_not_nil" The proof of the lemma named "support_tail_of_not_nil" is shortened. Since "support_tail" is not needed anymore, it is removed. @[deprecated (since := "2025-08-26")] sign is added for the removed "support_tail". The library references to "support_tail" are replaced with "support_tail_of_not_nil". To keep [@simp] on "cons_support_tail" and avoid the linter error, the [@simp] of "support_tail_of_not_nil" (previously on "support_tail") is removed. There might be a better way that I am missing, to deal with the linter error. --- Additionally, a merge conflict with `master` was resolved by keeping the generalized `support_tail_of_not_nil` and reintroducing `support_tail` as a deprecated alias for compatibility. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 7/10 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 2 3 ['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] awainverse
assignee:awainverse
11-3054
11 days ago
26-83626
26 days ago
40-13137
40 days
29947 JaafarTanoukhi
author:JaafarTanoukhi
feat(Combinatorics/Digraph): Maps Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 476/0 Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean 2 1 ['github-actions'] nobody
10-38919
10 days ago
11-12022
11 days ago
11-12061
11 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/) t-group-theory FLT new-contributor 97/0 Mathlib/GroupTheory/DoubleCoset.lean 1 16 ['Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'mathlib4-merge-conflict-bot'] mariainesdff
assignee:mariainesdff
10-33120
10 days ago
17-8765
17 days ago
75-74639
75 days
29361 FlAmmmmING
author:FlAmmmmING
feat: Catalan generating function as a formal power series We introduce the Catalan generating function as a formal power series over `ℕ`. ## Main Definitions * `PowerSeries.catalanSeries`: The Catalan generating function as a power series. ## Main Results * `PowerSeries.sum_coeff_X_catalanSeries`: When `n` is a natural number, each term in the sum `coeff i X * catalan (n - i)` is 0 except for `i = 1`. * `PowerSeries.coeff_X_mul_catalanSeries`: The coefficient of `X * catalanSeries` at `X^n` is `catalan (n - 1)` when `n > 0`. * `PowerSeries.catalanSeries_one_add_X_mul_self_sq`: The Catalan generating function satisfies the equation `catalanSeries = 1 + X * catalanSeries ^ 2`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 71/0 Mathlib.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean 2 4 ['Ruben-VandeVelde', 'github-actions', 'wwylele'] kbuzzard
assignee:kbuzzard
7-10772
7 days ago
30-41163
1 month ago
30-41193
30 days
29362 stepanholub
author:stepanholub
feat:(Data/List) add the notion of period of List and prove the Periodicity Lemma Add the concept of the period of a List (word, sequence) which is missing, and prove its basic nontrivial property describing under which conditions list can have two periods known as the Periodicity Lemma (aka Fine-Wilf Theorem). --- t-data new-contributor 227/0 Mathlib.lean,Mathlib/Data/List/PeriodicityLemma.lean 2 125 ['Ruben-VandeVelde', 'Timeroot', 'fpvandoorn', 'github-actions', 'madvorak', 'plp127', 'stepanholub', 'wwylele'] nobody
7-720
7 days ago
11-3534
11 days ago
28-86131
28 days
29758 NotWearingPants
author:NotWearingPants
feat(RingTheory/RootsOfUnity): exp(pi * i * q) is a root of unity for rational q --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory new-contributor 32/1 Mathlib/RingTheory/RootsOfUnity/Complex.lean 1 5 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
6-68484
6 days ago
16-73300
16 days ago
16-80300
16 days
29309 LLaurance
author:LLaurance
feat(Combinatorics/SimpleGraph): Nontrivial connected graph contains a vertex that leaves the graph connected if removed This shows that any nontrivial connected graph contains a vertex that, when removed, leaves the graph connected. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-combinatorics 156/10 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
6-30438
6 days ago
6-30438
6 days ago
27-35054
27 days
26985 agjftucker
author:agjftucker
feat(Analysis/Calculus/Implicit): define implicitFunOfProdDomain 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/) new-contributor t-analysis 107/4 Mathlib/Analysis/Calculus/Implicit.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
6-5574
6 days ago
6-42579
6 days ago
6-44157
6 days
27991 sinianluoye
author:sinianluoye
feat (Rat): add Rat.den_eq_of_add_den_eq_one and its dependent lemmas ```lean4 example {q r : ℚ} (h : (q + r).den = 1) : q.den = r.den := by ``` It is so simple, but I couldn't find it in current mathlib repo. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 28/0 Mathlib/Data/Rat/Lemmas.lean 1 14 ['github-actions', 'sinianluoye', 'themathqueen'] pechersky
assignee:pechersky
5-68481
5 days ago
60-68068
1 month ago
61-9713
61 days
28077 ShreckYe
author:ShreckYe
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` `exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. t-data new-contributor 10/0 Mathlib/Data/Finset/Card.lean 1 4 ['ShreckYe', 'github-actions', 'themathqueen'] pechersky
assignee:pechersky
5-68480
5 days ago
59-34558
1 month ago
59-34597
59 days
28119 JasperMS
author:JasperMS
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate. In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization. Part of Carleson, original result by Edward van de Meent. Moves: - Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice --- This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out! Mathlib PRs are still new to me, so please point out where I can improve! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) carleson t-data new-contributor 56/12 Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean 4 11 ['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] pechersky
assignee:pechersky
5-68479
5 days ago
58-21283
1 month ago
58-21717
58 days
29871 zach1502
author:zach1502
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation This PR adds two lemmas formalizing standard Gaussian pivot identities: * `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`: After applying the canonical left/right transvection products that clear the last column and row, the pivot (bottom-right) entry of a matrix is unchanged. Marked `@[simp]`. * `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`: If the pivot entry is nonzero, then the determinant of the matrix factors as the determinant of the top-left block times the pivot entry, after performing the canonical transvections. This is the usual Gauss–pivot determinant identity. * Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas are usable by `simp`/`simpa`. --- --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
94/0 Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean 2 2 ['github-actions', 'zach1502'] riccardobrasca
assignee:riccardobrasca
4-68463
4 days ago
12-84773
12 days ago
13-63836
13 days
29253 FernandoChu
author:FernandoChu
feat(CategoryTheory): (Co)limits in preorders Characterize (co)limits in preorders as glbs/lubs, plus some other instances. new-contributor t-category-theory 151/13 Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean 2 12 ['FernandoChu', 'github-actions', 'joelriou'] joelriou
assignee:joelriou
4-39771
4 days ago
4-39775
4 days ago
31-38410
31 days
26757 fweth
author:fweth
feat(CategoryTheory/Topos): define elementary topos This commit begins the formalization of the notion of an *elementary topos*, following the definition in \[Mac Lane & Moerdijk, *Sheaves in Geometry and Logic* (1992), Ch. IV, Section 1]. It introduces the file `Mathlib/CategoryTheory/Topos/Basic.lean`, which currently includes: * The definition of an elementary topos. * Proof that the power object map is a functor * Theorem about pullbacks of characterstic maps Subobject classifiers, which are used in the definition, have already been defined in `CategoryTheory/Topos/Classifier.lean` Work in progress: further formalization of the section is planned. Questions: * Should the definition of power objects be separated into its own file/module, perhaps under `CategoryTheory/Topos/PowerObject.lean`? * Is the notation `P` / `P_morph` / `P_functor` for the power object functor on objects / morphisms / total acceptable? * Should the comments and docstrings rather use the notation from the book, where `g ∘ f` denotes arrow composition from righ to left, or the Lean variant `f ≫ g`? Klaus Gy klausgy@gmail.com --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 391/68 Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean 9 14 ['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] joelriou
assignee:joelriou
3-68498
3 days ago
28-19261
28 days ago
47-77821
47 days
29713 jessealama
author:jessealama
feat (Algebra/Homology): add Euler–Poincaré formula This PR adds the Euler characteristic for chain complexes and proves the Euler-Poincaré formula relating the alternating sum of chain dimensions to the alternating sum of homology dimensions. ### Main definitions (in `EulerCharacteristic.lean`) * `ChainComplex.boundedEulerChar`: The Euler characteristic over a finite set * `ChainComplex.eulerChar`: The Euler characteristic as an infinite sum * `ChainComplex.homologyBoundedEulerChar`: The homological Euler characteristic over a finite set * `ChainComplex.homologyEulerChar`: The homological Euler characteristic as an infinite sum Both bounded and infinite definitions work with ℤ-indexed complexes over any ring R. The file also includes theorems relating the formally infinite sums to finite sums when there is finite support: * `ChainComplex.eulerChar_eq_boundedEulerChar`: The infinite Euler characteristic equals the bounded one when the chain complex vanishes outside a finite set * `ChainComplex.homologyEulerChar_eq_homologyBoundedEulerChar`: The infinite homological Euler characteristic equals the bounded one when homology vanishes outside a finite set ### Main result (in `EulerPoincare.lean`) * `ChainComplex.eulerChar_eq_homology_eulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions. --- Related to: #29639, #29643, #29646 new-contributor t-algebra
label:t-algebra$
444/0 Mathlib.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean 3 19 ['github-actions', 'jessealama', 'joelriou', 'kim-em'] dagurtomas
assignee:dagurtomas
3-47097
3 days ago
18-20883
18 days ago
19-30732
19 days
26923 oliver-butterley
author:oliver-butterley
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem. Co-authored-by: Lua Viana Reis - [x] depends on: #26074 - [x] depends on: #26807 - [x] depends on: #26810 - [x] depends on: #26840 - [x] depends on: #26842 - [x] depends on: #26848 - [x] depends on: #26851 - [x] depends on: #26852 - [x] depends on: #26853 - [x] depends on: #27008 - [x] depends on: #28901 Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-dynamics 401/0 Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean 2 13 ['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] urkud
assignee:urkud
3-35996
3 days ago
40-54839
1 month ago
47-24306
47 days
29935 ineol
author:ineol
fix: cache fails when Mathlib is a nightly dependency Cache should on check for the nightly-testing remote when it is run from the Mathlib root and not from a repo which depends on Mathlib. Fixes #28594 --- I don't know how to test this fix since it would need to be in a nightly release, but at least it is working when ran from from tip of master. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor CI 3/3 Cache/Requests.lean 1 3 ['github-actions', 'ineol', 'robin-carlier'] kim-em
assignee:kim-em
3-26156
3 days ago
3-26156
3 days ago
11-36798
11 days
30141 shalliso
author:shalliso
fix(Topology/Baire/Lemmas): fix index type in isMeagre_iUnion The index set ι needs to be of type Sort* instead of type Type* in isMeagre_iUnion otherwise I get the following message when I try to use it: typeclass instance problem is stuck, it is often due to metavariables Countable ?m.27 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 1/1 Mathlib/Topology/GDelta/Basic.lean 1 1 ['github-actions'] nobody
2-81204
2 days ago
2-81217
2 days ago
2-81251
2 days
29728 ADA-Projects
author:ADA-Projects
feat(Topology/KrullDimension): add subspace dimension inequality This PR extends topological Krull dimension theory with basic results about subspaces. - Add mapIrreducibleClosed function for canonical maps between irreducible closed sets - Prove injectivity and strict monotonicity of these maps - Establish partial order structure on IrreducibleCloseds - Prove topKrullDim_subspace_le theorem showing dim(Y) ≤ dim(X) for subspaces **Update (per reviewer feedback):** Reorganized code structure as requested: - Moved `IrreducibleCloseds` extensions from `KrullDimension.lean` to `Sets/Closeds.lean` - This includes `PartialOrder` instance, `map` functions, and embedding lemmas - Better modularity: other files can now use `IrreducibleCloseds` without importing Krull dimension theory The main result `topologicalKrullDim_subspace_le` remains the same - any subspace Y has dim(Y) ≤ dim(X). Some sections of this code (and documentation) were generated with the help of Gemini. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-topology 146/20 Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean 2 9 ['ADA-Projects', 'fpvandoorn', 'github-actions', 'kim-em'] PatrickMassot
assignee:PatrickMassot
2-68494
2 days ago
10-37934
10 days ago
10-54654
10 days
30069 IvanRenison
author:IvanRenison
feat(Combinatorics/SimpleGraph): add lemma `IsTree.dist_ne_of_adj` and necessary lemmas This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 34/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 7 ['github-actions', 'themathqueen', 'vlad902'] nobody
2-42186
2 days ago
6-15281
6 days ago
6-21032
6 days
30158 nicolaviolette
author:nicolaviolette
feat: combinatorics simplegraph basic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 9/4 Mathlib/Combinatorics/SimpleGraph/Basic.lean 1 1 ['github-actions'] nobody
2-34228
2 days ago
2-34236
2 days ago
2-34270
2 days
30121 idontgetoutmuch
author:idontgetoutmuch
Principal fiber bundle core A structure capturing what it means to be a principal fibre bundle. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-differential-geometry 227/0 Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean 2 5 ['github-actions', 'grunweg'] nobody
2-33176
2 days ago
2-46150
2 days ago
3-39102
3 days
30163 NotWearingPants
author:NotWearingPants
feat(Data/Set/Lattice): useful equivalences of `biUnion` and `biInter` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 25/0 Mathlib/Data/Set/Lattice.lean 1 1 ['github-actions'] nobody
2-23342
2 days ago
2-23342
2 days ago
2-23392
2 days
27400 dleijnse
author:dleijnse
feat: define geometrically reduced algebras Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
117/0 Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Nilpotent/Defs.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean,Mathlib/RingTheory/TensorProduct/Basic.lean 6 72 ['dleijnse', 'github-actions', 'joelriou', 'kckennylau'] joelriou
assignee:joelriou
2-22447
2 days ago
2-22484
2 days ago
69-34296
69 days
29759 NotWearingPants
author:NotWearingPants
feat(Analysis/SpecificLimits/Fibonacci): prove that the ratio of consecutive Fibonacci numbers tends to the golden ratio --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-analysis 36/0 Mathlib.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean 2 7 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions', 'kckennylau'] nobody
2-19185
2 days ago
2-19186
2 days ago
9-74562
9 days
30147 NotWearingPants
author:NotWearingPants
feat(NumberTheory/ArithmeticFunction): add some lemmas --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-number-theory 23/1 Mathlib/NumberTheory/ArithmeticFunction.lean 1 2 ['github-actions', 'kckennylau'] nobody
2-18576
2 days ago
2-65110
2 days ago
2-65142
2 days
29754 or4nge19
author:or4nge19
feat(Combinatorics/Quiver): add strongly connected quivers Define strongly connected quivers and their components. Add both standard strong connectivity (allowing length-0 paths) and positive-path strong connectivity. Establish basic properties and relationships to weak connectivity via symmetrification. This is part of Perron Frobenius theorem and grounds its characterization/def of Irreducible matrices and Markov chain analysis in subsequent PRs. split from #28728 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 210/5 Mathlib/Combinatorics/Quiver/ConnectedComponent.lean 1 13 ['github-actions', 'ocfnash', 'or4nge19'] ocfnash
assignee:ocfnash
2-13380
2 days ago
5-142
5 days ago
15-67335
15 days
26785 TOMILO87
author:TOMILO87
feat: beta distribution Add the Beta distribution to the probability distributions in mathlib4 This PR introduces the Beta distribution on the reals. Main definitions: - betaPDFReal (α β x : ℝ) — the probability density function as a real-valued function - betaPDF (α β x : ℝ) — the pdf as a ℝ≥0∞-valued function - betaMeasure (α β : ℝ) — the probability measure associated with the Beta distribution Main results: - lintegral_betaPDF_eq_one — proof that the pdf integrates to 1 (normalization) - Lemmas on positivity, measurability, and integrability of the pdf - isProbabilityMeasureBeta — the Beta measure is a probability measure Notes: - Follows the general structure of other distributions in mathlib (e.g. Gamma). - Several unused helper lemmas were removed, and proofs streamlined in response to reviewer feedback. - Thanks to @EtienneC30 and @RemyDegenne for detailed reviews across multiple rounds. This is a clean version of the PR originally opened as [#25608](https://github.com/leanprover-community/mathlib4/pull/25608) and temporarily migrated in [#26325](https://github.com/leanprover-community/mathlib4/pull/26325). new-contributor t-measure-probability 152/0 Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean 3 49 ['EtienneC30', 'RemyDegenne', 'TOMILO87', 'github-actions'] EtienneC30
assignee:EtienneC30
1-81809
1 day ago
11-39894
11 days ago
70-6733
70 days
29279 Jlh18
author:Jlh18
feat: free groupoid on a category, free-forgetful adjunction - define `CategoryTheory.Category.FreeGroupoid` in a file of the same name - show the universal property of this construction, as the initial category localizing all maps in the category. These are the defs `of`, `lift`, and their related theorems - Show that this construction is functorial `CategoryTheory.Category.FreeGroupoid.map` - Convert this to a functor `CategoryTheory.Category.Grpd.free` from `Cat` to `Grpd`, and show that it is left adjoint to the forgetful functor - `CategoryTheory.Grpd.freeForgetAdjunction` - [ ] depends on: #29278 - [ ] depends on: #30115 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-category-theory 236/1 Mathlib.lean,Mathlib/CategoryTheory/Category/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean 3 10 ['Jlh18', 'MichaelStollBayreuth', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-80319
1 day ago
1-81293
1 day ago
12-81338
12 days
29463 HugLycan
author:HugLycan
feat(Positivity): add positivity extensions for `NNReal.rpow` and `ENNReal.rpow` --- This PR adds positivity extensions for `NNReal.rpow` and `ENNReal.rpow`. related issue #6038 @fpvandoorn [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 70/3 Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,MathlibTest/positivity.lean 2 10 ['HugLycan', 'fpvandoorn', 'github-actions', 'grunweg'] hrmacbeth
assignee:hrmacbeth
1-68498
1 day ago
9-19855
9 days ago
9-21535
9 days
29999 jeremypparker
author:jeremypparker
chore(Analysis/Fourier/AddCircle): remove stale comment --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 0/1 Mathlib/Analysis/Fourier/AddCircle.lean 1 2 ['Ruben-VandeVelde', 'github-actions', 'jeremypparker'] sgouezel
assignee:sgouezel
1-68491
1 day ago
9-37239
9 days ago
9-37272
9 days
28546 Sfgangloff
author:Sfgangloff
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… # Symbolic dynamics on groups: core API and entropy along finite shapes 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). new-contributor t-dynamics 717/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean 2 64 ['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] sgouezel
assignee:sgouezel
1-47819
1 day ago
1-47917
1 day ago
35-32574
35 days
30187 CoolRmal
author:CoolRmal
chore(Topology/MeasureTheory/Probability): Rename the file for compactly supported continuous functions. Move two lemmas `essSup_uniformOn_eq_ciSup` and `essInf_cond_count_eq_ciInf` from Mathlib/MeasureTheory/Function/EssSup.lean to Mathlib/Probability/UniformOn.lean in order to avoid warnings for import in the PR [feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem](https://github.com/leanprover-community/mathlib4/pull/28061#top). Create a new folder named CompactlySupported and moved two related files into this folder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed new-contributor 17/15 Mathlib.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Basic.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Bounded.lean 8 1 ['github-actions'] nobody
1-45413
1 day ago
1-47380
1 day ago
1-47425
1 day
29960 yonggyuchoimath
author:yonggyuchoimath
feat(Algebra/Category/Ring): equalizers of pushout maps of tensor product inclusions This PR defines a ring map `S →ₗ[R] S ⊗[R] S : s ↦ (s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)` for an `R`-algebra `S`, and show that its kernel is exactly (the image of) `R` if `S` is faithfully flat over `R`. Changes: * `TensorProduct.AlgebraTensorModule.distribBaseChange`: Origianlly takes `M` and `N`, where `M` is an `R`-module with an additional instance `IsScalarTower R A M`. This is unnecessary, so I changed the `M` and `N` into `N` and `Q`, now both of which are merely modules over `R`. Main results : * Add compatibility of `Algebra.TensorProduct.includeLeft` (or `Algebra.TensorProduct.includeRight`) with `TensorProduct.AlgebraTensorModule.distribBaseChange` and `LinearMap.lTensor` * Define `Algebra.TensorProduct.includeLeftSubRight`, which is the `R`-linear map `S →ₗ[R] S ⊗[R] S` sending `s : S` to `(s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)`. * `Algebra.TensorProduct.exactIncludeLeftSubRight_of_faithfullyFlat`: the pair `algebraMap : R → S` and `includeLeftSubRight R S : S → S ⊗[R] S` is exact if `S` is a faithfully flat `R`-algebra. new-contributor 229/1 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean 4 3 ['erdOne', 'github-actions', 'yonggyuchoimath'] nobody
1-11607
1 day ago
5-2371
5 days ago
7-36840
7 days
30206 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Hamiltonian): `p.support.length = Fintype.card α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 8/0 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
1-5932
1 day ago
1-5943
1 day ago
1-5984
1 day
29652 fmortimore
author:fmortimore
feat(Order): the Bourbaki–Witt theorem We prove the Bourbaki-Witt theorem, one of Wiedijk's 1000+ theorems --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-order 231/0 Mathlib.lean,Mathlib/Order/BourbakiWitt.lean,docs/1000.yaml 3 7 ['eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] Vierkantor
assignee:Vierkantor
0-85206
23 hours ago
20-80411
20 days ago
20-80442
20 days
30215 NotWearingPants
author:NotWearingPants
feat(Data/List/NodupEquivFin): add equiv with `count = 1` hypothesis --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 7/2 Mathlib/Data/List/NodupEquivFin.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79153
21 hours ago
0-79153
21 hours ago
0-79537
22 hours
30214 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 11/0 Mathlib/Data/List/Basic.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79082
21 hours ago
0-79082
21 hours ago
0-79834
22 hours
30219 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Paths): path iff `p.support.get` is injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 4/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-76193
21 hours ago
0-76209
21 hours ago
0-76242
21 hours
30220 NotWearingPants
author:NotWearingPants
chore(Data/List/Nodup): golf `nodup_iff_injective_get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 2/5 Mathlib/Data/List/Nodup.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-74597
20 hours ago
0-74607
20 hours ago
0-74643
20 hours
30216 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): `get` is surjective iff every element is in the list --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 13/0 Mathlib/Data/List/Basic.lean 1 3 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-74014
20 hours ago
0-79146
21 hours ago
0-79180
21 hours
30217 NotWearingPants
author:NotWearingPants
feat(Data/List/GetD): `getD` is surjective iff every element is in the list --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 19/0 Mathlib/Data/List/GetD.lean 1 2 ['github-actions', 'themathqueen'] nobody
0-73984
20 hours ago
0-78899
21 hours ago
0-78935
21 hours
30213 NotWearingPants
author:NotWearingPants
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 18/16 Mathlib/Data/List/GetD.lean 1 8 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-72220
20 hours ago
0-81361
22 hours ago
0-81558
22 hours
30223 NotWearingPants
author:NotWearingPants
feat(Data/List/Nodup): `get` is bijective iff `count = 1` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 9/0 Mathlib/Data/List/Nodup.lean 1 1 ['github-actions'] nobody
0-70538
19 hours ago
0-70550
19 hours ago
0-70583
19 hours
30225 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Walk): `p.getVert` and `p.support.get` have the same range --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 8/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 1 ['github-actions'] nobody
0-67638
18 hours ago
0-67652
18 hours ago
0-67692
18 hours
30231 NotWearingPants
author:NotWearingPants
feat(LinearAlgebra/Matrix/Charpoly): `trace_eq_neg_charpoly_coeff` using `nextCoeff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra easy
label:t-algebra$
6/3 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean 2 2 ['NotWearingPants', 'github-actions'] nobody
0-61969
17 hours ago
0-61972
17 hours ago
0-62014
17 hours
29956 NotWearingPants
author:NotWearingPants
feat(Algebra/Polynomial): small and useful lemmas feat(Algebra/Polynomial): added many small and useful lemmas about polynomials --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import new-contributor t-algebra
label:t-algebra$
299/74 Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean 16 60 ['NotWearingPants', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] nobody
0-60515
16 hours ago
3-73402
3 days ago
10-56353
10 days
30232 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): add `ConnectedComponent.toSubgraph` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 17/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-46483
12 hours ago
0-60166
16 hours ago
0-60205
16 hours
30205 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Walk): `p.getVert` is `p.support.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-combinatorics easy 15/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 3 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions'] nobody
0-35134
9 hours ago
0-35134
9 hours ago
1-6282
1 day

PRs on the review queue labelled 'easy'

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
28141 YaelDillies
author:YaelDillies
chore: deprecate `BialgHom.coe_toLinearMap` `BialgHom.toLinearMap` is a fake projection. From Toric --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory toric easy 5/11 Mathlib/RingTheory/Bialgebra/Hom.lean 1 8 ['YaelDillies', 'eric-wieser', 'github-actions'] alreadydone
assignee:alreadydone
49-68469
1 month ago
57-45598
1 month ago
57-45588
57 days
27567 themathqueen
author:themathqueen
feat(LinearAlgebra/TensorProduct/Associator): add `lid` and `assoc` tensor lemmas This adds `TensorProduct.lid_tensor` and `TensorProduct.assoc_tensor`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
31/2 Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean 2 3 ['github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
26-14143
26 days ago
56-3666
1 month ago
69-82894
69 days
29626 themathqueen
author:themathqueen
chore(Algebra/Order/Module/PositiveLinearMap): generalize `OrderHomClass.ofLinear` Generalize `OrderHomClass.ofLinear` from linear maps to additive group homomorphisms. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
10/11 Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean 2 5 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] Vierkantor
assignee:Vierkantor
12-68489
12 days ago
20-21648
20 days ago
22-0
22 days
28818 NotWearingPants
author:NotWearingPants
feat(Data/Setoid/Basic): add theorems about lifting a function to its kernel Currently `ker_lift_injective` and `quotientKerEquivOfRightInverse` lift `f` to `ker f` in their definition. This PR makes this function available as `Setoid.ker_lift f` and adds a few more theorems about it. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 29/15 Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean 4 18 ['NotWearingPants', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] nobody
11-71501
11 days ago
23-5585
23 days ago
41-20523
41 days
29221 euprunin
author:euprunin
chore: remove redundant `rintro` invocations (before `omega`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 0/3 Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Data/List/Range.lean 2 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] RemyDegenne
assignee:RemyDegenne
10-40351
10 days ago
10-40351
10 days ago
33-47991
33 days
28574 euprunin
author:euprunin
chore(Topology/Category): golf entire `finiteCoproduct.ι_desc_apply`, `piIsoPi_hom_apply`, `prodIsoProd_hom_apply` and `pullbackIsoProdSubtype_hom_apply` using `tauto` and `rfl` ---
Show trace profiling of finiteCoproduct.ι_desc_apply: 15 ms before, 25 ms after ### Trace profiling of `finiteCoproduct.ι_desc_apply` before PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..216c5888f2 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,6 +109,7 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x ``` ``` ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (1.9s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.011940] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.definition.header] [0.011212] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.010053] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012175] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012211] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.015416] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.014903] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.014576] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.014564] intro x change (ι X a ≫ desc X π) _ = _ simp only [ι_desc] [Elab.step] [0.011699] change (ι X a ≫ desc X π) _ = _ Build completed successfully (985 jobs). ``` ### Trace profiling of `finiteCoproduct.ι_desc_apply` after PR 28574 ```diff diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean index 493c277fec..b70ed614b6 100644 --- a/Mathlib/Topology/Category/CompHausLike/Limits.lean +++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean @@ -109,11 +109,10 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) : ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩ +set_option trace.profiler true in lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by - intro x - change (ι X a ≫ desc X π) _ = _ - simp only [ι_desc] + tauto instance : HasCoproduct X where exists_colimit := ⟨finiteCoproduct.cofan X, finiteCoproduct.isColimit X⟩ diff --git a/Mathlib/Topology/Category/TopCat/Limits/Products.lean b/Mathlib/Topology/Category/TopCat/Limits/Products.lean index 0b74c2f6ee..353896fce8 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Products.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Products.lean @@ -62,9 +62,7 @@ theorem piIsoPi_inv_π_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : theorem piIsoPi_hom_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) (x : (∏ᶜ α : TopCat.{max v u})) : (piIsoPi α).hom x i = (Pi.π α i :) x := by - have := piIsoPi_inv_π α i - rw [Iso.inv_comp_eq] at this - exact ConcreteCategory.congr_hom this x + tauto /-- The inclusion to the coproduct as a bundled continuous map. -/ abbrev sigmaι {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) : α i ⟶ TopCat.of (Σ i, α i) := by @@ -165,9 +163,7 @@ theorem prodIsoProd_hom_snd (X Y : TopCat.{u}) : theorem prodIsoProd_hom_apply {X Y : TopCat.{u}} (x : ↑(X ⨯ Y)) : (prodIsoProd X Y).hom x = ((Limits.prod.fst : X ⨯ Y ⟶ _) x, (Limits.prod.snd : X ⨯ Y ⟶ _) x) := by - ext - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_fst X Y) x - · exact ConcreteCategory.congr_hom (prodIsoProd_hom_snd X Y) x + tauto @[reassoc (attr := simp), elementwise] theorem prodIsoProd_inv_fst (X Y : TopCat.{u}) : diff --git a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean index 66049170b3..68b42db21b 100644 --- a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean +++ b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean @@ -110,9 +110,7 @@ theorem pullbackIsoProdSubtype_hom_apply {f : X ⟶ Z} {g : Y ⟶ Z} (pullbackIsoProdSubtype f g).hom x = ⟨⟨pullback.fst f g x, pullback.snd f g x⟩, by simpa using CategoryTheory.congr_fun pullback.condition x⟩ := by - apply Subtype.ext; apply Prod.ext - exacts [ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_fst f g) x, - ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_snd f g) x] + tauto theorem pullback_topology {X Y Z : TopCat.{u}} (f : X ⟶ Z) (g : Y ⟶ Z) : (pullback f g).str = ``` ``` ✔ [982/985] Built Mathlib.Topology.Category.TopCat.Limits.Products (2.7s) ✔ [983/985] Built Mathlib.Topology.Category.TopCat.Limits.Pullbacks (2.4s) ✔ [984/985] Built Mathlib.CategoryTheory.Extensive (4.3s) ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (3.0s) info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033044] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto [Elab.definition.header] [0.031659] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.030394] expected type: Sort ?u.7530, term ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030250] expected type: Sort ?u.7534, term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x [Elab.step] [0.030242] expected type: Sort ?u.7534, term binrel% Eq✝ (finiteCoproduct.desc X π (finiteCoproduct.ι X a x)) (π a x) [Elab.step] [0.025815] expected type: , term finiteCoproduct.desc X π (finiteCoproduct.ι X a x) [Elab.step] [0.010204] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term (finiteCoproduct.ι X a x) [Elab.step] [0.010186] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term finiteCoproduct.ι X a x info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033536] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033652] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) : ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.025323] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply [Elab.definition.value] [0.024806] CompHausLike.finiteCoproduct.ι_desc_apply [Elab.step] [0.024330] tauto [Elab.step] [0.024317] tauto [Elab.step] [0.024304] tauto Build completed successfully (985 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-topology easy 4/15 Mathlib/Topology/Category/CompHausLike/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean 3 1 ['github-actions'] ADedecker
assignee:ADedecker
10-40304
10 days ago
10-40304
10 days ago
49-9756
49 days
28490 euprunin
author:euprunin
chore: golf entire `epi_of_cokernel_π_eq_zero`, `bottom_row_coprime`, `congr_of_eventuallyEq` and `Invertible.congr` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) easy 8/12 Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/Topology/ContinuousOn.lean 4 1 ['github-actions'] kex-y
assignee:kex-y
10-40271
10 days ago
10-40271
10 days ago
44-2037
44 days
30062 plp127
author:plp127
chore(Order/Defs/PartialOrder): golf non-instance Golf `decidableLTOfDecidableLE` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order easy 2/6 Mathlib/Order/Defs/PartialOrder.lean 1 1 ['github-actions'] nobody
6-76632
6 days ago
6-76696
6 days ago
6-76684
6 days
30159 joelriou
author:joelriou
chore: make Opposite.small an instance If `X` is small, so is `Xᵒᵖ`. It no longer seems to be dangerous to have such an instance. (Which shall be convenient for #30160.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-category-theory easy 2/3 Mathlib/Data/Opposite.lean 1 5 ['github-actions', 'joelriou', 'leanprover-bot'] nobody
2-20913
2 days ago
2-20913
2 days ago
2-20891
2 days
30114 euprunin
author:euprunin
chore(Data/Finset): golf entire `powersetCard_zero` using `grind` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 1/5 Mathlib/Data/Finset/Powerset.lean 1 1 ['github-actions'] nobody
1-22743
1 day ago
1-22743
1 day ago
4-5507
4 days
27370 euprunin
author:euprunin
chore(Tactic/CancelDenoms): golf entire `cancel_factors_eq` using `grind` ---
Show trace profiling of cancel_factors_eq: 120 ms before, 46 ms after 🎉 ### Trace profiling of `cancel_factors_eq` before PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..3ec2128994 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,6 +80,7 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (2.8s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.015258] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.definition.header] [0.014988] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.122474] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.119890] CancelDenoms.cancel_factors_eq [Elab.step] [0.118614] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.118601] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] ext; constructor · rintro rfl rfl · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.010324] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] [Elab.step] [0.010312] (rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl))) [Elab.step] [0.010299] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.010291] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]; with_annotate_state"]" (try (with_reducible rfl)) [Elab.step] [0.105805] · intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105661] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.105650] intro h simp only [← mul_assoc] at h refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h on_goal 1 => apply mul_ne_zero on_goal 1 => apply div_ne_zero · exact one_ne_zero all_goals assumption [Elab.step] [0.043946] refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.043859] expected type: a = b, term mul_left_cancel₀ (mul_ne_zero ?_ ?_) h [Elab.step] [0.025447] expected type: ?m.103 * ?m.104 ≠ 0, term (mul_ne_zero ?_ ?_) [Elab.step] [0.025432] expected type: ?m.103 * ?m.104 ≠ 0, term mul_ne_zero ?_ ?_ [Meta.synthInstance] [0.019262] ✅️ NoZeroDivisors α [Elab.step] [0.021441] on_goal 1 => apply mul_ne_zero [Elab.step] [0.019543] apply mul_ne_zero [Elab.step] [0.019530] apply mul_ne_zero [Elab.step] [0.019514] apply mul_ne_zero [Meta.synthInstance] [0.013986] ✅️ NoZeroDivisors α [Elab.step] [0.018650] · exact one_ne_zero [Elab.step] [0.018355] exact one_ne_zero [Elab.step] [0.018309] exact one_ne_zero [Elab.step] [0.018269] exact one_ne_zero [Elab.step] [0.017827] expected type: 1 ≠ 0, term one_ne_zero [Meta.synthInstance] [0.012295] ✅️ NeZero 1 Build completed successfully (436 jobs). ``` ### Trace profiling of `cancel_factors_eq` after PR 27370 ```diff diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean index c4b62d3e29..066f915189 100644 --- a/Mathlib/Tactic/CancelDenoms/Core.lean +++ b/Mathlib/Tactic/CancelDenoms/Core.lean @@ -80,20 +80,11 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing · exact mul_pos had hbd · exact one_div_pos.2 hgcd +set_option trace.profiler true in theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by - rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd] - ext; constructor - · rintro rfl - rfl - · intro h - simp only [← mul_assoc] at h - refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h - on_goal 1 => apply mul_ne_zero - on_goal 1 => apply div_ne_zero - · exact one_ne_zero - all_goals assumption + grind theorem cancel_factors_ne {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : ``` ``` ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (3.1s) info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.034809] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a') (hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) : (a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by grind [Elab.definition.header] [0.014091] CancelDenoms.cancel_factors_eq info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.046425] elaborating proof of CancelDenoms.cancel_factors_eq [Elab.definition.value] [0.045869] CancelDenoms.cancel_factors_eq [Elab.step] [0.045340] grind [Elab.step] [0.045327] grind [Elab.step] [0.045311] grind info: Mathlib/Tactic/CancelDenoms/Core.lean:87:2: [Elab.async] [0.027621] Lean.addDecl [Kernel] [0.027585] ✅️ typechecking declarations [CancelDenoms.cancel_factors_eq._proof_1_1] Build completed successfully (436 jobs). ```
maintainer-merge t-meta easy 1/11 Mathlib/Tactic/CancelDenoms/Core.lean 1 9 ['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] alexjbest
assignee:alexjbest
1-16514
1 day ago
1-16515
1 day ago
74-75001
74 days
30206 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Hamiltonian): `p.support.length = Fintype.card α` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 8/0 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
1-5932
1 day ago
1-5943
1 day ago
1-5984
1 day
30215 NotWearingPants
author:NotWearingPants
feat(Data/List/NodupEquivFin): add equiv with `count = 1` hypothesis --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 7/2 Mathlib/Data/List/NodupEquivFin.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79153
21 hours ago
0-79153
21 hours ago
0-79537
22 hours
30214 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 11/0 Mathlib/Data/List/Basic.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-79082
21 hours ago
0-79082
21 hours ago
0-79834
22 hours
30219 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Paths): path iff `p.support.get` is injective --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 4/0 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-76193
21 hours ago
0-76209
21 hours ago
0-76242
21 hours
30220 NotWearingPants
author:NotWearingPants
chore(Data/List/Nodup): golf `nodup_iff_injective_get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 2/5 Mathlib/Data/List/Nodup.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-74597
20 hours ago
0-74607
20 hours ago
0-74643
20 hours
30216 NotWearingPants
author:NotWearingPants
feat(Data/List/Basic): `get` is surjective iff every element is in the list --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 13/0 Mathlib/Data/List/Basic.lean 1 3 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-74014
20 hours ago
0-79146
21 hours ago
0-79180
21 hours
30222 b-mehta
author:b-mehta
feat(Nat/Log): add lemma for `log b (n / b ^ k)` This lemma is a simple consequence of the previous by induction, but is often useful for calculation, especially since the natural number division and natural number subtraction play very nicely here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 5/0 Mathlib/Data/Nat/Log.lean 1 2 ['github-actions', 'themathqueen'] nobody
0-72251
20 hours ago
0-73194
20 hours ago
0-73233
20 hours
30213 NotWearingPants
author:NotWearingPants
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 18/16 Mathlib/Data/List/GetD.lean 1 8 ['NotWearingPants', 'github-actions', 'themathqueen'] nobody
0-72220
20 hours ago
0-81361
22 hours ago
0-81558
22 hours
30227 b-mehta
author:b-mehta
feat(Nat/Log): log of Nat.bit A useful rewrite lemma in applications, especially when `b` is a more complex expression. Mathlib already has a preference for using `Nat.log 2` over `Nat.log2`, since the former has many more lemmas about it, and better tactic support, so we follow the established pattern here. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data easy 4/0 Mathlib/Data/Nat/Log.lean 1 1 ['github-actions'] nobody
0-65086
18 hours ago
0-65089
18 hours ago
0-65130
18 hours
30231 NotWearingPants
author:NotWearingPants
feat(LinearAlgebra/Matrix/Charpoly): `trace_eq_neg_charpoly_coeff` using `nextCoeff` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra easy
label:t-algebra$
6/3 Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean 2 2 ['NotWearingPants', 'github-actions'] nobody
0-61969
17 hours ago
0-61972
17 hours ago
0-62014
17 hours
30232 NotWearingPants
author:NotWearingPants
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): add `ConnectedComponent.toSubgraph` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics easy 17/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 2 ['NotWearingPants', 'github-actions'] nobody
0-46483
12 hours ago
0-60166
16 hours ago
0-60205
16 hours
30205 NotWearingPants
author:NotWearingPants
feat(Combinators/SimpleGraph/Walk): `p.getVert` is `p.support.get` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-combinatorics easy 15/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 3 ['NotWearingPants', 'Ruben-VandeVelde', 'github-actions'] nobody
0-35134
9 hours ago
0-35134
9 hours ago
1-6282
1 day

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

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
30107 grunweg
author:grunweg
chore: track occurrences of 'nonrec' as technical debt Matches leanprover-community/leanprover-community.github.io#689: only merge when that is deemed a good idea. -------- TODO: make the count more robust, for instance count all occurrences of "^nonrec " plus those of "^[private|protected] nonrec ". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) tech debt CI 1/0 scripts/technical-debt-metrics.sh 1 1 ['github-actions'] nobody
4-24120
4 days ago
4-41370
4 days ago
4-41348
4 days