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 29, 2025 at 22:00 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
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
85-44477
2 months ago
85-44477
2 months ago
134-13188
134 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
85-44371
2 months ago
85-44371
2 months ago
172-1419
172 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
83-75545
2 months ago
117-623
3 months ago
117-657
117 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
82-75544
2 months ago
90-25193
2 months ago
117-13027
117 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
82-39321
2 months ago
94-22618
3 months ago
94-22643
94 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
78-75561
2 months ago
141-62871
4 months ago
157-8396
157 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
72-75536
2 months ago
80-2372
2 months ago
80-2409
80 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
71-75551
2 months ago
82-10843
2 months ago
82-71739
82 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
70-75559
2 months ago
82-7628
2 months ago
82-7664
82 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
70-75556
2 months ago
80-20486
2 months ago
80-20525
80 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
67-75565
2 months ago
76-48501
2 months ago
76-48539
76 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
67-21953
2 months ago
103-50399
3 months ago
103-50433
103 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
66-75531
2 months ago
73-86383
2 months ago
73-86357
73 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
65-75536
2 months ago
74-71884
2 months ago
74-71859
74 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
65-75533
2 months ago
77-57749
2 months ago
77-60450
77 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
64-75562
2 months ago
75-19362
2 months ago
79-37050
79 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
63-22516
2 months ago
112-76623
3 months ago
112-76659
112 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
63-16792
2 months ago
171-14157
5 months ago
218-66365
218 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
61-47184
2 months ago
123-68400
4 months ago
123-73142
123 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
61-46940
2 months ago
130-84503
4 months ago
131-2705
131 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
58-55183
1 month ago
58-60229
1 month ago
123-30707
123 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
56-49665
1 month ago
101-26489
3 months ago
101-26532
101 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
54-52213
1 month ago
85-44599
2 months ago
129-812
129 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
54-41609
1 month ago
54-41609
1 month ago
60-27790
60 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
54-20205
1 month ago
61-44094
2 months ago
63-14698
63 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
52-40243
1 month ago
74-46698
2 months ago
74-46730
74 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
46-10455
1 month ago
46-10480
1 month ago
193-84593
193 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
45-75542
1 month ago
62-41774
2 months ago
62-41790
62 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
45-44029
1 month ago
196-42261
6 months ago
252-2970
252 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
44-75537
1 month ago
52-44095
1 month ago
79-21450
79 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
44-47950
1 month ago
168-30987
5 months ago
253-4010
253 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
44-22938
1 month ago
44-22946
1 month ago
108-37247
108 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
44-22088
1 month ago
48-16519
1 month ago
132-16560
132 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
41-11215
1 month ago
75-85006
2 months ago
76-59
76 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
40-84216
1 month ago
40-84216
1 month ago
41-49198
41 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
40-75545
1 month ago
48-14978
1 month ago
48-15629
48 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
40-61559
1 month ago
50-66148
1 month ago
98-33224
98 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
40-989
1 month ago
52-36941
1 month ago
52-36983
52 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
39-75557
1 month ago
48-20399
1 month ago
48-20437
48 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
38-85291
1 month ago
47-18705
1 month ago
47-20990
47 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
36-77881
1 month ago
36-77881
1 month ago
48-21681
48 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
36-75551
1 month ago
44-3867
1 month ago
44-3843
44 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
36-2919
1 month ago
44-13870
1 month ago
44-13846
44 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
35-18806
1 month ago
66-9043
2 months ago
66-9076
66 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
35-10120
1 month ago
51-4292
1 month ago
64-20203
64 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
34-75549
1 month ago
42-29106
1 month ago
46-42026
46 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
33-75550
1 month ago
41-47524
1 month ago
49-67070
49 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
33-75544
1 month ago
41-23070
1 month ago
41-39597
41 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
31-75539
1 month ago
45-31249
1 month ago
45-31232
45 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
31-57075
1 month ago
49-19510
1 month ago
49-19485
49 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
31-45796
1 month ago
138-29908
4 months ago
138-29882
138 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
30-75552
1 month ago
54-14629
1 month ago
54-14671
54 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
30-50090
1 month ago
60-75217
1 month ago
60-75249
60 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
29-75536
29 days ago
37-34400
1 month ago
37-34377
37 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
28-75528
28 days ago
36-26903
1 month ago
36-26880
36 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
28-45785
28 days ago
29-31507
29 days ago
128-11916
128 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
28-25878
28 days ago
28-25878
28 days ago
108-27100
108 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
28-6753
28 days ago
unknown
unknown
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
27-43062
27 days ago
64-61905
2 months ago
71-31372
71 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
26-35089
26 days ago
36-24247
1 month ago
42-63284
42 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
25-75557
25 days ago
33-44305
1 month ago
33-44338
33 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
25-45334
25 days ago
53-53251
1 month ago
53-53284
53 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
25-44330
25 days ago
139-27743
4 months ago
139-27716
139 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
25-35615
25 days ago
45-64560
1 month ago
45-67783
45 days
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
24-53438
24 days ago
62-44295
2 months ago
157-10341
157 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
24-37263
24 days ago
24-37263
24 days ago
47-63777
47 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
24-26712
24 days ago
24-86024
24 days ago
39-35952
39 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
24-15901
24 days ago
86-42533
2 months ago
127-51937
127 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 - [ ] depends on : #30135 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
24-6754
24 days ago
63-9497
2 months ago
112-80902
112 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$
211/27 Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean 3 33 ['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] kbuzzard
assignee:kbuzzard
23-75729
23 days ago
77-22046
2 months ago
114-1360
114 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'] PatrickMassot
assignee:PatrickMassot
23-75554
23 days ago
31-11944
1 month ago
32-25349
32 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 7 ['alreadydone', 'dwrensha', 'github-actions', 'plp127'] nobody
23-75356
23 days ago
24-17485
24 days ago
24-17517
24 days
28557 ShreckYe
author:ShreckYe
feat(Data/Nat/Factorization): some results on equality of powers of naturals proved from factorization I came across some math olympiad problems in number theory that could benefit from these theorems, expecially those on the prime power equality `p ^ m = a ^ n`. A specialized `eq_of_factorization_eq'` is added BTW to help with proof search. t-data 100/0 Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean 3 13 ['Ruben-VandeVelde', 'ShreckYe', 'github-actions'] pechersky
assignee:pechersky
23-63661
23 days ago
23-65345
23 days ago
70-59490
70 days
28484 euprunin
author:euprunin
chore(Data): deprecate `toReal_eq_toReal`, `count_eq_of_nodup` and `smul_mat_cons` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 16/25 Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/FinRange.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Matrix/Notation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/Probability/Distributions/Exponential.lean,Mathlib/Probability/Independence/Integration.lean,Mathlib/Probability/Kernel/Condexp.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean 13 13 ['b-mehta', 'bryangingechen', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'pechersky', 'qawbecrdtey'] pechersky
assignee:pechersky
23-18335
23 days ago
23-18335
23 days ago
72-48203
72 days
28950 Vierkantor
author:Vierkantor
fix(TacticAnalysis): remove 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. Moreover, [Verso involves pieces of syntax without any range at all](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Possible.20Verso.E2.80.93Mathlib.20conflict/with/543352839). So the range of a piece of syntax is essentially meaningless and we should not check it at all. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 18/11 Mathlib/Tactic/TacticAnalysis.lean,MathlibTest/TacticAnalysis.lean 2 3 ['Vierkantor', 'github-actions', 'thorimur'] robertylewis
assignee:robertylewis
23-17836
23 days ago
64-43609
2 months ago
64-43585
64 days
28389 euprunin
author:euprunin
chore(Algebra/Group/Subgroup): deprecate `sup_subgroupOf_eq` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
9/13 Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/GroupTheory/PGroup.lean 2 4 ['Ruben-VandeVelde', 'chrisflav', 'euprunin', 'github-actions'] chrisflav
assignee:chrisflav
23-4065
23 days ago
23-4524
23 days ago
46-41820
46 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'] hrmacbeth
assignee:hrmacbeth
22-75557
22 days ago
30-49645
1 month ago
30-51223
30 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'] erdOne
assignee:erdOne
22-75552
22 days ago
30-20422
1 month ago
30-21054
30 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
21-52154
21 days ago
54-48229
1 month ago
54-48258
54 days
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'] kex-y
assignee:kex-y
20-75548
20 days ago
27-85804
27 days ago
27-85837
27 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'] robertylewis
assignee:robertylewis
20-75548
20 days ago
28-48436
28 days ago
28-48414
28 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 147/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 11 ['chrisflav', 'github-actions', 'xroblot'] chrisflav
assignee:chrisflav
20-51956
20 days ago
20-51956
20 days ago
53-54925
53 days
30355 kckennylau
author:kckennylau
feat(Logic): graded functions This PR defines a class of graded functions, called `GradedFunLike`. It is intended to be used in #30312 to characterise a class of graded ring homomorphisms, where it is invoked as `[GradedFunLike F 𝒜 ℬ] [RingHomClass F A B]`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 41/0 Mathlib.lean,Mathlib/Data/FunLike/Graded.lean 2 1 ['github-actions'] nobody
20-34893
20 days ago
20-75364
20 days ago
20-75401
20 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
20-16577
20 days ago
38-29118
1 month ago
38-29127
38 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 3 ['github-actions', 'riccardobrasca', 'zach1502'] riccardobrasca
assignee:riccardobrasca
20-13009
20 days ago
37-5439
1 month ago
37-70901
37 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
20-6595
20 days ago
34-8515
1 month ago
34-8491
34 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 easy 2/6 Mathlib/Combinatorics/Quiver/Symmetric.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
20-1116
20 days ago
20-1116
20 days ago
73-17466
73 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 4 ['github-actions', 'kckennylau', 'pechersky'] urkud
assignee:urkud
19-85818
19 days ago
91-65567
2 months ago
91-65551
91 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', 'kckennylau'] fpvandoorn
assignee:fpvandoorn
19-84833
19 days ago
90-23903
2 months ago
90-23947
90 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'] b-mehta
assignee:b-mehta
19-75555
19 days ago
42-38155
1 month ago
42-38199
42 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'] alreadydone
assignee:alreadydone
19-75553
19 days ago
27-38564
27 days ago
27-38667
27 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'] dagurtomas
assignee:dagurtomas
19-75549
19 days ago
27-1883
27 days ago
27-1917
27 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'] dupuisf and kbuzzard
assignee:dupuisf assignee:kbuzzard
19-68636
19 days ago
53-2072
1 month ago
55-25025
55 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 52 ['JovanGerb', 'Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] robertylewis
assignee:robertylewis
19-32654
19 days ago
104-13278
3 months ago
104-17586
104 days
27047 YaelDillies
author:YaelDillies
feat: `MonoidHom.toAdditiveRight` as a `MulEquiv` From Toric --- - [x] depends on: #29800 I haven't yet been very thorough with the new lemmas. I first want to hear thoughts about the names [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) toric t-algebra
label:t-algebra$
31/7 Mathlib/Algebra/Group/TypeTags/Hom.lean 1 6 ['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] adomani
assignee:adomani
19-28379
19 days ago
19-28698
19 days ago
87-66191
87 days
29449 mitchell-horner
author:mitchell-horner
feat(Combinatorics/SimpleGraph): add Turán density related theorems Refactors `tendsto_turanDensity` and implements `turanDensity_eq_sInf` and `isContained_of_card_edgeFinset` (theorems that are common in proofs involving Turán density). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 51/14 Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean 1 13 ['YaelDillies', 'github-actions', 'mitchell-horner'] YaelDillies
assignee:YaelDillies
19-27944
19 days ago
23-60420
23 days ago
49-78492
49 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 3 ['github-actions', 'mans0954', 'urkud'] kim-em
assignee:kim-em
18-75665
18 days ago
136-34606
4 months ago
136-34645
136 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'] awainverse
assignee:awainverse
18-75565
18 days ago
35-19088
1 month ago
35-19126
35 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'] chrisflav
assignee:chrisflav
18-75560
18 days ago
26-66859
26 days ago
26-66894
26 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 12 ['ADedecker', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
18-23372
18 days ago
31-11822
1 month ago
31-23053
31 days
29758 SnirBroshi
author:SnirBroshi
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 28/1 Mathlib/RingTheory/RootsOfUnity/Complex.lean 1 5 ['Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
18-21291
18 days ago
40-80366
1 month ago
41-965
41 days
30163 SnirBroshi
author:SnirBroshi
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
18-9539
18 days ago
26-30408
26 days ago
26-30458
26 days
30217 SnirBroshi
author:SnirBroshi
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
18-8059
18 days ago
24-85965
24 days ago
24-86001
24 days
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 487/0 Mathlib.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,docs/references.bib 4 98 ['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'sgouezel'] sgouezel
assignee:sgouezel
18-4375
18 days ago
20-67850
20 days ago
32-5432
32 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'] b-mehta
assignee:b-mehta
16-75539
16 days ago
24-23853
24 days ago
29-34313
29 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 55/0 Mathlib/RingTheory/DedekindDomain/AdicValuation.lean 1 5 ['erdOne', 'github-actions', 'smmercuri'] erdOne
assignee:erdOne
16-39315
16 days ago
26-20096
26 days ago
26-20127
26 days
30499 harahu
author:harahu
doc(AkraBazzi): minor tweaks and additions Broken out of #29464 to simplify review. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability 19/13 Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean 2 7 ['github-actions', 'grunweg', 'harahu'] nobody
16-32821
16 days ago
16-32821
16 days ago
16-35869
16 days
30285 kckennylau
author:kckennylau
chore: document Spec(R) notation in docstring of Spec #30272 changed the `Spec(R)` notation to scoped, so I am including this new information in the docstring of `AlgebraicGeometry.Spec`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 13/0 Mathlib/AlgebraicGeometry/Scheme.lean 1 1 ['github-actions'] alexjbest
assignee:alexjbest
15-75549
15 days ago
22-83720
22 days ago
22-83755
22 days
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
15-46705
15 days ago
56-77647
1 month ago
90-52509
90 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
15-43367
15 days ago
41-38027
1 month ago
88-58047
88 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 2 ['github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
15-34252
15 days ago
80-10732
2 months ago
94-3559
94 days
30557 SnirBroshi
author:SnirBroshi
feat(Logic/Relation): a relation is reflexive iff it subsumes the equality relation feat(Logic/Relation): a relation is reflexive iff it subsumes the equality relation, and irreflexive iff the inequality relation subsumes it --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 6/0 Mathlib/Logic/Relation.lean 1 2 ['SnirBroshi', 'github-actions', 'vihdzp'] nobody
14-71847
14 days ago
15-5803
15 days ago
15-5840
15 days
30525 515801431
author:515801431
Polya_counting This PR introduces basic definitions and results about colorings under permutation group actions. A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition: (g • c) x = c (g⁻¹ • x) This formalizes the natural action of relabeling the elements of X. Main definitions MulAction (Equiv.Perm X) (X → Y): The action of the permutation group on colorings via precomposition. coloringEquiv (c₁ c₂ : X → Y) : Prop: Two colorings are equivalent if they lie in the same orbit under this action, i.e. ∃ f : Equiv.Perm X, f • c₁ = c₂. Main results smul_eq_iff_mem_stabilizer: Characterizes when two group actions on the same coloring are equal, showing that g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c. coloringEquiv_equivalence: Proves that coloringEquiv defines an equivalence relation on X → Y. orbit_size_eq_index: Reformulates the orbit–stabilizer theorem in the context of colorings: |orbit c| = |Perm X| / |stabilizer c| Motivation These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. new-contributor t-combinatorics 111/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean 2 2 ['IvanRenison', 'github-actions'] nobody
14-46867
14 days ago
15-69549
15 days ago
15-69586
15 days
30542 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): `fromRel` is monotonic --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 11/1 Mathlib/Data/Sym/Sym2.lean 1 5 ['SnirBroshi', 'b-mehta', 'github-actions', 'vihdzp'] nobody
14-26558
14 days ago
15-36127
15 days ago
15-36159
15 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 751/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 3 84 ['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] sgouezel
assignee:sgouezel
14-22277
14 days ago
14-22277
14 days ago
58-39806
58 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'] b-mehta
assignee:b-mehta
13-75546
13 days ago
26-41302
26 days ago
26-41336
26 days
30233 Komyyy
author:Komyyy
refactor(Topology/Sequences): generalize seq-compactness lemmas to metrizable space * [`IsSeqCompact.isCompact`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#IsSeqCompact.isCompact) * [`UniformSpace.isCompact_iff_isSeqCompact`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#UniformSpace.isCompact_iff_isSeqCompact) * [`UniformSpace.compactSpace_iff_seqCompactSpace`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#UniformSpace.compactSpace_iff_seqCompactSpace) These are lemmas on uniform spaces which has countable uniformity, so can be generalized to pseudo-metrizable space. From [CLT](https://github.com/RemyDegenne/CLT) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-topology 20/7 Mathlib/Topology/Sequences.lean,docs/overview.yaml,docs/undergrad.yaml 3 1 ['github-actions'] grunweg
assignee:grunweg
13-75544
13 days ago
21-43598
21 days ago
21-44073
21 days
30602 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): `mapLe` preservation lemmas feat(Combinatorics/SimpleGraph/Walk): specialize `map` preservation lemmas from for `mapLe` --- It's hard to use the existing `map` lemmas when dealing with `mapLe`, specifically the lemmas for `support`/`edges`/`edgeSet` contain a map in the `map` version but not in the `mapLe` version, since `mapLe` maps walks with `id`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 21/1 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 1 ['github-actions'] nobody
13-66542
13 days ago
13-66542
13 days ago
13-66602
13 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 23/2 Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean 2 23 ['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vlad902'] YaelDillies
assignee:YaelDillies
13-2417
13 days ago
15-13845
15 days ago
32-67235
32 days
30626 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Connectivity/Connected): {`Subsingleton`, `Unique`, `Nonempty`} instances for `ConnectedComponent` feat(Combinatorics/SimpleGraph/Connectivity/Connected): add {`Subsingleton`, `Unique`, `Nonempty`} instances for `ConnectedComponent` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 4/4 Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean 1 1 ['github-actions'] nobody
12-75475
12 days ago
12-75487
12 days ago
12-75531
12 days
29824 themathqueen
author:themathqueen
feat(Algebra/Order/Star): add `StarOrderedRing (Π i, A i)` --- - [x] depends on: #29823 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
38/0 Mathlib.lean,Mathlib/Algebra/Order/Star/Pi.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] joneugster
assignee:joneugster
12-41391
12 days ago
20-40929
20 days ago
20-41327
20 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 21 ['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
12-22409
12 days ago
27-79751
27 days ago
28-52367
28 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. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 159/104 Mathlib/Data/Fin/Tuple/Basic.lean 1 7 ['github-actions', 'linesthatinterlace', 'llllvvuu', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
12-19556
12 days ago
30-16397
1 month ago
31-72302
31 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 5/11 Mathlib/RingTheory/Bialgebra/Hom.lean 1 8 ['YaelDillies', 'eric-wieser', 'github-actions'] alreadydone
assignee:alreadydone
12-240
12 days ago
12-240
12 days ago
81-52654
81 days
30559 SnirBroshi
author:SnirBroshi
feat(Data/Sym/Sym2): add `Sym2.diagSet` feat(Data/Sym/Sym2): add `Sym2.diagSet`, the set of elements on the diagonal --- This should help state theorems in simple graphs more easily (e.g. see `SimpleGraph.edgeSet_fromEdgeSet`, `SimpleGraph.edgeSet_sdiff_sdiff_isDiag`, `SimpleGraph.edgeSet_subset_setOf_not_isDiag`) and more importantly work with such statements. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 39/6 Mathlib/Data/Sym/Sym2.lean 1 1 ['github-actions'] nobody
11-78142
11 days ago
15-4004
15 days ago
15-4043
15 days
27606 CBirkbeck
author:CBirkbeck
Eisenstein q exp identity --- - [x] depends on: #26016 - [x] depends on: #27212 - [x] depends on: #27837 - [x] depends on: #27839 - [x] depends on: #27840 - [x] depends on: #28690 - [x] depends on: #27838 - [x] depends on: #27841 - [x] depends on: #27844 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 124/6 Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean 1 11 ['MichaelStollBayreuth', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
11-75570
11 days ago
19-36163
19 days ago
20-14825
20 days
29980 mans0954
author:mans0954
refactor(RingTheory/Polynomial/Resultant/Quadratic): Re-implement QuadraticDiscriminant for R[X] Re-implement `Algebra/QuadraticDiscriminant` for polynomials. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/discriminants.20of.20low.20degree.20polynomials/with/538010519) --- - [ ] depends on: #29981 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 208/0 Mathlib.lean,Mathlib/RingTheory/Polynomial/Resultant/Quadratic.lean 2 3 ['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot'] JovanGerb
assignee:JovanGerb
11-37288
11 days ago
21-8829
21 days ago
21-12712
21 days
30567 wwylele
author:wwylele
feat(Combinatorics): generating function for partitions This is the start of a series of PR aiming to prove two theorems related to partition: - [Glaisher's theorem](https://en.wikipedia.org/wiki/Glaisher%27s_theorem), which is a generalization of the existing [Euler's Partition theorem](https://github.com/leanprover-community/mathlib4/blob/master/Archive/Wiedijk100Theorems/Partition.lean). The proof will use the infinite generating function, upgrading the current proof that uses finite ones, and resolving this [TODO](https://github.com/leanprover-community/mathlib4/blob/master/Archive/Wiedijk100Theorems/Partition.lean#L66) - [Pentagonal number theorem](https://en.wikipedia.org/wiki/Pentagonal_number_theorem) and the recurrence relation on the partition function. I created a new file `Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean` to avoid importing PowerSeries stuff directly into the definition file, and along the way I moved the existing `Mathlib/Combinatorics/Enumerative/Partition.lean` to `Mathlib/Combinatorics/Enumerative/Partition/Basic.lean` . Not sure why github didn't recognize this as a file move, but there is no diff in that file and the total diff is much smaller --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 426/181 Archive/Wiedijk100Theorems/Partition.lean,Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Combinatorics/Enumerative/Partition.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean 8 1 ['github-actions'] nobody
11-12482
11 days ago
11-14182
11 days ago
14-73673
14 days
30637 strihanje01
author:strihanje01
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions add Lindstrom's theorem and its strengthening for equal intersections --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 210/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean 2 1 ['github-actions'] nobody
11-9076
11 days ago
12-16406
12 days ago
12-16451
12 days
22771 alreadydone
author:alreadydone
feat(Homotopy/Lifting): monodromy of covering maps and lifting criterion Define the monodromy of a covering map: given a path in the base space, lifting it through the covering map induces a bijection between the fibers at the two endpoints of the path. Definition 2.1 in https://ncatlab.org/nlab/show/monodromy. --- - [ ] depends on: #28234 - [x] depends on: #22649 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-topology 193/146 Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean 9 5 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] PatrickMassot
assignee:PatrickMassot
11-5209
11 days ago
67-37870
2 months ago
144-35711
144 days
30315 SnirBroshi
author:SnirBroshi
feat(Topology/Connected/LocPathConnected): convenience lemma for `LocPathConnected` + `ConnectedSpace` → `PathConnectedSpace` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench new-contributor t-topology 5/3 Mathlib/Topology/Connected/LocPathConnected.lean 1 12 ['SnirBroshi', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] PatrickMassot
assignee:PatrickMassot
5-20786
5 days ago
11-73398
11 days ago
21-35609
21 days
30322 kckennylau
author:kckennylau
feat(RingTheory): base change of graded algebra In this file we show that if `𝒜` is a graded `R`-algebra, and `S` is any `R`-algebra, then `S ⊗[R] 𝒜` (which is actually `fun i ↦ (𝒜 i).baseChange S`) is a graded `S`-algebra with the same grading. --- Split from #26061. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 269/48 Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean 12 1 ['github-actions'] dupuisf
assignee:dupuisf
10-75515
10 days ago
21-40837
21 days ago
21-40813
21 days
30432 kckennylau
author:kckennylau
feat(AlgebraicGeometry): define the non-vanishing locus of a set in Proj Given a subset `s : Set A`, the non-vanishing locus of `s` is the set of points whose corresponding prime ideal does not fully contain `s`. In other words, where not all elements of `s` vanish. I could not find a name for this in the literature. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 66/0 Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean 1 1 ['github-actions'] alexjbest
assignee:alexjbest
10-75513
10 days ago
18-48058
18 days ago
18-48091
18 days
30439 plp127
author:plp127
feat: `norm_num` extension for `IsSquare` on `Nat`, `Int`, `Rat` Write a `norm_num` extension to evaluate `IsSquare` for `Nat`, `Int`, `Rat`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 152/1 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/IsSquare.lean,MathlibTest/norm_num_ext.lean 4 3 ['Rob23oba', 'github-actions', 'plp127'] dwrensha
assignee:dwrensha
10-75512
10 days ago
18-25471
18 days ago
18-25505
18 days
30224 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hamiltonian): `p.support.get` is bijective --- - [x] depends on: #30223 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 7/0 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] kim-em
assignee:kim-em
10-58149
10 days ago
17-82639
17 days ago
17-83595
17 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
10-45402
10 days ago
41-52109
1 month ago
41-52141
41 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'] fpvandoorn
assignee:fpvandoorn
9-80307
9 days ago
43-30886
1 month ago
43-47092
43 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 7 ['gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash'] j-loreaux
assignee:j-loreaux
9-75539
9 days ago
66-25794
2 months ago
92-16788
92 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'] pechersky
assignee:pechersky
9-75538
9 days ago
43-75565
1 month ago
65-43662
65 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'] pechersky
assignee:pechersky
9-75537
9 days ago
63-45652
2 months ago
63-45691
63 days
30041 josephmckinsey
author:josephmckinsey
feat(Algebra/Order/Floor): generalize mul_floor_div theorems to rings and semirings Generalize `mul_cast_floor_div_cancel` from `Field` and `Semifield` to `Ring` and `Semiring`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
43/31 Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Analysis/Real/OfDigits.lean 4 10 ['Ruben-VandeVelde', 'github-actions', 'josephmckinsey'] joneugster
assignee:joneugster
9-75536
9 days ago
17-73632
17 days ago
18-22233
18 days
30424 maksym-radziwill
author:maksym-radziwill
feat(Analysis.Complex): Borel-Caratheodory theorem, part of PrimeNumberTheoremAnd+ upstreaming This PR adds a proof of the [Borel-Caratheodory theorem](https://en.wikipedia.org/wiki/Borel%E2%80%93Carath%C3%A9odory_theorem) following the [blueprint](https://alexkontorovich.github.io/PrimeNumberTheoremAnd/web/sect0004.html#a0000000021) of the [PrimeNumberTheoremAnd+](https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/) project. This is part of the ongoing effort to upstream the StrongPNT version of the PrimeNumberTheoremAnd+ project into mathlib4. See also the [Zullip discussion](https://leanprover.zulipchat.com/#narrow/channel/423402-PrimeNumberTheorem.2B/topic/Merging.20with.20Morph/with/544246433) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 424/0 Mathlib.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,docs/1000.yaml,docs/references.bib 4 7 ['Ruben-VandeVelde', 'github-actions', 'maksym-radziwill', 'wwylele'] grunweg
assignee:grunweg
9-75535
9 days ago
17-64699
17 days ago
18-82483
18 days
30144 alreadydone
author:alreadydone
feat(Data/Nat): kernel 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 7 ['alreadydone', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
9-74641
9 days ago
25-27913
25 days ago
25-75416
25 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 5 ['Ruben-VandeVelde', 'github-actions', 'themathqueen'] joneugster
assignee:joneugster
9-51901
9 days ago
43-23043
1 month ago
43-23076
43 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/) 73/48 Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/Topology/MetricSpace/Completion.lean 4 2 ['github-actions', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
9-51319
9 days ago
9-51581
9 days ago
32-74446
32 days
27270 EtienneC30
author:EtienneC30
chore: turn WithLp into a structure Turn `WithLp` into a one field structure, as was suggested many times on Zulip and discussed here: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/near/526234806. Here is what this PR does: - The instances on `WithLp p α` which were defeq to those on `α` (algebraic instances, topology, uniformity, bornology) are now pulled back from `α` along `WithLp.equiv p α`. A few declarations are added to ease the process, such as versions of `WithLp.equiv` as a homeomorphism or a uniform isomorphism. - The `MeasurableSpace` structure was pushed forward from `α`. We now make it pulled back because it is much more convenient to prove that this preserves the `BorelSpace` instance. - It introduces some definitions to equip `α × β` with the Lp distance, and similarly for `Π i, α i`. This is then used to define relevant instances on type synonyms, such as for matrix norms. - The PR fixes all the defeq abuses (which break obviously). --- - [x] depends on: #28469 - [x] depends on: #28470 - [x] depends on: #28471 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis 636/417 Archive/Hairer.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean,Mathlib/Probability/Distributions/Fernique.lean 34 64 ['EtienneC30', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
9-43180
9 days ago
9-43202
9 days ago
75-44088
75 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 12 ['JovanGerb', 'fpvandoorn', 'github-actions'] JovanGerb
assignee:JovanGerb
9-28279
9 days ago
27-19139
27 days ago
27-19117
27 days
28818 SnirBroshi
author:SnirBroshi
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.kerLift 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 maintainer-merge new-contributor 34/16 Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean 4 32 ['SnirBroshi', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] pechersky
assignee:pechersky
9-20900
9 days ago
9-20900
9 days ago
61-50188
61 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* t-category-theory 242/0 Mathlib.lean,Mathlib/CategoryTheory/Localization/Bifunctor.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean 6 21 ['dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
9-16821
9 days ago
9-17527
9 days ago
51-7074
51 days
30733 harahu
author:harahu
doc(Combinatorics): spell cliquefree as clique-free This change was initially suggested to me by Codex, as part of #30621, but it made sense to do this as a free-standing PR, since this change requires some justification, and this PR provides just that. The fact that Codex is encouraging this change does not mean much on its own, so I did my best to check the literature. Searching on Google Scholar yields a mere [four results](https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=%22cliquefree%22) for "cliquefree" and [423 results](https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=%22clique-free%22) for "clique-free". Based on these results, I think it is safe to say that "cliquefree" is quite idiosyncratic, and should be avoided. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 12/12 Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean 4 1 ['github-actions'] nobody
9-6882
9 days ago
9-6883
9 days ago
9-6926
9 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'] pechersky
assignee:pechersky
8-75544
8 days ago
35-10600
1 month ago
53-6796
53 days
30490 urkud
author:urkud
feat: derivative along the Lie bracket of vector fields --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 55/1 Mathlib/Analysis/Calculus/VectorField.lean 1 1 ['github-actions'] j-loreaux
assignee:j-loreaux
8-75538
8 days ago
16-66187
16 days ago
16-66225
16 days
30344 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory/Integral): add versions of `exists_eq_interval_average` and first mean value theorem for integrals Add the First mean value theorem for (unordered) interval integrals on ℝ. - `exists_eq_const_mul_interval_integral_of_continuous_on_of_ae_nonneg` - `exists_eq_const_mul_interval_integral_of_continuous_on_of_nonneg` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 290/41 Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean 3 9 ['Deep0Thinking', 'github-actions', 'plp127'] RemyDegenne
assignee:RemyDegenne
8-71485
8 days ago
21-6510
21 days ago
21-6542
21 days
30400 Equilibris
author:Equilibris
feat(Data/PFunctor): make M.corec' universe generic Previously `corec'` required the generating type reside in the same universe as the constructed object. This change corrects this by separating the universes. As corec takes the parameter (g : β → P (α ::: β)), (where α is a TypeVec.{u} and β is a Type u) it is forced into the same universe by how the TypeVec construction works. This means corec cant be generalised by this construction. --- A super simple change to make `corec'` univ generic. ```lean -- was def MvPFunctor.M.corec'.{u} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type u} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ -- becomes def MvPFunctor.M.corec'.{u, v} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type v} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 5/5 Mathlib/Data/PFunctor/Multivariate/M.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions', 'vihdzp'] nobody
8-41382
8 days ago
19-28988
19 days ago
19-29031
19 days
29517 pechersky
author:pechersky
feat(RingTheory/Torsion): torsion = union of roots of unity with additional API for Associates and rootsOfUnity sups --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [x] depends on: #29988 - [x] depends on: #29989 - [x] depends on: #29990 - [x] depends on: #29991 t-algebra
label:t-algebra$
156/8 Mathlib.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Torsion.lean 4 11 ['chrisflav', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] chrisflav
assignee:chrisflav
8-26632
8 days ago
8-26659
8 days ago
35-54279
35 days
29072 yury-harmonic
author:yury-harmonic
feat({Nat,Int}/ModEq): add lemmas --- I'm not sure that I named these lemmas correctly. Suggestions about better names are welcome! [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 189/26 Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/ModEq.lean 2 7 ['eric-wieser', 'github-actions', 'urkud', 'yury-harmonic'] nobody
8-25313
8 days ago
8-25374
8 days ago
8-80581
8 days
30758 Timeroot
author:Timeroot
chore: tag abs_inv and abs_div with grind= --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
2/1 Mathlib/Algebra/Order/Field/Basic.lean 1 n/a ['github-actions'] nobody
8-5471
8 days ago
unknown
unknown
30560 dwrensha
author:dwrensha
fix(LinearAlgebra/Alternating/Basic): avoid deep recursion in MultilinearMap.alternatization Makes `MultilinearMap.alternatization` an `irreducible_def` to avoid errors about deep recursion. This is an update of #15045 according to the suggestions in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
36/9 Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,MathlibTest/DetOne.lean 3 5 ['dwrensha', 'eric-wieser', 'github-actions'] dagurtomas
assignee:dagurtomas
7-75527
7 days ago
15-3353
15 days ago
15-3391
15 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
7-50417
7 days ago
86-15540
2 months ago
101-26854
101 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 12 ['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] bryangingechen
assignee:bryangingechen
7-50155
7 days ago
7-50176
7 days ago
84-32540
84 days
30764 harahu
author:harahu
chore(FieldTheory): fix typos in NormalizedTrace This PR: - Fixes a few typos in the docstrings of this file. - Renames `normalizedTraceAux_eq_of_fininteDimensional` -> `normalizedTraceAux_eq_of_finiteDimensional` - Renames `normalizedTrace_eq_of_fininteDimensional_apply` -> `normalizedTrace_eq_of_finiteDimensional_apply` - Renames `normalizedTrace_eq_of_fininteDimensional` -> `normalizedTrace_eq_of_finiteDimensional` All three renames merely change "fininte" to "finite". --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
21/15 Mathlib/FieldTheory/NormalizedTrace.lean 1 n/a ['github-actions'] nobody
7-50106
7 days ago
unknown
unknown
30763 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): generalize `Connected` to `Preconnected` Generalize `Subgraph.Connected.sup`/`Subgraph.induce_union_connected`/`induce_union_connected`/`Connected.adj_union`/`induce_connected_adj_union` to require only preconnected rather than connected, slight golf, and deprecate the old versions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 59/32 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 1 ['github-actions'] nobody
7-44097
7 days ago
8-1731
8 days ago
8-1769
8 days
30750 SnirBroshi
author:SnirBroshi
feat(Data/Quot): `toSet` and `equivClassOf` Define `toSet` which gets the set corresponding to an element of a quotient, and `equivClassOf` which gets the equivalence class of an element under a quotient. --- I found these definitions helpful when working with quotients, specifically `ConnectedComponents` of a `TopologicalSpace`. Additionally, I need `equivSigmaToSet` (in `Data/Setoid/Basic`) to prove things about `SimpleGraph.ConnectedComponent`. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 179/0 Mathlib/Data/Quot.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Data/Setoid/Basic.lean 4 2 ['eric-wieser', 'github-actions'] nobody
7-44087
7 days ago
8-33580
8 days ago
8-33622
8 days
30757 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Acyclic): `singletonGraph` and `subgraphOfAdj` are trees --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 30/1 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 3 1 ['github-actions'] nobody
7-44081
7 days ago
8-9599
8 days ago
8-9645
8 days
30751 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Subgraph): a subgraph is induced (`IsInduced`) iff it is induced (`= induce`) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 11/0 Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 1 1 ['github-actions'] nobody
7-44065
7 days ago
8-27938
8 days ago
8-28004
8 days
29728 ADA-Projects
author:ADA-Projects
feat(Topology/KrullDimension): add subspace dimension inequality This PR proves that subspaces have Krull dimension at most that of the ambient space: dim(Y) ≤ dim(X) for Y ⊆ X (theorem topologicalKrullDim_subspace_le). Supporting results about IrreducibleCloseds were refactored and moved from KrullDimension.lean to Closeds.lean for better modularity. Note: Some code/documentation generated with AI assistance (Gemini). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-topology 63/30 Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean 2 46 ['ADA-Projects', 'erdOne', 'fpvandoorn', 'github-actions', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] erdOne
assignee:erdOne
7-43984
7 days ago
8-83173
8 days ago
30-30885
30 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 {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 169/0 Mathlib.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/LimitsOver.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean 6 8 ['chrisflav', 'erdOne', 'github-actions'] alexjbest
assignee:alexjbest
7-36493
7 days ago
27-3067
27 days ago
27-3044
27 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 2 ['github-actions', 'mathlib4-merge-conflict-bot'] mattrobball
assignee:mattrobball
7-36296
7 days ago
7-36316
7 days ago
47-34952
47 days
27678 b-reinke
author:b-reinke
feat(GroupTheory/FreeGroup): reduction theorem for powers This PR adds the theorem `reduce_flatten_replicate`, it describes the reduction of a power of a reduced word in terms of its cyclic reduction. 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 - [x] depends on: #27673 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory large-import 51/0 Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean 1 5 ['adomani', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
7-34143
7 days ago
7-50212
7 days ago
7-50222
7 days
30786 YaelDillies
author:YaelDillies
chore(CategoryTheory): namespace `Mon`, `Grp`, etc... After this is done, we can finally rename `Mod_` to `Mod`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 63/43 Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/CommGrp_.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean 15 1 ['github-actions'] nobody
7-33551
7 days ago
7-33551
7 days ago
7-33612
7 days
30796 joelriou
author:joelriou
feat(Algebra/Homology): construction of left resolutions Given a fully faithful functor `ι : C ⥤ A` to an abelian category, we introduce a structure `Abelian.LeftResolutions ι` which gives a functor `F : A ⥤ C` and a natural epimorphism `π.app X : ι.obj (F.obj X) ⟶ X` for all `X : A`. This is used in order to construct a resolution functor `LeftResolutions.chainComplexFunctor : A ⥤ ChainComplex C ℕ`. This shall be used in order to derive the tensor product of modules and sheaves of modules. --- This PR continues the work from #22539. Original PR: https://github.com/leanprover-community/mathlib4/pull/22539 t-category-theory 273/19 Mathlib.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/LeftResolutions/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean 4 3 ['github-actions', 'joelriou'] nobody
7-9046
7 days ago
7-10656
7 days ago
7-10909
7 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 29/0 Mathlib.lean,Mathlib/Data/PNat/Order.lean 2 18 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jburroni', 'kckennylau', 'vihdzp'] ericrbg
assignee:ericrbg
7-7380
7 days ago
7-7614
7 days ago
108-28460
108 days
30800 dagurtomas
author:dagurtomas
feat(Condensed): cartesian monoidal functor LightProfinite -> LightCondSet --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import 137/4 Mathlib.lean,Mathlib/Condensed/Light/Functors.lean,Mathlib/Topology/Category/CompHausLike/Cartesian.lean,Mathlib/Topology/Category/LightProfinite/Cartesian.lean 4 2 ['dagurtomas', 'github-actions'] nobody
7-706
7 days ago
7-6425
7 days ago
7-6468
7 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'] riccardobrasca
assignee:riccardobrasca
6-75543
6 days ago
170-79937
5 months ago
236-79909
236 days
30259 erdOne
author:erdOne
feat(Valuation): uniformizer of discrete valuation --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 31/0 Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean 1 2 ['github-actions', 'pechersky'] alreadydone
assignee:alreadydone
6-75538
6 days ago
23-78242
23 days ago
23-78280
23 days
30336 kckennylau
author:kckennylau
feat(RingTheory): some lemmas about the irrelevant ideal This PR adds some lemmas about the irrelevant ideal of a graded ring, such as the fact that it is the iSup of each positively graded component. --- Split from #26061. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 49/5 Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean 1 1 ['github-actions'] mattrobball
assignee:mattrobball
6-75536
6 days ago
21-21437
21 days ago
21-21473
21 days
30337 kckennylau
author:kckennylau
chore: delete wrong docstring for irrelevant ideal The expression given `{a | ∀ (i : ι), i ≤ 0 → aᵢ = 0}` does not define an ideal, because it is not closed under (external) multiplication. For example, if x has grade 1 and y has grade -2, then x will be in this "ideal", but xy will not. Zulip discussion: [#mathlib4 > irrelevant ideal cannot be generalised](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/irrelevant.20ideal.20cannot.20be.20generalised/near/543800961) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 0/5 Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean 1 1 ['github-actions'] erdOne
assignee:erdOne
6-75535
6 days ago
21-15838
21 days ago
21-15874
21 days
30582 RemyDegenne
author:RemyDegenne
feat: extension of a function to the closure of a submodule - define the closure of a set in a complete space as an `AbstractCompletion` - add instances about submodules - add a coercion from a submodule to its topological closure - add induction lemmas on topological closures of submodules - define the extension of a function on a submodule to the closure of a submodule --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 138/1 Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean 2 1 ['github-actions'] PatrickMassot
assignee:PatrickMassot
6-75531
6 days ago
14-28540
14 days ago
14-28580
14 days
30768 tb65536
author:tb65536
chore(GroupTheory/Subgroup/Centralizer): replace `centralizer (zpowers s)` with `centralizer {s}` This PR fixes some lingering technical debt from two years ago: https://github.com/leanprover-community/mathlib3/pull/18965 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-group-theory t-algebra
label:t-algebra$
32/34 Mathlib/Algebra/Group/Subgroup/ZPowers/Lemmas.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/Subgroup/Centralizer.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean 9 1 ['github-actions'] nobody
6-73079
6 days ago
7-4740
7 days ago
7-4717
7 days
30245 vlad902
author:vlad902
feat(Set): finite cardinality iff `[Finite]` Add a lemma making it easy to derive `Finite α` from `ENat.card α < ⊤`. Note that immediately above, the following three lemmas are defined: ```lean @[simp high] theorem card_eq_top_of_infinite [Infinite α] : card α = ⊤ := by ... @[simp] lemma card_eq_top : card α = ⊤ ↔ Infinite α := by ... @[simp] theorem card_lt_top_of_finite [Finite α] : card α < ⊤ := by ... ``` `card_lt_top` is the analog of `card_eq_top`, so symmetry implies that `card_lt_top_of_finite` should be marked `@[simp high]` and `card_lt_top` should be marked `@[simp]`. I find this use of `@[simp]` a bit surprising so I wanted to highlight this to reviewers. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory 3/1 Mathlib/SetTheory/Cardinal/Finite.lean 1 4 ['b-mehta', 'github-actions', 'leanprover-bot'] b-mehta
assignee:b-mehta
6-72375
6 days ago
24-25875
24 days ago
24-25914
24 days
28766 yury-harmonic
author:yury-harmonic
feat(Nat/Factorial): use binary splitting for `ascFactorial`/`descFactorial` Mathlib has a `@[csimp]` lemma for `Nat.factorial`. This PR adds similar lemmas for `Nat.ascFactorial` and `Nat.descFactorial`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 49/25 Mathlib/Data/Nat/Factorial/Basic.lean 1 7 ['github-actions', 'pechersky', 'plp127', 'yury-harmonic'] pechersky
assignee:pechersky
6-69351
6 days ago
8-7608
8 days ago
52-48999
52 days
24627 pechersky
author:pechersky
feat(Topology/Algebra/Valued): `IsLinearTopology 𝒪[K] K` and `𝒪[K] 𝒪[K]` as well as `IsLinearTopology ℤ_[p] ℤ_[p]` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) - [ ] depends on: #26829 t-topology 191/26 Mathlib.lean,Mathlib/NumberTheory/Padics/LinearTopology.lean,Mathlib/Topology/Algebra/Valued/LinearTopology.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean 5 41 ['ADedecker', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'loefflerd', 'mathlib4-dependent-issues-bot', 'pechersky'] nobody
6-60215
6 days ago
6-72143
6 days ago
26-36202
26 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 23 ['eric-wieser', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] TwoFX
assignee:TwoFX
6-59369
6 days ago
6-59395
6 days ago
35-67912
35 days
30547 mariainesdff
author:mariainesdff
feat(Algebra/Polynomial/AlgebraMap): add Polynomial.mapAlgHom lemmas Co-authored by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
35/0 Mathlib/Algebra/Polynomial/AlgebraMap.lean 1 n/a ['erdOne', 'github-actions', 'mariainesdff'] nobody
6-43429
6 days ago
unknown
unknown
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 29 ['Timeroot', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] fpvandoorn
assignee:fpvandoorn
6-42608
6 days ago
6-42608
6 days ago
125-45342
125 days
30441 linesthatinterlace
author:linesthatinterlace
fix(Data/List/Sort): Deprecate and replace `List.Sorted` Deprecates `Sorted` and defines new special-case predicates to be used for preorders. --- `List.Sorted` is essentially an irrelevant definition, as it is identical to List.Pairwise, and we have some results about Sorted which also always apply to Pairwise or do so under certain conditions (and vice versa). We also commonly use Sorted to talk specifically about `<` and `<=`, which can be somewhat unwieldy. This PR deprecates `Sorted` (so that there should now be no non-deprecated definitions under that namespace), and adds in `SortedLE`, `SortedLT`, `SortedGE` and `SortedGT`, which are defined analogously to `List.Nodup` for Preorders (List.Nodup is a good example of somewhere where using a special case of Pairwise works well). The vision is that API for these can be created together and for many purposes will suffice. `insertionSort` has now been moved to be independent of any of this, though theorems are provided showing that it does link to these predicates in a linear order. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 780/521 Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Data/Fin/Tuple/Sort.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Factors.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/Synonym.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/Tactic/Simproc/Factors.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/Span.lean 25 53 ['github-actions', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'vihdzp'] nobody
6-36194
6 days ago
6-47654
6 days ago
14-18692
14 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 202/15 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 85 ['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] jsm28
assignee:jsm28
6-31883
6 days ago
9-18132
9 days ago
130-707
130 days
30821 chriseth
author:chriseth
fix(Computability/Tape): introduce write-simplification theorem that uses `ListBlank.mk` Add a simplification theorem which is a version of `Tape.write_mk'` that solves a simplification dead-end: If we have an expression of the form `(Tape.mk' L (ListBlank.cons a (ListBlank.mk R))).write b`, the theorem `Tape.write_mk'` would be applicable, but lean instead uses `ListBlank.cons_mk`, which turns it into `(Tape.mk' L (ListBlank.mk (a :: R))).write b` and makes `Tape.write_mk` no longer applicable because it requires `ListBlank.cons a R`, reaching a dead-end. This PR adds an equivalent theorem whose LHS allows `ListBlank.mk (a :: R)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 7/0 Mathlib/Computability/Tape.lean 1 1 ['github-actions'] nobody
6-25913
6 days ago
6-25922
6 days ago
6-25964
6 days
30782 chenson2018
author:chenson2018
chore(ModelTheory/PartialEquiv): use grind for `le_partialEquivLimit` adaptation_note An adaption note in `FirstOrder.Language.DirectLimit.le_partialEquivLimit` notes two consecutive `simp` that cannot be combined. Replacing with `grind` solves this problem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 2/5 Mathlib/ModelTheory/PartialEquiv.lean 1 6 ['chenson2018', 'github-actions', 'grunweg'] nobody
6-23228
6 days ago
6-23228
6 days ago
7-32349
7 days
30823 gasparattila
author:gasparattila
feat(Topology/MetricSpace/Closeds): Lipschitz continuity of union --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 30/0 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean 2 1 ['github-actions'] nobody
6-21815
6 days ago
6-21825
6 days ago
6-21865
6 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 --- - [x] 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
6-14877
6 days ago
unknown
unknown
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 15 ['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] alexjbest
assignee:alexjbest
5-84600
5 days ago
5-84622
5 days ago
52-378
52 days
30739 JovanGerb
author:JovanGerb
feat(gcongr): use mdata instead of template This PR changes the implementation of `gcongr` patterns. Instead of carrying around another expression of the same shape, we put a metadata annotation in the actual goal, in order to keep track of where we want to apply more `gcongr` lemmas. This makes the implementation neater, and this is a necessary step towards supporting more operations in `gcongr`, such as those from the `congr!` tactic. This also means that the pattern given to the `gcongr` tactic is checked to be fully correct. This helped fix one pattern in mathlib that was `∑ _ : α, ?_`, but should have been `∑ _ : β, ?_`. Another change that this PR makes is that if the goal relation is `a → b`, then we run `whnf` on `a` and `b` before getting the two sides of the relation. This means that `x > y` is reduced to `y < x`. This is needed because we need to keep track of whether the metadata annotation is in the LHS or RHS, and we don't want to accidentally swap the two sides. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 160/163 Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/Order/Basic.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Core.lean,MathlibTest/GCongr/inequalities.lean,MathlibTest/GRewrite.lean 6 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
5-76562
5 days ago
6-20619
6 days ago
8-65901
8 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'] pechersky
assignee:pechersky
5-75561
5 days ago
51-73506
1 month ago
51-73482
51 days
29437 SnirBroshi
author:SnirBroshi
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 104/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'] pechersky
assignee:pechersky
5-75561
5 days ago
42-36364
1 month ago
51-23852
51 days
30608 grunweg
author:grunweg
feat: another lemma about derivatives of parametric integrals On the path towards proving that integrating smooth functions is smooth. From the sphere-eversion project; I am just upstreaming this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 125/0 Mathlib/Analysis/Calculus/ParametricIntegral.lean 1 3 ['Ruben-VandeVelde', 'github-actions'] j-loreaux
assignee:j-loreaux
5-75552
5 days ago
13-20514
13 days ago
13-20497
13 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 60/9 Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean 2 7 ['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] kbuzzard
assignee:kbuzzard
5-47011
5 days ago
5-47029
5 days ago
92-7862
92 days
30684 YaelDillies
author:YaelDillies
chore: deprecate `monoidalOfHasFiniteProducts` Over the summer, this was replaced everywhere with `CartesianMonoidalCategory.ofHasFiniteProducts`, but hadn't been deprecated. --- I would personally be very happy to also delete the finite coproduct stuff, but we don't yet have cocartesian-monoidal categories to replace them. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 92/92 Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean 1 11 ['YaelDillies', 'github-actions', 'joelriou'] nobody
5-46737
5 days ago
6-26099
6 days ago
8-83824
8 days
29885 xroblot
author:xroblot
feat(DedekindDomain): lift a basis in a disjoint extension when the different ideals are coprime Let `A ⊆ B` be a finite extension of Dedekind domains and assume that `A ⊆ R₁, R₂ ⊆ B` are two subrings such that `Frac R₁ ⊔ Frac R₂ = Frac B`, `Frac R₁` and `Frac R₂` are linearly disjoint over `Frac A`, and that `𝓓(R₁/A)` and `𝓓(R₂/A)` are coprime where `𝓓` denotes the different ideal and `Frac R` denotes the fraction field of a domain `R`. This PR constructs a `R₁`-basis of `B` by lifting an `A`-basis of `R₂`. --- - [x] depends on: #29770 t-algebra
label:t-algebra$
153/4 Mathlib/RingTheory/DedekindDomain/LinearDisjoint.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
5-42898
5 days ago
5-47288
5 days ago
5-47610
5 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 11 ['alreadydone', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] jcommelin
assignee:jcommelin
5-29683
5 days ago
62-5395
2 months ago
68-32678
68 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 59/0 Mathlib/CategoryTheory/Core.lean 1 16 ['Jlh18', 'adomani', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] kim-em
assignee:kim-em
5-27481
5 days ago
5-27481
5 days ago
34-12018
34 days
30548 fbarroero
author:fbarroero
feat(Analysis/Polynomial/MahlerMeasure): the Mahler measure of a linear polynomial and applications We prove `` theorem logMahlerMeasure_X_sub_C (z : ℂ) : (X - C z).logMahlerMeasure = log⁺ ‖z‖ `` and `` theorem logMahlerMeasure_eq_log_leadingCoeff_add_sum_log_roots (p : ℂ[X]) : p.logMahlerMeasure = log ‖p.leadingCoeff‖ + ((p.roots).map (fun a ↦ log⁺ ‖a‖)).sum `` --- - [x] depends on: #30681 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-analysis 144/2 Mathlib/Analysis/Polynomial/MahlerMeasure.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
5-26154
5 days ago
5-26205
5 days ago
9-83014
9 days
30855 Ruben-VandeVelde
author:Ruben-VandeVelde
fix: deprecate IsTotal in favour of Std.Total --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) RFC 208/111 Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Ordmap/Invariants.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Sigma/Lex.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Comparable.lean,Mathlib/Order/Compare.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Directed.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/UpperLower/CompleteLattice.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean 33 1 ['github-actions'] nobody
5-25717
5 days ago
5-25828
5 days ago
5-25805
5 days
30859 jessealama
author:jessealama
fix(CI): count only merged PRs in new contributor check Fixes #30858 The "Label New Contributors" workflow was counting all closed PRs when determining contributor experience, but it should only count merged PRs. This PR updates the workflow to use the GitHub search API with `is:merged` to properly filter for merged pull requests only. Now contributors are correctly identified as "new" based on their merged contributions, not just any closed PRs. CI 10/12 .github/workflows/label_new_contributor.yml 1 2 ['github-actions', 'grunweg'] nobody
5-17739
5 days ago
5-23321
5 days ago
5-23367
5 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. --- - [x] depends on: #27257 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) IMO 337/0 Archive.lean,Archive/Imo/Imo2020Q6.lean 2 9 ['dwrensha', 'github-actions', 'mathlib4-dependent-issues-bot'] dwrensha
assignee:dwrensha
5-8040
5 days ago
37-21239
1 month ago
37-22519
37 days
30827 dagurtomas
author:dagurtomas
feat(Condensed): free light condensed module can be taken in an equivalent small category --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-condensed 20/2 Mathlib/Condensed/Light/Small.lean 1 1 ['github-actions'] nobody
5-7206
5 days ago
6-17276
6 days ago
6-17318
6 days
30825 dagurtomas
author:dagurtomas
feat(CategoryTheory/Monoidal): some API for `Monoidal.Functor.transport` - Transporting a monoidal structure on functors along a natural isomorphism makes that natural isomorphism a monoidal natural transformation - Some lemmas about the unit, counit, tensorator and cotensorator isomorphisms for transported monoidal structures - Monoidal functors after pre/postcomposing with monoidal equivalences of categories --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 102/0 Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean 2 1 ['github-actions'] nobody
5-6003
5 days ago
6-20889
6 days ago
6-20935
6 days
30867 erdOne
author:erdOne
feat(RingTheory/Etale): standard etale maps --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 315/1 Mathlib.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean 5 1 ['github-actions'] nobody
4-82625
4 days ago
4-82698
4 days ago
5-2746
5 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'] pechersky
assignee:pechersky
4-75552
4 days ago
48-73958
1 month ago
48-73950
48 days
30423 erdOne
author:erdOne
feat(RingTheory): API for valuative rel --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 164/28 Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean 2 2 ['github-actions', 'pechersky'] mariainesdff
assignee:mariainesdff
4-75549
4 days ago
18-83463
18 days ago
18-83495
18 days
30431 kckennylau
author:kckennylau
feat(RingTheory): a homogeneous submodule is the span of its homogeneous elements --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 22/0 Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean 2 1 ['github-actions'] mariainesdff
assignee:mariainesdff
4-75548
4 days ago
18-49063
18 days ago
18-49104
18 days
30391 rudynicolop
author:rudynicolop
feat(Data/List): list splitting definitions and lemmas This PR continues the work from #24395. Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 t-data new-contributor 151/2 Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean 2 4 ['BoltonBailey', 'github-actions', 'rudynicolop'] nobody
4-66222
4 days ago
19-82122
19 days ago
19-82159
19 days
30873 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Walk): induce.mapLe = induce Inducing a walk to `G[s]` and then mapping to `G[s']` is the same as inducing to `G[s']` when `s ⊆ s'`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 5/0 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 1 ['github-actions'] nobody
4-63266
4 days ago
4-63270
4 days ago
4-63315
4 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 6 ['FernandoChu', 'github-actions', 'joelriou'] joneugster
assignee:joneugster
4-62534
4 days ago
5-32475
5 days ago
19-78983
19 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 24 ['JovanGerb', 'PatrickMassot', 'github-actions', 'hrmacbeth', 'kim-em'] JovanGerb
assignee:JovanGerb
4-59617
4 days ago
33-1302
1 month ago
33-1285
33 days
30870 tb65536
author:tb65536
refactor(FieldTheory/*): partially switch over from `Polynomial.Splits` to `Polynomial.Factors` This PR is part of a larger effort to switch over from `Polynomial.Splits` to `Polynomial.Factors`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
183/118 Mathlib/Algebra/CubicDiscriminant.lean,Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Complex/Polynomial/GaussLucas.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/ConjRootClass.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SplittingField/IsSplittingField.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/Norm/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Vieta.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/Topology/Algebra/Polynomial.lean 23 1 ['github-actions'] riccardobrasca
assignee:riccardobrasca
4-44576
4 days ago
4-47878
4 days ago
4-47855
4 days
30869 tb65536
author:tb65536
refactor(FieldTheory/IsAlgClosed,IsSepClosed): redefine in terms of `Polynomial.Factors` This PR redefines `IsAlgClosed` and `IsSepClosed` in terms of `Polynomial.Factors` rather than in terms of `Polynomial.Splits (RingHom.id k)`. This is part of a larger effort to switch over from `Polynomial.Splits` to `Polynomial.Factors`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
13/7 Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean 2 1 ['github-actions'] riccardobrasca
assignee:riccardobrasca
4-44574
4 days ago
4-80194
4 days ago
4-80172
4 days
30609 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Catalan.lean): Add definition of large and small Schroder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 128/1 Mathlib/Combinatorics/Enumerative/Catalan.lean 1 1 ['github-actions'] nobody
4-43396
4 days ago
13-29740
13 days ago
13-29783
13 days
27433 YaelDillies
author:YaelDillies
refactor: make `⇑e⁻¹ = ⇑e.symm` simp The motivation here is that the spelling `⇑e⁻¹` is only available when `e` is an automorphism, while the `⇑e.symm` one is available for all isomorphisms. However we do not want to simplify `e⁻¹ = e.symm` (without the coercions to function) since `e⁻¹` is an algebraic expression and `e.symm` is not. We consider that applying the coercion to functions gets us out of algebra land, and therefore it is okay to "dealgebraise" the expression further. From BrauerGroup and ClassFieldTheory --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CFT 216/257 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 10 ['YaelDillies', 'dwrensha', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] dwrensha
assignee:dwrensha
4-39327
4 days ago
4-47608
4 days ago
73-11295
73 days
30880 themathqueen
author:themathqueen
feat(Analysis/InnerProductSpace): finite-dimensional inner product space with coalgebra implies an algebra structure A finite-dimensional inner product space with a coalgebra structure also has an algebra structure by taking adjoints of the comultiplication map and counit map, i.e., `x * y = (adjoint comul) (x ⊗ₜ y)` and `algebraMap = adjoint counit`. TODO: There is also the opposite implication, i.e., a finite-dimensional inner product space with an algebra structure implies a coalgebra where `counit = adjoint Algebra.linearMap` and `comul = adjoint mul'`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 123/0 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean 3 1 ['github-actions'] nobody
4-32319
4 days ago
4-32659
4 days ago
4-38237
4 days
30881 FlAmmmmING
author:FlAmmmmING
feat(RingTheory/PowerSeries/Schroder.lean) : Define the generating function for large and small Schroder number Define the generating function for large and small Schroder number. Main result : Prove some lemmas and the generating function of large Schroder. Todo : Prove the generating function of small Schroder. - depends on: #30609 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 349/1 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean 3 1 ['github-actions'] nobody
4-31522
4 days ago
4-37416
4 days ago
4-37405
4 days
30876 erdOne
author:erdOne
chore(RingTheory): redefine `FormallySmooth` in terms of `Ω[S⁄R]` and `H¹(L_{S/R})` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 372/416 Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Etale/Pi.lean,Mathlib/RingTheory/RingHom/Etale.lean,Mathlib/RingTheory/RingHom/Smooth.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Smooth/Local.lean,Mathlib/RingTheory/Smooth/Locus.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean,Mathlib/RingTheory/Unramified/Basic.lean,Mathlib/RingTheory/Unramified/Pi.lean 14 6 ['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
4-26326
4 days ago
4-47592
4 days ago
4-51064
4 days
30132 callesonne
author:callesonne
feat(Bicategory/Functor/Strict): add `StrictPseudofunctor` This PR adds the notion of a strict pseudofunctor, where the coherence isomorphisms are equalities. This will be useful for #25561 where I define the bicategory of groupoids. --- - [x] depends on: #30134 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 174/2 Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean 1 8 ['callesonne', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
4-25961
4 days ago
4-26029
4 days ago
5-32042
5 days
27414 staroperator
author:staroperator
feat(ModelTheory): Semilinear sets are closed under intersection, difference and complement Separated from #27100. This PR proves that semilinear sets in cancellative monoids are closed under intersection, set difference and complement (requires finitely generated). We prove these results on `ℕ ^ k` first (which are private) and then generalize to any cancellative monoids. --- - [x] depends on: #27082 - [x] depends on: #27086 - [x] depends on: #27088 - [x] depends on: #27096 - [x] depends on: #27342 - [x] depends on: #27955 - [x] depends on: #28670 - [x] depends on: #29032 - [x] depends on: #29034 - [x] depends on: #29035 - [x] depends on: #29749 - [x] depends on: #29784 - [x] depends on: #29793 - [x] depends on: #30840 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 713/4 Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean 3 37 ['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] fpvandoorn
assignee:fpvandoorn
4-25533
4 days ago
4-25533
4 days ago
17-79722
17 days
28769 chrisflav
author:chrisflav
feat(RingTheory/Extension/Cotangent): presentation is submersive if `I/I²` has a suitable basis Let `P` be a presentation of an algebra with kernel `I`. We show that if `I/I²` has a basis given by the images of the relations and the module of Kaehler differentials has a basis given by the differentials of the free generators (those that don't appear in the Jacobian matrix), then `P` is submersive. We will later deduce from this a presentation-independent characterization of standard smooth algebras. From Pi1. --- - [x] depends on: #28767 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 305/11 Mathlib.lean,Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/LinearAlgebra/Basis/Exact.lean,Mathlib/LinearAlgebra/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Finsupp/Span.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/Finsupp/VectorSpace.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/RingTheory/Extension/Cotangent/Basic.lean,Mathlib/RingTheory/Extension/Cotangent/Free.lean 16 7 ['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
4-22523
4 days ago
4-22523
4 days ago
7-18869
7 days
29253 FernandoChu
author:FernandoChu
feat(CategoryTheory): (Co)limits in preorders Characterize (co)limits in preorders as glbs/lubs, plus some other instances. large-import new-contributor t-category-theory 162/45 Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean,Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/TransfiniteCompositionOfShape.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/InfSemilattice.lean,Mathlib/CategoryTheory/Sites/Plus.lean 9 19 ['FernandoChu', 'github-actions', 'joelriou'] joelriou
assignee:joelriou
4-18172
4 days ago
5-11792
5 days ago
47-61143
47 days
30232 SnirBroshi
author:SnirBroshi
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 43/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 3 19 ['SnirBroshi', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
4-16881
4 days ago
4-16881
4 days ago
23-70478
23 days
30887 vihdzp
author:vihdzp
chore: golf `finTwoArrowEquiv'` ...and generalize some theorems around it. --- #30538 got merged before I could fully realize these suggestions. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
21/25 Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean 2 1 ['github-actions'] nobody
4-14125
4 days ago
4-18136
4 days ago
4-18177
4 days
30885 erdOne
author:erdOne
chore(RingTheory): better defeqs for `PrimeSpectrum.preimageOrderIsoTensorResidueField` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 84/30 Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean 3 1 ['github-actions'] nobody
4-11773
4 days ago
4-20717
4 days ago
4-20766
4 days
30895 callesonne
author:callesonne
feat(Bicategory/Modification/Pseudo): define modifications between strong natural transformations of pseudofunctors This PR adds modifications between strong natural transformations of pseudofunctors. At the same time, it improves the existing code on modifications between oplax natural tranformations of oplax functors (by removing some simp lemmas). This is a migration of #18254 to a fork. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 338/57 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Oplax.lean,Mathlib/CategoryTheory/Bicategory/Modification/Pseudo.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Pseudo.lean 6 1 ['github-actions'] nobody
4-9567
4 days ago
4-11639
4 days ago
4-11684
4 days
30826 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): map a walk to its own subgraph While this is not very interesting on its own, it opens the possibility of mapping a walk to any graph, given a graph homomorphism from the walk's subgraph. --- Related: #30590 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 15/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean 1 1 ['github-actions'] nobody
4-6801
4 days ago
6-18483
6 days ago
6-18530
6 days
30882 themathqueen
author:themathqueen
feat(Data/Nat/Fib): the Cassini and Catalan identities The [Cassini and Catalan identities](https://en.wikipedia.org/wiki/Cassini_and_Catalan_identities) are identities for the Fibonacci numbers. * Cassini's identity: `fib (n + 1) * fib (n - 1) - fib n ^ 2 = (-1) ^ n` for nonzero `n`. * Catalan's identity: `fib (x + a) ^ 2 - fib (x + 2 * a) * fib x = fib a ^ 2 * (-1) ^ x` for nonzero `x` and `a`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data t-algebra
label:t-algebra$
93/0 Mathlib.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Nat/Fib/Lemmas.lean 3 13 ['github-actions', 'themathqueen', 'vihdzp'] nobody
3-81723
3 days ago
3-85128
3 days ago
3-85851
3 days
30389 euprunin
author:euprunin
fix: correctly apply `hint` priority (was always set to default 1000 due to a bug) Fixes #29831. In addition to fixing the bug, this PR also adjusts the (now-working) tactic priorities to ensure that: * `bound` is tested _after_ `aesop` (`bound` calls `aesop` and is therefore stronger) * `group` is tested _after_ `ring` (`group` calls `ring` and is therefore stronger) A bug in the parsing code below caused the priority value to be ignored, resulting in all hints using the default priority of 1000 regardless of the `register_hint` priority parameter: ```lean elab (name := registerHintStx) "register_hint" p:("(" "priority" ":=" num ")")? tac:tactic : command => liftTermElabM do -- remove comments let prio := match p with | some stx => match stx.raw[3]?.bind Syntax.isNatLit? with | some n => n | none => 1000 | none => 1000 let tac : TSyntax `tactic := ⟨tac.raw.copyHeadTailInfoFrom .missing⟩ addHint prio tac ``` Fixed by simplifying the syntax to take a mandatory numeric priority argument and extracting it directly via `prio.raw.isNatLit?`, removing the index-based parsing and the silent fallback to 1000. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta bug 81/46 Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/Field.lean,Mathlib/Tactic/FieldSimp.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/GCongr.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/NoncommRing.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/RingNF.lean,MathlibTest/hint.lean 16 8 ['BoltonBailey', 'euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] nobody
3-77600
3 days ago
6-23774
6 days ago
18-82578
18 days
30436 wwylele
author:wwylele
feat(Topology/InfiniteSum): tprod_one_{add/sub}_ordered This extends the existing `Finset.prod_one_sub_ordered` to infinite sum/product, and also adds the more natural `add` version. Together with some previous PRs about infinite sum/prod and powerseries, this is part of my effort of upstreaming useful stuff from https://github.com/wwylele/PentagonalNumberTheorem. It starts getting into niche lemma, so suggestions such that not wanting this in mathlib, or it should be stated in a different form, are all welcomed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 44/0 Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean 2 1 ['github-actions'] grunweg
assignee:grunweg
3-75541
3 days ago
11-14190
11 days ago
18-33914
18 days
30599 wwylele
author:wwylele
feat(RingTheory): geometric series of (Mv)PowerSeries Also abstracted the common part for both PowerSeries and normed rings into `Summable.tsum_pow_mul_one_sub` / `Summable.one_sub_mul_tsum_pow`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 111/15 Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean 6 1 ['github-actions'] erdOne
assignee:erdOne
3-75538
3 days ago
11-13473
11 days ago
13-74556
13 days
30646 xroblot
author:xroblot
feat(RingTheory/Ideal): the inertia degree and ramification index are less than the rank Also prove that `primesOverFinset` is less than the rank. These are all easy consequences of [Ideal.sum_ramification_inertia](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.sum_ramification_inertia) --- t-ring-theory 50/9 Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean 2 5 ['erdOne', 'github-actions', 'xroblot'] erdOne
assignee:erdOne
3-75536
3 days ago
11-21867
11 days ago
11-45846
11 days
30841 staroperator
author:staroperator
feat(SetTheory/ZFC): add `ZFSet.iUnion` which is just `sUnion (range f)`. We add a new definition for it instead of making `⋃ i, f i` a notation of `sUnion (range f)`, because the simp normal form of `(sUnion (range f)).toSet` is not `⋃ i, (f i).toSet`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-set-theory maintainer-merge 45/11 Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/SetTheory/ZFC/VonNeumann.lean 4 11 ['YaelDillies', 'github-actions', 'staroperator', 'vihdzp'] nobody
3-72598
3 days ago
5-29051
5 days ago
5-44482
5 days
30853 JovanGerb
author:JovanGerb
feat(LinearAlgebra/AffineSpace/Simplex): `CoeFun` instance for `Simplex` This PR introduces the notation `s i` to refer to the `i`th vertex of simplex `s`, which replaces the current `s.points i`. It does this by adding a `CoeFun` instance. I first tried using `FunLike`, but this came with some different problems related to discrimination tree indexing in `simp`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 348/337 Archive/Imo/Imo2019Q2.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Normed/Affine/Simplex.lean,Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/Geometry/Euclidean/Angle/Sphere.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/SignedDist.lean,Mathlib/Geometry/Euclidean/Simplex.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean 14 5 ['JovanGerb', 'github-actions', 'jsm28'] nobody
3-69591
3 days ago
5-33361
5 days ago
5-33337
5 days
30894 dupuisf
author:dupuisf
feat(CStarAlgebra): the log is operator monotone This PR shows that the logarithm is operator monotone, i.e. `CFC.log` is monotone on `{a : A | IsStrictlyPositive a}` where `A` is a unital C*-algebra. Note that we rename `Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog` to `Mathlib.Analysis.SpecialFunctions.ContinuousFunctionalCalculus.ExpLog.Basic` in order to add `Order.lean` in that folder with the main result. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 382/175 Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Basic.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Order.lean,Mathlib/Analysis/SpecialFunctions/Log/RpowTendsto.lean 7 1 ['github-actions'] nobody
3-65549
3 days ago
3-71570
3 days ago
3-71552
3 days
30679 themathqueen
author:themathqueen
feat(RingTheory/MatrixAlgebra): `Matrix.kronecker` as an algebra equivalence --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
32/0 Mathlib/RingTheory/MatrixAlgebra.lean 1 2 ['github-actions', 'themathqueen'] nobody
3-36878
3 days ago
4-15037
4 days ago
10-26703
10 days
25901 callesonne
author:callesonne
feat(Bicategory/Opposites): add 1-cell opposite bicategory This PR adds the 1-cell opposite bicategory, where only the 1-morphisms are reversed. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 166/13 Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Opposites.lean,Mathlib/CategoryTheory/Opposites.lean 3 15 ['callesonne', 'github-actions', 'joelriou', 'leanprover-bot', 'leanprover-community-bot-assistant'] nobody
3-34070
3 days ago
4-56
4 days ago
4-14940
4 days
30852 bryangingechen
author:bryangingechen
ci: wrapper script for grouping lake build output logs and extracting issues Currently the output of `lake build` and `lake build --no-build` in our build worfklows are each placed into collapsible log groups. This grouping is too coarse, since to find warnings and errors still takes scrolling or searching through potentially thousands of lines after opening the group. This PR adds a helper script for use in GitHub actions workflows which wraps `lake build` and groups consecutive sequences of "normal", "info", "warning" and "error" log lines into separate collapsible log groups. For examples, see: - [grouping of trace blocks from proof widgets](https://github.com/leanprover-community/mathlib4/actions/runs/18804230623/job/53656010644#step:20:31) - [warning and error groups in Mathlib](https://github.com/leanprover-community/mathlib4/actions/runs/18811606357/job/53673576603#step:20:31) - [another example of warning and error groups in Mathlib](https://github.com/leanprover-community/mathlib4/actions/runs/18811662691/job/53673707777#step:20:31) Note that while a build is in progress, lines in an open log group are still printed and visible, so this change will not make it more difficult to see how far along a build is. As mentioned above, we're already grouping log output; this change attempts to make the grouping more helpful. The wrapper script also saves details about issues in the build (`warning`, `error`, `info` messages from `lake build`) into a JSON file for future use, e.g. determining which PR in a bors batch might have an error. Because our build steps do not have permission to write to `GITHUB_OUTPUT`, when we invoke this wrapper, we write the build summary file to `.lake/build_summary_*.json`. cf. [#mathlib reviewers > grouping lake build output in GitHub actions logs](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/grouping.20lake.20build.20output.20in.20GitHub.20actions.20logs/with/546907609) Written with help from Claude and OpenAI Codex, but checked by me. --- This is a version of #30836 re-opened from a branch in this for easier testing. CI 1202/9 .github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build-testing.yaml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/README.md,scripts/lake-build-with-retry.sh,scripts/lake-build-wrapper.py 8 6 ['bryangingechen', 'github-actions'] nobody
3-28818
3 days ago
3-70570
3 days ago
5-29535
5 days
30594 j-loreaux
author:j-loreaux
feat: generalize continuity results for the continuous functional calculus Under suitable conditions `x ↦ cfc f (a x)` is continuous. Previously these conditions were that there was a single compact set on which `f` was continuous, and which contained the spectra of all `a x`. However, this is a bit too stringent for some purposes and so we generalize it here. In particular, it suffices that the spectra `a x` are covered by a family of compact sets `s x` (on each of which `f` is continuous) satisfying the property that each `s x₀` contains the spectra `a x` for `x` sufficiently close to `x₀`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 94/81 Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean 1 2 ['dupuisf', 'github-actions'] ADedecker
assignee:ADedecker
3-24260
3 days ago
14-2040
14 days ago
14-2029
14 days
30901 bryangingechen
author:bryangingechen
ci: only run deprecated declaration removal if a PR doesn't already exist The action we're using to open PRs is designed to force-push over the branch it uses [by design](https://github.com/peter-evans/create-pull-request/blob/main/docs/common-issues.md#disable-force-updates-to-existing-pr-branches), but this can potentially wipe out work in progress on that branch. I use the same method as in [update_dependencies.yml](https://github.com/leanprover-community/mathlib4/blob/985bd66bf494c03376b6dbd2898f4873b5df6a77/.github/workflows/update_dependencies.yml#L41-L58) to only run that step if there's no open PR from the branch. Also change the schedule to monthly, since every week might be too ambitious, given the pace of progress on #30759. --- CI 32/3 .github/workflows/remove_deprecated_decls.yml 1 3 ['bryangingechen', 'github-actions'] nobody
3-22178
3 days ago
4-6612
4 days ago
4-6589
4 days
30932 urkud
author:urkud
chore(TangentCone): split file It will be easier for me to generalize the definition this way. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 811/692 Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/TangentCone/Basic.lean,Mathlib/Analysis/Calculus/TangentCone/Defs.lean,Mathlib/Analysis/Calculus/TangentCone/DimOne.lean,Mathlib/Analysis/Calculus/TangentCone/Pi.lean,Mathlib/Analysis/Calculus/TangentCone/Prod.lean,Mathlib/Analysis/Calculus/TangentCone/ProperSpace.lean,Mathlib/Analysis/Calculus/TangentCone/Real.lean,Mathlib/Analysis/RCLike/TangentCone.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean 14 2 ['github-actions', 'urkud'] nobody
3-16342
3 days ago
3-21284
3 days ago
3-27115
3 days
30843 kim-em
author:kim-em
chore: don't require README for scripts/ subdir contents Currently, if you create a subdirectory in `scripts/`, CI requires that the README file mentions each individual file in that subdirectory. The new behaviour only requires mentioning the subdirectory itself in the README file. t-linter maintainer-merge 7/6 scripts/lint-style.lean 1 5 ['github-actions', 'grunweg', 'kim-em'] grunweg
assignee:grunweg
3-13870
3 days ago
3-13870
3 days ago
4-18459
4 days
30946 jessealama
author:jessealama
feat(SetLike): add exists_not_mem_of_ne_top lemma Adds a bridging lemma for `SetLike` structures: if `s ≠ ⊤` and the top element coerces to the universal set, then there exists an element not in `s`. This generalizes a pattern that was specific to `AffineSubspace` and makes it available for all `SetLike` structures (submodules, subalgebras, etc.) where `⊤ = univ`. Extracted from #30854 per reviewer feedback: https://github.com/leanprover-community/mathlib4/pull/30854#discussion_r2462326156 --- **Potential reviewers** (recent contributors to `Mathlib/Data/SetLike/Basic.lean`): - @kim-em - @themathqueen t-data 9/0 Mathlib/Data/SetLike/Basic.lean 1 1 ['github-actions'] nobody
3-5050
3 days ago
3-5058
3 days ago
3-5102
3 days
30948 jessealama
author:jessealama
feat(AffineSubspace): add nonemptiness lemmas for affine span of range This PR adds two small lemmas showing that if the affine span of the range of a function is nonempty, then the index type must be nonempty. These lemmas were extracted from the closed PR #30854 following reviewer feedback to submit smaller, more focused PRs. cc @eric-wieser @bryangingechen t-algebra
label:t-algebra$
16/0 Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean 1 1 ['github-actions'] nobody
3-3470
3 days ago
3-3477
3 days ago
3-3522
3 days
30669 harahu
author:harahu
doc(Algebra): typo fixes Found with help from Codex, curated by me. I've tried to limit the PR to changes that are easy to verify. Should you find it difficult to review any particular part of this PR, know that I have nothing against trimming this PR down in favor of smaller free-standing PRs for the difficult-to-review parts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
45/45 Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/CharZero/AddMonoidHom.lean,Mathlib/Algebra/Field/Action/ConjAct.lean,Mathlib/Algebra/Field/Power.lean,Mathlib/Algebra/Field/ULift.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/Factorizations/Basic.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/SkewMonoidAlgebra/Single.lean 30 1 ['github-actions'] kim-em
assignee:kim-em
2-75517
2 days ago
10-37636
10 days ago
10-42283
10 days
30213 SnirBroshi
author:SnirBroshi
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 18/16 Mathlib/Data/List/GetD.lean 1 11 ['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
2-74303
2 days ago
2-74303
2 days ago
24-41338
24 days
30954 chrisflav
author:chrisflav
chore(RingTheory/Extension/Presentation): unprivate auxiliary definition for composition This definition appears when unfolding `Presentation.comp`, so it should not be private. We also fix the name to make it convention compliant. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 14/13 Mathlib/RingTheory/Extension/Presentation/Basic.lean 1 1 ['github-actions'] nobody
2-72492
2 days ago
2-72569
2 days ago
2-72546
2 days
30214 SnirBroshi
author:SnirBroshi
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 8/0 Mathlib/Data/List/Basic.lean 1 4 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
2-72113
2 days ago
3-35101
3 days ago
25-500
25 days
29956 SnirBroshi
author:SnirBroshi
feat(Algebra/Polynomial): small and useful lemmas added many small and useful lemmas about polynomials --- Moves these 4 theorems from `Mathlib.Algebra.Polynomial.Monic` to `Mathlib.Algebra.Polynomial.Degree.Lemmas`: - `degree_map_eq_of_injective` - `natDegree_map_eq_of_injective` - `leadingCoeff_map_of_injective` - `nextCoeff_map` `Monic.lean` imports `Lemmas.lean` so users are not affected. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
268/90 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/RingDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/Trace/Basic.lean 16 69 ['SnirBroshi', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
2-67410
2 days ago
2-69056
2 days ago
31-34474
31 days
30216 SnirBroshi
author:SnirBroshi
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 16/0 Mathlib/Data/List/Basic.lean 1 13 ['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
2-66837
2 days ago
2-71344
2 days ago
24-35456
24 days
30958 kim-em
author:kim-em
feat: preparations for LawfulOfScientific `LawfulOfScientific`, and grind support for it, will be added shortly. This is PR contains the prerequisites which can already go in `master`. c.f. https://github.com/leanprover/lean4/pull/10971 and the [`lean-pr-testing-10971`](https://github.com/leanprover-community/mathlib4-nightly-testing/commit/4f3ca5121a48872248a70a5098b608cdd13caeca) branch. 11/0 Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Data/Rat/Cast/Lemmas.lean 2 1 ['github-actions'] nobody
2-63695
2 days ago
2-63885
2 days ago
2-63861
2 days
30511 gasparattila
author:gasparattila
refactor: use `fun_prop` in `measurability` This PR changes the `measurability` tactic to use `fun_prop` for solving `Measurable` and similar goals. For backward compatibility, the `measurability` attribute is also changed to apply the `fun_prop` attribute. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 129/75 Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Defs.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/Tactic/Measurability.lean,MathlibTest/measurability.lean 11 8 ['fpvandoorn', 'gasparattila', 'github-actions'] dwrensha
assignee:dwrensha
2-39415
2 days ago
16-16654
16 days ago
16-17645
16 days
30962 WangYiran01
author:WangYiran01
feat(Combinatorics/Enumerative): add lattice path lemmas and counts This PR adds definitions and theorems about monotone lattice paths: - Defines `pathCount`, `pathCountFrom`, `SubdiagProp`, and related structures. - Proves closed forms such as `pathCount_eq_closed`. - Adds Dyck/ballot subdiagonal property (`SubdiagProp`). All code builds successfully with `lake build`. new-contributor t-combinatorics 64/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/RecLatticePath.lean 2 1 ['github-actions'] nobody
2-30846
2 days ago
2-51648
2 days ago
2-51689
2 days
30911 vihdzp
author:vihdzp
chore(Algebra/Group/Pi/Lemmas): golf using `aesop` / `grind` --- The new proof of `Pi.mulSingle_mul_mulSingle_eq_mulSingle_mul_mulSingle` is slower but arguably much more understandable. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
6/28 Mathlib/Algebra/Group/Pi/Lemmas.lean 1 10 ['github-actions', 'grunweg', 'leanprover-bot', 'themathqueen', 'vihdzp'] nobody
2-29683
2 days ago
3-79666
3 days ago
3-79709
3 days
28836 yury-harmonic
author:yury-harmonic
feat: add `norm_num` extensions Add `norm_num` extensions for - `Int.negOfNat`; - `Nat.floor`, `Nat.ceil`, and `Int.round`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 250/14 Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Data/NNRat/Floor.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Tactic/NormNum/Basic.lean,MathlibTest/norm_num_ext.lean 5 18 ['Ruben-VandeVelde', 'digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] j-loreaux
assignee:j-loreaux
2-29647
2 days ago
6-25326
6 days ago
18-63607
18 days
29649 MichaelStollBayreuth
author:MichaelStollBayreuth
feat(Analysis/Normed/Algebra/GelfandMazur): new file This adds two versions 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). Following a suggestion by @j-loreaux, we also add some API for the `Bornology.cobounded` filter. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 543/3 Mathlib.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Topology/Bornology/BoundedOperation.lean,Mathlib/Topology/Bornology/Constructions.lean,docs/references.bib 7 36 ['MichaelStollBayreuth', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
2-29586
2 days ago
2-29586
2 days ago
32-34420
32 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. - Use `TopologicalSpace.pseudoMetrizableSpaceUniformity` to endow a pseudometrizable space with a compatible uniformity, and use `TopologicalSpace.pseudoMetrizableSpaceUniformity_countably_generated` to show that this is countably generated. - `TopologicalSpace.pseudoMetrizableSpacePseudoMetric` and `TopologicalSpace.metrizableSpaceMetric` have been moved to `Mathlib/Topology/Metrizable/Uniformity.lean`. See also #2032 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 128/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 15 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127', 'urkud', 'vihdzp'] urkud
assignee:urkud
2-23037
2 days ago
17-22267
17 days ago
86-9289
86 days
30972 mariainesdff
author:mariainesdff
feat(RingTheory): add (Mv)Polynomial.coe_smul Co-authored by : @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 8/0 Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Basic.lean 2 1 ['github-actions'] nobody
2-19408
2 days ago
2-19432
2 days ago
2-19466
2 days
30494 kebekus
author:kebekus
feat: behaviour of Nevanlinna functions under multiplication Establish the behavior of Nevanlinna functions under multiplication. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane. The formula established here is part of a larger package discussing the behavior of the Nenvanlinna height under algebraic manipulations of the functions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 233/0 Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,Mathlib/Topology/LocallyFinsupp.lean 5 2 ['github-actions', 'mathlib4-merge-conflict-bot'] j-loreaux
assignee:j-loreaux
2-19289
2 days ago
2-19309
2 days ago
16-59171
16 days
30833 kckennylau
author:kckennylau
feat(Data): IsScalarTower for ZMod --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 29/0 Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Data/ZMod/Basic.lean 2 9 ['erdOne', 'github-actions', 'kckennylau', 'leanprover-bot'] nobody
2-19003
2 days ago
6-8808
6 days ago
6-8784
6 days
30974 mariainesdff
author:mariainesdff
feat(Algebra/Algebra/Basic): add RingHom.commSemiringToCommRing Co-authored by: @AntoineChambert-Loir --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
8/0 Mathlib/Algebra/Algebra/Basic.lean 1 1 ['github-actions'] nobody
2-18967
2 days ago
2-18974
2 days ago
2-19012
2 days
30976 mariainesdff
author:mariainesdff
feat(Data/Nat/Choose/Multinomial): add multinomial_eq_of_support_subset --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 10/0 Mathlib/Data/Nat/Choose/Multinomial.lean 1 n/a ['github-actions'] nobody
2-18172
2 days ago
unknown
unknown
30959 euprunin
author:euprunin
chore(RingTheory/Polynomial): golf entire `degreeLT_succ_eq_degreeLE` using `rfl` ---
Show trace profiling of degreeLT_succ_eq_degreeLE: 12 ms before, <10 ms after 🎉 ### Trace profiling of `degreeLT_succ_eq_degreeLE` before PR 30959 ```diff diff --git a/Mathlib/RingTheory/Polynomial/Basic.lean b/Mathlib/RingTheory/Polynomial/Basic.lean index 205bce7933..89ab41fcbc 100644 --- a/Mathlib/RingTheory/Polynomial/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Basic.lean @@ -158,6 +158,7 @@ theorem eval_eq_sum_degreeLTEquiv {n : ℕ} {p : R[X]} (hp : p ∈ degreeLT R n) simp_rw [eval_eq_sum] exact (sum_fin _ (by simp_rw [zero_mul, forall_const]) (mem_degreeLT.mp hp)).symm +set_option trace.profiler true in theorem degreeLT_succ_eq_degreeLE {n : ℕ} : degreeLT R (n + 1) = degreeLE R n := by ext x by_cases x_zero : x = 0 ``` ``` ℹ [1436/1436] Built Mathlib.RingTheory.Polynomial.Basic (2.4s) info: Mathlib/RingTheory/Polynomial/Basic.lean:162:0: [Elab.async] [0.012225] elaborating proof of Polynomial.degreeLT_succ_eq_degreeLE [Elab.definition.value] [0.011683] Polynomial.degreeLT_succ_eq_degreeLE [Elab.step] [0.011420] ext x by_cases x_zero : x = 0 · simp_rw [x_zero, Submodule.zero_mem] · rw [mem_degreeLT, mem_degreeLE, ← natDegree_lt_iff_degree_lt (by rwa [ne_eq]), ← natDegree_le_iff_degree_le, Nat.lt_succ] [Elab.step] [0.011413] ext x by_cases x_zero : x = 0 · simp_rw [x_zero, Submodule.zero_mem] · rw [mem_degreeLT, mem_degreeLE, ← natDegree_lt_iff_degree_lt (by rwa [ne_eq]), ← natDegree_le_iff_degree_le, Nat.lt_succ] Build completed successfully (1436 jobs). ``` ### Trace profiling of `degreeLT_succ_eq_degreeLE` after PR 30959 ```diff diff --git a/Mathlib/RingTheory/Polynomial/Basic.lean b/Mathlib/RingTheory/Polynomial/Basic.lean index 205bce7933..5078d7c03c 100644 --- a/Mathlib/RingTheory/Polynomial/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Basic.lean @@ -158,12 +158,8 @@ theorem eval_eq_sum_degreeLTEquiv {n : ℕ} {p : R[X]} (hp : p ∈ degreeLT R n) simp_rw [eval_eq_sum] exact (sum_fin _ (by simp_rw [zero_mul, forall_const]) (mem_degreeLT.mp hp)).symm -theorem degreeLT_succ_eq_degreeLE {n : ℕ} : degreeLT R (n + 1) = degreeLE R n := by - ext x - by_cases x_zero : x = 0 - · simp_rw [x_zero, Submodule.zero_mem] - · rw [mem_degreeLT, mem_degreeLE, ← natDegree_lt_iff_degree_lt (by rwa [ne_eq]), - ← natDegree_le_iff_degree_le, Nat.lt_succ] +set_option trace.profiler true in +theorem degreeLT_succ_eq_degreeLE {n : ℕ} : degreeLT R (n + 1) = degreeLE R n := rfl /-- The equivalence between monic polynomials of degree `n` and polynomials of degree less than `n`, formed by adding a term `X ^ n`. -/ ``` ``` ✔ [1436/1436] Built Mathlib.RingTheory.Polynomial.Basic (2.4s) Build completed successfully (1436 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-ring-theory 1/6 Mathlib/RingTheory/Polynomial/Basic.lean 1 1 ['github-actions', 'vihdzp'] nobody
2-11627
2 days ago
2-56176
2 days ago
2-56217
2 days
30939 euprunin
author:euprunin
chore(NumberTheory/LegendreSymbol/QuadraticChar): golf `FiniteField.isSquare_odd_prime_iff` using `simp` ---
Show trace profiling of FiniteField.isSquare_odd_prime_iff: 61 ms before, 139 ms after ### Trace profiling of `FiniteField.isSquare_odd_prime_iff` before PR 30939 ```diff diff --git a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean index e3281cd154..e042b8dd3f 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean @@ -94,6 +94,7 @@ theorem quadraticChar_odd_prime [DecidableEq F] (hF : ringChar F ≠ 2) {p : ℕ (ne_of_eq_of_ne (ringChar_zmod_n p) hp₂.symm) rwa [card p] at h +set_option trace.profiler true in /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem FiniteField.isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] ``` ``` ℹ [2828/2828] Built Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum (2.6s) info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.command] [0.019186] /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] (hp : p ≠ 2) : IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 := by classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.definition.header] [0.018732] FiniteField.isSquare_odd_prime_iff [Elab.step] [0.017563] expected type: Prop, term IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 [Elab.step] [0.017558] expected type: Prop, term Iff✝ (IsSquare (p : F)) (quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1) [Elab.step] [0.015040] expected type: Prop, term quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 [Elab.step] [0.015035] expected type: Prop, term binrel% Ne✝ (quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F)) (-1) [Elab.step] [0.014678] expected type: , term quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) [Elab.step] [0.011485] expected type: ZMod p, term (χ₄ (Fintype.card F) * Fintype.card F) [Elab.step] [0.011479] expected type: ZMod p, term χ₄ (Fintype.card F) * Fintype.card F [Elab.step] [0.011471] expected type: ZMod p, term binop% HMul.hMul✝ (χ₄ (Fintype.card F)) (Fintype.card F) info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.command] [0.019295] /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem FiniteField.isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] (hp : p ≠ 2) : IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 := by classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.async] [0.062132] elaborating proof of FiniteField.isSquare_odd_prime_iff [Elab.definition.value] [0.060946] FiniteField.isSquare_odd_prime_iff [Elab.step] [0.060273] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.060268] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.060263] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.060055] by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.060044] by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.055777] · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] [Elab.step] [0.055767] rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] [Elab.step] [0.055761] rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] simp only [IsSquare.zero, Ne, true_iff, map_mul] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] [Elab.step] [0.013550] simp only [IsSquare.zero, Ne, true_iff, map_mul] [Elab.step] [0.010623] obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) [Elab.step] [0.014198] conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] [Elab.step] [0.013464] enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] [Elab.step] [0.013460] enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] [Elab.step] [0.013234] rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] [Elab.step] [0.013208] rewrite [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] Build completed successfully (2828 jobs). ``` ### Trace profiling of `FiniteField.isSquare_odd_prime_iff` after PR 30939 ```diff diff --git a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean index e3281cd154..1f73e5c70f 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean @@ -94,6 +94,7 @@ theorem quadraticChar_odd_prime [DecidableEq F] (hF : ringChar F ≠ 2) {p : ℕ (ne_of_eq_of_ne (ringChar_zmod_n p) hp₂.symm) rwa [card p] at h +set_option trace.profiler true in /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem FiniteField.isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] @@ -102,11 +103,8 @@ theorem FiniteField.isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fa classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] - simp only [IsSquare.zero, Ne, true_iff, map_mul] - obtain ⟨n, _, hc⟩ := FiniteField.card F (ringChar F) - have hchar : ringChar F = ringChar (ZMod p) := by rw [hFp]; exact (ringChar_zmod_n p).symm - conv => enter [1, 1, 2]; rw [hc, Nat.cast_pow, map_pow, hchar, map_ringChar] - simp only [zero_pow n.ne_zero, mul_zero, zero_eq_neg, one_ne_zero, not_false_iff] + obtain ⟨⟩ := FiniteField.card F (ringChar F) + simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp ``` ``` ℹ [2828/2828] Built Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.GaussSum (1.7s) info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.command] [0.018569] /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] (hp : p ≠ 2) : IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 := by classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.definition.header] [0.018106] FiniteField.isSquare_odd_prime_iff [Elab.step] [0.016733] expected type: Prop, term IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 [Elab.step] [0.016726] expected type: Prop, term Iff✝ (IsSquare (p : F)) (quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1) [Elab.step] [0.014053] expected type: Prop, term quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 [Elab.step] [0.014046] expected type: Prop, term binrel% Ne✝ (quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F)) (-1) [Elab.step] [0.013685] expected type: , term quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) [Elab.step] [0.010420] expected type: ZMod p, term (χ₄ (Fintype.card F) * Fintype.card F) [Elab.step] [0.010415] expected type: ZMod p, term χ₄ (Fintype.card F) * Fintype.card F [Elab.step] [0.010409] expected type: ZMod p, term binop% HMul.hMul✝ (χ₄ (Fintype.card F)) (Fintype.card F) info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.command] [0.018685] /-- An odd prime `p` is a square in `F` iff the quadratic character of `ZMod p` does not take the value `-1` on `χ₄#F * #F`. -/ theorem FiniteField.isSquare_odd_prime_iff (hF : ringChar F ≠ 2) {p : ℕ} [Fact p.Prime] (hp : p ≠ 2) : IsSquare (p : F) ↔ quadraticChar (ZMod p) (χ₄ (Fintype.card F) * Fintype.card F) ≠ -1 := by classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp info: Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean:98:0: [Elab.async] [0.139820] elaborating proof of FiniteField.isSquare_odd_prime_iff [Elab.definition.value] [0.138910] FiniteField.isSquare_odd_prime_iff [Elab.step] [0.138469] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.138464] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.138459] classical by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.138002] by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.137991] by_cases hFp : ringChar F = p · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] · rw [← Iff.not_left (@quadraticChar_neg_one_iff_not_isSquare F _ _ _ _), quadraticChar_odd_prime hF hp] exact hFp [Elab.step] [0.133856] · rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] [Elab.step] [0.133848] rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] [Elab.step] [0.133844] rw [show (p : F) = 0 by rw [← hFp]; exact ringChar.Nat.cast_ringChar] obtain ⟨⟩ := FiniteField.card F (ringChar F) simp [*] [Elab.step] [0.011009] obtain ⟨⟩ := FiniteField.card F (ringChar F) [Elab.step] [0.113860] simp [*] [Meta.synthInstance] [0.013335] ✅️ ExistsAddOfLE F [Meta.synthInstance] [0.037076] ❌️ PosMulMono F Build completed successfully (2828 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-number-theory 2/5 Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/GaussSum.lean 1 1 ['github-actions'] nobody
2-11465
2 days ago
3-10758
3 days ago
3-10808
3 days
30861 euprunin
author:euprunin
chore(Algebra/Star): golf entire `coe_range` using `grind` ---
Show trace profiling of coe_range: <10 ms before, <10 ms after 🎉 ### Trace profiling of `coe_range` before PR 30861 ```diff diff --git a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean index 9b97bc24d4..30f849fa1e 100644 --- a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean @@ -449,6 +449,7 @@ theorem mem_range_self (φ : F) (x : A) : φ x ∈ (NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) := (NonUnitalAlgHom.mem_range φ).2 ⟨x, rfl⟩ +set_option trace.profiler true in @[simp, norm_cast] theorem coe_range (φ : F) : ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = Set.range (φ : A → B) := ``` ``` ℹ [1015/1015] Built Mathlib.Algebra.Star.NonUnitalSubalgebra (8.8s) info: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean:453:0: [Elab.command] [0.015086] @[simp, norm_cast] theorem coe_range (φ : F) : ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = Set.range (φ : A → B) := by ext; rw [SetLike.mem_coe, mem_range]; rfl Build completed successfully (1015 jobs). ``` ### Trace profiling of `coe_range` after PR 30861 ```diff diff --git a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean index 9b97bc24d4..4bc82ae727 100644 --- a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean @@ -449,10 +449,12 @@ theorem mem_range_self (φ : F) (x : A) : φ x ∈ (NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) := (NonUnitalAlgHom.mem_range φ).2 ⟨x, rfl⟩ +set_option trace.profiler true in @[simp, norm_cast] theorem coe_range (φ : F) : - ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = Set.range (φ : A → B) := - by ext; rw [SetLike.mem_coe, mem_range]; rfl + ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = + Set.range (φ : A → B) := by + grind theorem range_comp (f : A →⋆ₙₐ[R] B) (g : B →⋆ₙₐ[R] C) : NonUnitalStarAlgHom.range (g.comp f) = (NonUnitalStarAlgHom.range f).map g := ``` ``` ℹ [1015/1015] Built Mathlib.Algebra.Star.NonUnitalSubalgebra (8.9s) info: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean:453:0: [Elab.command] [0.017641] @[simp, norm_cast] theorem coe_range (φ : F) : ((NonUnitalStarAlgHom.range φ : NonUnitalStarSubalgebra R B) : Set B) = Set.range (φ : A → B) := by grind Build completed successfully (1015 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-algebra
label:t-algebra$
3/2 Mathlib/Algebra/Star/NonUnitalSubalgebra.lean 1 1 ['github-actions'] nobody
2-11343
2 days ago
5-14056
5 days ago
5-14106
5 days
29610 llllvvuu
author:llllvvuu
feat(LinearAlgebra): define LinearMap.Eigenbasis Some theorems are left TODO for follow-up work. The definition is from @eric-wieser ([#Is there code for X? > diagonalizable linear maps @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/diagonalizable.20linear.20maps/near/539163222)). Co-authored-by: Aristotle Harmonic --- - [x] depends on: #29420 (golfs some `[Nontrivial R]` assumptions) - [ ] depends on: #29791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
458/5 Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/LinearAlgebra/Eigenbasis.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean 6 29 ['github-actions', 'kckennylau', 'llllvvuu', 'mathlib4-dependent-issues-bot'] nobody
2-652
2 days ago
2-654
2 days ago
5-22958
5 days
30984 erdOne
author:erdOne
feat(RingTheory): lemmas about scaleRoots --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import 120/5 Mathlib/RingTheory/Polynomial/IntegralNormalization.lean,Mathlib/RingTheory/Polynomial/ScaleRoots.lean 2 2 ['erdOne', 'github-actions'] nobody
1-83741
1 day ago
2-41
2 days ago
2-145
2 days
24614 JovanGerb
author:JovanGerb
chore: rename field `inf` to `min` in `Lattice` As suggested by @eric-wieser, this PR renames the `sup` and `inf` fields in `Lattice` to `max` and `min`. This means that we now can extend `Lattice` and `LinearOrder` simultaneously without ending up with duplicate fields. This should be implemented in a future PR for existing classes like `CompleteLinearOrder`. [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60sup.60.2F.60inf.60.20or.20.60max.60.2F.60min.60.20for.20set.20interval.20lemmas.3F) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 181/187 Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Subpresheaf/Basic.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Semiquot.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Sum/Lattice.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/Order/Booleanisation.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Concept.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Preorder/Finsupp.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/Sublattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Basic.lean 84 14 ['JovanGerb', 'bryangingechen', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] Vierkantor
assignee:Vierkantor
1-75560
1 day ago
9-8127
9 days ago
11-7367
11 days
30293 vlad902
author:vlad902
feat(SimpleGraph): there exists a maximal path/trail in a graph with finite edges Inspired by [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Help.20me.20learn.20good.20style.3A.20IsTree/near/543395218) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 27/1 Mathlib/Combinatorics/SimpleGraph/Paths.lean 1 2 ['github-actions', 'vlad902'] awainverse
assignee:awainverse
1-75558
1 day ago
22-44732
22 days ago
22-44764
22 days
30678 YaelDillies
author:YaelDillies
refactor(Algebra/Quaternion): intermediate `Module` instance This `Module` instance allows me to not ungeneralise the `NoZeroSMulDivisors R ℍ[R,c₁,c₂,c₃]` in #30563. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
45/29 Mathlib/Algebra/Quaternion.lean 1 20 ['YaelDillies', 'eric-wieser', 'github-actions'] joelriou
assignee:joelriou
1-75556
1 day ago
9-46483
9 days ago
9-71222
9 days
30694 themathqueen
author:themathqueen
chore(Analysis/CStarAlgebra/CFC/Order): relate section to strict positivity --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 23/20 Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean 2 2 ['github-actions', 'grunweg'] sgouezel
assignee:sgouezel
1-75553
1 day ago
10-9251
10 days ago
10-9292
10 days
30714 harahu
author:harahu
doc(Analysis): fix typos Found with help from Codex, curated by me. I've tried to limit the PR to changes that are easy to verify. Should you find it difficult to review any particular part of this PR, know that I have nothing against trimming this PR down in favor of smaller free-standing PRs for the difficult-to-review parts. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 15/15 Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Analysis/Real/OfDigits.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean 7 1 ['github-actions'] grunweg
assignee:grunweg
1-75550
1 day ago
9-41241
9 days ago
9-43163
9 days
30717 kim-em
author:kim-em
chore: cleanup rwMerge tactic analysis linter Previously this would find a sequence of `rw`, and see if they could all be merged into a single one. Now it just tries to merge an adjacent pair of `rw`s. (In the event that 3 or more rewrites could be merged, this will now suggest a more conservative merge, but presumably subsequently suggest the further merges.) Also removes a spurious `set_option grind.warning false`. t-meta 8/5 Mathlib/Tactic/TacticAnalysis/Declarations.lean 1 1 ['github-actions'] thorimur
assignee:thorimur
1-75549
1 day ago
9-41372
9 days ago
9-41413
9 days
30990 kckennylau
author:kckennylau
chore: move SModEq to a new folder Split off from #30989. I only move it to a new folder and do nothing else. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 160/156 Mathlib.lean,Mathlib/LinearAlgebra/SModEq.lean,Mathlib/LinearAlgebra/SModEq/Basic.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/PowerBasis.lean 5 1 ['github-actions'] nobody
1-75261
1 day ago
1-75517
1 day ago
1-75493
1 day
30988 erdOne
author:erdOne
feat(AlgebraicGeometry): descending affine cover of an inverse limit --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebraic-geometry 356/32 Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/Topology/LocalAtTarget.lean 5 1 ['github-actions'] nobody
1-74595
1 day ago
1-74595
1 day ago
1-78264
1 day
30983 erdOne
author:erdOne
feat(RingTheory): results on resultant Also changed the definition of `sylvesterMatrix` because the old definition has the wrong sign. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 303/33 Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/WittVector/MulCoeff.lean 5 5 ['erdOne', 'github-actions', 'kckennylau'] nobody
1-74506
1 day ago
2-3209
2 days ago
2-3185
2 days
30960 qawbecrdtey
author:qawbecrdtey
chore(Combinatorics/SimpleGraph/Walk): golf --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 74/150 Mathlib/Combinatorics/SimpleGraph/Walk.lean 1 36 ['SnirBroshi', 'adomani', 'github-actions', 'grunweg', 'leanprover-bot', 'qawbecrdtey'] nobody
1-74371
1 day ago
1-77850
1 day ago
2-32757
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. --- - [x] depends on: #30806 new-contributor 223/1 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean,Mathlib/RingTheory/TensorProduct/Maps.lean 4 7 ['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yonggyuchoimath'] TwoFX
assignee:TwoFX
1-64468
1 day ago
1-67739
1 day ago
29-49717
29 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 20/6 Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/Maps.lean 2 9 ['YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] mattrobball
assignee:mattrobball
1-52154
1 day ago
1-52177
1 day ago
63-34722
63 days
29539 YaelDillies
author:YaelDillies
feat: monoid algebras are invariant under base change 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 large-import 112/6 Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean 3 6 ['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] mattrobball
assignee:mattrobball
1-51581
1 day ago
1-51603
1 day ago
48-3148
48 days
28475 astrainfinita
author:astrainfinita
chore(Analysis/SpecificLimits/Basic): generalize lemmas --- - [ ] depends on: #28472 - [ ] depends on: #28474 - [ ] depends on: #30671 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 98/82 Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/OrdinaryHypergeometric.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/RCLike.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Dynamics/Ergodic/AddCircle.lean,Mathlib/NumberTheory/Padics/Hensel.lean 12 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-50987
1 day ago
5-84245
5 days ago
5-86324
5 days
29186 winstonyin
author:winstonyin
feat: IsIntegralCurve for solutions to ODEs I define `IsIntegralCurve` etc. for solutions to ODEs on vector spaces. The translation and scaling lemmas are also included. This parallels `IsMIntegralCurve` etc. for manifolds. Moved from #26534. - [x] depends on: #26563 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-dynamics t-analysis t-differential-geometry 298/100 Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean 5 2 ['github-actions', 'mathlib4-dependent-issues-bot'] grunweg and sgouezel
assignee:grunweg assignee:sgouezel
1-49634
1 day ago
59-8996
1 month ago
59-9132
59 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$
50/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean 3 17 ['github-actions', 'gmcninch-tufts', 'kckennylau'] jcommelin
assignee:jcommelin
1-47490
1 day ago
72-24632
2 months ago
72-24667
72 days
30994 kim-em
author:kim-em
feat: `fix_deprecations.py` script CI 132/0 scripts/README.md,scripts/fix_deprecations.py 2 1 ['github-actions'] nobody
1-45621
1 day ago
1-45624
1 day ago
1-45668
1 day
24669 qawbecrdtey
author:qawbecrdtey
feat(Analysis/Normed/Operator/LinearIsometry): added definition `LinearIsometryEquiv.prodComm` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) This commit defines a `LinearIsometryEquiv`, and states some trivial theorems about it. ```lean def prodComm [Module R E₂] : E × E₂ ≃ₗᵢ[R] E₂ × E ``` t-analysis 8/1 Mathlib/Analysis/Normed/Operator/LinearIsometry.lean 1 12 ['Ruben-VandeVelde', 'eric-wieser', 'faenuccio', 'github-actions', 'j-loreaux', 'jcommelin', 'qawbecrdtey'] faenuccio
assignee:faenuccio
1-45047
1 day ago
1-45047
1 day ago
34-42186
34 days
30949 jessealama
author:jessealama
feat(LinearAlgebra/AffineSpace): affine maps/equivs determined by values on spanning sets This PR adds two extensionality lemmas showing that affine maps (and automorphisms) are uniquely determined by their values on any set that affinely spans the entire space: - `AffineMap.ext_of_span_eq_top`: If two affine maps agree on a spanning set, they are equal - `AffineEquiv.ext_of_span_eq_top`: Specialization to affine automorphisms These lemmas are useful for proving uniqueness of affine maps without requiring affine independence. This is extracted from #30854 to make a smaller, more focused PR. cc @eric-wieser @jsm28 (recent reviewers of `Combination.lean`) t-algebra
label:t-algebra$
42/0 Mathlib/LinearAlgebra/AffineSpace/Combination.lean 1 3 ['github-actions', 'jessealama', 'jsm28'] nobody
1-43000
1 day ago
3-2605
3 days ago
3-2653
3 days
30997 kex-y
author:kex-y
feat(Probability): Add predictable processes --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 241/0 Mathlib.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Predictable.lean 3 1 ['github-actions'] nobody
1-41916
1 day ago
1-41981
1 day ago
1-41965
1 day
26136 vasnesterov
author:vasnesterov
feat(Topology/Instances): Cantor set is homeomorphic to `ℕ → Bool` * Prove that `Real.ofDigits` is a continuous map from `ℕ → Fin b` to `ℝ`. * Prove that the Cantor set is homeomorphic to `ℕ → Bool`. --- - [x] depends on: #26096 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 89/1 Mathlib/Analysis/Real/OfDigits.lean,Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json 3 8 ['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] nobody
1-41036
1 day ago
1-41394
1 day ago
1-41518
1 day
30477 jsm28
author:jsm28
feat(Geometry/Euclidean/Angle/Bisector): oriented angle bisection and equal distance Add a lemma ```lean lemma dist_orthogonalProjection_eq_iff_oangle_eq {p p' : P} {s₁ s₂ : AffineSubspace ℝ P} [s₁.direction.HasOrthogonalProjection] [s₂.direction.HasOrthogonalProjection] (hp' : p' ∈ s₁ ⊓ s₂) (hne : haveI : Nonempty s₁ := ⟨p', hp'.1⟩; haveI : Nonempty s₂ := ⟨p', hp'.2⟩; (orthogonalProjection s₁ p : P) ≠ orthogonalProjection s₂ p) (hp₁ : haveI : Nonempty s₁ := ⟨p', hp'.1⟩; orthogonalProjection s₁ p ≠ p') (hp₂ : haveI : Nonempty s₂ := ⟨p', hp'.2⟩; orthogonalProjection s₂ p ≠ p') : haveI : Nonempty s₁ := ⟨p', hp'.1⟩ haveI : Nonempty s₂ := ⟨p', hp'.2⟩ dist p (orthogonalProjection s₁ p) = dist p (orthogonalProjection s₂ p) ↔ ∡ (orthogonalProjection s₁ p : P) p' p = ∡ p p' (orthogonalProjection s₂ p) := ``` that is an oriented angle analogue of the existing `dist_orthogonalProjection_eq_iff_angle_eq`. Because the minimal nondegeneracy conditions required for the two directions of this lemma are different (whereas the unoriented version doesn't need any nondegeneracy conditions), those two directions are added as separate lemmas, each with minimal nondegeneracy conditions, from which the `iff` version is then deduced. --- - [ ] depends on: #30474 - [ ] depends on: #30476 - [ ] depends on: #30698 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-euclidean-geometry 106/0 Mathlib/Geometry/Euclidean/Angle/Bisector.lean 1 3 ['github-actions', 'jsm28', 'mathlib4-dependent-issues-bot'] nobody
1-40278
1 day ago
1-55056
1 day ago
1-57382
1 day
30995 kckennylau
author:kckennylau
feat(RingTheory): adic limit For an `I`-adically complete `M` we define `limit : AdicCompletion I M ≃ₗ[R] M`. This should make #30989 and subsequent PR's smoother. It is intended to be used together with [AdicCompletion.mk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/AdicCompletion/Basic.html#AdicCompletion.mk) : `AdicCompletion.AdicCauchySequence I M →ₗ[R] AdicCompletion I M`. We also introduce `adicExpansion (ϖ : R) (hϖ : ϖ ∈ I) : (ℕ → M) →ₗ[R] AdicCauchySequence I M`, which sends a sequence `a : ℕ → M` to the Cauchy sequence `∑ ϖ ^ i • a i`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 84/0 Mathlib.lean,Mathlib/RingTheory/AdicCompletion/Limit.lean 2 3 ['github-actions', 'jjdishere', 'kckennylau'] nobody
1-39347
1 day ago
1-45075
1 day ago
1-45112
1 day
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 6 ['MichaelStollBayreuth', 'github-actions', 'j-loreaux', 'leanprover-bot'] ericrbg
assignee:ericrbg
1-36368
1 day ago
59-8011
1 month ago
128-34600
128 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, the zero divisors and the field structure (when there is one). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
382/1 Mathlib.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/QuadraticAlgebra.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean 4 79 ['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'j-loreaux', 'riccardobrasca'] riccardobrasca
assignee:riccardobrasca
1-35651
1 day ago
8-15728
8 days ago
30-55410
30 days
30993 euprunin
author:euprunin
chore(Analysis/Convex): golf `sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair` using `grind` ---
Show trace profiling of sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair: 368 ms before, 510 ms after ### Trace profiling of `sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair` before PR 30993 ```diff diff --git a/Mathlib/Analysis/Convex/Between.lean b/Mathlib/Analysis/Convex/Between.lean index c046576ad8..63c6b96cae 100644 --- a/Mathlib/Analysis/Convex/Between.lean +++ b/Mathlib/Analysis/Convex/Between.lean @@ -740,6 +740,7 @@ variable [Ring R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] variable {R} +set_option trace.profiler true in /-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at `p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a vertex to the point on the opposite side. -/ ``` ``` ℹ [1510/1510] Built Mathlib.Analysis.Convex.Between (3.4s) info: Mathlib/Analysis/Convex/Between.lean:744:0: [Elab.command] [0.039396] /-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at `p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a vertex to the point on the opposite side. -/ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V] {t : Affine.Triangle R P} {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) {p₁ p₂ p : P} (h₁ : Sbtw R (t.points i₂) p₁ (t.points i₃)) (h₂ : Sbtw R (t.points i₁) p₂ (t.points i₃)) (h₁' : p ∈ line[R, t.points i₁, p₁]) (h₂' : p ∈ line[R, t.points i₂, p₂]) : Sbtw R (t.points i₁) p p₁ := by have h₁₃ : i₁ ≠ i₃ := by rintro rfl simp at h₂ have h₂₃ : i₂ ≠ i₃ := by rintro rfl simp at h₁ have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ := by omega have hu : (Finset.univ : Finset (Fin 3)) = { i₁, i₂, i₃ } := by clear h₁ h₂ h₁' h₂' decide +revert have hp : p ∈ affineSpan R (Set.range t.points) := by have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) ?_ have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_mono R ?_ simp [Set.insert_subset_iff] rw [AffineSubspace.le_def'] at hle exact hle _ h₁.wbtw.mem_affineSpan rw [AffineSubspace.le_def'] at hle exact hle _ h₁' have h₁i := h₁.mem_image_Ioo have h₂i := h₂.mem_image_Ioo rw [Set.mem_image] at h₁i h₂i rcases h₁i with ⟨r₁, ⟨hr₁0, hr₁1⟩, rfl⟩ rcases h₂i with ⟨r₂, ⟨hr₂0, hr₂1⟩, rfl⟩ rcases eq_affineCombination_of_mem_affineSpan_of_fintype hp with ⟨w, hw, rfl⟩ have h₁s := sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _) (Finset.mem_univ _) (Finset.mem_univ _) h₁₂ h₁₃ h₂₃ hr₁0 hr₁1 h₁' have h₂s := sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _) (Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂' rw [← Finset.univ.affineCombination_affineCombinationSingleWeights R t.points (Finset.mem_univ i₁), ← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _) (Finset.mem_univ _)] at h₁' ⊢ refine Sbtw.affineCombination_of_mem_affineSpan_pair t.independent hw (Finset.univ.sum_affineCombinationSingleWeights R (Finset.mem_univ _)) (Finset.univ.sum_affineCombinationLineMapWeights (Finset.mem_univ _) (Finset.mem_univ _) _) h₁' (Finset.mem_univ i₁) ?_ rw [Finset.affineCombinationSingleWeights_apply_self, Finset.affineCombinationLineMapWeights_apply_of_ne h₁₂ h₁₃, sbtw_one_zero_iff] have hs : ∀ i : Fin 3, SignType.sign (w i) = SignType.sign (w i₃) := by intro i rcases h3 i with (rfl | rfl | rfl) · exact h₂s · exact h₁s · rfl have hss : SignType.sign (∑ i, w i) = 1 := by simp [hw] have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i _ => hs i rw [hs'] at hss simp_rw [hss, sign_eq_one_iff] at hs refine ⟨hs i₁, ?_⟩ rw [hu] at hw rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw · by_contra hle rw [not_lt] at hle exact (hle.trans_lt (lt_add_of_pos_right _ (Left.add_pos (hs i₂) (hs i₃)))).ne' hw · simpa using h₂₃ · simpa [not_or] using ⟨h₁₂, h₁₃⟩ [Elab.definition.header] [0.029190] sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.step] [0.013458] expected type: Prop, term NoZeroSMulDivisors R V info: Mathlib/Analysis/Convex/Between.lean:744:0: [Elab.async] [0.375398] elaborating proof of sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.definition.value] [0.368189] sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.step] [0.352778] have h₁₃ : i₁ ≠ i₃ := by rintro rfl simp at h₂ have h₂₃ : i₂ ≠ i₃ := by rintro rfl simp at h₁ have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ := by omega have hu : (Finset.univ : Finset (Fin 3)) = { i₁, i₂, i₃ } := by clear h₁ h₂ h₁' h₂' decide +revert have hp : p ∈ affineSpan R (Set.range t.points) := by have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) ?_ have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_mono R ?_ [… 1038 lines omitted …] _a}) (Eq.symm (Finset.affineCombination_affineCombinationLineMapWeights Finset.univ t.points (Finset.mem_univ i₂) (Finset.mem_univ i₃) r₁))) (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R (insert _a ⋯)) (Eq.symm (Finset.affineCombination_affineCombinationSingleWeights R Finset.univ t.points (Finset.mem_univ i₁)))) h₁')) h₂' h₁s) fun h ↦ Eq.ndrec (motive := fun {i₃} ↦ i₁ ≠ i₃ → i₂ ≠ i₃ → (∀ (i : Fin 3), i = i₁ ∨ i = i₂ ∨ i = i₃) → Finset.univ = {i₁, i₂, i₃} → Sbtw R (t.points i₂) ⋯ (t.points i₃) → ⋯ → ⋯) (fun h₁₃ h₂₃ h3 hu h₁ h₂ h₁' h₂' h₁s h₂s ↦ Eq.refl (SignType.sign (w i))) h h₁₃ h₂₃ h3 hu h₁ h₂ (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R {(Finset.affineCombination R Finset.univ t.points) (Finset.affineCombinationSingleWeights R i₁), _a}) (Eq.symm (Finset.affineCombination_affineCombinationLineMapWeights Finset.univ t.points (Finset.mem_univ i₂) (Finset.mem_univ i₃) r₁))) (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R (insert _a ⋯)) (Eq.symm (Finset.affineCombination_affineCombinationSingleWeights R Finset.univ t.points (Finset.mem_univ i₁)))) h₁')) h₂' h₁s h₂s; have hss := of_eq_true (Eq.trans (congrArg (fun x ↦ x = 1) (Eq.trans (congrArg (⇑SignType.sign) hw) (sign_pos (of_eq_true zero_lt_one._simp_1)))) (eq_self 1)); have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i x ↦ hs i; ⟨Eq.mp (forall_congr fun i ↦ sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._simp_1_3) (Eq.mp (forall_congr fun i ↦ congrArg (Eq (SignType.sign (w i))) (Eq.mp (congrArg (fun _a ↦ _a = 1) hs') hss)) hs) i₁, Decidable.byContradiction fun hle ↦ LT.lt.ne' (LE.le.trans_lt (Eq.mp (congrArg (fun _a ↦ _a) (propext not_lt)) hle) (lt_add_of_pos_right (w i₁) (Left.add_pos (Eq.mp (forall_congr fun i ↦ sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._simp_1_3) (Eq.mp (forall_congr fun i ↦ ⋯) hs) i₂) (Eq.mp (forall_congr fun i ↦ sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._simp_1_3) (Eq.mp (forall_congr fun i ↦ ⋯) hs) i₃)))) (Eq.mp (congrArg (fun _a ↦ w i₁ + (w i₂ + _a) = 1) (Finset.sum_singleton w i₃)) (Eq.mp (congrArg (fun _a ↦ w i₁ + _a = 1) (Finset.sum_insert (Eq.mpr (_root_.id (congrArg Not Finset.mem_singleton._simp_1)) h₂₃))) (Eq.mp (congrArg (fun _a ↦ _a = 1) (Finset.sum_insert (Eq.mpr (_root_.id ⋯) ⟨h₁₂, h₁₃⟩))) (Eq.mp (congrArg (fun _a ↦ ⋯ = 1) hu) hw))))⟩))))))) (Eq.symm right) hp h₁' h₂') right h₂ h₂') right h₁ h₁' info: Mathlib/Analysis/Convex/Between.lean:758:56: [Elab.async] [0.035119] Lean.addDecl [Kernel] [0.035088] ✅️ typechecking declarations [sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._proof_1_1] info: Mathlib/Analysis/Convex/Between.lean:747:8: [Elab.async] [0.020899] Lean.addDecl [Kernel] [0.020849] ✅️ typechecking declarations [sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair] Build completed successfully (1510 jobs). ``` ### Trace profiling of `sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair` after PR 30993 ```diff diff --git a/Mathlib/Analysis/Convex/Between.lean b/Mathlib/Analysis/Convex/Between.lean index c046576ad8..eed42b41c6 100644 --- a/Mathlib/Analysis/Convex/Between.lean +++ b/Mathlib/Analysis/Convex/Between.lean @@ -740,6 +740,7 @@ variable [Ring R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] variable {R} +set_option trace.profiler true in /-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at `p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a vertex to the point on the opposite side. -/ @@ -801,14 +802,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V] have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i _ => hs i rw [hs'] at hss simp_rw [hss, sign_eq_one_iff] at hs - refine ⟨hs i₁, ?_⟩ - rw [hu] at hw - rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw - · by_contra hle - rw [not_lt] at hle - exact (hle.trans_lt (lt_add_of_pos_right _ (Left.add_pos (hs i₂) (hs i₃)))).ne' hw - · simpa using h₂₃ - · simpa [not_or] using ⟨h₁₂, h₁₃⟩ + grind end LinearOrderedRing ``` ``` ℹ [1510/1510] Built Mathlib.Analysis.Convex.Between (3.3s) info: Mathlib/Analysis/Convex/Between.lean:744:0: [Elab.command] [0.036769] /-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at `p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a vertex to the point on the opposite side. -/ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V] {t : Affine.Triangle R P} {i₁ i₂ i₃ : Fin 3} (h₁₂ : i₁ ≠ i₂) {p₁ p₂ p : P} (h₁ : Sbtw R (t.points i₂) p₁ (t.points i₃)) (h₂ : Sbtw R (t.points i₁) p₂ (t.points i₃)) (h₁' : p ∈ line[R, t.points i₁, p₁]) (h₂' : p ∈ line[R, t.points i₂, p₂]) : Sbtw R (t.points i₁) p p₁ := by have h₁₃ : i₁ ≠ i₃ := by rintro rfl simp at h₂ have h₂₃ : i₂ ≠ i₃ := by rintro rfl simp at h₁ have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ := by omega have hu : (Finset.univ : Finset (Fin 3)) = { i₁, i₂, i₃ } := by clear h₁ h₂ h₁' h₂' decide +revert have hp : p ∈ affineSpan R (Set.range t.points) := by have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) ?_ have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_mono R ?_ simp [Set.insert_subset_iff] rw [AffineSubspace.le_def'] at hle exact hle _ h₁.wbtw.mem_affineSpan rw [AffineSubspace.le_def'] at hle exact hle _ h₁' have h₁i := h₁.mem_image_Ioo have h₂i := h₂.mem_image_Ioo rw [Set.mem_image] at h₁i h₂i rcases h₁i with ⟨r₁, ⟨hr₁0, hr₁1⟩, rfl⟩ rcases h₂i with ⟨r₂, ⟨hr₂0, hr₂1⟩, rfl⟩ rcases eq_affineCombination_of_mem_affineSpan_of_fintype hp with ⟨w, hw, rfl⟩ have h₁s := sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _) (Finset.mem_univ _) (Finset.mem_univ _) h₁₂ h₁₃ h₂₃ hr₁0 hr₁1 h₁' have h₂s := sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _) (Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂' rw [← Finset.univ.affineCombination_affineCombinationSingleWeights R t.points (Finset.mem_univ i₁), ← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _) (Finset.mem_univ _)] at h₁' ⊢ refine Sbtw.affineCombination_of_mem_affineSpan_pair t.independent hw (Finset.univ.sum_affineCombinationSingleWeights R (Finset.mem_univ _)) (Finset.univ.sum_affineCombinationLineMapWeights (Finset.mem_univ _) (Finset.mem_univ _) _) h₁' (Finset.mem_univ i₁) ?_ rw [Finset.affineCombinationSingleWeights_apply_self, Finset.affineCombinationLineMapWeights_apply_of_ne h₁₂ h₁₃, sbtw_one_zero_iff] have hs : ∀ i : Fin 3, SignType.sign (w i) = SignType.sign (w i₃) := by intro i rcases h3 i with (rfl | rfl | rfl) · exact h₂s · exact h₁s · rfl have hss : SignType.sign (∑ i, w i) = 1 := by simp [hw] have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i _ => hs i rw [hs'] at hss simp_rw [hss, sign_eq_one_iff] at hs grind [Elab.definition.header] [0.027384] sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.step] [0.013866] expected type: Prop, term NoZeroSMulDivisors R V info: Mathlib/Analysis/Convex/Between.lean:744:0: [Elab.async] [0.517542] elaborating proof of sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.definition.value] [0.510462] sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [Elab.step] [0.494049] have h₁₃ : i₁ ≠ i₃ := by rintro rfl simp at h₂ have h₂₃ : i₂ ≠ i₃ := by rintro rfl simp at h₁ have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ := by omega have hu : (Finset.univ : Finset (Fin 3)) = { i₁, i₂, i₃ } := by clear h₁ h₂ h₁' h₂' decide +revert have hp : p ∈ affineSpan R (Set.range t.points) := by have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) ?_ have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by refine affineSpan_mono R ?_ simp [Set.insert_subset_iff] rw [AffineSubspace.le_def'] at hle exact hle _ h₁.wbtw.mem_affineSpan rw [AffineSubspace.le_def'] at hle exact hle _ h₁' have h₁i := h₁.mem_image_Ioo have h₂i := h₂.mem_image_Ioo [… 1050 lines omitted …] (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R {_a, ⋯ r₁}) (Eq.symm (Finset.affineCombination_affineCombinationSingleWeights R Finset.univ t.points (Finset.mem_univ i₁)))) h₁')) h₂' h₂s) fun h ↦ Or.casesOn h (fun h ↦ Eq.ndrec (motive := fun {i₂} ↦ i₁ ≠ i₂ → i₂ ≠ i₃ → (∀ (i : Fin 3), i = i₁ ∨ i = i₂ ∨ i = i₃) → Finset.univ = {i₁, i₂, i₃} → Sbtw R (t.points i₂) ⋯ (t.points i₃) → ⋯ → ⋯) (fun h₁₂ h₂₃ h3 hu h₁ h₁' h₂' h₁s ↦ h₁s) h h₁₂ h₂₃ h3 hu h₁ (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R {(Finset.affineCombination R Finset.univ t.points) (Finset.affineCombinationSingleWeights R i₁), _a}) (Eq.symm (Finset.affineCombination_affineCombinationLineMapWeights Finset.univ t.points (Finset.mem_univ i₂) (Finset.mem_univ i₃) r₁))) (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R (insert _a ⋯)) (Eq.symm (Finset.affineCombination_affineCombinationSingleWeights R Finset.univ t.points (Finset.mem_univ i₁)))) h₁')) h₂' h₁s) fun h ↦ Eq.ndrec (motive := fun {i₃} ↦ i₁ ≠ i₃ → i₂ ≠ i₃ → (∀ (i : Fin 3), i = i₁ ∨ i = i₂ ∨ i = i₃) → Finset.univ = {i₁, i₂, i₃} → Sbtw R (t.points i₂) ⋯ (t.points i₃) → ⋯ → ⋯) (fun h₁₃ h₂₃ h3 hu h₁ h₂ h₁' h₂' h₁s h₂s ↦ Eq.refl (SignType.sign (w i))) h h₁₃ h₂₃ h3 hu h₁ h₂ (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R {(Finset.affineCombination R Finset.univ t.points) (Finset.affineCombinationSingleWeights R i₁), _a}) (Eq.symm (Finset.affineCombination_affineCombinationLineMapWeights Finset.univ t.points (Finset.mem_univ i₂) (Finset.mem_univ i₃) r₁))) (Eq.mp (congrArg (fun _a ↦ (Finset.affineCombination R Finset.univ t.points) w ∈ affineSpan R (insert _a ⋯)) (Eq.symm (Finset.affineCombination_affineCombinationSingleWeights R Finset.univ t.points (Finset.mem_univ i₁)))) h₁')) h₂' h₁s h₂s; have hss := of_eq_true (Eq.trans (congrArg (fun x ↦ x = 1) (Eq.trans (congrArg (⇑SignType.sign) hw) (sign_pos (of_eq_true zero_lt_one._simp_1)))) (eq_self 1)); have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i x ↦ hs i; sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._proof_1_4 h₁₂ h₁₃ h₂₃ hu w hw (Eq.mp (forall_congr fun i ↦ sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._simp_1_3) (Eq.mp (forall_congr fun i ↦ congrArg (Eq (SignType.sign (w i))) (Eq.mp (congrArg (fun _a ↦ _a = 1) hs') hss)) hs))))))))) (Eq.symm right) hp h₁' h₂') right h₂ h₂') right h₁ h₁' info: Mathlib/Analysis/Convex/Between.lean:758:56: [Elab.async] [0.034446] Lean.addDecl [Kernel] [0.034414] ✅️ typechecking declarations [sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._proof_1_1] info: Mathlib/Analysis/Convex/Between.lean:805:2: [Elab.async] [0.010829] Lean.addDecl [Kernel] [0.010814] ✅️ typechecking declarations [sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair._proof_1_4] info: Mathlib/Analysis/Convex/Between.lean:747:8: [Elab.async] [0.019719] Lean.addDecl [Kernel] [0.019644] ✅️ typechecking declarations [sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair] Build completed successfully (1510 jobs). ```
--- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)
t-analysis 1/8 Mathlib/Analysis/Convex/Between.lean 1 5 ['euprunin', 'github-actions', 'grunweg'] grunweg
assignee:grunweg
1-33105
1 day ago
1-38885
1 day ago
1-41874
1 day
31001 gasparattila
author:gasparattila
fix(Tactic/FunProp): fix "loose bvar in expression" error --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 1/1 Mathlib/Tactic/FunProp/Core.lean 1 2 ['github-actions', 'grunweg'] nobody
1-32909
1 day ago
1-40074
1 day ago
1-40112
1 day
30928 themathqueen
author:themathqueen
chore(LinearAlgebra/Matrix/PosDef): rename `Matrix.InnerProductSpace.ofMatrix` Renames: - `Matrix.NormedAddCommGroup.ofMatrix` -> `Matrix.PosDef.normedAddCommGroup` - `Matrix.InnerProductSpace.ofMatrix` -> `Matrix.PosDef.innerProductSpace` Also defines `Matrix.PosSemidef.seminormedAddCommGroup` and `Matrix.PosSemidef.innerProductSpace` for the pre-inner product space induced by a positive semi-definite matrix. (The positive definite version extends this, so they, of course, have the same inner product.) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
45/24 Mathlib/LinearAlgebra/Matrix/LDL.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean 2 15 ['eric-wieser', 'github-actions', 'themathqueen'] nobody
1-31969
1 day ago
3-31111
3 days ago
3-31802
3 days
25804 erdOne
author:erdOne
feat: `∑ z ∈ L, ‖z - x‖⁻ʳ` converges for lattices `L` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) --- *This PR continues the work from #21673.* *Original PR: https://github.com/leanprover-community/mathlib4/pull/21673* t-analysis 320/0 Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Disjoint.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Order/Disjointed.lean 4 3 ['github-actions', 'wwylele'] fpvandoorn
assignee:fpvandoorn
1-31469
1 day ago
1-31469
1 day ago
77-52833
77 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 11 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'vihdzp'] kmill
assignee:kmill
1-31382
1 day ago
31-49151
1 month ago
58-68272
58 days
30973 vihdzp
author:vihdzp
feat: generalize `Finsupp.lex_lt_iff_of_unique` --- - [x] depends on: #30481 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 46/13 Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Order/PiLex.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-30348
1 day ago
1-30348
1 day ago
1-39216
1 day
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 84/36 Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean 3 3 ['github-actions', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
1-27985
1 day ago
1-28005
1 day ago
29-14854
29 days
30991 tb65536
author:tb65536
feat(Algebra/Group/Action/Defs): add `SMulDistribClass` This PR adds `SMulDistribClass` imposing `g • r • s = (g • r) • (g • s)`. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Typeclass.20for.20compatible.20group.20actions --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
27/5 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean 2 2 ['github-actions', 'riccardobrasca'] nobody
1-26861
1 day ago
1-72119
1 day ago
1-72096
1 day
30650 JovanGerb
author:JovanGerb
perf(reassoc, to_app, elementwise): don't pass the same proof to the kernel again In `reassoc`, `to_app`, `elementwise`, the proof of the original lemma was being used to prove the modified lemma. This is silly, because the modified lemma can be proved using the original lemma directly. Hence, this PR modifies `addRelatedDecl` to include this optimization. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 12/12 Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean 4 5 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127'] dwrensha
assignee:dwrensha
1-24113
1 day ago
11-17881
11 days ago
11-21613
11 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 7 ['adamtopaz', 'github-actions', 'robertmaxton42'] adamtopaz
assignee:adamtopaz
1-23601
1 day ago
25-73060
25 days ago
40-69139
40 days
31010 kebekus
author:kebekus
feat: sums of meromorphic functions are meromorphic, Mark II In complete analogy to existing statements about products, establish in very few lines that sums of meromorphic functions are meromorphic. Fix several docstrings. This is Mark II of my original PR #30587. I decided to open a new, clean PR after the original PR became too messy because of substantial changes to the original PR that then needed to be reverted. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 38/6 Mathlib/Analysis/Meromorphic/Basic.lean 1 1 ['github-actions'] nobody
1-23594
1 day ago
1-25966
1 day ago
1-26004
1 day
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... --- - [x] depends on: #30387 - [x] depends on: #30406 - [ ] depends on: #30410 - [x] depends on: #30411 - [x] depends on: #30409 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 72/42 Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/ProperAction/Basic.lean 3 4 ['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] grunweg
assignee:grunweg
1-22399
1 day ago
5-20101
5 days ago
28-55524
28 days
30371 EtienneC30
author:EtienneC30
feat: covarianceBilin of the push-forward measure --- - [x] depends on: #30324 - [x] depends on: #30362 From BrownianMotion [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 37/0 Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/CovarianceBilin.lean 2 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-22240
1 day ago
1-22242
1 day ago
1-24104
1 day
31016 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: add List.le_prod_of_submultiplicative and friends --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
69/25 Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean 3 1 ['github-actions'] nobody
1-21220
1 day ago
1-21220
1 day ago
1-21374
1 day
30792 tb65536
author:tb65536
feat(FieldTheory/Galois/IsGaloisGroup): `IsGaloisGroup` is preserved by passing to the fraction field This PR shows that `IsGaloisGroup` is preserved by passing to the fraction field. --- - [x] depends on: #30645 - [x] depends on: #30791 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import t-algebra
label:t-algebra$
61/1 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 7 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'tb65536'] nobody
1-19819
1 day ago
3-19887
3 days ago
3-25734
3 days
30909 vihdzp
author:vihdzp
chore(Logic/Equiv/Basic): golf using `aesop` / `grind` Lemmas about `Equiv.swap` are very heavy in casework, which is precisely what these tactics excel at. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-logic 18/44 Mathlib/Data/Set/Prod.lean,Mathlib/Logic/Embedding/Basic.lean,Mathlib/Logic/Equiv/Basic.lean 3 3 ['github-actions', 'grunweg', 'themathqueen'] nobody
1-18786
1 day ago
1-18786
1 day ago
1-82245
1 day
30730 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 there maybe be an optional linter telling you to use `by_cases` instead if possible? --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 33/0 Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByCases.lean,scripts/noshake.json 4 2 ['adamtopaz', 'github-actions'] adamtopaz
assignee:adamtopaz
1-18398
1 day ago
9-15222
9 days ago
9-15262
9 days
25945 adomani
author:adomani
feat: the empty line in commands linter This linter flags empty lines within a command. It allows empty lines within doc-strings, module-docs and a couple of other "sensible" places. It also skips files that are likely to contain meta-code, since there the use of empty lines in definition is more widespread. This PR continues the work from #25236. large-import t-linter 380/22 Mathlib.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/CommaMap.lean,Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean,Mathlib/Data/UInt.lean,Mathlib/Init.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/HahnSeries/HahnEmbedding.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/EmptyLine.lean,MathlibTest/EmptyLine.lean 13 23 ['adomani', 'bryangingechen', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] bryangingechen
assignee:bryangingechen
1-17396
1 day ago
1-45095
1 day ago
48-85436
48 days
30683 YaelDillies
author:YaelDillies
chore: use `IsAddTorsionFree M` instead of `NoZeroSMulDivisors ℕ M`/`NoZeroSMulDivisors ℤ M` These are all equivalent spellings, but the former works without knowing about `Module`. --- - [x] depends on: #30680 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
101/100 Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/NoZeroSMulDivisors/Basic.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Ring/CharZero.lean,Mathlib/Analysis/Normed/Module/Ball/Action.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/GroupTheory/Subgroup/Saturated.lean,Mathlib/LinearAlgebra/Basis/Submodule.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/LinearAlgebra/RootSystem/Base.lean,Mathlib/LinearAlgebra/RootSystem/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Chain.lean,Mathlib/LinearAlgebra/RootSystem/Defs.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Relations.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/MeasureTheory/Group/Integral.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/PowerSeries/Derivative.lean,Mathlib/RingTheory/TensorProduct/Maps.lean,Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean 30 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-17357
1 day ago
1-51952
1 day ago
1-79051
1 day
30848 YaelDillies
author:YaelDillies
refactor: define `<` on `WithBot`/`WithTop` as an inductive predicate Follow up to #19668, where I did the same for `LE` but forgot to do it for `LT`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 52/39 Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/PowerBasis.lean 5 12 ['JovanGerb', 'Vierkantor', 'YaelDillies', 'b-mehta', 'github-actions', 'vihdzp'] nobody
1-16443
1 day ago
5-15966
5 days ago
5-20837
5 days
30242 YaelDillies
author:YaelDillies
chore: rename `mul_le_mul_right'` to `mul_le_mul_left` --- - [x] depends on: #30508 - [x] depends on: #30632 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
342/380 Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/Int.lean,Mathlib/Algebra/Order/Group/Nat.lean,Mathlib/Algebra/Order/Group/Opposite.lean,Mathlib/Algebra/Order/Group/PiLex.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Associated.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Units.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Order/Ring/Rat.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Combinatorics/Additive/CauchyDavenport.lean,Mathlib/Combinatorics/Additive/Energy.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Computability/Language.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Num/ZNum.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Real/StarOrdered.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/GroupTheory/DivisibleHull.lean,Mathlib/GroupTheory/MonoidLocalization/Order.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/MeasureTheory/Function/Intersectivity.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/FrobeniusNumber.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Order/Partition/Equipartition.lean,Mathlib/Probability/Independence/Integration.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Divisibility.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/SetTheory/Ordinal/Principal.lean,Mathlib/SetTheory/PGame/Algebra.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean 104 12 ['JovanGerb', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
1-16039
1 day ago
1-37096
1 day ago
1-39667
1 day
30053 vlad902
author:vlad902
feat(SimpleGraph): only the complete graph has chromatic number equal to its cardinality Prove that only the (finite) complete graph has chromatic number equal to its cardinality, thereby finishing an iff fully characterizing graphs with chromatic number equal to their cardinality. - [ ] depends on: #30136 - [ ] depends on: #30137 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-combinatorics 21/0 Mathlib/Combinatorics/SimpleGraph/Coloring.lean 1 8 ['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
1-14363
1 day ago
1-14394
1 day ago
5-28017
5 days
31026 YaelDillies
author:YaelDillies
feat: pullback `PosMulMono` and friends --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
27/0 Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean 1 1 ['github-actions'] nobody
1-14262
1 day ago
1-14264
1 day ago
1-14307
1 day
29579 vlad902
author:vlad902
feat(SimpleGraph): characterize graphs with chromatic number 1 or 2 - [ ] depends on: #29578 - [ ] depends on: #30136 t-combinatorics 38/7 Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean 2 8 ['github-actions', 'jt496', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] nobody
1-14211
1 day ago
1-14239
1 day ago
16-74155
16 days
30877 YaelDillies
author:YaelDillies
feat(Algebra/MonoidAlgebra): extend the `R[M]` notation to `MonoidAlgebra R M` It currently only is notation for `AddMonoidAlgebra R M`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
205/160 Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Lift.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/MonoidAlgebra/Opposite.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,MathlibTest/Algebra/MonoidAlgebra/Defs.lean 9 13 ['YaelDillies', 'eric-wieser', 'github-actions', 'vihdzp'] nobody
1-12833
1 day ago
1-12873
1 day ago
1-43413
1 day
30215 SnirBroshi
author:SnirBroshi
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 8/2 Mathlib/Data/List/NodupEquivFin.lean 1 5 ['SnirBroshi', 'github-actions', 'jcommelin'] nobody
1-9462
1 day ago
1-43727
1 day ago
25-203
25 days
30647 JovanGerb
author:JovanGerb
chore(Tactic/Ring): use Qq more honestly This PR removes almost all uses of `(q(...) : Expr)` in the `ring` tactic implementation. This includes switching from `Ring`/`DivisionSemiring` to `CommRing`/`Semifield`, because then we can rely on `assumeInstancesCommute` to make Qq happy. This should not affect the generality of the `ring` tactic, because a `Ring`/`DivisionSemiring` that is also commutative is also a `CommRing`/`Semifield`. I wanted to do some other work on `ring`, but that stumbled on the fact that some `q(...)` proof terms weren't actually being type checked properly by Qq. This PR fixes this. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-meta 126/116 Mathlib/Tactic/Ring/Basic.lean 1 9 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'thorimur'] thorimur
assignee:thorimur
1-8817
1 day ago
11-36989
11 days ago
11-36976
11 days
31030 bryangingechen
author:bryangingechen
chore: update PR template Add back instructions for adding co-authors via "Co-authored-by" lines. bors wasn't handling them correctly until the fix announced here: [#mathlib4 > co-authored-by bors issue @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/co-authored-by.20bors.20issue/near/536137752) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 16/6 .github/PULL_REQUEST_TEMPLATE.md 1 1 ['github-actions'] nobody
1-8116
1 day ago
1-8119
1 day ago
1-8156
1 day
31029 tb65536
author:tb65536
doc(FieldTheory/Galois/IsGaloisGroup): clarify terminological issues This PR expands to docstring of `FieldTheory/Galois/IsGaloisGroup.lean` to clarify the terminological issues that have been raised in this Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2330791.20generalizing.20.60IsGaloisGroup.60 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra documentation
label:t-algebra$
14/3 Mathlib/FieldTheory/Galois/IsGaloisGroup.lean 1 1 ['github-actions'] nobody
1-4619
1 day ago
1-4619
1 day ago
1-4596
1 day
31004 joelriou
author:joelriou
feat(CategoryTheory/Localization): action of a localizer morphism on SmallShiftedHom Co-authored-by: Nailin Guan <150537269+Thmoas-Guan@users.noreply.github.com> Co-authored-by: Wang Jingting --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 260/4 Mathlib/CategoryTheory/Localization/SmallHom.lean,Mathlib/CategoryTheory/Localization/SmallShiftedHom.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/CategoryTheory/Shift/Localization.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean 5 3 ['github-actions', 'joelriou'] nobody
1-2573
1 day ago
1-33045
1 day ago
1-33023
1 day
28819 ScottCarnahan
author:ScottCarnahan
feat (Data/Finsupp): define convolution smul for finsupps on formal functions This is a generalization of the multiplication action of the ring of Laurent polynomials on the space of formal power series with unbounded pole terms. --- - [x] depends on: #28876 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 86/0 Mathlib.lean,Mathlib/Data/Finsupp/PointwiseSMul.lean 2 11 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] tb65536
assignee:tb65536
1-558
1 day ago
20-85380
20 days ago
22-7230
22 days
30879 grunweg
author:grunweg
feat: beta and eta reduce in the `T%` elaborator I believe this is a nicer user experience. I suspect this explains some of type mismatches when trying to use it more, but have yet to test this. --- - [x] depends on: #30413 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-differential-geometry t-meta 65/18 Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation.lean 2 9 ['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'thorimur'] nobody
1-144
1 day ago
1-41855
1 day ago
1-42758
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 48 ['Vierkantor', 'eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] Vierkantor
assignee:Vierkantor
0-86352
23 hours ago
0-86352
23 hours ago
31-55567
31 days
31036 chrisflav
author:chrisflav
chore(RingTheory): prerequisites for #31034 In particular, various lemmas on `Submodule.comap` for injective maps, lemmas about `Extension.Cotangent.mk` and a criterion for `IsLocalization.Away` for quotients. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 83/0 Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Localization/Away/Basic.lean 5 1 ['github-actions'] nobody
0-84804
23 hours ago
0-84874
23 hours ago
0-84851
23 hours
30957 chrisflav
author:chrisflav
chore(AlgebraicGeometry): remove unnecessary uses of `Hom.base` The locations were found by a linter, that flagged every occurrence of the chain `DFunLike.coe`, `CategoryTheory.ConcreteCategory.hom` , `AlgebraicGeometry.PresheafedSpace.Hom.base`, `AlgebraicGeometry.LocallyRingedSpace.Hom.toHom` , `AlgebraicGeometry.Scheme.Hom.toLRSHom'` and an explicit `.base` projection. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry 188/189 Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Cover/Directed.lean,Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean,Mathlib/AlgebraicGeometry/Cover/Open.lean,Mathlib/AlgebraicGeometry/Cover/Sigma.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Constructors.lean,Mathlib/AlgebraicGeometry/Morphisms/Descent.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/Separated.lean,Mathlib/AlgebraicGeometry/Morphisms/Smooth.lean,Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean,Mathlib/AlgebraicGeometry/Morphisms/UnderlyingMap.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyInjective.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyOpen.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Sites/MorphismProperty.lean,Mathlib/AlgebraicGeometry/Sites/Small.lean 30 1 ['github-actions'] nobody
0-84542
23 hours ago
0-84543
23 hours ago
0-84529
23 hours
31003 themathqueen
author:themathqueen
feat(Algebra/Star/LinearMap): `star mul' = mul' ∘ TensorProduct.comm` and `star (f ⊗ₘ g) = star f ⊗ₘ star g` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
30/8 Mathlib/Algebra/Star/LinearMap.lean,Mathlib/Algebra/Star/TensorProduct.lean 2 2 ['github-actions', 'themathqueen'] nobody
0-83311
23 hours ago
1-35310
1 day ago
1-35589
1 day
31037 chrisflav
author:chrisflav
feat(RingTheory): bijective descends along faithfully flat ring maps From Pi1. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory 75/0 Mathlib.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Descent.lean,Mathlib/RingTheory/RingHomProperties.lean 3 1 ['github-actions'] nobody
0-81596
22 hours ago
0-83276
23 hours ago
0-83252
23 hours
31038 rudynicolop
author:rudynicolop
feat(Computability/NFA): NFA acceptsFrom definitions and lemmas This PR defines `NFA.acceptsFrom`, similar to [`DFA.acceptsFrom`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Computability/DFA.html#DFA.acceptsFrom), and provides helper lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 71/2 Mathlib/Computability/NFA.lean 1 1 ['github-actions'] nobody
0-76560
21 hours ago
0-77736
21 hours ago
0-77785
21 hours
30987 AntoineChambert-Loir
author:AntoineChambert-Loir
feat(LinearAlgebra/SpecialLinearGroup): special linear group of a module Define the special linear group of a module. Relate it with `Matrix.SpecialLinearGroup`. Several additional constructions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra
label:t-algebra$
444/14 Mathlib.lean,Mathlib/LinearAlgebra/Charpoly/BaseChange.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/GeneralLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Dual.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean 8 22 ['AntoineChambert-Loir', 'github-actions', 'mattrobball', 'mcdoll'] nobody
0-76414
21 hours ago
0-76414
21 hours ago
1-39058
1 day
25927 jjdishere
author:jjdishere
feat(RingTheory/AdicCompletion): more APIs for IsAdicComplete This PR continues the work from #21582. Original PR: https://github.com/leanprover-community/mathlib4/pull/21582 t-ring-theory 543/12 Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/RingHom.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean 4 5 ['github-actions', 'jjdishere'] nobody
0-75544
20 hours ago
85-44457
2 months ago
9-35950
9 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/) large-import new-contributor t-category-theory 293/6 Mathlib.lean,Mathlib/CategoryTheory/Category/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Localization/Construction.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean 7 14 ['Jlh18', 'MichaelStollBayreuth', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
0-75539
20 hours ago
8-21048
8 days ago
31-15655
31 days
30398 joelriou
author:joelriou
feat(Algebra/Category/ModuleCat/Sheaf): `O_S ⟶ f_* O_X` and `f^* O_S ≅ O_X` --- - [x] depends on: #30403 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebraic-geometry t-category-theory 193/4 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean 5 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] dagurtomas
assignee:dagurtomas
0-75538
20 hours ago
8-27180
8 days ago
8-27175
8 days
30416 SnirBroshi
author:SnirBroshi
feat(Logic/Relation): lemmas relating `Relation.Map` and `Function.onFun` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 32/0 Mathlib/Logic/Relation.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
0-75537
20 hours ago
19-7941
19 days ago
19-10169
19 days
30620 plp127
author:plp127
feat: copy LE and LT on preorder and partial order Adds `Preorder.copy` and `PartialOrder.copy` for replacing the le and lt with provably equal ones. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 22/0 Mathlib/Order/Defs/PartialOrder.lean 1 1 ['github-actions'] Vierkantor
assignee:Vierkantor
0-75535
20 hours ago
12-85115
12 days ago
12-85159
12 days
30648 loefflerd
author:loefflerd
feat(NumberTheory/ModularForms): define the strict width of a subgroup We define the periods of a subgroup of GL(2, R) to be the `x` such that `!![1, x; 0, 1]` is in the subgroup, and the *strict width* to be the unique positive generator of this subgroup (when it exists). This is a variant of a more familiar modular-forms concept, the *width*, which is the least positive `x` such that `± !![1, x; 0, 1]` is in the subgroup (note signs `±`). However, the strict width is the concept that's relevant for q-expansions. --- Carved off from the WIP PR #30089. - [x] depends on: #30461 - [x] depends on: #30471 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-number-theory 127/2 Mathlib/NumberTheory/ModularForms/Cusps.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] alreadydone
assignee:alreadydone
0-75534
20 hours ago
0-84251
23 hours ago
0-85151
23 hours
30716 YaelDillies
author:YaelDillies
feat(Algebra/Module/Torsion): more instances Split `Algebra.Module.Torsion` into `Algebra.Module.Torsion.Free` for torsion-free modules and `Algebra.Module.Torsion.Basic` for torsion modules. Add prod and pi instances, as well as pullback instances and the fact that a torsion-free module over a char zero domain is a torsion-free group. --- - [x] depends on: #30713 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 212/54 Mathlib.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/Torsion/Field.lean,Mathlib/Algebra/Module/Torsion/Free.lean,Mathlib/Algebra/Module/Torsion/Pi.lean,Mathlib/Algebra/Module/Torsion/Prod.lean,Mathlib/Algebra/Polynomial/Module/FiniteDimensional.lean,Mathlib/LinearAlgebra/Dimension/Torsion/Basic.lean,Mathlib/LinearAlgebra/Dimension/Torsion/Finite.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/LinearAlgebra/RootSystem/Chain.lean,Mathlib/LinearAlgebra/Semisimple.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/NumberField/FractionalIdeal.lean,Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/NumberTheory/RamificationInertia/Unramified.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/Regular/IsSMulRegular.lean 25 2 ['github-actions', 'mathlib4-dependent-issues-bot'] bryangingechen
assignee:bryangingechen
0-75534
20 hours ago
1-37229
1 day ago
1-39276
1 day
30754 Jlh18
author:Jlh18
feat (CategoryTheory/Comma/Over/Pushforward): define pushforwards Define what it means to be a pushforward, what it means to have pushforwards, and the pullback/pushforward adjunction when all pushforwards exist. This is related to PRs #30375 and PR #29810 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory RFC 99/2 Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Pushforward.lean 3 2 ['github-actions', 'joelriou'] adamtopaz
assignee:adamtopaz
0-75531
20 hours ago
8-8313
8 days ago
8-17758
8 days
30943 jsm28
author:jsm28
feat(Analysis/SpecialFunctions/Trigonometric/Angle): angles adding to 0 mod π Add lemmas that if two angles with the same nonzero sign add to 0 mod π, then the absolute values of the corresponding real numbers obtained with `toReal` (unoriented angles) add to π. --- Feel free to golf. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 38/0 Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean 1 9 ['github-actions', 'qawbecrdtey'] nobody
0-74005
20 hours ago
3-9124
3 days ago
3-9102
3 days
31039 kim-em
author:kim-em
feat: tryAtEachStep linters run on a fraction of goals This PR allows us to run the `tryAtEachStep` linters on a deterministic fraction of all Mathlib goals, to enable faster benchmarks. t-meta 36/16 Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/tryAtEachStep.lean 2 1 ['github-actions'] nobody
0-71222
19 hours ago
0-71231
19 hours ago
0-71270
19 hours
26857 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): define associated graded structure for abelian group In this PR we define the associated graded structure for abelian group when given a filtration and only give some basic lemmas about it. Further results would be given in #26858 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) migrated from #22631 t-algebra
label:t-algebra$
137/0 Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean 2 15 ['Thmoas-Guan', 'chrisflav', 'github-actions', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
0-69626
19 hours ago
1-29199
1 day ago
20-24409
20 days
26212 Thmoas-Guan
author:Thmoas-Guan
feat(Algebra): the Rees theorem for depth In this PR we proved the Rees theorem for depth. Co-authored-by: Hu Yongle --- - [ ] depends on: #27416 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-algebra
label:t-algebra$
258/10 Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Category.lean,Mathlib/RingTheory/Regular/Depth.lean 4 n/a ['Thmoas-Guan', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-69124
19 hours ago
unknown
unknown
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
0-65881
18 hours ago
unknown
unknown
30842 kim-em
author:kim-em
feat: add Aristotle task for command palette --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) CI 135/6 .vscode/tasks.json,scripts/README.md,scripts/aristotle/README.md,scripts/lint-style.lean 4 14 ['eric-wieser', 'euprunin', 'github-actions', 'kim-em', 'vikram-shanker'] nobody
0-59184
16 hours ago
5-64894
5 days ago
5-64933
5 days
31044 kim-em
author:kim-em
chore: deprecation in LongestPole utility 1/1 LongestPole/Main.lean 1 1 ['github-actions'] nobody
0-59125
16 hours ago
0-59191
16 hours ago
0-59167
16 hours
30771 dagurtomas
author:dagurtomas
chore(CategoryTheory): move `Closed` directory into `Monoidal` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) file-removed 36/36 Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/CategoryTheory/Category/Cat/CartesianClosed.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Sifted.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Closed/Basic.lean,Mathlib/CategoryTheory/Monoidal/Closed/Cartesian.lean,Mathlib/CategoryTheory/Monoidal/Closed/Enrichment.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorCategory/Complete.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorCategory/Groupoid.lean,Mathlib/CategoryTheory/Monoidal/Closed/FunctorToTypes.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/Monoidal/Closed/Types.lean,Mathlib/CategoryTheory/Monoidal/Closed/Zero.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Preadditive/Projective/Internal.lean,Mathlib/CategoryTheory/Sites/CartesianClosed.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean,Mathlib/Condensed/CartesianClosed.lean,Mathlib/Condensed/Light/CartesianClosed.lean 27 3 ['github-actions', 'mathlib4-merge-conflict-bot'] nobody
0-58687
16 hours ago
0-58757
16 hours ago
7-63140
7 days
30473 CoolRmal
author:CoolRmal
feat(ComplexAnalysis): Cauchy's Integral Formula for Higher Order Derivatives This PR adds the following `iteratedDeriv_eq_smul_circleIntegral` and `norm_iteratedDeriv_le_aux`. The first one expresses the `n`-th order derivative of a differentiable function as a circle integral. The second one proves an estimate for the `n`-th order derivative. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Cauchy's.20integral.20formula --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 124/6 Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean 3 17 ['CoolRmal', 'github-actions', 'loefflerd', 'wwylele'] ADedecker
assignee:ADedecker
0-55368
15 hours ago
17-8655
17 days ago
17-8686
17 days
30781 joelriou
author:joelriou
feat(CategoryTheory): characterization of `κ`-filtered categories We characterize a concrete characterization of `κ`-filtered categories in terms of the existence of an upper bound of a `κ`-bounded family objects, and the coequalization of a `κ`-bounded family of morphisms between fixed objects. --- - [x] depends on: #30633 - [x] depends on: #30634 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 74/1 Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean 1 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-52579
14 hours ago
0-52579
14 hours ago
0-52556
14 hours
30727 joelriou
author:joelriou
feat(CategoryTheory/Presentable): presentable objects in `Type` In this file, we show that if `κ : Cardinal.{u}` is a regular cardinal, then `X : Type u` is `κ`-presentable in the category of types iff `HasCardinalLT X κ` holds. --- - [x] depends on: #30633 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 152/0 Mathlib.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/CategoryTheory/Presentable/Type.lean 3 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-52210
14 hours ago
0-52210
14 hours ago
0-54151
15 hours
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 - [x] depends on: #30382 This PR continues the work from #22508. Original PR: https://github.com/leanprover-community/mathlib4/pull/22508 t-category-theory 145/6 Mathlib.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseRightDerived.lean 4 7 ['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] nobody
0-51756
14 hours ago
0-51759
14 hours ago
4-71666
4 days
30386 joelriou
author:joelriou
feat(CategoryTheory): Guitart exact squares and "base change" for left Kan extensions Given a Guitart exact square `w : T ⋙ R ⟶ L ⋙ B`, we show that under suitable assumptions, the base change morphism `(whiskeringLeft C₁ C₂ D).obj T ⋙ L.lan ⟶ R.lan ⋙ (whiskeringLeft C₃ C₄ D).obj B` is an isomorphism. --- - [x] depends on: #30382 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 69/1 Mathlib/CategoryTheory/Functor/KanExtension/Adjunction.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/GuitartExact/KanExtension.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-51586
14 hours ago
0-51586
14 hours ago
0-63239
17 hours
28336 joelriou
author:joelriou
feat(AlgebraicTopology/SimplicialSet): a helper structure to construct pairings In this PR, we introduce an helper structure `Subcomplex.PairingCore` in order to construct a pairing for a subcomplex of a simplicial set. The main differences with `Subcomplex.Pairing` are that we provide an index type `ι` in order to parametrize type (I) and type (II) simplices, and that the dimensions of these are definitionally `d` or `d + 1`. --- - [ ] depends on: #28332 - [x] depends on: #28330 - [x] depends on: #28224 - [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 461/0 Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/IsUniquelyCodimOneFace.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Pairing.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PairingCore.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,docs/references.bib 6 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-51207
14 hours ago
7-35835
7 days ago
0-2
2 seconds
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/) t-combinatorics 34/0 Mathlib/Combinatorics/SimpleGraph/Acyclic.lean 1 8 ['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] kmill
assignee:kmill
0-49103
13 hours ago
16-50413
16 days ago
29-13617
29 days
30518 euprunin
author:euprunin
chore(Cache): remove "No files to download" message. make `lake exe cache get` less verbose Fixes #27038. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge CI 28/29 Cache/IO.lean,Cache/Requests.lean 2 11 ['YaelDillies', 'euprunin', 'github-actions'] nobody
0-45255
12 hours ago
0-45255
12 hours ago
16-10632
16 days
31050 EtienneC30
author:EtienneC30
feat: independence from a stochastic process Prove that a stochastic process $(X\_s)\_{s \in S}$ is independent from a random variable $Y$ if for all $s_1, ..., s_p \in S$ the family $(X_{s_1}, ..., X_{s_p})$ is independent from $Y$. Use this to refactor proofs. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 70/34 Mathlib/Probability/Independence/Process.lean 1 1 ['github-actions'] nobody
0-44670
12 hours ago
0-44812
12 hours ago
0-44789
12 hours
27353 themathqueen
author:themathqueen
chore(LinearAlgebra/TensorProduct/Basic): more semi-linearizing Co-authored-by: Anatole Dedecker --- This continues the work from: #27310 (original PR: #24208). - [x] depends on: #27467 - [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$
186/158 Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/LinearAlgebra/BilinearForm/TensorProduct.lean,Mathlib/LinearAlgebra/Coevaluation.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RepresentationTheory/Rep.lean 13 17 ['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] jcommelin
assignee:jcommelin
0-41357
11 hours ago
1-17661
1 day ago
3-79976
3 days
26588 faenuccio
author:faenuccio
feat(Algebra/GroupWithZero/WithZero): add the multiplicative embedding with zero from the range We extend the embedding of the range of a `MonoidWithZeroHom` to the codomain by enriching it with the structure of an ordered, multiplicative embedding. In passing, we extend some results about the embedding of `WithZero` of the units of a group with zero, to the group itself. Co-authored by: María Inés de Frutos Fernández @mariainesdff --- - [x] depends on: #29594 - [x] depends on: #29644 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order t-algebra
label:t-algebra$
114/2 Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean 3 107 ['YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] YaelDillies
assignee:YaelDillies
0-40880
11 hours ago
2-31572
2 days ago
35-55823
35 days
30696 joelriou
author:joelriou
feat(Order/Category): `PardOrdEmb` has filtered colimits --- - [x] depends on: #30693 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-order 161/2 Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Order/Category/PartOrdEmb.lean 2 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-39790
11 hours ago
0-39790
11 hours ago
0-39820
11 hours
30505 mariainesdff
author:mariainesdff
feat(NumberTheory/FunctionField/Ostrowski): prove Ostrowski's theorem for K(X) We prove Ostrowski's theorem for the field of rational functions `K(X)`, where `K` is any field. Co-authored-by: @xgenereux --- - [ ] depends on: #30404 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-number-theory
label:t-algebra$
348/2 Mathlib.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/RatFunc/Ostrowski.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-39079
10 hours ago
0-41302
11 hours ago
0-41679
11 hours
31051 joelriou
author:joelriou
chore(CategoryTheory): adding grind annotations for `op_comp` and `Quiver.Hom.comp_toLoc` This shall be used in #30189. --- I have used `grind =`. In the application to #30189, any of `grind =`, `grind =_` or `grind _=_` would work. I am not sure which one is the best option. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 2/2 Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Opposites.lean 2 3 ['github-actions', 'joelriou', 'leanprover-bot'] nobody
0-38194
10 hours ago
0-38194
10 hours ago
0-38171
10 hours
30492 joelriou
author:joelriou
feat(CategoryTheory): the orthogonal-reflection construction Given `W : MorphismProperty C` (which should be small) and assuming the existence of certain colimits in `C`, we construct a morphism `toSucc W Z : Z ⟶ succ W Z` for any `Z : C`. This morphism belongs to `LeftBousfield.W W.isLocal` and is an isomorphism iff `Z` belongs to `W.isLocal`. The main definition is a fix to the (wrong) construction in the book *Locally presentable and accessible categories* by Adámek and Rosický. In a future PR, we shall consider a transfinite iteration of this construction. --- - [x] depends on: #30472 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 253/0 Mathlib.lean,Mathlib/CategoryTheory/Presentable/OrthogonalReflection.lean 2 7 ['github-actions', 'joelriou', 'kim-em', 'mathlib4-dependent-issues-bot'] nobody
0-38003
10 hours ago
0-48070
13 hours ago
5-84568
5 days
30160 joelriou
author:joelriou
feat(CategoryTheory/ObjectProperty): closure of a property under certain colimits In this PR, we dualize a few notions about `ObjectProperty` and we use this to dualize the main result about limits in #29854 for colimits: given a property `P` of objects in a category `C` and family of categories `J : α → Type _`, we introduce the closure `P.colimitsClosure J` of `P` under colimits of shapes `J a` for all `a : α`, and under certain smallness circumstances, we show that it is essentially small. --- - [x] depends on: #29851 - [x] depends on: #29881 - [x] depends on: #29903 - [x] depends on: #29854 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 338/3 Mathlib.lean,Mathlib/CategoryTheory/ObjectProperty/ColimitsClosure.lean,Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean 6 7 ['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-37969
10 hours ago
0-50510
14 hours ago
0-50487
14 hours
29543 joelriou
author:joelriou
feat(CategoryTheory): a property of objects is a strong generator if any object is a colimit of objects satisfying the property --- - [x] depends on: #29519 - [x] depends on: #30269 - [x] depends on: #30294 - [x] depends on: #29518 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) large-import t-category-theory 55/4 Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean 3 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-37847
10 hours ago
0-50781
14 hours ago
0-52456
14 hours
31012 Ruben-VandeVelde
author:Ruben-VandeVelde
feat: {List,Multiset,Finset}.prod_le_sum --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 34/25 Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Analysis/Normed/Group/Basic.lean 6 1 ['github-actions'] nobody
0-36828
10 hours ago
0-36828
10 hours ago
1-23892
1 day
31054 jsm28
author:jsm28
feat(LinearAlgebra/AffineSpace/Simplex/Basic): faces and `reindex` Add lemmas about the set of vertices of a `face` or `faceOpposite` of `Simplex.reindex`. --- [![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/AffineSpace/Simplex/Basic.lean 1 1 ['github-actions'] nobody
0-36620
10 hours ago
0-36684
10 hours ago
0-36661
10 hours
31043 kim-em
author:kim-em
chore: remove unneeded shortcut instances It seems all but one of the shortcut instances here have no effect. t-ring-theory 0/33 Mathlib/RingTheory/Kaehler/Basic.lean 1 4 ['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] nobody
0-36420
10 hours ago
0-57012
15 hours ago
0-60276
16 hours
31055 jsm28
author:jsm28
feat(Geometry/Euclidean/Projection): `orthogonalProjectionSpan_congr` Add a congruence lemma for `orthogonalProjectionSpan` applied to two simplices with the same set of vertices, analogous to and proved using `orthogonalProjection_congr`, and a variant `orthogonalProjectionSpan_reindex`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 10/0 Mathlib/Geometry/Euclidean/Projection.lean 1 0 [] nobody
0-36349
10 hours ago
0-36420
10 hours ago
0-36397
10 hours
30348 RemyDegenne
author:RemyDegenne
feat: convergence in probability implies convergence in distribution Prove that convergence in probability implies convergence in distribution, as well as Slutsky's theorem on the convergence of a product of random variables (since those two facts follow from the same lemma). --- - [x] depends on: #30346 - [x] depends on: #30385 - [x] depends on: #30402 - [x] depends on: #30540 - [x] depends on: #30585 - [x] depends on: #30742 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 231/2 Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,docs/1000.yaml 3 4 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-36276
10 hours ago
0-36276
10 hours ago
0-36253
10 hours
31040 kim-em
author:kim-em
chore: deprecate `Mul.toSMul` in favour of lean4 instance t-algebra
label:t-algebra$
9/7 Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/RingTheory/Kaehler/Basic.lean,MathlibTest/instance_diamonds.lean 4 3 ['JovanGerb', 'github-actions', 'kim-em'] nobody
0-36218
10 hours ago
0-68009
18 hours ago
0-68048
18 hours
31053 kebekus
author:kebekus
feat: establish behavior of Nevanlinna functions when taking powers Establish the behavior of Nevanlinna functions when taking powers. This material is used in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane. The formula established here is part of a larger package discussing the behavior of the Nenvanlinna height under algebraic manipulations of the functions. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-analysis 53/1 Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean 3 1 ['github-actions'] nobody
0-35738
9 hours ago
0-36842
10 hours ago
0-36879
10 hours
30660 urkud
author:urkud
feat(Paracompact): add `ParacompactSpace.of_hasBasis` --- Cleaning up old branches. I don't have any applications in mind right now, so feel free to reject. - [x] depends on: #30662 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 15/0 Mathlib/Topology/Compactness/Paracompact.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] nobody
0-31230
8 hours ago
0-33265
9 hours ago
0-37162
10 hours
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 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 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] Vierkantor
assignee:Vierkantor
0-26993
7 hours ago
9-51117
9 days ago
26-85666
26 days
26039 tsuki8
author:tsuki8
feat(RingTheory/MvPolynomial/{MonomialOrder,Ideal}): leadingTerm define the leadingTerm and prove some lemmas related to the def `leadingTerm`: the leading term of `f` for the monomial ordering `m` some basic lemmas about leadingTerm including: 1. `leadingTerm_eq_zero_iff` 2. `leadingTerm_image_sdiff_singleton_zero` 3. `leadingTerm_image_insert_zero` 4. `leadingTerm_zero` 5. `leadingTerm_degree_eq` 6. `leadingTerm_degree_eq'` some lemmas about the degree of `f - m.leadingTerm f`: 1. `degree_sub_leadingTerm` 2. `degree_sub_leadingTerm_lt_degree` 3. `degree_sub_leadingTerm_lt_iff` also some lemmas about leading terms and ideals: 1. `span_leadingTerm_sdiff_singleton_zero` 2. `span_leadingTerm_insert_zero` 3. `span_leadingTerm_eq_span_monomial` 4. `span_leadingTerm_eq_span_monomial'` Co-authored-by: Junyu Guo @Hagb --- - [x] depends on: #24361 - [x] depends on: #26148 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import new-contributor 163/1 Mathlib/RingTheory/MvPolynomial/Ideal.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 2 29 ['Hagb', 'chrisflav', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
0-26790
7 hours ago
0-26790
7 hours ago
12-72477
12 days
30745 astrainfinita
author:astrainfinita
chore(Data/Nat/{Factorial, Choose}/Cast): move lemmas about `Polynomial` The remaining lemmas in the files are unrelated to `ascPochhammer` and `descPochhammer`. This significantly reduces the imports. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 57/44 Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Data/Nat/Choose/Cast.lean,Mathlib/Data/Nat/Factorial/Cast.lean,Mathlib/RingTheory/Polynomial/Pochhammer.lean 4 1 ['github-actions'] RemyDegenne
assignee:RemyDegenne
0-26643
7 hours ago
8-43232
8 days ago
8-43208
8 days
31060 gasparattila
author:gasparattila
feat(Topology/MetricSpace): Hausdorff distance of singleton sets --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 17/1 Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean 2 1 ['github-actions'] nobody
0-24869
6 hours ago
0-24880
6 hours ago
0-24920
6 hours
31063 ADedecker
author:ADedecker
feat: biUnion_inter_of_pairwise_disjoint A basic order/set lemma: given a family `f` of pairwise disjoint sets, one has `⋃ i ∈ (s ∩ t), f i = (⋃ i ∈ s, f i) ∩ (⋃ i ∈ t, f i)`. Prompted by #30109 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 39/0 Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Order/CompleteBooleanAlgebra.lean 2 1 ['github-actions'] nobody
0-22901
6 hours ago
0-22982
6 hours ago
0-22958
6 hours
31062 zcyemi
author:zcyemi
feat(Geometry/Euclidean/Similarity): add triangle similarity --- Add theorems about similarity of triangles. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-euclidean-geometry 279/0 Mathlib.lean,Mathlib/Geometry/Euclidean/Similarity.lean 2 1 ['github-actions'] nobody
0-22733
6 hours ago
0-23045
6 hours ago
0-23086
6 hours
31025 YaelDillies
author:YaelDillies
feat(Finset): interaction of `attach` and `cons` and golf the corresponding `insert` lemma. This lets us golf a proof by induction. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 10/8 Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Data/Finset/Image.lean 2 6 ['YaelDillies', 'github-actions', 'plp127'] nobody
0-22601
6 hours ago
1-14530
1 day ago
1-14506
1 day
30936 themathqueen
author:themathqueen
feat(Data/Int): define `Int.fib`, the extended version of `Nat.fib` onto the integers We define `Int.fib`, the integer version of `Nat.fib`, which satisfies `Int.fib 0 = 0`, `Int.fib 1 = 1`, and `Int.fib (n + 2) = Int.fib n + Int.fib (n + 1)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data 101/0 Mathlib.lean,Mathlib/Data/Int/Fib.lean 2 9 ['github-actions', 'themathqueen', 'vihdzp'] nobody
0-21233
5 hours ago
2-23865
2 days ago
3-19530
3 days
31007 kckennylau
author:kckennylau
feat(RingTheory): generalise perfection to monoids 1. We generalise `PerfectRing` to monoids (without changing the name). 2. We move `Submonoid.perfection` and `Ring.Perfection` to the already existing `Perfection` namespace, which solves the problem that `Ring.Perfection` and its lemmas `Perfection.xxx` are in different namespaces. Also, the monoid perfection and right perfection have the same underlying set, so this unify the two approaches. 3. `Perfection.lift` is now generalised to monoids: `liftMonoidHom : (M →* N) ≃ (M →* Perfection N p)` where `M` is a perfect monoid. --- This is in preparation for a future PR following #30989. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) 246/100 Mathlib/FieldTheory/Perfect.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean 4 31 ['github-actions', 'jjdishere', 'kckennylau', 'pechersky'] nobody
0-20390
5 hours ago
1-29093
1 day ago
1-29069
1 day
31005 grunweg
author:grunweg
chore: golf using finiteness Benchmark before landing! --- - [x] depends on: #30967 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 53/60 Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Dynamics/Ergodic/RadonNikodym.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/Function/Intersectivity.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Indicator.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean 14 8 ['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-dependent-issues-bot'] nobody
0-19627
5 hours ago
0-20990
5 hours ago
0-25315
7 hours
30318 joelriou
author:joelriou
feat(Algebra/ModuleCat/Presheaf): composition of pushforwards and pullbacks and compatibilites The composition of two pullback functors on presheaves of modules `pullback φ ⋙ pullback ψ` identifies to the pullback of the composition. We show compatibilites for these isomorphisms: they are deduced from similar identifies for pushforwards (in which case they are `rfl`). --- - [x] depends on: #30335 This PR continues the work from #17589. Original PR: https://github.com/leanprover-community/mathlib4/pull/17589 t-algebra t-algebraic-geometry t-category-theory
label:t-algebra$
121/14 Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean 3 3 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] nobody
0-17844
4 hours ago
0-17866
4 hours ago
0-17888
4 hours
26387 jjdishere
author:jjdishere
feat(RingTheory/WittVector): the Teichmuller series This PR continues the work from #22320. Original PR: https://github.com/leanprover-community/mathlib4/pull/22320 In this PR, we show that every element `x` of the Witt vectors `𝕎 R` can be written as the (`p`-adic) summation of the Teichmuller series. Instead of using `tsum`, we only show that `p ^ (n + 1)` divides `x` minus the summation of the first `n + 1` terms of the Teichmuller series. We also show that if `p` divides the first (n + 1) coefficients of a Witt vector, then `p^(n+1)` divides the `n`-th ghost component. #26396 depends on this PR. t-ring-theory 199/2 Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean 6 2 ['github-actions', 'jjdishere'] nobody
0-16431
4 hours ago
1-3766
1 day ago
1-3858
1 day
31031 gasparattila
author:gasparattila
feat(Topology/UniformSpace): define the Hausdorff uniformity This PR defines the Hausdorff uniformity on `Closeds`, `Compacts` and `NonemptyCompacts`. Since `Closeds` and `NonemptyCompacts` already have metrics, they are changed to use the newly defined uniformity. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology 290/31 Mathlib.lean,Mathlib/Data/Rel.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/UniformSpace/Closeds.lean 6 1 ['github-actions'] nobody
0-16191
4 hours ago
0-41595
11 hours ago
1-5696
1 day
31021 EtienneC30
author:EtienneC30
feat: characterization of the product measure via bounded continuous functions Prove that the product of two finite measures `µ` and `ν` is the only finite measure `ξ` such that for all real bounded continuous functions `f` and `g` we have `∫ z, f z.1 * g z.2 ∂ξ = ∫ x, f x ∂μ * ∫ y, g y ∂ν`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-measure-probability 132/0 Mathlib.lean,Mathlib/MeasureTheory/Measure/HasOuterApproxClosedProd.lean 2 5 ['EtienneC30', 'github-actions', 'sgouezel'] nobody
0-10521
2 hours ago
0-10549
2 hours ago
0-79718
22 hours
31041 urkud
author:urkud
feat: add `Filter.HasBasis` for `map₂` and pointwise ops --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-order 56/1 Mathlib/Order/Filter/NAry.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Topology/Algebra/GroupWithZero.lean 3 2 ['github-actions', 'urkud'] nobody
0-8884
2 hours ago
0-63435
17 hours ago
0-63482
17 hours
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 67/2 Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean 1 5 ['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri', 'xroblot'] alexjbest
assignee:alexjbest
0-8396
2 hours ago
0-8724
2 hours ago
30-35518
30 days
31042 urkud
author:urkud
chore(ConstMulAction): generalize some lemmas ... from `MulAction` to `SMul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology easy 17/17 Mathlib/Topology/Algebra/ConstMulAction.lean 1 1 ['github-actions'] nobody
0-3712
1 hour ago
0-3712
1 hour ago
0-61645
17 hours
30692 themathqueen
author:themathqueen
chore: rename **conjugate** to **star_left_conjugate** We change `_conjugate_` to `_star_left_conjugate_` and `_conjugate_'` to `_star_right_conjugate_` to avoid confusion since sometimes in some files it means `_ * _ * star _` and in others it means `star _ * _ * _`. In particular, `Algebra/Algebra/StrictPositivity`: * `IsUnit.isStrictlyPositive_conjugate_iff` -> `IsUnit.isStrictlyPositive_star_right_conjugate_iff` * `IsUnit.isStrictlyPositive_conjugate_iff'` -> `IsUnit.isStrictlyPositive_star_left_conjugate_iff` `Algebra/Order/Star/Basic`: * `conjugate_nonnneg` -> `star_left_conjugate_nonneg` * `conjugate_nonneg'` -> `star_right_conjugate_nonneg` * `conjugate_le_conjugate` -> `star_left_conjugate_le_conjugate` * `conjugate_le_conjugate'` -> `star_right_conjugate_le_conjugate` * `conjugate_lt_conjugate` -> `star_left_conjugate_lt_conjugate` * `conjugate_lt_conjugate'` -> `star_right_conjugate_lt_conjugate` * `conjugate_pos` -> `star_left_conjugate_pos` * `conjugate_pos'` -> `star_right_conjugate_pos` * `IsUnit.conjugate_nonneg_iff` -> `IsUnit.star_right_conjugate_nonneg_iff` * `IsUnit.conjugate_nonneg_iff'` -> `IsUnit.star_left_conjugate_nonneg_iff` `Analysis/CStarAlgebra/CFC/Order`: * `CStarAlgebra.conjugate_le_norm_smul` -> `CStarAlgebra.star_left_conjugate_le_norm_smul` * `CStarAlgebra.conjugate_le_norm_smul'` -> `CStarAlgebra.star_right_conjugate_le_norm_smul` `LinearAlgebra/Matrix/PosDef`: * `Matrix.IsUnit.posSemidef_conjugate_iff` -> `Matrix.IsUnit.posSemidef_star_right_conjugate_iff` * `Matrix.IsUnit.posSemidef_conjugate_iff'` -> `Matrix.IsUnit.posSemidef_star_left_conjugate_iff` * `Matrix.IsUnit.posDef_conjugate_iff` -> `Matrix.IsUnit.posDef_star_right_conjugate_iff` * `Matrix.IsUnit.posDef_conjugate_iff'` -> `Matrix.IsUnit.posDef_star_left_conjugate_iff` --- There's more to do, but will leave this for another PR. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra t-analysis
label:t-algebra$
83/53 Mathlib/Algebra/Algebra/StrictPositivity.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean 6 6 ['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen'] nobody
0-3670
1 hour ago
6-16628
6 days ago
9-76000
9 days
31064 sinhp
author:sinhp
feat(CategoryTheory): semicartesian monoidal categories This PR refactors Cartesian Monoidal Categories through Semicartesian Monoidal Categories. There are interesting weaker settings where it is too much to ask the full monoidal structure to be given by the cartesian structure, but reasonable for the monoidal unit to be terminal. A category like this is usually referred to as "Semicartesian". In semicartesian setting we have `fst (X Y : C) : X ⊗ Y ⟶ X` and `snd (X Y : C) : X ⊗ Y ⟶ Y` for free, but without their universal property. https://ncatlab.org/nlab/show/semicartesian+monoidal+category This PR makes`CartesianMonoidalCategory` an extension of `SemiCartesianMonoidalCategory` Some examples of semicartesian but not cartesian monoidal categories: - The opposite of the category FinInj of finite sets with injections. - The category of nominal sets. - The category of commutative (semi-) rings. Personally, I need semicartesian structure for two other downstream projects where the use cases are natural number objects in semicartesian monoidal categories and the category of context of certain type theories. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-category-theory 65/45 Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean 1 2 ['github-actions', 'joelriou'] nobody
0-2310
38 minutes ago
0-19628
5 hours ago
0-19668
5 hours

New contributors' PRs on the review queue

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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
82-75544
2 months ago
90-25193
2 months ago
117-13027
117 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
72-75536
2 months ago
80-2372
2 months ago
80-2409
80 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
70-75559
2 months ago
82-7628
2 months ago
82-7664
82 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
70-75556
2 months ago
80-20486
2 months ago
80-20525
80 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
67-21953
2 months ago
103-50399
3 months ago
103-50433
103 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
54-41609
1 month ago
54-41609
1 month ago
60-27790
60 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
35-18806
1 month ago
66-9043
2 months ago
66-9076
66 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
35-10120
1 month ago
51-4292
1 month ago
64-20203
64 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
27-43062
27 days ago
64-61905
2 months ago
71-31372
71 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
25-75557
25 days ago
33-44305
1 month ago
33-44338
33 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'] hrmacbeth
assignee:hrmacbeth
22-75557
22 days ago
30-49645
1 month ago
30-51223
30 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
21-52154
21 days ago
54-48229
1 month ago
54-48258
54 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 3 ['github-actions', 'riccardobrasca', 'zach1502'] riccardobrasca
assignee:riccardobrasca
20-13009
20 days ago
37-5439
1 month ago
37-70901
37 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'] b-mehta
assignee:b-mehta
19-75555
19 days ago
42-38155
1 month ago
42-38199
42 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'] dagurtomas
assignee:dagurtomas
19-75549
19 days ago
27-1883
27 days ago
27-1917
27 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'] awainverse
assignee:awainverse
18-75565
18 days ago
35-19088
1 month ago
35-19126
35 days
29758 SnirBroshi
author:SnirBroshi
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 28/1 Mathlib/RingTheory/RootsOfUnity/Complex.lean 1 5 ['Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'kckennylau'] chrisflav
assignee:chrisflav
18-21291
18 days ago
40-80366
1 month ago
41-965
41 days
30163 SnirBroshi
author:SnirBroshi
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
18-9539
18 days ago
26-30408
26 days ago
26-30458
26 days
30217 SnirBroshi
author:SnirBroshi
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
18-8059
18 days ago
24-85965
24 days ago
24-86001
24 days
30525 515801431
author:515801431
Polya_counting This PR introduces basic definitions and results about colorings under permutation group actions. A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition: (g • c) x = c (g⁻¹ • x) This formalizes the natural action of relabeling the elements of X. Main definitions MulAction (Equiv.Perm X) (X → Y): The action of the permutation group on colorings via precomposition. coloringEquiv (c₁ c₂ : X → Y) : Prop: Two colorings are equivalent if they lie in the same orbit under this action, i.e. ∃ f : Equiv.Perm X, f • c₁ = c₂. Main results smul_eq_iff_mem_stabilizer: Characterizes when two group actions on the same coloring are equal, showing that g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c. coloringEquiv_equivalence: Proves that coloringEquiv defines an equivalence relation on X → Y. orbit_size_eq_index: Reformulates the orbit–stabilizer theorem in the context of colorings: |orbit c| = |Perm X| / |stabilizer c| Motivation These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. new-contributor t-combinatorics 111/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean 2 2 ['IvanRenison', 'github-actions'] nobody
14-46867
14 days ago
15-69549
15 days ago
15-69586
15 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 751/0 Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean 3 84 ['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] sgouezel
assignee:sgouezel
14-22277
14 days ago
14-22277
14 days ago
58-39806
58 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'] b-mehta
assignee:b-mehta
13-75546
13 days ago
26-41302
26 days ago
26-41336
26 days
30637 strihanje01
author:strihanje01
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions add Lindstrom's theorem and its strengthening for equal intersections --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 210/0 Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean 2 1 ['github-actions'] nobody
11-9076
11 days ago
12-16406
12 days ago
12-16451
12 days
30315 SnirBroshi
author:SnirBroshi
feat(Topology/Connected/LocPathConnected): convenience lemma for `LocPathConnected` + `ConnectedSpace` → `PathConnectedSpace` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) awaiting-bench new-contributor t-topology 5/3 Mathlib/Topology/Connected/LocPathConnected.lean 1 12 ['SnirBroshi', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] PatrickMassot
assignee:PatrickMassot
5-20786
5 days ago
11-73398
11 days ago
21-35609
21 days
30224 SnirBroshi
author:SnirBroshi
feat(Combinatorics/SimpleGraph/Hamiltonian): `p.support.get` is bijective --- - [x] depends on: #30223 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 7/0 Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean 1 2 ['github-actions', 'mathlib4-dependent-issues-bot'] kim-em
assignee:kim-em
10-58149
10 days ago
17-82639
17 days ago
17-83595
17 days
30041 josephmckinsey
author:josephmckinsey
feat(Algebra/Order/Floor): generalize mul_floor_div theorems to rings and semirings Generalize `mul_cast_floor_div_cancel` from `Field` and `Semifield` to `Ring` and `Semiring`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
43/31 Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Analysis/Real/OfDigits.lean 4 10 ['Ruben-VandeVelde', 'github-actions', 'josephmckinsey'] joneugster
assignee:joneugster
9-75536
9 days ago
17-73632
17 days ago
18-22233
18 days
30424 maksym-radziwill
author:maksym-radziwill
feat(Analysis.Complex): Borel-Caratheodory theorem, part of PrimeNumberTheoremAnd+ upstreaming This PR adds a proof of the [Borel-Caratheodory theorem](https://en.wikipedia.org/wiki/Borel%E2%80%93Carath%C3%A9odory_theorem) following the [blueprint](https://alexkontorovich.github.io/PrimeNumberTheoremAnd/web/sect0004.html#a0000000021) of the [PrimeNumberTheoremAnd+](https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/) project. This is part of the ongoing effort to upstream the StrongPNT version of the PrimeNumberTheoremAnd+ project into mathlib4. See also the [Zullip discussion](https://leanprover.zulipchat.com/#narrow/channel/423402-PrimeNumberTheorem.2B/topic/Merging.20with.20Morph/with/544246433) --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 424/0 Mathlib.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,docs/1000.yaml,docs/references.bib 4 7 ['Ruben-VandeVelde', 'github-actions', 'maksym-radziwill', 'wwylele'] grunweg
assignee:grunweg
9-75535
9 days ago
17-64699
17 days ago
18-82483
18 days
28818 SnirBroshi
author:SnirBroshi
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.kerLift 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 maintainer-merge new-contributor 34/16 Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean 4 32 ['SnirBroshi', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] pechersky
assignee:pechersky
9-20900
9 days ago
9-20900
9 days ago
61-50188
61 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'] pechersky
assignee:pechersky
8-75544
8 days ago
35-10600
1 month ago
53-6796
53 days
30344 Deep0Thinking
author:Deep0Thinking
feat(MeasureTheory/Integral): add versions of `exists_eq_interval_average` and first mean value theorem for integrals Add the First mean value theorem for (unordered) interval integrals on ℝ. - `exists_eq_const_mul_interval_integral_of_continuous_on_of_ae_nonneg` - `exists_eq_const_mul_interval_integral_of_continuous_on_of_nonneg` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-measure-probability 290/41 Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean 3 9 ['Deep0Thinking', 'github-actions', 'plp127'] RemyDegenne
assignee:RemyDegenne
8-71485
8 days ago
21-6510
21 days ago
21-6542
21 days
30400 Equilibris
author:Equilibris
feat(Data/PFunctor): make M.corec' universe generic Previously `corec'` required the generating type reside in the same universe as the constructed object. This change corrects this by separating the universes. As corec takes the parameter (g : β → P (α ::: β)), (where α is a TypeVec.{u} and β is a Type u) it is forced into the same universe by how the TypeVec construction works. This means corec cant be generalised by this construction. --- A super simple change to make `corec'` univ generic. ```lean -- was def MvPFunctor.M.corec'.{u} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type u} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ -- becomes def MvPFunctor.M.corec'.{u, v} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type v} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 5/5 Mathlib/Data/PFunctor/Multivariate/M.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions', 'vihdzp'] nobody
8-41382
8 days ago
19-28988
19 days ago
19-29031
19 days
29728 ADA-Projects
author:ADA-Projects
feat(Topology/KrullDimension): add subspace dimension inequality This PR proves that subspaces have Krull dimension at most that of the ambient space: dim(Y) ≤ dim(X) for Y ⊆ X (theorem topologicalKrullDim_subspace_le). Supporting results about IrreducibleCloseds were refactored and moved from KrullDimension.lean to Closeds.lean for better modularity. Note: Some code/documentation generated with AI assistance (Gemini). --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) maintainer-merge new-contributor t-topology 63/30 Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean 2 46 ['ADA-Projects', 'erdOne', 'fpvandoorn', 'github-actions', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] erdOne
assignee:erdOne
7-43984
7 days ago
8-83173
8 days ago
30-30885
30 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 29/0 Mathlib.lean,Mathlib/Data/PNat/Order.lean 2 18 ['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jburroni', 'kckennylau', 'vihdzp'] ericrbg
assignee:ericrbg
7-7380
7 days ago
7-7614
7 days ago
108-28460
108 days
28766 yury-harmonic
author:yury-harmonic
feat(Nat/Factorial): use binary splitting for `ascFactorial`/`descFactorial` Mathlib has a `@[csimp]` lemma for `Nat.factorial`. This PR adds similar lemmas for `Nat.ascFactorial` and `Nat.descFactorial`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 49/25 Mathlib/Data/Nat/Factorial/Basic.lean 1 7 ['github-actions', 'pechersky', 'plp127', 'yury-harmonic'] pechersky
assignee:pechersky
6-69351
6 days ago
8-7608
8 days ago
52-48999
52 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 202/15 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 85 ['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] jsm28
assignee:jsm28
6-31883
6 days ago
9-18132
9 days ago
130-707
130 days
30821 chriseth
author:chriseth
fix(Computability/Tape): introduce write-simplification theorem that uses `ListBlank.mk` Add a simplification theorem which is a version of `Tape.write_mk'` that solves a simplification dead-end: If we have an expression of the form `(Tape.mk' L (ListBlank.cons a (ListBlank.mk R))).write b`, the theorem `Tape.write_mk'` would be applicable, but lean instead uses `ListBlank.cons_mk`, which turns it into `(Tape.mk' L (ListBlank.mk (a :: R))).write b` and makes `Tape.write_mk` no longer applicable because it requires `ListBlank.cons a R`, reaching a dead-end. This PR adds an equivalent theorem whose LHS allows `ListBlank.mk (a :: R)`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 7/0 Mathlib/Computability/Tape.lean 1 1 ['github-actions'] nobody
6-25913
6 days ago
6-25922
6 days ago
6-25964
6 days
30782 chenson2018
author:chenson2018
chore(ModelTheory/PartialEquiv): use grind for `le_partialEquivLimit` adaptation_note An adaption note in `FirstOrder.Language.DirectLimit.le_partialEquivLimit` notes two consecutive `simp` that cannot be combined. Replacing with `grind` solves this problem. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 2/5 Mathlib/ModelTheory/PartialEquiv.lean 1 6 ['chenson2018', 'github-actions', 'grunweg'] nobody
6-23228
6 days ago
6-23228
6 days ago
7-32349
7 days
29437 SnirBroshi
author:SnirBroshi
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 104/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'] pechersky
assignee:pechersky
5-75561
5 days ago
42-36364
1 month ago
51-23852
51 days
30391 rudynicolop
author:rudynicolop
feat(Data/List): list splitting definitions and lemmas This PR continues the work from #24395. Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 t-data new-contributor 151/2 Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean 2 4 ['BoltonBailey', 'github-actions', 'rudynicolop'] nobody
4-66222
4 days ago
19-82122
19 days ago
19-82159
19 days
30609 FlAmmmmING
author:FlAmmmmING
feat(Combinatorics/Enumerative/Catalan.lean): Add definition of large and small Schroder. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-combinatorics 128/1 Mathlib/Combinatorics/Enumerative/Catalan.lean 1 1 ['github-actions'] nobody
4-43396
4 days ago
13-29740
13 days ago
13-29783
13 days
30881 FlAmmmmING
author:FlAmmmmING
feat(RingTheory/PowerSeries/Schroder.lean) : Define the generating function for large and small Schroder number Define the generating function for large and small Schroder number. Main result : Prove some lemmas and the generating function of large Schroder. Todo : Prove the generating function of small Schroder. - depends on: #30609 --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor 349/1 Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean 3 1 ['github-actions'] nobody
4-31522
4 days ago
4-37416
4 days ago
4-37405
4 days
29253 FernandoChu
author:FernandoChu
feat(CategoryTheory): (Co)limits in preorders Characterize (co)limits in preorders as glbs/lubs, plus some other instances. large-import new-contributor t-category-theory 162/45 Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean,Mathlib/CategoryTheory/Limits/Shapes/IsTerminal.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/Fin.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/TransfiniteCompositionOfShape.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/InfSemilattice.lean,Mathlib/CategoryTheory/Sites/Plus.lean 9 19 ['FernandoChu', 'github-actions', 'joelriou'] joelriou
assignee:joelriou
4-18172
4 days ago
5-11792
5 days ago
47-61143
47 days
30232 SnirBroshi
author:SnirBroshi
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 43/0 Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean 3 19 ['SnirBroshi', 'YaelDillies', 'github-actions'] YaelDillies
assignee:YaelDillies
4-16881
4 days ago
4-16881
4 days ago
23-70478
23 days
30213 SnirBroshi
author:SnirBroshi
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor 18/16 Mathlib/Data/List/GetD.lean 1 11 ['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
2-74303
2 days ago
2-74303
2 days ago
24-41338
24 days
30214 SnirBroshi
author:SnirBroshi
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 8/0 Mathlib/Data/List/Basic.lean 1 4 ['SnirBroshi', 'eric-wieser', 'github-actions'] nobody
2-72113
2 days ago
3-35101
3 days ago
25-500
25 days
29956 SnirBroshi
author:SnirBroshi
feat(Algebra/Polynomial): small and useful lemmas added many small and useful lemmas about polynomials --- Moves these 4 theorems from `Mathlib.Algebra.Polynomial.Monic` to `Mathlib.Algebra.Polynomial.Degree.Lemmas`: - `degree_map_eq_of_injective` - `natDegree_map_eq_of_injective` - `leadingCoeff_map_of_injective` - `nextCoeff_map` `Monic.lean` imports `Lemmas.lean` so users are not affected. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-algebra
label:t-algebra$
268/90 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/RingDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/Trace/Basic.lean 16 69 ['SnirBroshi', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] ocfnash
assignee:ocfnash
2-67410
2 days ago
2-69056
2 days ago
31-34474
31 days
30216 SnirBroshi
author:SnirBroshi
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 16/0 Mathlib/Data/List/Basic.lean 1 13 ['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] nobody
2-66837
2 days ago
2-71344
2 days ago
24-35456
24 days
30962 WangYiran01
author:WangYiran01
feat(Combinatorics/Enumerative): add lattice path lemmas and counts This PR adds definitions and theorems about monotone lattice paths: - Defines `pathCount`, `pathCountFrom`, `SubdiagProp`, and related structures. - Proves closed forms such as `pathCount_eq_closed`. - Adds Dyck/ballot subdiagonal property (`SubdiagProp`). All code builds successfully with `lake build`. new-contributor t-combinatorics 64/0 Mathlib.lean,Mathlib/Combinatorics/Enumerative/RecLatticePath.lean 2 1 ['github-actions'] nobody
2-30846
2 days ago
2-51648
2 days ago
2-51689
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. --- - [x] depends on: #30806 new-contributor 223/1 Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean,Mathlib/RingTheory/TensorProduct/Maps.lean 4 7 ['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yonggyuchoimath'] TwoFX
assignee:TwoFX
1-64468
1 day ago
1-67739
1 day ago
29-49717
29 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$
50/0 Mathlib.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean 3 17 ['github-actions', 'gmcninch-tufts', 'kckennylau'] jcommelin
assignee:jcommelin
1-47490
1 day ago
72-24632
2 months ago
72-24667
72 days
30215 SnirBroshi
author:SnirBroshi
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 8/2 Mathlib/Data/List/NodupEquivFin.lean 1 5 ['SnirBroshi', 'github-actions', 'jcommelin'] nobody
1-9462
1 day ago
1-43727
1 day ago
25-203
25 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 48 ['Vierkantor', 'eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] Vierkantor
assignee:Vierkantor
0-86352
23 hours ago
0-86352
23 hours ago
31-55567
31 days
31038 rudynicolop
author:rudynicolop
feat(Computability/NFA): NFA acceptsFrom definitions and lemmas This PR defines `NFA.acceptsFrom`, similar to [`DFA.acceptsFrom`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Computability/DFA.html#DFA.acceptsFrom), and provides helper lemmas. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-computability new-contributor 71/2 Mathlib/Computability/NFA.lean 1 1 ['github-actions'] nobody
0-76560
21 hours ago
0-77736
21 hours ago
0-77785
21 hours
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/) large-import new-contributor t-category-theory 293/6 Mathlib.lean,Mathlib/CategoryTheory/Category/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Localization/Construction.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/MorphismProperty/Basic.lean 7 14 ['Jlh18', 'MichaelStollBayreuth', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] adamtopaz
assignee:adamtopaz
0-75539
20 hours ago
8-21048
8 days ago
31-15655
31 days
30416 SnirBroshi
author:SnirBroshi
feat(Logic/Relation): lemmas relating `Relation.Map` and `Function.onFun` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-logic 32/0 Mathlib/Logic/Relation.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
0-75537
20 hours ago
19-7941
19 days ago
19-10169
19 days
30473 CoolRmal
author:CoolRmal
feat(ComplexAnalysis): Cauchy's Integral Formula for Higher Order Derivatives This PR adds the following `iteratedDeriv_eq_smul_circleIntegral` and `norm_iteratedDeriv_le_aux`. The first one expresses the `n`-th order derivative of a differentiable function as a circle integral. The second one proves an estimate for the `n`-th order derivative. Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Cauchy's.20integral.20formula --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) new-contributor t-analysis 124/6 Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean 3 17 ['CoolRmal', 'github-actions', 'loefflerd', 'wwylele'] ADedecker
assignee:ADedecker
0-55368
15 hours ago
17-8655
17 days ago
17-8686
17 days
26039 tsuki8
author:tsuki8
feat(RingTheory/MvPolynomial/{MonomialOrder,Ideal}): leadingTerm define the leadingTerm and prove some lemmas related to the def `leadingTerm`: the leading term of `f` for the monomial ordering `m` some basic lemmas about leadingTerm including: 1. `leadingTerm_eq_zero_iff` 2. `leadingTerm_image_sdiff_singleton_zero` 3. `leadingTerm_image_insert_zero` 4. `leadingTerm_zero` 5. `leadingTerm_degree_eq` 6. `leadingTerm_degree_eq'` some lemmas about the degree of `f - m.leadingTerm f`: 1. `degree_sub_leadingTerm` 2. `degree_sub_leadingTerm_lt_degree` 3. `degree_sub_leadingTerm_lt_iff` also some lemmas about leading terms and ideals: 1. `span_leadingTerm_sdiff_singleton_zero` 2. `span_leadingTerm_insert_zero` 3. `span_leadingTerm_eq_span_monomial` 4. `span_leadingTerm_eq_span_monomial'` Co-authored-by: Junyu Guo @Hagb --- - [x] depends on: #24361 - [x] depends on: #26148 [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-ring-theory large-import new-contributor 163/1 Mathlib/RingTheory/MvPolynomial/Ideal.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean 2 29 ['Hagb', 'chrisflav', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] chrisflav
assignee:chrisflav
0-26790
7 hours ago
0-26790
7 hours ago
12-72477
12 days

PRs on the review queue labelled 'easy'

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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 easy 2/6 Mathlib/Combinatorics/Quiver/Symmetric.lean 1 1 ['github-actions'] awainverse
assignee:awainverse
20-1116
20 days ago
20-1116
20 days ago
73-17466
73 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 2 ['github-actions', 'themathqueen'] mattrobball
assignee:mattrobball
15-34252
15 days ago
80-10732
2 months ago
94-3559
94 days
30400 Equilibris
author:Equilibris
feat(Data/PFunctor): make M.corec' universe generic Previously `corec'` required the generating type reside in the same universe as the constructed object. This change corrects this by separating the universes. As corec takes the parameter (g : β → P (α ::: β)), (where α is a TypeVec.{u} and β is a Type u) it is forced into the same universe by how the TypeVec construction works. This means corec cant be generalised by this construction. --- A super simple change to make `corec'` univ generic. ```lean -- was def MvPFunctor.M.corec'.{u} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type u} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ -- becomes def MvPFunctor.M.corec'.{u, v} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type v} (g₀ : β → P.A) (g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _ ``` [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-data new-contributor easy 5/5 Mathlib/Data/PFunctor/Multivariate/M.lean 1 6 ['Equilibris', 'alexkeizer', 'github-actions', 'vihdzp'] nobody
8-41382
8 days ago
19-28988
19 days ago
19-29031
19 days
31003 themathqueen
author:themathqueen
feat(Algebra/Star/LinearMap): `star mul' = mul' ∘ TensorProduct.comm` and `star (f ⊗ₘ g) = star f ⊗ₘ star g` --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-algebra easy
label:t-algebra$
30/8 Mathlib/Algebra/Star/LinearMap.lean,Mathlib/Algebra/Star/TensorProduct.lean 2 2 ['github-actions', 'themathqueen'] nobody
0-83311
23 hours ago
1-35310
1 day ago
1-35589
1 day
31042 urkud
author:urkud
chore(ConstMulAction): generalize some lemmas ... from `MulAction` to `SMul`. --- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/) t-topology easy 17/17 Mathlib/Topology/Algebra/ConstMulAction.lean 1 1 ['github-actions'] nobody
0-3712
1 hour ago
0-3712
1 hour ago
0-61645
17 hours

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

Number Author Title Description Labels +/- Modified files (first 100) 📝 💬 All users who commented or reviewed Assignee(s) Updated Last status change total time in review
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'] robertylewis
assignee:robertylewis
20-75548
20 days ago
28-48436
28 days ago
28-48414
28 days