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
Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
27066 |
vasnesterov author:vasnesterov |
feat(Tactic/Order): frontend for `order` |
* Support `order [h1, h2]` and `order only [h1, h2]` syntax.
* Split conjunctions while extracting facts from the context. E.g. hypotheses in the form `A ∧ B` are converted into two facts `A` and `B`.
* Similarly, extract facts from existential quantifiers in the hypotheses.
---
- [x] depends on: #26354
[](https://gitpod.io/from-referrer/)
This PR continues the work from #22073.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22073 |
t-meta |
91/37 |
Mathlib.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Util/ElabWithoutMVars.lean,MathlibTest/order.lean |
6 |
22 |
['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'vasnesterov'] |
alexjbest assignee:alexjbest |
66-3439 2 months ago |
84-49766 2 months ago |
84-49785 84 days |
25758 |
YaelDillies author:YaelDillies |
chore: shortcut instance `CompleteLattice α → PartialOrder α` |
This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`.
This is a followup to #25358.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
7/0 |
Mathlib/Order/CompleteLattice/Defs.lean |
1 |
6 |
['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
bryangingechen assignee:bryangingechen |
64-80201 2 months ago |
96-1541 3 months ago |
115-52117 115 days |
26061 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): define Projective Space |
This defines the projective space over a scheme, indexed by an arbitrary type.
---
Zulip discussion: [#maths > Projective Space](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Projective.20Space/with/524057860)
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
63/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/ProjectiveSpace.lean |
2 |
14 |
['callesonne', 'erdOne', 'github-actions', 'kckennylau'] |
erdOne assignee:erdOne |
62-80175 2 months ago |
109-81916 3 months ago |
109-81953 109 days |
26054 |
FMLJohn author:FMLJohn |
feat(RingTheory/GradedAlgebra/Homogeneous/Subsemiring): homogeneous subsemirings of a graded semiring |
---
[](https://gitpod.io/from-referrer/)
In this pull request, we have defined homogeneous subsemirings of `GradedRing 𝒜` where `𝒜 : ι → σ`, `SetLike σ A` and `AddSubmonoidClass σ A`.
## Main definitions
For any `R : Subsemiring A`:
* `Subsemiring.IsHomogeneous 𝒜 R`: The property that a subsemiring is closed under `GradedRing.proj`.
* `HomogeneousSubsemiring 𝒜`: The structure extending subsemirings which satisfy `Subsemiring.IsHomogeneous`. |
t-ring-theory |
120/0 |
Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Subsemiring.lean |
2 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
61-49121 2 months ago |
61-49121 2 months ago |
110-17832 110 days |
24730 |
YaelDillies author:YaelDillies |
feat(RingTheory): group-like elements |
Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`.
We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group.
From Toric
Co-authored-by: Michał Mrugała
---
- [x] depends on: #24747
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
309/0 |
Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean |
4 |
42 |
['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] |
eric-wieser assignee:eric-wieser |
61-49015 2 months ago |
61-49015 2 months ago |
148-6064 148 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
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
703/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
59-80189 1 month ago |
93-5267 3 months ago |
93-5302 93 days |
26765 |
KiringYJ author:KiringYJ |
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance |
Add two small features to `MeasureTheory/PiSystem`:
1. SetLike instance
`instance : SetLike (DynkinSystem α) (Set α)`
This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style.
2. `DynkinSystem.pi_lambda` lemma
Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`.
Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately.
Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs.
No breaking changes.
No dependencies.
|
new-contributor
t-measure-probability
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
13 |
['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
58-80188 1 month ago |
66-29837 2 months ago |
93-17672 93 days |
27534 |
PierreQuinton author:PierreQuinton |
feat: a typeclass for `sSup`/`sInf` to be lawful |
Adds lawful infima and suprema type classes.
A preorder with lawful suprema: whenever a set has a least upper bound, `sSup` returns a least upper bound for that set.
A preorder with lawful infima: whenever a set has a greatest lower bound, `sInf` returns a greastest lower bound for that set.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
121/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean |
3 |
25 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
58-43965 1 month ago |
70-27262 2 months ago |
70-27288 70 days |
25779 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory/NaturalTransformations): strong and lax natural transformations of lax functors |
Given two lax functors `F G` between bicategories, we define lax natural transformations as families of 1-morphisms `∀ a : B, F.obj a ⟶ G.obj a` equipped with a naturality 2-cell `∀ {a b : B} (f : a ⟶ b), app a ≫ G.map f ⟶ F.map f ≫ app b` that are required to satisfy conditions such as naturality, and compatibility with the `mapId` and `mapComp` fields of the source and target functors.
This notion dualizes the existing notion of oplax natural transformations between, and tries to narrow the current gap between lax and oplax functors in the library, where the latter has much more formalized API. For maintainability, The code tries to stay as aligned as possible with the code in `CategoryTheory.Bicategory.Naturaltransformations.Oplax`.
---
I followed the book by Johnson and Yau for the definition.
I made @yuma-mizuno and @callesonne authors of the files, as they are the authors of the original code for Oplax functors, which I basically copy-pasted and modified to make it work with lax functors. They should feel free to modify this if they want.
Next thing on the list is to tackle modifications between lax/strong natural transforms of lax transforms, as well as the category instance on lax functors.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #25565.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25565* |
t-category-theory |
286/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,scripts/noshake.json |
3 |
3 |
['github-actions', 'yuma-mizuno'] |
joelriou assignee:joelriou |
57-80207 1 month ago |
92-55424 3 months ago |
114-13783 114 days |
27664 |
pechersky author:pechersky |
feat(Topology,Analysis): discrete topology metric space and normed groups |
Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y`
Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
137/0 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean |
3 |
3 |
['github-actions', 'kckennylau', 'pechersky'] |
urkud assignee:urkud |
57-80199 1 month ago |
67-70211 2 months ago |
67-70196 67 days |
24850 |
pechersky author:pechersky |
feat(Topology/UniformSpace/Ultra): uniform spaces induced by pseudometrics are ultra if system is ultra |
Any uniform space has a natural system of pseudometrics definable on it,
comprised of those pseudometrics constructed from a descending chain of
equivalence relation entourages. In a nonarchimedean uniformity, this pseudometric system
induces the uniformity.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #23111 |
t-topology |
509/1 |
Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean |
3 |
8 |
['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'pechersky'] |
urkud assignee:urkud |
54-80205 1 month ago |
117-67515 3 months ago |
133-13041 133 days |
27000 |
gasparattila author:gasparattila |
feat(Analysis/Normed/Group/Quotient): isometric versions of isomorphisms |
This PR adds an isometric version of the third isomorphism theorem for groups and modules.
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-analysis
|
49/2 |
Mathlib/Analysis/Normed/Group/Quotient.lean |
1 |
1 |
['github-actions'] |
urkud assignee:urkud |
54-80200 1 month ago |
86-32927 2 months ago |
86-32970 86 days |
27754 |
Parcly-Taxel author:Parcly-Taxel |
feat: `finCycle` as iterated `finRotate` |
Originally used in #25786, but eventually discovered to be unnecessary. |
t-logic |
26/5 |
Mathlib/Logic/Equiv/Fin/Rotate.lean |
1 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
52-80191 1 month ago |
66-28547 2 months ago |
66-28592 66 days |
27946 |
plp127 author:plp127 |
refactor: have `MetrizableSpace` not depend on `MetricSpace` |
Some theorems for uniform spaces with a countably generated uniformity do not mention their uniformity in any of the hypotheses or the conclusion (for example `UniformSpace.isCompact_iff_isSeqCompact`). This PR allows those theorems to be stated for (pseudo)metrizable spaces without importing the real numbers.
See also #2032
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
129/102 |
Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/Compactness/PseudometrizableLindelof.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/ContinuousMap.lean,Mathlib/Topology/Metrizable/Real.lean,Mathlib/Topology/Metrizable/Uniformity.lean |
7 |
7 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
urkud assignee:urkud |
51-80176 1 month ago |
61-48461 2 months ago |
62-13933 62 days |
28141 |
YaelDillies author:YaelDillies |
chore: deprecate `BialgHom.coe_toLinearMap` |
`BialgHom.toLinearMap` is a fake projection.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
easy
|
5/11 |
Mathlib/RingTheory/Bialgebra/Hom.lean |
1 |
8 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
alreadydone assignee:alreadydone |
49-80179 1 month ago |
57-57308 1 month ago |
57-57298 57 days |
28198 |
Sebi-Kumar author:Sebi-Kumar |
feat(Analysis/InnerProductSpace/PiL2): Add instances for EuclideanSpace rank and EuclideanSpace being infinite |
Add an instance for `Fact (Module.finrank 𝕜 (EuclideanSpace 𝕜 (Fin n)) = n)` which is needed to apply [stereographic'](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/Instances/Sphere.html#stereographic') to EuclideanSpace. Also add an instance for `Infinite (EuclideanSpace 𝕜 ι)` where `ι` is a nonempty fintype. I wasn't sure if these should go in separate pull requests, but they seemed similar enough to me. Thank you to Kenny Lau for the suggestions at [#mathlib4 > Instances for EuclideanSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20for.20EuclideanSpace).
---
To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
6/0 |
Mathlib/Analysis/InnerProductSpace/PiL2.lean |
1 |
1 |
['github-actions'] |
urkud assignee:urkud |
48-80180 1 month ago |
56-7016 1 month ago |
56-7053 56 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)
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
455/13 |
Mathlib/RingTheory/Valuation/Basic.lean,MathlibTest/Simproc/ValEquiv.lean |
2 |
34 |
['b-mehta', 'eric-wieser', 'github-actions', 'kckennylau', 'pechersky', 'plp127'] |
erdOne assignee:erdOne |
47-80195 1 month ago |
58-15487 1 month ago |
58-76383 58 days |
28191 |
kckennylau author:kckennylau |
feat(Logic): tag Injective, Surjective, and Bijective with fun_prop |
---
Zulip:
* [#Is there code for X? > surjective is not funprop!](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/surjective.20is.20not.20funprop!)
* [#mathlib4 > `fun_prop` for Injective/Surjective/Bijective?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60fun_prop.60.20for.20Injective.2FSurjective.2FBijective.3F)
[](https://gitpod.io/from-referrer/)
|
t-meta |
16/0 |
Mathlib/Tactic/FunProp.lean |
1 |
3 |
['github-actions', 'grunweg', 'kckennylau'] |
alexjbest assignee:alexjbest |
47-80193 1 month ago |
55-30304 1 month ago |
56-8506 56 days |
28125 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics): basic definition of simplicial complexes |
This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean.
---
This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one.
We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. |
new-contributor
t-combinatorics
|
374/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean |
5 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
46-80203 1 month ago |
58-12272 1 month ago |
58-12308 58 days |
28153 |
kckennylau author:kckennylau |
feat(Simproc): Simproc for explicit diagonal matrices |
```lean
example : (diagonal ![37, -1] : Matrix (Fin 2) (Fin 2) ℤ) = !![37, 0; 0, -1] := by
simp
```
---
Shares code with #28148.
[](https://gitpod.io/from-referrer/)
|
t-meta |
114/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,scripts/noshake.json |
4 |
1 |
['github-actions'] |
alexjbest assignee:alexjbest |
46-80201 1 month ago |
57-18543 1 month ago |
57-18585 57 days |
28186 |
Sebi-Kumar author:Sebi-Kumar |
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic |
Add `instance : IsEquiv (Path x₀ x₁) Homotopic` to the library. Allow use of lemmas like `of_eq` when proving two paths are homotopic.
---
To provide additional context, I am relatively new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario and supervised by Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`.
Also, I am not super familiar with `IsEquiv` and when it should/shouldn't be used. I just wanted to use a lemma like `Path.Homotopic.of_eq` at one point while working on my code, and thought this was the best way to add such a result to the library.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
5/0 |
Mathlib/Topology/Homotopy/Path.lean |
1 |
4 |
['Sebi-Kumar', 'github-actions', 'kckennylau'] |
PatrickMassot assignee:PatrickMassot |
46-80200 1 month ago |
56-25130 1 month ago |
56-25169 56 days |
26428 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: norm_num support for Int.fract |
---
[](https://gitpod.io/from-referrer/)
|
t-data
t-meta
|
61/0 |
Mathlib/Data/Rat/Floor.lean,MathlibTest/norm_num_ext.lean |
2 |
6 |
['Rob23oba', 'github-actions', 'grunweg'] |
Rob23oba assignee:Rob23oba |
45-36916 1 month ago |
45-36916 1 month ago |
101-51394 101 days |
28399 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: ring-theoretic fractions in Rat |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
47/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Rat.lean |
2 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
43-80209 1 month ago |
52-53145 1 month ago |
52-53183 52 days |
28473 |
EtienneC30 author:EtienneC30 |
feat: toLp and ofLp are analytic |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
42/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/WithLp.lean |
2 |
1 |
['github-actions'] |
hrmacbeth assignee:hrmacbeth |
43-80206 1 month ago |
51-34380 1 month ago |
51-34356 51 days |
27990 |
kckennylau author:kckennylau |
feat(Counterexamples): a nontrivial valuation with discrete topology |
This file constructs a valuation on `K[X]` satisfying `IsValuativeTopology K[X] ∧ Nonempty (valuation K[X]).RankOne ∧ IsNontrivial K[X] ∧ DiscreteTopology K[X]`, and proves that `IsValuativeTopology F ∧ IsNontrivial F ∧ DiscreteTopology F` is not possible if `F` is a field.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
172/0 |
Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean |
2 |
n/a |
['github-actions', 'grunweg', 'kckennylau', 'pechersky'] |
nobody |
43-65294 1 month ago |
unknown |
unknown |
28812 |
yury-harmonic author:yury-harmonic |
feat(PNat/Factors): add attrs and lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
42/0 |
Mathlib/Data/PNat/Factors.lean |
1 |
1 |
['github-actions'] |
nobody |
43-29408 1 month ago |
43-29564 1 month ago |
43-29596 43 days |
27245 |
rirarika author:rirarika |
feat: multivariate polynomial ring properties about irreducibility |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
88/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean |
2 |
5 |
['alreadydone', 'github-actions', 'mbkybky'] |
alreadydone assignee:alreadydone |
43-26597 1 month ago |
79-55043 2 months ago |
79-55077 79 days |
25907 |
mans0954 author:mans0954 |
feat: low order roots of unity |
This PR continues the work from #25470.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 |
t-algebra label:t-algebra$ |
182/0 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean |
2 |
2 |
['github-actions', 'mans0954'] |
kim-em assignee:kim-em |
43-26559 1 month ago |
112-39250 3 months ago |
112-39290 112 days |
28531 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: remove Cardinal imports from Topology.Algebra.InfiniteSum.Group |
---
[](https://gitpod.io/from-referrer/)
|
|
51/15 |
Mathlib.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Const.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/InfiniteSum/Real.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/PartitionOfUnity.lean |
16 |
4 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions'] |
TwoFX assignee:TwoFX |
42-80175 1 month ago |
50-4627 1 month ago |
50-4602 50 days |
28837 |
yury-harmonic author:yury-harmonic |
feat(ValMinAbs): add lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
24/6 |
Mathlib/Data/ZMod/ValMinAbs.lean |
1 |
1 |
['github-actions'] |
nobody |
42-57363 1 month ago |
42-57373 1 month ago |
42-57403 42 days |
28132 |
dupuisf author:dupuisf |
feat: preliminary `grind` tags for `IsUnit` |
This PR adds preliminary `grind` tags for the `IsUnit` predicate.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
61/17 |
Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
41-80180 1 month ago |
50-76528 1 month ago |
50-76503 50 days |
28325 |
pechersky author:pechersky |
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` |
On the way to golf/generalize the proof that
locally compact valued fields have locally finite valuation groups as embodied in
`Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ]
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-order
t-topology
|
160/2 |
Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean |
3 |
1 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
41-80177 1 month ago |
53-62393 1 month ago |
53-65094 53 days |
23835 |
chrisflav author:chrisflav |
feat(Topology): cardinality of connected components is bounded by cardinality of fiber |
We show that if `f : X → Y` is an open and closed map to `Y` and `Y` is connected, the number of connected
components of `X` is bounded by the cardinality of the fiber of any point. In particular, if `Y` has finitely many connected components and `f` finite fibers, also `X` as finitely many connected components.
From Pi1.
---
- [x] depends on: #23849
[](https://gitpod.io/from-referrer/)
|
t-topology |
242/1 |
Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/CardComponents.lean,Mathlib/Topology/Connected/Clopen.lean |
6 |
5 |
['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
grunweg assignee:grunweg |
40-80209 1 month ago |
48-37358 1 month ago |
50-31383 50 days |
27824 |
ChrisHughes24 author:ChrisHughes24 |
feat(Calculus): exists_gt_of_deriv_pos and variants |
---
I created a new file for this as I anticipate there will be many lemmas relating derivatives and monotonicity in future. Some lemmas relating deriviatives to monotonicity are already in mathlib and should maybe moved to the file (e.g. docs#HasDerivWithinAt.nonneg_of_monotoneOn).
I stated them in as much generality as I could, copying the generality of `HasDerivWithinAt.nonneg_of_monotoneOn`.
- [x] depends on: #28039
[](https://gitpod.io/from-referrer/)
|
t-analysis |
85/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Order.lean |
2 |
29 |
['ChrisHughes24', 'EtienneC30', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
40-80206 1 month ago |
51-24006 1 month ago |
55-41695 55 days |
25292 |
YaelDillies author:YaelDillies |
feat: the `ConvexCone` generated by a set |
Define `ConvexCone.copy` and `ConvexCone.hull` and use them to golf the `CompleteLattice` instance.
From Toric
---
- [x] depends on: #25291
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
toric
|
94/35 |
Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Geometry/Convex/Cone/Basic.lean |
2 |
8 |
['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
40-6895 1 month ago |
70-45738 2 months ago |
107-84055 107 days |
28768 |
yury-harmonic author:yury-harmonic |
feat(Data/Nat): define `Nat.nthRoot` |
Define `Nat.nthRoot n a` to be the `n`th root of a natural number `a`.
---
This is a dependency of a `norm_num` plugin that can handle `(8 : Real) ^ (2 / 3 : Real)`.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
218/0 |
Mathlib.lean,Mathlib/Data/Nat/NthRoot/Defs.lean,Mathlib/Data/Nat/NthRoot/Lemmas.lean |
3 |
16 |
['b-mehta', 'eric-wieser', 'github-actions', 'j-loreaux', 'yury-harmonic'] |
nobody |
40-6032 1 month ago |
43-65741 1 month ago |
44-20419 44 days |
25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
39-42444 1 month ago |
131-85970 4 months ago |
131-86014 131 days |
26914 |
quangvdao author:quangvdao |
feat(Data/PFunctor/Univariate): more definitions for univariate `PFunctor` |
This PR defines several basic definitions of `PFunctor`, including zero, one, constants, monomials, coproduct (sum), product, sigma, pi, tensor product, universe lifting, and equivalence.
We also add: (1) simple lemmas connecting the basic definitions, (2) an automatically derived ext lemma for `PFunctor` via `@[ext]` attribute
Some things I'm not clear on:
- I define `HAdd` and `HMul` instances for coproduct and product of poly functors having different universe levels. Should I also define `Add` and `Mul` instances for poly functors having the same universe level?
- Is it ok to define notation for tensor product, i.e. `@[inherit_doc] scoped infixr:80 " ⊗ " => tensor`? I'm worried it might clash with other notation.
- Need a double-check on the priority of notation.
Some future definitions to add:
- Various equivalences arising from arithmetic identities, e.g., `P + 0 ≃ₚ P`.
- Definitions of Lenses and Charts (each of them will be a file or even a folder)
- Exponential objects (corresponding to both `prod` and `tensor`)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
144/5 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
19 |
['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] |
eric-wieser assignee:eric-wieser |
39-27160 1 month ago |
88-81267 2 months ago |
88-81303 88 days |
23238 |
YaelDillies author:YaelDillies |
feat: extended floor and ceil |
My motivation for this is to prove `ENat.toENNReal (⨆ i, f i) = ⨆ i, ENat.toENNReal (f i)` and `ENat.toENNReal (⨅ i, f i) = ⨅ i, ENat.toENNReal (f i)`. Kalle Kytölä independently needs this for his formalisation of statistical physics.
From MiscYD
---
- [x] depends on: #24781
- [x] depends on: #24782
See #15269 for a past attempt.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
235/0 |
Mathlib.lean,Mathlib/Algebra/Order/Floor/Extended.lean |
2 |
25 |
['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kkytola', 'mathlib4-dependent-issues-bot', 'urkud'] |
alreadydone assignee:alreadydone |
39-21436 1 month ago |
147-18801 4 months ago |
194-71009 194 days |
22662 |
plp127 author:plp127 |
feat: Localization.Away.lift (computably) |
This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`.
---
- [x] depends on: #24791
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
74/0 |
Mathlib/RingTheory/Localization/Away/Basic.lean |
1 |
17 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] |
mariainesdff assignee:mariainesdff |
38-79966 1 month ago |
146-84581 4 months ago |
212-84554 212 days |
27392 |
Paul-Lez author:Paul-Lez |
feat(Tactic/SimpUtils): add simproc finding commands |
This PR adds some commands to allow users to find simprocs/dsimprocs/simp theorems that match on a given pattern.
Thanks to Robin Arnez for telling me about `simprocDeclExt` :)
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
690/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpUtils.lean,MathlibTest/SimpUtils.lean |
4 |
9 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'kmill'] |
robertylewis assignee:robertylewis |
38-21096 1 month ago |
61-7835 2 months ago |
63-8497 63 days |
26484 |
peabrainiac author:peabrainiac |
feat(Geometry/Diffeology): basics of diffeological spaces |
Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces.
---
This PR continues the work from #21969. |
t-differential-geometry |
471/0 |
Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib |
3 |
10 |
['JovanGerb', 'github-actions', 'grunweg', 'lecopivo', 'peabrainiac'] |
grunweg assignee:grunweg |
37-51828 1 month ago |
99-73044 3 months ago |
99-77787 99 days |
26240 |
grunweg author:grunweg |
perf(CommandLinterLinter): use Substring more |
Probably, these changes make little difference, but let's find out.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
RFC
|
14/15 |
Mathlib/Tactic/Linter/CommandStart.lean |
1 |
5 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
joneugster assignee:joneugster |
37-51584 1 month ago |
107-2747 3 months ago |
107-7349 107 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}`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
44/0 |
Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Topology/UnitInterval.lean |
2 |
6 |
['gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
37-28719 1 month ago |
42-30438 1 month ago |
68-21433 68 days |
27433 |
YaelDillies author:YaelDillies |
refactor: make `⇑e⁻¹ = e.symm` simp |
From BrauerGroup and ClassFieldTheory
---
[](https://gitpod.io/from-referrer/)
|
|
217/256 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/GroupTheory/Perm/Basic.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/Logic/Equiv/Set.lean |
16 |
3 |
['eric-wieser', 'github-actions'] |
dwrensha assignee:dwrensha |
36-80221 1 month ago |
49-33951 1 month ago |
49-65314 49 days |
28560 |
euprunin author:euprunin |
chore(Combinatorics/Quiver): golf entire `lift_spec` using `rfl` |
---
Show trace profiling of lift_spec : <10 ms before, <10 ms after 🎉
### Trace profiling of `lift_spec` before PR 28560
```diff
diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean
index 33e371b283..76a3371b36 100644
--- a/Mathlib/Combinatorics/Quiver/Symmetric.lean
+++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean
@@ -164,6 +164,7 @@ def lift [HasReverse V'] (φ : Prefunctor V V') :
| Sum.inl g => φ.map g
| Sum.inr g => reverse (φ.map g)
+set_option trace.profiler true in
theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') :
Symmetrify.of.comp (Symmetrify.lift φ) = φ := by
fapply Prefunctor.ext
```
```
✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.3s)
Build completed successfully (147 jobs).
```
### Trace profiling of `lift_spec` after PR 28560
```diff
diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean
index 33e371b283..3adf874946 100644
--- a/Mathlib/Combinatorics/Quiver/Symmetric.lean
+++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean
@@ -164,13 +164,10 @@ def lift [HasReverse V'] (φ : Prefunctor V V') :
| Sum.inl g => φ.map g
| Sum.inr g => reverse (φ.map g)
+set_option trace.profiler true in
theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') :
Symmetrify.of.comp (Symmetrify.lift φ) = φ := by
- fapply Prefunctor.ext
- · rintro X
- rfl
- · rintro X Y f
- rfl
+ tauto
theorem lift_reverse [h : HasInvolutiveReverse V']
(φ : Prefunctor V V') {X Y : Symmetrify V} (f : X ⟶ Y) :
```
```
✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.2s)
Build completed successfully (147 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
2/6 |
Mathlib/Combinatorics/Quiver/Symmetric.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
36-80214 1 month ago |
49-22069 1 month ago |
49-22111 49 days |
29014 |
ShreckYe author:ShreckYe |
feat(Data/List/Scan): some theorems that relate `scanl` with `foldl` |
I am not sure which is the best form of `getElem_scanl_eq_foldl_take` here, so I added several alternative forms. Feel free to remove any of them if necessary. |
t-data |
35/0 |
Mathlib/Data/List/Scan.lean |
1 |
9 |
['ShreckYe', 'github-actions', 'themathqueen', 'vlad902'] |
nobody |
36-55049 1 month ago |
39-50296 1 month ago |
39-50335 39 days |
26843 |
vasnesterov author:vasnesterov |
feat(Tactic/Simproc): nested quantifiers in `existsAndEq` |
Generalize the `existsAndEq` simproc to nested existential quantifiers.
For example `∃ a, p a ∧ ∃ b, a = f b ∧ q b` now simplifies to `∃ b, p (f b) ∧ q b`.
---
[](https://gitpod.io/from-referrer/)
This PR continues the work from #23365.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23365 |
migrated-from-branch
large-import
t-meta
|
457/77 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Tactic/Simproc/ExistsAndEq.lean,MathlibTest/Simproc/ExistsAndEq.lean |
4 |
15 |
['JovanGerb', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] |
kmill assignee:kmill |
35-39807 1 month ago |
36-7199 1 month ago |
90-24731 90 days |
25856 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf(Data.Real.Sqrt): make Real.sqrt irreducible |
We try to see what happens if we make Real.sqrt irreducible.
There are cases where this makes unification very significantly faster, compare [#mathlib4 > Coercion triggers timeout @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Coercion.20triggers.20timeout/near/517177117).
(Migrated manually from #24752)
---
[](https://gitpod.io/from-referrer/)
|
migrated-from-branch
t-data
|
7/5 |
Mathlib/Data/Real/Sqrt.lean |
1 |
5 |
['MichaelStollBayreuth', 'github-actions', 'j-loreaux', 'leanprover-bot'] |
ericrbg assignee:ericrbg |
35-7939 1 month ago |
35-12655 1 month ago |
104-39245 104 days |
28296 |
strihanje01 author:strihanje01 |
feat(Combinatorics/Additive/VerySmallDoubling): Hamidoune's Freiman-Kneser theorem for nonabelian groups |
add noncommutative Freiman-Kneser theorem for doubling less than 2-\epsilon
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-combinatorics
|
339/3 |
Mathlib/Combinatorics/Additive/VerySmallDoubling.lean |
1 |
14 |
['YaelDillies', 'github-actions', 'strihanje01'] |
awainverse assignee:awainverse |
34-80175 1 month ago |
45-37029 1 month ago |
47-13870 47 days |
25920 |
BoltonBailey author:BoltonBailey |
feat(Data/Finsupp/Basic): `Finsupp.optionElim'` |
Similar to how Finsupp.cons constructs a map Fin (n + 1) →₀ M from a map Fin n →₀ M,
we define Finsupp.optionElim' to construct a map Option α →₀ M from a map α →₀ M, given an additional value for none. We base this on the new optionEquiv definition. As a function, it behaves as Option.elim', hence the name.
We prove a variety of API lemmas, based on those for Finsupp.cons, to bring the definitions more in line with the contents of Data/Finsupp/Fin.
We also refactor to a new file to help avoid a too-long file and make this more analogous to Finsupp.cons
Original PR: https://github.com/leanprover-community/mathlib4/pull/13861
- [x] depends on: #26309 |
migrated-from-branch
t-data
|
114/23 |
Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Option.lean |
2 |
15 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
34-59827 1 month ago |
34-64873 1 month ago |
99-35352 99 days |
28602 |
gmcninch-tufts author:gmcninch-tufts |
feat(Algebra/Polynomial/Module): prove equivalence of a certain tensor product with PolynomialModule |
For a commutative ring `R` and an `R`-module `M`, construct an equivalence between the `R[X]`-modules `R[X] ⊗[R] M` and
`PolynomialModule R M`.
This equivalence enables application of some base-change results to `PolynomialModule R M` .
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
210/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean |
2 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
33-80200 1 month ago |
48-29276 1 month ago |
48-29312 48 days |
26284 |
plp127 author:plp127 |
feat: faster implementation of `Nat.primeFactorsList` + `@[csimp]` lemma |
Add a function `Nat.primeFactorsListFast` that `#eval`s faster, and a `@[csimp]` lemma `Nat.primeFactorsList_eq_primeFactorsListFast` that shows `Nat.primeFactorsList = Nat.primeFactorsListFast`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
95/0 |
Mathlib/Data/Nat/Factors.lean |
1 |
5 |
['b-mehta', 'github-actions', 'grunweg', 'plp127'] |
b-mehta assignee:b-mehta |
33-22530 1 month ago |
104-67372 3 months ago |
104-81278 104 days |
28929 |
grunweg author:grunweg |
experiment: use `fun_prop` in Homeomorph |
Can we make the continuity auto-parameters use `fun_prop`?
Or perhaps `first |fun_prop; |dsimp; fun_prop`?
---
Compared to #13994, it seems this is a much smoother experience. I suspect the RefineDiscTree changes have helped (but that is pure speculation).
[](https://gitpod.io/from-referrer/)
|
t-topology |
13/5 |
Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Constructions/DomMulAct.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/Homeomorph/Defs.lean |
6 |
4 |
['euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
PatrickMassot assignee:PatrickMassot |
32-80203 1 month ago |
40-84481 1 month ago |
41-3392 41 days |
27308 |
xyzw12345 author:xyzw12345 |
feat(LinearAlgebra/SymmetricAlgebra): IsSymmetricAlgebra |
This PR continues the work from #24602.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24602 |
t-algebra label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean |
2 |
3 |
['github-actions', 'mattrobball', 'xyzw12345'] |
mattrobball assignee:mattrobball |
32-54309 1 month ago |
77-31133 2 months ago |
77-31176 77 days |
28831 |
qawbecrdtey author:qawbecrdtey |
feat(Logic/Equiv/List): add `decodeList_encodeList_eq_self` and removed unnecessary linter options |
---
This is useful when we call `encode` and `decode` of a list to define a new `Encoder` involving `List`s.
```lean
theorem decodeList_encodeList_eq_self (l : List α) : decodeList (encodeList l) = some l
```
[](https://gitpod.io/from-referrer/)
|
t-logic |
7/6 |
Mathlib/Logic/Equiv/List.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
31-80207 1 month ago |
42-74251 1 month ago |
42-74284 42 days |
28906 |
gasparattila author:gasparattila |
feat(Topology/Algebra/Module): `prod` and `coprod` as `ContinuousLinearEquiv`s |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
36/5 |
Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
2 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
31-80206 1 month ago |
41-20373 1 month ago |
41-20405 41 days |
26790 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
46/1 |
Mathlib/Combinatorics/Enumerative/Bell.lean |
1 |
11 |
['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] |
awainverse assignee:awainverse |
31-62476 1 month ago |
92-25602 3 months ago |
92-25639 92 days |
26986 |
WangYiran01 author:WangYiran01 |
feat(Partition): add bijection for partitions with max part ≤ r |
## Summary
This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`.
It constructs a bijection between:
- The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and
- The set of partitions of `n - r` whose largest part is at most `r`.
This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics.
## Implementation notes
- The proof uses `Multiset.erase` and `Multiset.cons` with basic properties of `sum`, `sup`, and `Partition` structures.
- The bijection is implemented explicitly via `f` and `g`, and proven mutually inverse via `Subtype.ext`.
## Linting
- [x] Passes `lake build`
- [x] Linter clean (no commandStart or longLine issues)
## Author
Contributed by Yiran Wang.
|
new-contributor
t-combinatorics
|
85/0 |
Mathlib/Combinatorics/Enumerative/Partition.lean |
1 |
3 |
['WangYiran01', 'github-actions'] |
b-mehta assignee:b-mehta |
31-59010 1 month ago |
86-50162 2 months ago |
86-50197 86 days |
29307 |
harahu author:harahu |
doc: hyphenate attributive compound adjectives ending in "exact" |
Compound adjectives that are attributive (coming before their noun) should almost always be hyphenated in English.
This PR covers such adjectives that are ending in "exact".
---
[](https://gitpod.io/from-referrer/)
|
|
144/144 |
Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Homology/ConcreteCategory.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExtClass.lean,Mathlib/Algebra/Homology/DerivedCategory/HomologySequence.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/DerivedCategory/SingleTriangle.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/ShortExact.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/KernelCokernelComp.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Limits/ExactFunctor.lean,Mathlib/CategoryTheory/Limits/Preserves/Finite.lean,Mathlib/CategoryTheory/Limits/Preserves/Presheaf.lean,Mathlib/CategoryTheory/ObjectProperty/Extensions.lean,Mathlib/CategoryTheory/Preadditive/AdditiveFunctor.lean,Mathlib/CategoryTheory/Preadditive/LeftExact.lean,Mathlib/CategoryTheory/Shift/ShiftSequence.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/MayerVietorisSquare.lean,Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean,Mathlib/CategoryTheory/Sites/Sheafification.lean,Mathlib/CategoryTheory/Triangulated/HomologicalFunctor.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/GrothendieckGroup.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean,Mathlib/RingTheory/Regular/IsSMulRegular.lean,Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean |
47 |
n/a |
['github-actions'] |
nobody |
31-56677 1 month ago |
unknown |
unknown |
27254 |
yuanyi-350 author:yuanyi-350 |
2025 imo problem3 |
- [x] depends on: #28788
- [x] depends on: #28790
- [x] depends on: #28829
---
[](https://gitpod.io/from-referrer/)
|
IMO |
231/0 |
Archive.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean |
3 |
28 |
['github-actions', 'jsm28', 'kbuzzard', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] |
jsm28 assignee:jsm28 |
31-46625 1 month ago |
32-82291 1 month ago |
66-57153 66 days |
26277 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences |
This file contains elementary definitions involving congruence
relations and morphisms for semirings, rings, and algebras.
* `RingCon.ker`: the kernel of a monoid homomorphism as a congruence relation
* `RingCon.lift`, `RingCon.liftₐ`: the homomorphism / the algebra morphism
on the quotient given that the congruence is in the kernel
* `RingCon.map`, `RingCon.mapₐ`: homomorphism / algebra morphism
from a smaller to a larger quotient
* `RingCon.quotientKerEquivRangeS`, `RingCon.quotientKerEquivRange`,
`RingCon.quotientKerEquivRangeₐ` :
the first isomorphism theorem for semirings (using `RingHom.rangeS`),
rings (using `RingHom.range`) and algebras (using `AlgHom.range`).
* `RingCon.comapQuotientEquivRangeS`, `RingCon.comapQuotientEquivRange`,
`RingCon.comapQuotientEquivRangeₐ` : the second isomorphism theorem
for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`)
and algebras (using `AlgHom.range`).
* `RingCon.quotientQuotientEquivQuotient`, `RingCon.quotientQuotientEquivQuotientₐ` :
the third isomorphism theorem for semirings (or rings) and algebras
It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
554/2 |
Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean |
5 |
4 |
['AntoineChambert-Loir', 'eric-wieser', 'github-actions'] |
joneugster assignee:joneugster |
30-56857 1 month ago |
61-49243 2 months ago |
105-5456 105 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
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
375/0 |
Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean |
2 |
52 |
['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
30-46253 1 month ago |
30-46253 1 month ago |
36-32435 36 days |
29028 |
themathqueen author:themathqueen |
feat(Algebra/Star): define `unitary R →* StarAlgEquiv S R R` |
Every unitary defines a star-algebra automorphism (this is an extension of a special version of `MulSemiringAction.toRingEquiv` for unitaries).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
64/0 |
Mathlib.lean,Mathlib/Algebra/Star/UnitaryStarAlgAut.lean |
2 |
14 |
['eric-wieser', 'github-actions', 'themathqueen'] |
eric-wieser assignee:eric-wieser |
30-24849 1 month ago |
37-48738 1 month ago |
39-19342 39 days |
19046 |
j-loreaux author:j-loreaux |
feat: define class `SemigroupAction` |
---
If I can get this building with minimal performance impact, I would like to change the names to:
`MulAction → MonoidAction`
`SemigroupAction → MulAction`
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
48/26 |
Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/RingTheory/Trace/Basic.lean |
13 |
10 |
['alreadydone', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] |
jcommelin assignee:jcommelin |
29-80209 29 days ago |
38-10039 1 month ago |
44-37323 44 days |
28311 |
eric-wieser author:eric-wieser |
fix(Tactic/NormNum): do not hang on large powers |
This uses `Lean.checkExponent` to guard against large powers.
Unfortunately the log messages it emits are currently swallowed, but surfacing these may require changing the API for norm_num extensions (to live in `OptionT MetaM`) and so is left to future work.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
bug
|
41/23 |
Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/Ring/Basic.lean,MathlibTest/norm_num.lean,MathlibTest/norm_num_ext.lean |
4 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
robertylewis assignee:robertylewis |
29-80207 29 days ago |
39-463 1 month ago |
46-53676 46 days |
29040 |
PMKielstra author:PMKielstra |
feat: trapezoidal rule for integration |
This PR defines the trapezoidal rule and proves the standard error bound on it in terms of bounds on the second derivative.
I have vague plans of using this plus interval arithmetic to develop a tactic that can automatically close goals of the form `\integral x in a..b, f x < y` or similar.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
273/0 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean |
3 |
40 |
['PMKielstra', 'github-actions', 'tb65536'] |
kex-y assignee:kex-y |
29-80203 29 days ago |
39-696 1 month ago |
39-1132 39 days |
29042 |
vihdzp author:vihdzp |
feat(SetTheory/Ordinal/Exponential): generalize theorems from `y = succ x` to `x < y` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
18/6 |
Mathlib/SetTheory/Ordinal/Exponential.lean |
1 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
29-80202 29 days ago |
38-76844 1 month ago |
38-76827 38 days |
29082 |
grunweg author:grunweg |
RFC: tag `IsInducing` and `Is{Open,Closed,}Embedding` with `fun_prop` |
I have not tested if this is usable in practice; perhaps it is not.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
37/5 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/Maps/Basic.lean |
3 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
29-80200 29 days ago |
38-12452 1 month ago |
38-12482 38 days |
28140 |
YaelDillies author:YaelDillies |
feat: a `PointedCone`-valued version of `Submodule.span` |
This is merely to guide typing.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
toric
|
11/2 |
Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
29-26334 29 days ago |
29-26365 29 days ago |
57-21251 57 days |
28970 |
Whysoserioushah author:Whysoserioushah |
feat(Algebra/Algebra/ReducedNorm) : Defines reduced norm and trace |
TODO :
1. add the theorem proving reduced charpoly is independent from the choice of AlgEquiv (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Algebra.2ETensorProduct.2Eassoc/with/536349758))
2. prove reduced charpoly is "actually" in the polynomial ring of base field (blocked by this [discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.E2.9C.94.20Refactor.20Subfield))
therefore content about this topic is basically the best I could do for now :-(
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
66/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/ReducedNorm.lean |
2 |
15 |
['Whysoserioushah', 'chrisflav', 'eric-wieser', 'github-actions', 'kbuzzard'] |
chrisflav assignee:chrisflav |
29-25150 29 days ago |
29-26498 29 days ago |
40-27872 40 days |
28339 |
JovanGerb author:JovanGerb |
feat(gcongr): support `@[gcongr]` for `Monotone` and friends |
This PR adds the feature to `gcongr` that you can now tag lemmas whose conclusion is `Monotone f`, `Antitone f`, etc.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
119/88 |
Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GCongr/inequalities.lean |
20 |
4 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
28-80194 28 days ago |
40-28424 1 month ago |
52-85038 52 days |
28833 |
yury-harmonic author:yury-harmonic |
feat(MvPolynomial/Expand): more lemmas |
---
- [x] depends on: #28832
- [x] depends on: #28830
[](https://gitpod.io/from-referrer/)
|
|
88/18 |
Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Expand.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
28-80192 28 days ago |
42-10533 1 month ago |
42-12280 42 days |
28511 |
YaelDillies author:YaelDillies |
feat(Finsupp): `congr!`-compatible version of `prod_congr` |
`congr!` doesn't like the `g1 x (f x)` appearing in the hypothesis of `Finsupp.prod_congr`: `f x` isn't a free variable.
Note: A few proofs broke due to `simp` using `congr` lemmas internally.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
17/11 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean |
5 |
12 |
['JovanGerb', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] |
kmill assignee:kmill |
28-44887 28 days ago |
50-51342 1 month ago |
50-51375 50 days |
26453 |
jburroni author:jburroni |
feat(Data/PNat/Basic): add order-related instances to PNat |
Add `SuccAddOrder ℕ+` and `NoMaxOrder ℕ+` instances.
This allows, for example, the use of lemmas related to `Intervals` built with ℕ+.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
31/0 |
Mathlib.lean,Mathlib/Data/PNat/Order.lean |
2 |
14 |
['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'jburroni', 'vihdzp'] |
ericrbg assignee:ericrbg |
27-19669 27 days ago |
27-24673 27 days ago |
97-26982 97 days |
28950 |
Vierkantor author:Vierkantor |
fix(TacticAnalysis): comment out syntax range check |
In #28802 we discovered the tactic analysis framework does not fire on declarations using `where` clauses. The reason is that `def foo where ...` gets turned into `def foo := { ... }`, and the `{ ... }` syntax is assigned a range outside of the `where ...` syntax; this causes the syntax range check to omit the whole declaration body. I am not entirely sure this is a bug in Lean or it was a misuse of ranges; in the meantime it should be okay to skip the check: the worst that happens is we analyze a piece of syntax outside of the declaration, which we'd get to later anyway.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
23/3 |
Mathlib/Tactic/TacticAnalysis.lean,MathlibTest/TacticAnalysis.lean |
2 |
3 |
['Vierkantor', 'github-actions', 'thorimur'] |
robertylewis assignee:robertylewis |
26-29517 26 days ago |
40-48253 1 month ago |
40-48229 40 days |
27567 |
themathqueen author:themathqueen |
feat(LinearAlgebra/TensorProduct/Associator): add `lid` and `assoc` tensor lemmas |
This adds `TensorProduct.lid_tensor` and `TensorProduct.assoc_tensor`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
31/2 |
Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
2 |
3 |
['github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
26-25853 26 days ago |
56-15376 1 month ago |
70-8204 70 days |
26909 |
gasparattila author:gasparattila |
feat(LinearAlgebra/Projectivization/Subspace): correspondence between linear and projective subspaces |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
69/3 |
Mathlib/LinearAlgebra/Projectivization/Subspace.lean |
1 |
5 |
['eric-wieser', 'gasparattila', 'github-actions'] |
Vierkantor assignee:Vierkantor |
26-18771 26 days ago |
89-11401 2 months ago |
89-11440 89 days |
26331 |
Timeroot author:Timeroot |
feat(Algebra/Polynomial): Descartes' Rule of signs |
This PR continues the work from #23681.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23681 |
t-algebra label:t-algebra$ |
467/3 |
Mathlib.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Data/Sign/Defs.lean |
6 |
27 |
['Ruben-VandeVelde', 'Timeroot', 'adomani', 'chrisflav', 'github-actions'] |
adomani assignee:adomani |
25-70929 25 days ago |
103-72912 3 months ago |
103-72947 103 days |
26398 |
ChrisHughes24 author:ChrisHughes24 |
feat(ModelTheory): definable functions |
---
Possibly this should be generalized to partial functions.
I migrated the PR by hand instead of using the script.
- [x] depends on: #20166
- [x] depends on: #20161
- [x] depends on: #20115
- [x] depends on: #20174
- [x] depends on: #20175
- [x] depends on: #21948
[](https://gitpod.io/from-referrer/)
|
t-logic |
618/0 |
Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean |
2 |
7 |
['ChrisHughes24', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot'] |
fpvandoorn assignee:fpvandoorn |
24-16878 24 days ago |
102-51066 3 months ago |
102-51315 102 days |
28695 |
chrisflav author:chrisflav |
feat(RingTheory): meta properties of bijective ring homomorphisms |
In particular, we show that bijective is a property local on the (algebraic) source.
---
- [x] depends on: #28642
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
170/7 |
Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/LocalProperties/Exactness.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/RingHom/Bijective.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
11 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
kbuzzard assignee:kbuzzard |
22-80213 22 days ago |
33-13472 1 month ago |
33-16513 33 days |
24184 |
YaelDillies author:YaelDillies |
feat: `[G : H]` notation for the index of `H : Subgroup G` |
This is a cute notation which I wrote for FLT. Not sure whether we want it in mathlib nor how to include `relindex` in the picture.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
RFC
label:t-algebra$ |
5/0 |
Mathlib/GroupTheory/Index.lean |
1 |
8 |
['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
22-15099 22 days ago |
22-15124 22 days ago |
170-2837 170 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)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
400/191 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
30 |
11 |
['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
22-7366 22 days ago |
22-14513 22 days ago |
60-63794 60 days |
27252 |
Parcly-Taxel author:Parcly-Taxel |
feat: sharp bounds for `‖exp (I * x) - 1‖` when `x` is real |
From Carleson |
carleson
t-analysis
|
44/0 |
Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean |
2 |
13 |
['Parcly-Taxel', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
21-80188 21 days ago |
29-46213 29 days ago |
30-52668 30 days |
29055 |
vihdzp author:vihdzp |
feat: `Ordinal.toENat` |
We essentially copy the Cardinal/ENat file but make it for ordinals instead. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2317758.20Ordinal.2EtoENat/near/479768508) for some prior discussion on this PR (particularly, the duplication and how there's no easy way to resolve it.)
---
Moved from #17758.
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
292/0 |
Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/ENat.lean |
6 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
21-80186 21 days ago |
38-46418 1 month ago |
38-46434 38 days |
22039 |
YaelDillies author:YaelDillies |
feat: simproc for computing `Finset.Ixx` of natural numbers |
---
- [x] depends on: #22290
- [x] depends on: #22559
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
315/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean |
4 |
64 |
['FLDutchmann', 'Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'kckennylau', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] |
eric-wieser assignee:eric-wieser |
21-48673 21 days ago |
172-46905 5 months ago |
228-7614 228 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.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-set-theory
|
166/5 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean |
4 |
23 |
['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
20-80181 20 days ago |
28-48739 28 days ago |
55-26095 55 days |
22043 |
YaelDillies author:YaelDillies |
chore: shortcut instance for `Neg ℤˣ` |
This lets us avoid importing `Ring` in downstream files (most of the effect is to come).
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-algebra
label:t-algebra$ |
20/47 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Int/AbsoluteValue.lean,Mathlib/Data/Int/Associated.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,MathlibTest/Zify.lean |
12 |
17 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] |
eric-wieser assignee:eric-wieser |
20-52594 20 days ago |
144-35631 4 months ago |
229-8654 229 days |
29668 |
harahu author:harahu |
doc: cleanup of kleene star docs |
This PR:
- Corrects "Kleene's star" to "Kleene star"
- Clarifies a comment about notation.
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
5/5 |
Mathlib/Computability/Language.lean |
1 |
1 |
['github-actions'] |
nobody |
20-48607 20 days ago |
20-48615 20 days ago |
20-48647 20 days |
28533 |
kim-em author:kim-em |
feat(linarith): add `linarith?` mode which suggests a `linarith only` call |
Adds `linarith?`, which traces the internal to watch which inequalities are being used, and suggests a `linarith only` call via the "try this:" mechanism.
Also adds a `+minimize` flag, on by default, which then greedily tries to drop hypotheses from the used set, to see if the problem is still possible with a smaller set. Currently I don't have test case showing this is worthwhile, however. Contributions welcome.
------
https://chatgpt.com/codex/tasks/task_e_68a02bce93a883218485c7e7cafb877a |
codex
t-meta
|
212/68 |
Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean,MathlibTest/linarith.lean |
3 |
12 |
['YaelDillies', 'eric-wieser', 'github-actions', 'hrmacbeth', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] |
robertylewis assignee:robertylewis |
20-36921 20 days ago |
33-72712 1 month ago |
49-72070 49 days |
26580 |
vasnesterov author:vasnesterov |
feat(Tactic/Order): translate linear orders to `Int` |
It was [pointed out](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/tactic.20for.20partial.20orders/near/515897754) that `order` is not complete for linear orders with lattice operations (while it remains complete for linear orders without lattice operations and for general lattices without assuming linearity). The problem for linear orders with lattice operations is NP-hard, but it can be translated from an arbitrary type to `Int` and then solved using a smart and efficient procedure (such as `omega`). This PR implements such a translation within the `order` tactic.
Co-authored-by: Aaron Liu
---
- [x] depends on: #26354
[](https://gitpod.io/from-referrer/) |
t-meta |
300/29 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/Order/Preprocessing.lean,Mathlib/Tactic/Order/ToInt.lean,MathlibTest/order.lean |
7 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] |
alexjbest assignee:alexjbest |
20-27582 20 days ago |
20-27590 20 days ago |
84-41892 84 days |
26110 |
YaelDillies author:YaelDillies |
feat: sharp monoids |
Define sharp monoids, which are the monoids whose only unit is `1`. This concept is useful in log geometry and in particular shows up in the theory of affine monoids.
This concept already existed in the guise of `Subsingleton Mˣ`, but giving it a name makes it easier to refer to and uncovers some missing instances.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
51/30 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Data/List/Prime.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/RingTheory/Valuation/Integers.lean |
18 |
7 |
['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
adomani assignee:adomani |
20-26732 20 days ago |
24-21163 24 days ago |
108-21204 108 days |
29422 |
jsm28 author:jsm28 |
fix(Data/Finset/Max): Use `DecidableEq` for `insert` lemmas |
These `insert` in these lemma statements uses a `DecidableEq` instance derived from `LinearOrder`; make them syntactically more general by passing in a `DecidableEq` instance separately. (Some `insert` lemmas in this file already take `DecidableEq` hypotheses.)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
8/8 |
Mathlib/Data/Finset/Max.lean |
1 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
20-22472 20 days ago |
27-78150 27 days ago |
27-78126 27 days |
29690 |
jt496 author:jt496 |
chore(SimpleGraph/Subgraph): remove duplicate def and fix names |
We previously had `Subgraph.topEquiv` and `Subgraph.topIso` for the graph isomorphism `(⊤ : G.Subgraph).coe ≃g G`.
`Subgraph.topIso` seems preferable as a name for this so this PR deprecates the other name.
Also rename and deprecate `Subgraph.botEquiv` to `Subgraph.botIso`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
5/6 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
20-8062 20 days ago |
20-8077 20 days ago |
20-8113 20 days |
28884 |
kim-em author:kim-em |
chore: deprecate ShiftLeft Int instance |
This PR proposes deprecating the `ShiftLeft Int` instance (which allows bit-shifting an integer by an integer), and similarly for `ShiftRight`.
These are unused in Mathlib.
I'm happy if someone wants to keep this, but I would ask that they:
* fix the doc-strings to explain what happens for negative shifts
* ~~restores the theorem `Int.shiftLeft_add` which I've commented out on `nightly-testing` (and then revert b33c9d7aaea on `nightly-testing`).~~
* ideally but optionally, complete the API, e.g. reducing shifts by casts back to shifts by a Nat |
t-data |
22/3 |
Mathlib/Data/Int/Bitwise.lean |
1 |
5 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
nobody |
19-80191 19 days ago |
19-80209 19 days ago |
41-48306 41 days |
28973 |
YaelDillies author:YaelDillies |
feat(TensorProduct): `lTensor` as an `AlgHom` and other lemmas |
From Toric
Co-authored-by: Michał Mrugała
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
21/0 |
Mathlib/RingTheory/TensorProduct/Basic.lean |
1 |
7 |
['YaelDillies', 'eric-wieser', 'github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
19-61569 19 days ago |
19-81167 19 days ago |
20-32669 20 days |
29706 |
kim-em author:kim-em |
feat: add piCongrSigmaFiber and piCongrFiberwise equivalences |
## Summary
Add two new equivalence functions for working with fibers and sigma types:
- `Equiv.piCongrSigmaFiber`: transforms between functions on sigma fibers and regular pi types
- `Equiv.piCongrFiberwise`: lifts fiber-wise equivalences to product equivalences
These functions are from the FLT (Fermat's Last Theorem) project and are useful for manipulating dependent function types indexed by fibers of a function.
## Details
The new definitions allow for elegant transformations between:
1. Functions defined on sigma types representing fibers of a function
2. Regular dependent functions
These are particularly useful in algebraic contexts where one needs to work with products indexed by fibers.
## Context
This PR was prepared by Claude (Claude Code) based on the following prompt:
> "Please read FLT/Mathlib/Logic/Equiv/Basic.lean, and also the corresponding file in the Mathlib repository. Please prepare a PR to Mathlib containing this content, putting it at an appropriate point in the corresponding Mathlib file. Make sure the PR is label FLT, and write in the PR comment an explanation that the PR was prepared by Claude, including quoting the prompting."
The content is sourced from `/Users/kim/projects/lean/FLT/FLT/Mathlib/Logic/Equiv/Basic.lean` in the FLT project repository.
🤖 Generated with [Claude Code](https://claude.ai/code) |
FLT
t-logic
|
39/0 |
Mathlib/Logic/Equiv/Basic.lean |
1 |
5 |
['Ruben-VandeVelde', 'github-actions', 'kim-em'] |
nobody |
19-35052 19 days ago |
19-35530 19 days ago |
19-51737 19 days |
26735 |
Raph-DG author:Raph-DG |
feat(AlgebraicGeometry): The codimension of a point of a scheme is equal to the krull dimension of the stalk |
In this PR we show that the codimension of a point in a scheme is equal to the krull dimension of the local ring at that point, as in stacks 02IZ.
---
The proof of the main result `stalk_dim_eq_coheight` is currently a bit long for my (and I suspect the broader community's) tastes. That said, I'm not quite sure the best way to break it into pieces, any comments would be very much appreciated!
- [ ] depends on: #26204 [For the notion of codimension, here we are using the coheight in the specialization order. ]
- [ ] depends on: #26225
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
204/1 |
Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Topology/KrullDimension.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
18-80206 18 days ago |
26-56476 26 days ago |
26-57244 26 days |
29132 |
YaelDillies author:YaelDillies |
feat(AdjoinRoot): bundle operations as `AlgHom`s |
In particular, generalise and rename `liftHom` to use a general `eval₂` instead of `aeval`.
From Toric
Co-authored-by: Andrew Yang the.erd.one@gmail.com
Co-authored-by: Michał Mrugała kiolterino@gmail.com
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
164/103 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/RingTheory/Adjoin/Field.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/LocalRing/ResidueField/Instances.lean,Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean |
9 |
3 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
18-80204 18 days ago |
33-31116 1 month ago |
35-41572 35 days |
27292 |
gasparattila author:gasparattila |
feat: asymptotic cone of a set |
This PR defines the asymptotic cone of a set in a normed affine space and proves its main properties. This is partial progress towards showing that an unbounded finite-dimensional convex set contains a ray.
---
- [x] depends on: #27221
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-analysis
|
466/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Topology/Algebra/AsymptoticCone.lean |
4 |
45 |
['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] |
YaelDillies assignee:YaelDillies |
18-61743 18 days ago |
61-23636 2 months ago |
75-41167 75 days |
29437 |
NotWearingPants author:NotWearingPants |
feat(Data/Seq): add Seq.subsequence and prove basic theorems about it |
I added `Seq.subsequence` to compose a sequence with a monotone function, creating a subsequence. Aliased to `Seq.comp` since it's a composition.
I also added `Nat.le_induction_step_iff` which is needed to prove a subsequence is a sequence. This proves the comment at the top of `Defs.lean` that says "if `f n = none`, then `f m = none` for all `m ≥ n`" while `IsSeq` only talks about `n+1`.
For completion I added the same statement for `Int`.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-data
new-contributor
|
114/0 |
Mathlib/Data/Int/Init.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
18-40987 18 days ago |
18-41008 18 days ago |
27-28496 27 days |
24794 |
chrisflav author:chrisflav |
feat(RingTheory/Presentation): core of a presentation |
If `P` is a presentation of `S` as an `R`-algebra and `R₀` a subring of `R` containing the coefficients of the relations of `P`, then there exists an `R₀`-algebra `S₀` such that `S` is isomorphic to the base change of `S₀` to `R`.
This is a tool to remove Noetherian hypothesis in certain situations.
---
- [x] depends on: #24788
- [x] depends on: #24786
- [x] depends on: #24785
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
256/6 |
Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/RingTheory/AlgebraicIndependent/Transcendental.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
10 |
17 |
['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
18-29355 18 days ago |
22-11892 22 days ago |
117-82524 117 days |
28699 |
chrisflav author:chrisflav |
feat(RingTheory/Cotangent): cotangent of composition with localization away from an element |
Let `R → S → T` be algebras such that `T` is the localization of `S` away from one
element, where `S` is generated over `R` by `P : R[X] → S` with kernel `I` and
`Q : S[Y] → T` is the canonical `S`-presentation of `T` with kernel `K`.
Denote by `J` the kernel of the composition `R[X,Y] → T`.
We deduce `J/J² ≃ₗ[T] T ⊗[S] (I/I²) × K/K²` from the Jacobi Zariski sequence.
From Pi1.
---
- [x] depends on: #28697
The import increase is expected: This file was PRed in two steps and only the second one depends on more imports.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
157/4 |
Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean |
4 |
4 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
18-28527 18 days ago |
45-35609 1 month ago |
45-37017 45 days |
26129 |
LessnessRandomness author:LessnessRandomness |
feat(Geometry/Euclidean/Angle/Unoriented): triangle inequality for angles |
This PR continues the work from #24206.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24206 |
new-contributor
t-euclidean-geometry
|
203/16 |
Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean |
8 |
76 |
['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
jsm28 assignee:jsm28 |
18-21824 18 days ago |
30-84941 1 month ago |
106-26331 106 days |
29324 |
tb65536 author:tb65536 |
refactor(Analysis/Calculus/IteratedDeriv/Defs): tweak statement of `iteratedDerivWithin_one` |
This PR removes the `x` from `iteratedDerivWithin_one` to make it match `iteratedDerivWithin_zero`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
3/2 |
Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions', 'grunweg'] |
grunweg assignee:grunweg |
18-17977 18 days ago |
32-13919 1 month ago |
32-13895 32 days |
29756 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: Finsupp.comapDomain_surjective |
---
[](https://gitpod.io/from-referrer/)
|
FLT
t-data
|
9/0 |
Mathlib/Data/Finsupp/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
18-11715 18 days ago |
18-11753 18 days ago |
18-11788 18 days |
26961 |
mariainesdff author:mariainesdff |
feat(RingTheory/PowerSeries/Substitution): add API |
Co-authored-by: @AntoineChambert-Loir
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
57/5 |
Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
2 |
13 |
['Ruben-VandeVelde', 'github-actions', 'mariainesdff', 'mattrobball'] |
mattrobball assignee:mattrobball |
17-42671 17 days ago |
17-42671 17 days ago |
64-62691 64 days |
25831 |
ScottCarnahan author:ScottCarnahan |
feat (RingTheory/HahnSeries): Powers of a binomial |
This PR introduces powers of a binomial `single g 1 - single g' 1` in a Hahn series, where the powers take values in a binomial ring. These series behave as one would expect with respect to addition of powers, and comparison with natural number powers. They are often used in the theory of vertex algebras.
---
- [x] depends on: #25830
- [x] depends on: #27497
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24102.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24102* |
t-ring-theory |
132/0 |
Mathlib.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean |
5 |
13 |
['ScottCarnahan', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
17-15859 17 days ago |
52-3250 1 month ago |
52-4704 52 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.
---
[](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 |
17-2460 17 days ago |
17-2460 17 days ago |
17-53843 17 days |
26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26713
- [x] depends on: #26826
|
t-algebra
t-analysis
t-number-theory
label:t-algebra$ |
205/20 |
Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
19 |
['ADedecker', 'adamtopaz', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
kbuzzard assignee:kbuzzard |
16-84450 16 days ago |
53-26690 1 month ago |
90-6005 90 days |
26096 |
vasnesterov author:vasnesterov |
feat(Topology/Instances): Cantor set is the set of ternary numbers without `1`s |
* Prove `ofDigits_zero_two_sequence_mem_cantorSet`: If `x = 0.d₀d₁...` in base-3, and none of the digits `dᵢ` is `1`, then `x` belongs to the Cantor set.
* Prove `ofDigits_zero_two_sequence_unique`: such a representation is uniquie.
* Define `toTernary` which converts a real number from the Cantor set to its ternary representation without `1`s.
* Prove `ofDigits_cantorToTernary : ofDigits (cantorToTernary x) = x`.
---
This is a prerequisite for #26136.
- [x] depends on: #26001
- [x] depends on: #26021
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
231/0 |
Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
jcommelin assignee:jcommelin |
16-80195 16 days ago |
24-6334 24 days ago |
24-6689 24 days |
29530 |
ShreckYe author:ShreckYe |
feat(Dynamics/PeriodicPts): some theorems for `Pi.map` in `Dynamics/PeriodicPts` analogous to those for `Prod.map` |
Split from #29204. Some namespace prefixes are added in `GroupTheory/OrderOfElement.lean` to distinguish the extra imports introduced.
- [ ] depends on: #29528
|
large-import |
77/8 |
Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/GroupTheory/OrderOfElement.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dupuisf assignee:dupuisf |
16-80189 16 days ago |
24-19622 24 days ago |
24-20274 24 days |
29569 |
chrisflav author:chrisflav |
chore(RingTheory/LocalProperties): add algebra versions of exactness lemmas |
The module variants are less convenient to apply directly in the case of algebras.
From Pi1.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
67/0 |
Mathlib/RingTheory/LocalProperties/Exactness.lean |
1 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
16-80184 16 days ago |
24-103 24 days ago |
24-221 24 days |
27306 |
xyzw12345 author:xyzw12345 |
feat: `lie_ring` tactic and `LieReduce` command |
This PR continues the work from #22196.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22196 |
t-meta |
810/2 |
Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json |
8 |
12 |
['JovanGerb', 'github-actions', 'xyzw12345'] |
JovanGerb assignee:JovanGerb |
16-66203 16 days ago |
26-70792 26 days ago |
74-37868 74 days |
26829 |
pechersky author:pechersky |
feat(RingTheory/Valuation): Valuation.leAddSubgroup and ideal/submodule versions of ltAddSubgroup |
Extracted from #25450 without changing how Valued works
---
[](https://gitpod.io/from-referrer/)
@faenuccio hopefully this bypasses any wait on #14752 because I am not changing Valued files. |
t-ring-theory |
173/0 |
Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean |
2 |
7 |
['JovanGerb', 'github-actions', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'pechersky'] |
mariainesdff assignee:mariainesdff |
16-25749 16 days ago |
58-16135 1 month ago |
90-77046 90 days |
29400 |
ShreckYe author:ShreckYe |
feat(`Algebra/BigOperators`): products of the results of insertion and removal on tuples and lists, and some needed lemmas |
|
large-import |
102/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/Vector/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean |
6 |
6 |
['ShreckYe', 'bryangingechen', 'eric-wieser', 'github-actions'] |
bryangingechen assignee:bryangingechen |
16-5633 16 days ago |
28-41585 28 days ago |
28-41627 28 days |
27429 |
smorel394 author:smorel394 |
feat(RepresentationTheory/FinGroupCharZero): applications of Maschke's theorem |
Prove some properties of representations that follow from Maschke's theorem:
* If `G` is a finite group whose order is invertible in a field `k`, then every object of `Rep k G` (resp. `FDRep k G`) is injective and projective.
* For an object `V` of `FDRep k G`, when `k` is an algebraically closed field in which the order of `G` is invertible:
(1) `V` is simple if and only `V ⟶ V` is a `k`-vector space of dimension `1` (`FDRep.simple_iff_end_is_rank_one`);
(2) When `k` is characteristic zero, `V` is simple if and only if `∑ g : G, V.character g * V.character g⁻¹ = Fintype.card G` (`FDRep.simple_iff_char_is_norm_one`).
Note: This used to be #27165, but it was closed for some reason I don't understand.
- [x] depends on: #27154
- [x] depends on: #27134
- [x] depends on: #27125
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
jcommelin assignee:jcommelin |
15-80206 15 days ago |
23-25943 23 days ago |
23-26293 23 days |
29562 |
ShreckYe author:ShreckYe |
feat(Analysis/SpecialFunctions/Trigonometric): tangent half-angle substitution |
|
t-analysis |
82/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean |
1 |
1 |
['github-actions'] |
urkud assignee:urkud |
15-80201 15 days ago |
24-25043 24 days ago |
24-25082 24 days |
29587 |
uniwuni author:uniwuni |
feat(GroupTheory/Finiteness): define finitely generated semigroups |
We define finitely generated semigroups and basics similarly to monoids and groups and prove that semigroups and monoids remain finitely generated when a congruence is quotiented out. This will be important when further developing semigroup theory.
---
[](https://gitpod.io/from-referrer/)
|
|
259/14 |
Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean |
2 |
3 |
['github-actions', 'plp127', 'uniwuni'] |
dupuisf assignee:dupuisf |
15-80200 15 days ago |
23-39984 23 days ago |
23-39960 23 days |
29235 |
yoh-tanimoto author:yoh-tanimoto |
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE |
add `ClosedSubmodule.mapEquiv` for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with `closure` and `⊔`.
motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by `Complex.I`) #29251
https://ems.press/content/serial-article-files/48171
- [x] depends on: #29230 for `Lattice` `CompleteLattice` |
t-topology |
69/1 |
Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
fpvandoorn assignee:fpvandoorn |
15-3535 15 days ago |
23-23349 23 days ago |
23-25634 23 days |
29347 |
themathqueen author:themathqueen |
refactor(Algebra/Star/StarAlgHom): let `StarAlgEquiv` extend `StarRingEquiv` instead of `RingEquiv` |
Instead of having `StarAlgEquiv` extend `RingEquiv` and have properties `map_star'` and `map_smul'`, it now extends `StarRingEquiv` with only `map_smul'`.
---
Will add more API in the next PR.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/36 |
Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean |
2 |
5 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'themathqueen'] |
kbuzzard assignee:kbuzzard |
14-7373 14 days ago |
29-6716 29 days ago |
31-29669 31 days |
29744 |
espottesmith author:espottesmith |
feat(Combinatorics): define directed hypergraphs |
This PR defines directed hypergraphs:
```
@[ext]
structure DiHypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The edge set -/
edgeSet : Set ((Set α) × (Set α))
/-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/
edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet
```
Additional definitions:
- tail/head stars and negative/positive stars
- some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty)
- Vertex and (hyper)edge adjacency
- isolated vertices
- empty and nonempty dihypergraphs
The design employed here is based off of #28613, but this PR does not depend on that one.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
391/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
13-36266 13 days ago |
18-42799 18 days ago |
18-42844 18 days |
22151 |
alreadydone author:alreadydone |
feat(RingTheory): a semiprimary ring is Noetherian/Artinian iff its Jacobson radical is fg |
A key fact used is `Module.FG.smul`: if `I` is a two-sided ideal of `R` that is f.g. as a left ideal and `N` is a f.g. `R`-module, then `I • M` is also a f.g. `R`-module.
Many lemmas about coprimality of ideals are also generalized to the noncommutative, two-sided setting.
---
- [x] depends on: #21904
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
233/166 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
10 |
['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
13-11137 13 days ago |
13-11203 13 days ago |
193-10256 193 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
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
176/0 |
Counterexamples.lean,Counterexamples/DimensionPolynomial.lean,Mathlib.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/KrullDimension/LocalRing.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean |
7 |
15 |
['github-actions', 'joelriou', 'kbuzzard', 'kckennylau', 'kim-em', 'xyzw12345'] |
joelriou assignee:joelriou |
12-82525 12 days ago |
12-82525 12 days ago |
24-26325 24 days |
29626 |
themathqueen author:themathqueen |
chore(Algebra/Order/Module/PositiveLinearMap): generalize `OrderHomClass.ofLinear` |
Generalize `OrderHomClass.ofLinear` from linear maps to additive group homomorphisms.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
10/11 |
Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean |
2 |
5 |
['Ruben-VandeVelde', 'github-actions', 'themathqueen'] |
Vierkantor assignee:Vierkantor |
12-80199 12 days ago |
20-33358 20 days ago |
22-11710 22 days |
29656 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Bisector): bisecting angles and equal distances |
Prove a lemma
```lean
/-- A point `p` is equidistant to two affine subspaces if and only if the angles at a point `p'`
in their intersection between `p` and its orthogonal projections onto the subspaces are equal. -/
lemma dist_orthogonalProjection_eq_iff_angle_eq {p p' : P} {s₁ s₂ : AffineSubspace ℝ P}
[s₁.direction.HasOrthogonalProjection] [s₂.direction.HasOrthogonalProjection]
(hp' : p' ∈ s₁ ⊓ s₂) :
haveI : Nonempty s₁ := ⟨p', hp'.1⟩
haveI : Nonempty s₂ := ⟨p', hp'.2⟩
dist p (orthogonalProjection s₁ p) = dist p (orthogonalProjection s₂ p) ↔
∠ p p' (orthogonalProjection s₁ p) = ∠ p p' (orthogonalProjection s₂ p) := by
```
that gives the basic fact relating equal distances to affine subspaces, and bisecting angles involving those subspaces, needed to connect `incenter` and `excenter` to bisecting angles. (Other pieces involved in getting such a statement for angles involving vertices of a triangle rather than just touchpoints include #29410, #29413, #29418 and their dependencies.)
I expect the new file `Bisector.lean` to be an appropriate place to end up with actual definitions of bisectors as submodules and affine subspaces; those definitions aren't needed for my immediate goals with `incenter` and `excenter`, but it seems appropriate to use such a file for lemmas relating to bisectors whether or not they explicitly involve such definitions.
I do expect to add similar statements involving oriented angles in a followup, so the imports of this new file should be expected to increase.
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
118/0 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean |
2 |
7 |
['eric-wieser', 'github-actions', 'jsm28'] |
JovanGerb assignee:JovanGerb |
12-80197 12 days ago |
20-80320 20 days ago |
20-80297 20 days |
29688 |
tb65536 author:tb65536 |
feat(FieldTheory/IsGaloisGroup): prove the Galois correspondence for `IsGaloisGroup` |
This PR reproves the Galois correspondence for `IsGaloisGroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
89/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
1 |
['github-actions'] |
joneugster assignee:joneugster |
12-80195 12 days ago |
20-8511 20 days ago |
20-8488 20 days |
26660 |
strihanje01 author:strihanje01 |
feat(Combinatorics/Additive/VerySmallDoubling): weak non-commutative Kneser's theorem |
add theorem about the structure of a doubling smaller than the golden ratio
---
- [x] depends on: #28653
[](https://gitpod.io/from-referrer/)
|
large-import
maintainer-merge
new-contributor
t-combinatorics
|
215/41 |
Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean |
2 |
79 |
['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'strihanje01'] |
YaelDillies assignee:YaelDillies |
12-36314 12 days ago |
12-68963 12 days ago |
54-10939 54 days |
27216 |
D-Thomine author:D-Thomine |
feat(Cardinal/Finite): ENat powers and cardinality |
This PR continues the work from #25574.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25574 |
t-algebra label:t-algebra$ |
209/4 |
Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
4 |
21 |
['D-Thomine', 'eric-wieser', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
12-32102 12 days ago |
12-32129 12 days ago |
75-5356 75 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
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24727.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24727* |
file-removed
t-category-theory
|
244/2 |
Mathlib.lean,Mathlib/CategoryTheory/Localization/Bifunctor.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean |
8 |
20 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
12-19539 12 days ago |
12-22566 12 days ago |
27-12239 27 days |
29624 |
mcdoll author:mcdoll |
feat(LinearAlgebra/LinearPMap): add definition of resolvent and first resolvent identity |
---
[](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 |
12-7563 12 days ago |
20-18514 20 days ago |
20-18491 20 days |
27887 |
JovanGerb author:JovanGerb |
feat: `to_dual` attribute |
This PR defines the `to_dual` attribute for translating lemmas to their dual. This is useful in order theory and in category theory. It is built on top of the `to_additive` machinery.
This PR only adds `@[to_dual]` tags in files that directly need to import `ToDual`, namely `Order/Defs/PartialOrder`, `Order/Notation` and `Combinatorics/Quiver/Basic`. Further tagging is left for (many) future PRs.
This PR continues the work from #21719
Related (mathlib3) issues:
- https://github.com/leanprover-community/mathlib3/issues/13461
- https://github.com/leanprover-community/mathlib3/issues/7691
Co-authored-by: @bryangingechen
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
597/276 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/GuessName.lean,Mathlib/Tactic/ToAdditive/ToDual.lean,Mathlib/Tactic/ToDual.lean,MathlibTest/toAdditive.lean,scripts/noshake.json |
15 |
13 |
['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
12-1417 12 days ago |
12-2154 12 days ago |
37-32723 37 days |
28818 |
NotWearingPants author:NotWearingPants |
feat(Data/Setoid/Basic): add theorems about lifting a function to its kernel |
Currently `ker_lift_injective` and `quotientKerEquivOfRightInverse` lift `f` to `ker f` in their definition.
This PR makes this function available as `Setoid.ker_lift f` and adds a few more theorems about it.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
29/15 |
Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean |
4 |
18 |
['NotWearingPants', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
11-83211 11 days ago |
23-17295 23 days ago |
41-32233 41 days |
29920 |
urkud author:urkud |
feat: separable but not second countable LOTS |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
55/0 |
Counterexamples.lean,Counterexamples/SeparableNotSecondCountable.lean,Mathlib/Data/Prod/Lex.lean |
3 |
1 |
['github-actions'] |
nobody |
11-80756 11 days ago |
12-2840 12 days ago |
12-2872 12 days |
29715 |
ADedecker author:ADedecker |
feat: generalize `IsClosed.vadd_right_of_isCompact` to proper actions |
I realized a few weeks after adding them to Mathlib that the more conceptual approach for lemmas of the form "`s • t` is closed when one of `s` and `t` is closed and the other is compact" is that of proper maps and proper actions. This PR switches to this approach.
More precisely:
- I refactored the proof [IsClosed.smul_left_of_isCompact](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Group/Pointwise.html#IsClosed.smul_left_of_isCompact) in terms of properness. The proof is essentially the same length, but conceptually simpler.
- More importantly, I generalize [IsClosed.vadd_right_of_isCompact](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/Group/AddTorsor.html#IsClosed.vadd_right_of_isCompact) from topological torsors to proper actions. Note that I do not assume separation, which creates some troubles as compact sets are not closed...
- To support the above, I introduce a bit more API on proper maps
- I also moved `isProperMap_iff_isClosedMap_filter` to `Topology/Maps/Proper/UniversallyClosed`, together with the ultrafilter analog.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
196/93 |
Mathlib/Topology/Algebra/Group/AddTorsor.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/ProperAction/Basic.lean,Mathlib/Topology/Algebra/ProperAction/ProperlyDiscontinuous.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/Maps/Proper/UniversallyClosed.lean |
7 |
2 |
['ADedecker', 'github-actions'] |
grunweg assignee:grunweg |
11-80193 11 days ago |
19-39810 19 days ago |
19-39848 19 days |
27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](https://gitpod.io/from-referrer/)
|
IMO
new-contributor
|
1310/0 |
Archive.lean,Archive/Imo/Imo2025Q1.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
11-43317 11 days ago |
16-62789 16 days ago |
49-1494 49 days |
29322 |
xroblot author:xroblot |
feat(RingTheory/Localization/AtPrime): bijection between prime ideals |
Let `R ⊆ S` be an extension of rings and `p` be a prime ideal of `R`. Denote by `Rₚ` the localization of `R` at the complement of `p` and by `Sₚ` the localization of `S` at the (image) of the complement of `p`.
In this PR, we study the extension `Rₚ ⊆ Sₚ` and the relation between the (nonzero) prime ideals of `Sₚ` and the prime ideals of `S` above `p`. In particular, we prove that (under suitable conditions) they are in bijection. In a following PR #27706, we prove that the residual degree and ramification index are preserved by this bijection.
Note. The new file `RingTheory.Localization.AtPrime.Extension` is imported in `RingTheory.Trace.Quotient` because one function from the latter was moved to the former, but the plan is eventually to move the isomorphisms proved in `RingTheory.Trace.Quotient` to `RingTheory.Localization.AtPrime.Basic` and `RingTheory.Localization.AtPrime.Extension` where they belong. This will be done in #27706.
---
|
t-ring-theory |
145/8 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean |
6 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
11-39812 11 days ago |
32-25928 1 month ago |
32-25962 32 days |
27244 |
xroblot author:xroblot |
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is injective |
This PR develops some API for [FractionalIdeal.extendedHomₐ](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/FractionalIdeal/Extended.html#FractionalIdeal.extendedHom%E2%82%90) and in particular proves when it is an injective map. As a consequence, it deduces the fact that lifting an integral ideal in an extension of Dedekind domains is an injective map.
Note: the import increase happens in a leaf file `Mathlib.RingTheory.FractionalIdeal.Extended`
---
- [x] depends on: #28800
|
t-ring-theory
large-import
|
140/8 |
Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean |
3 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] |
kbuzzard assignee:kbuzzard |
11-39742 11 days ago |
32-36710 1 month ago |
68-41290 68 days |
26396 |
xroblot author:xroblot |
feat(RingTheory): define the dual of a basis for the trace and prove basic properties |
Specialize the construction of `BilinForm.dualBasis` to the case of the trace and proves basic results about it.
This will be useful for future works on the [Submodule.traceDual](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/DedekindDomain/Different.html#Submodule.traceDual)
---
|
t-ring-theory |
121/38 |
Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Trace/Basic.lean |
3 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
adomani assignee:adomani |
11-39514 11 days ago |
20-32816 20 days ago |
101-436 101 days |
26155 |
xroblot author:xroblot |
feat(DedekindDomain/Different): add the transitivity formula |
This PR proves the transitivity formula for the different ideal.
The PR also adds one new instance:
- `FiniteDimensional (FractionRing A) (FractionRing B)` deduced from `Module.Finite A B` when `B` is a Dedekind domain.
---
|
t-algebra label:t-algebra$ |
177/10 |
Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Localization/Basic.lean |
4 |
15 |
['erdOne', 'github-actions', 'mathlib4-merge-conflict-bot', 'xroblot'] |
Vierkantor assignee:Vierkantor |
11-39478 11 days ago |
31-55055 1 month ago |
103-61902 103 days |
28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
5 |
['JaafarTanoukhi', 'NotWearingPants', 'Rida-Hamadani', 'github-actions'] |
kmill assignee:kmill |
11-23450 11 days ago |
42-13687 1 month ago |
42-13720 42 days |
28967 |
utkuokur author:utkuokur |
refactor(Combinatorics/SimpleGraph/Walk): simplify proof of "support_tail_of_not_nil" |
The proof of the lemma named "support_tail_of_not_nil" is shortened. Since "support_tail" is not needed anymore, it is removed.
@[deprecated (since := "2025-08-26")] sign is added for the removed "support_tail".
The library references to "support_tail" are replaced with "support_tail_of_not_nil".
To keep [@simp] on "cons_support_tail" and avoid the linter error, the [@simp] of "support_tail_of_not_nil" (previously on "support_tail") is removed. There might be a better way that I am missing, to deal with the linter error.
---
Additionally, a merge conflict with `master` was resolved by keeping the
generalized `support_tail_of_not_nil` and reintroducing `support_tail` as
a deprecated alias for compatibility.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
7/10 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
2 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
awainverse assignee:awainverse |
11-14764 11 days ago |
27-8936 27 days ago |
40-24847 40 days |
27307 |
xyzw12345 author:xyzw12345 |
feat(RingTheory/GradedAlgebra): homogeneous relation |
This PR continues the work from #22279.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22279 |
t-ring-theory |
391/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousRelation.lean |
9 |
9 |
['chrisflav', 'eric-wieser', 'github-actions', 'ocfnash', 'xyzw12345'] |
mattrobball assignee:mattrobball |
10-80197 10 days ago |
62-20184 2 months ago |
77-31498 77 days |
29596 |
alreadydone author:alreadydone |
chore(Algebra): extract `Submonoid.IsLocalizationMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
282/119 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Extension/Presentation/Submersive.lean,Mathlib/RingTheory/Localization/Defs.lean |
7 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
10-80193 10 days ago |
18-33750 18 days ago |
22-46671 22 days |
29723 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: add TensorProduct.piScalarRight_symm_algebraMap |
---
[](https://gitpod.io/from-referrer/)
|
FLT
t-algebra
label:t-algebra$ |
5/0 |
Mathlib/LinearAlgebra/TensorProduct/Pi.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions', 'themathqueen'] |
joneugster assignee:joneugster |
10-80190 10 days ago |
19-27687 19 days ago |
19-27721 19 days |
29221 |
euprunin author:euprunin |
chore: remove redundant `rintro` invocations (before `omega`) |
---
[](https://gitpod.io/from-referrer/)
|
easy |
0/3 |
Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Data/List/Range.lean |
2 |
5 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
RemyDegenne assignee:RemyDegenne |
10-52061 10 days ago |
10-52061 10 days ago |
33-59701 33 days |
28574 |
euprunin author:euprunin |
chore(Topology/Category): golf entire `finiteCoproduct.ι_desc_apply`, `piIsoPi_hom_apply`, `prodIsoProd_hom_apply` and `pullbackIsoProdSubtype_hom_apply` using `tauto` and `rfl` |
---
Show trace profiling of finiteCoproduct.ι_desc_apply : 15 ms before, 25 ms after
### Trace profiling of `finiteCoproduct.ι_desc_apply` before PR 28574
```diff
diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean
index 493c277fec..216c5888f2 100644
--- a/Mathlib/Topology/Category/CompHausLike/Limits.lean
+++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean
@@ -109,6 +109,7 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc
lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) :
∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩
+set_option trace.profiler true in
lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by
intro x
```
```
ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (1.9s)
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.011940] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x :=
by
intro x
change (ι X a ≫ desc X π) _ = _
simp only [ι_desc]
[Elab.definition.header] [0.011212] CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.step] [0.010053] expected type: Sort ?u.7530, term
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012175] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x :=
by
intro x
change (ι X a ≫ desc X π) _ = _
simp only [ι_desc]
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.012211] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x :=
by
intro x
change (ι X a ≫ desc X π) _ = _
simp only [ι_desc]
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.015416] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.definition.value] [0.014903] CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.step] [0.014576]
intro x
change (ι X a ≫ desc X π) _ = _
simp only [ι_desc]
[Elab.step] [0.014564]
intro x
change (ι X a ≫ desc X π) _ = _
simp only [ι_desc]
[Elab.step] [0.011699] change (ι X a ≫ desc X π) _ = _
Build completed successfully (985 jobs).
```
### Trace profiling of `finiteCoproduct.ι_desc_apply` after PR 28574
```diff
diff --git a/Mathlib/Topology/Category/CompHausLike/Limits.lean b/Mathlib/Topology/Category/CompHausLike/Limits.lean
index 493c277fec..b70ed614b6 100644
--- a/Mathlib/Topology/Category/CompHausLike/Limits.lean
+++ b/Mathlib/Topology/Category/CompHausLike/Limits.lean
@@ -109,11 +109,10 @@ lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduc
lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) :
∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r := ⟨R.fst, R.snd, rfl⟩
+set_option trace.profiler true in
lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by
- intro x
- change (ι X a ≫ desc X π) _ = _
- simp only [ι_desc]
+ tauto
instance : HasCoproduct X where
exists_colimit := ⟨finiteCoproduct.cofan X, finiteCoproduct.isColimit X⟩
diff --git a/Mathlib/Topology/Category/TopCat/Limits/Products.lean b/Mathlib/Topology/Category/TopCat/Limits/Products.lean
index 0b74c2f6ee..353896fce8 100644
--- a/Mathlib/Topology/Category/TopCat/Limits/Products.lean
+++ b/Mathlib/Topology/Category/TopCat/Limits/Products.lean
@@ -62,9 +62,7 @@ theorem piIsoPi_inv_π_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i :
theorem piIsoPi_hom_apply {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι)
(x : (∏ᶜ α : TopCat.{max v u})) : (piIsoPi α).hom x i = (Pi.π α i :) x := by
- have := piIsoPi_inv_π α i
- rw [Iso.inv_comp_eq] at this
- exact ConcreteCategory.congr_hom this x
+ tauto
/-- The inclusion to the coproduct as a bundled continuous map. -/
abbrev sigmaι {ι : Type v} (α : ι → TopCat.{max v u}) (i : ι) : α i ⟶ TopCat.of (Σ i, α i) := by
@@ -165,9 +163,7 @@ theorem prodIsoProd_hom_snd (X Y : TopCat.{u}) :
theorem prodIsoProd_hom_apply {X Y : TopCat.{u}} (x : ↑(X ⨯ Y)) :
(prodIsoProd X Y).hom x = ((Limits.prod.fst : X ⨯ Y ⟶ _) x,
(Limits.prod.snd : X ⨯ Y ⟶ _) x) := by
- ext
- · exact ConcreteCategory.congr_hom (prodIsoProd_hom_fst X Y) x
- · exact ConcreteCategory.congr_hom (prodIsoProd_hom_snd X Y) x
+ tauto
@[reassoc (attr := simp), elementwise]
theorem prodIsoProd_inv_fst (X Y : TopCat.{u}) :
diff --git a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean
index 66049170b3..68b42db21b 100644
--- a/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean
+++ b/Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean
@@ -110,9 +110,7 @@ theorem pullbackIsoProdSubtype_hom_apply {f : X ⟶ Z} {g : Y ⟶ Z}
(pullbackIsoProdSubtype f g).hom x =
⟨⟨pullback.fst f g x, pullback.snd f g x⟩, by
simpa using CategoryTheory.congr_fun pullback.condition x⟩ := by
- apply Subtype.ext; apply Prod.ext
- exacts [ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_fst f g) x,
- ConcreteCategory.congr_hom (pullbackIsoProdSubtype_hom_snd f g) x]
+ tauto
theorem pullback_topology {X Y Z : TopCat.{u}} (f : X ⟶ Z) (g : Y ⟶ Z) :
(pullback f g).str =
```
```
✔ [982/985] Built Mathlib.Topology.Category.TopCat.Limits.Products (2.7s)
✔ [983/985] Built Mathlib.Topology.Category.TopCat.Limits.Pullbacks (2.4s)
✔ [984/985] Built Mathlib.CategoryTheory.Extensive (4.3s)
ℹ [985/985] Built Mathlib.Topology.Category.CompHausLike.Limits (3.0s)
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033044] theorem ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto
[Elab.definition.header] [0.031659] CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.step] [0.030394] expected type: Sort ?u.7530, term
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x
[Elab.step] [0.030250] expected type: Sort ?u.7534, term
finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x
[Elab.step] [0.030242] expected type: Sort ?u.7534, term
binrel% Eq✝ (finiteCoproduct.desc X π (finiteCoproduct.ι X a x)) (π a x)
[Elab.step] [0.025815] expected type: , term
finiteCoproduct.desc X π (finiteCoproduct.ι X a x)
[Elab.step] [0.010204] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term
(finiteCoproduct.ι X a x)
[Elab.step] [0.010186] expected type: (fun X ↦ ↑X.toTop) (finiteCoproduct X), term
finiteCoproduct.ι X a x
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033536] theorem finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.command] [0.033652] lemma finiteCoproduct.ι_desc_apply {B : CompHausLike P} {π : (a : α) → X a ⟶ B} (a : α) :
∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x := by tauto
info: Mathlib/Topology/Category/CompHausLike/Limits.lean:113:0: [Elab.async] [0.025323] elaborating proof of CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.definition.value] [0.024806] CompHausLike.finiteCoproduct.ι_desc_apply
[Elab.step] [0.024330] tauto
[Elab.step] [0.024317] tauto
[Elab.step] [0.024304] tauto
Build completed successfully (985 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-topology
easy
|
4/15 |
Mathlib/Topology/Category/CompHausLike/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean |
3 |
1 |
['github-actions'] |
ADedecker assignee:ADedecker |
10-52014 10 days ago |
10-52014 10 days ago |
49-21466 49 days |
28490 |
euprunin author:euprunin |
chore: golf entire `epi_of_cokernel_π_eq_zero`, `bottom_row_coprime`, `congr_of_eventuallyEq` and `Invertible.congr` |
---
[](https://gitpod.io/from-referrer/)
|
easy |
8/12 |
Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/Topology/ContinuousOn.lean |
4 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
10-51981 10 days ago |
10-51981 10 days ago |
44-13747 44 days |
29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
1 |
['github-actions'] |
nobody |
10-50629 10 days ago |
11-23732 11 days ago |
11-23771 11 days |
27229 |
WilliamCoram author:WilliamCoram |
feat(GroupTheory/DoubleCoset): multiple lemmas |
From FLT
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
FLT
new-contributor
|
97/0 |
Mathlib/GroupTheory/DoubleCoset.lean |
1 |
16 |
['Ruben-VandeVelde', 'WilliamCoram', 'github-actions', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
10-44830 10 days ago |
17-20475 17 days ago |
75-86349 75 days |
26259 |
Raph-DG author:Raph-DG |
feat(Topology): Connecting different notions of locally finite |
In this PR we connect the notions of local finiteness of an indexed family of sets (as in LocallyFinite) and of a set of sets (as in Function.locallyFinsuppWithin)
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-topology
|
38/0 |
Mathlib/Topology/LocallyFinsupp.lean |
1 |
18 |
['Raph-DG', 'chrisflav', 'github-actions', 'jcommelin', 'kckennylau'] |
jcommelin assignee:jcommelin |
10-24472 10 days ago |
10-49788 10 days ago |
99-13775 99 days |
29411 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix/Rank): rank factorization |
The rank factorization derived from `Module.finBasis`.
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
20/0 |
Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean |
2 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
10-23504 10 days ago |
28-6432 28 days ago |
28-6424 28 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
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/0 |
Mathlib/Data/Multiset/Fintype.lean |
1 |
8 |
['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'vihdzp', 'wwylele'] |
nobody |
10-23172 10 days ago |
24-78602 24 days ago |
24-78595 24 days |
29275 |
wwylele author:wwylele |
feat(GroupTheory): add DivisibleHull |
This is part of Hahn embedding theorem #27268, where an a ordered group is first embedded in a divisible group / Q-module. I am aware at #25662 there is also an ongoing rewrite of `LocalizedModule` that this PR uses. Hopefully I avoided interfering it by using mostly with public API.
---
- [x] depends on: #29277
- [x] depends on: #29388
- [x] depends on: #29386
[](https://gitpod.io/from-referrer/)
|
t-group-theory
maintainer-merge
|
451/3 |
Mathlib.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/PNat.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/DivisibleHull.lean |
6 |
106 |
['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp', 'wwylele'] |
tb65536 assignee:tb65536 |
9-80195 9 days ago |
17-19672 17 days ago |
26-83271 26 days |
29488 |
Timeroot author:Timeroot |
feat: 'said' tactic |
Functionally similar to `says`, but explicitly not for checking output or even saying there ever was output. `X said Y` just means that `X` was part of the process for (a human, or machine, or both) to generate `Y`.
Based on this [#mathlib4 > noisy simp says in CI @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/noisy.20simp.20says.20in.20CI/near/538443152) Zulip discussion
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
40/0 |
Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/Says.lean,MathlibTest/says.lean |
4 |
3 |
['JovanGerb', 'MichaelStollBayreuth', 'github-actions'] |
JovanGerb assignee:JovanGerb |
9-80194 9 days ago |
17-52168 17 days ago |
25-71714 25 days |
29765 |
YaelDillies author:YaelDillies |
feat: commutative monoids are internal monoids |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
76/6 |
Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean |
2 |
3 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
kim-em assignee:kim-em |
9-80190 9 days ago |
17-56753 17 days ago |
17-56786 17 days |
29769 |
Vierkantor author:Vierkantor |
CI: run a weekly linter workflow |
This PR adds a workflow analogous to the nightly regression lints, that reports possible refactors using the tactic analysis framework. Those would be too noisy or take too much time to run in regular CI.
As a first linter, we have the `mergeWithGrind` linter that reports when a sequence of tactics followed by `grind` can become just `grind`.
---
[](https://gitpod.io/from-referrer/)
|
CI |
102/1 |
.github/workflows/weekly-lints.yml,Mathlib/Init.lean |
2 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
9-80189 9 days ago |
17-44698 17 days ago |
17-44675 17 days |
29771 |
Vierkantor author:Vierkantor |
refactor(TacticAnalysis): use full CommandElabM context in test |
Running the `rwMerge` linter on the whole of Mathlib reveals that the tactic analysis framework did not always correctly pass the environment to the test step of a pass. By running the test in a full `CommandElabM` and adding a `ContextInfo` and `TacticInfo`, we can access the right environment (using the `ctxI.runTacticCode` function). There are still a few subtle issues to do with notation but I would like to get this fix in first, since it involves some larger refactors.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
44/17 |
Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean |
3 |
7 |
['adomani', 'bryangingechen', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
kim-em assignee:kim-em |
9-80188 9 days ago |
17-27714 17 days ago |
17-44242 17 days |
29990 |
pechersky author:pechersky |
feat(Algebra/Subgroup/Lattice): `mem_biSup_of_directedOn` |
Generalization of existing `mem_iSup_of_directed`
On the way to characterization of the torsion subgroup as the sup over all subgroups of roots of unity
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-algebra
label:t-algebra$ |
35/10 |
Mathlib/Algebra/Group/Subgroup/Lattice.lean |
1 |
1 |
['github-actions'] |
nobody |
9-66075 9 days ago |
9-66129 9 days ago |
9-66115 9 days |
29471 |
harahu author:harahu |
doc: use en dash instead of hyphen in Akra-Bazzi |
When joining two names, like is done here, the en dash is usually preferred over a regular hyphen.
This also aligns the naming in mathlib with that of [Wikipedia](https://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method).
Some concern was raised [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.23.2029464.20corrections.20to.20docs.20by.20way.20of.20LLM/near/538466767) regarding what this implies for code searches using `grep` and similar tools. Consequently, tags have been added to make sure searches using the regular hyphen will still hit the relevant files.
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
28/21 |
Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean |
3 |
6 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
9-60077 9 days ago |
9-60102 9 days ago |
25-76038 25 days |
29556 |
joelriou author:joelriou |
feat(CategoryTheory): canonical colimits |
Given a functor `F : C ⥤ D` and `Y : D`, we say that `Y` is a canonical colimit relatively to `F` is `Y` identifies to the colimit of all `F.obj X` for `X : C` and `f : F.obj X ⟶ Y`, i.e. `Y` identifies to the colimit of the obvious functor `CostructuredArrow F Y ⥤ D` (see definitions `canonicalCocone` and `CanonicalColimit`). We introduce the corresponding property `isCanonicalColimit F` of objects of `D`.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
72/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Canonical.lean |
2 |
2 |
['github-actions', 'joelriou'] |
joneugster assignee:joneugster |
9-50230 9 days ago |
24-40971 24 days ago |
24-40947 24 days |
29995 |
vihdzp author:vihdzp |
feat: more lemmas on `Concept` |
These are used in the [`combinatorial-games`](https://github.com/vihdzp/combinatorial-games) repository. Note that `Concept α α (· ≤ ·)` is the Dedekind-McNeille completion, while `Concept α α (· < ·)` is a modified form of it that's used to define surreal cuts.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
40/0 |
Mathlib/Order/Concept.lean |
1 |
10 |
['github-actions', 'linesthatinterlace', 'vihdzp'] |
nobody |
9-49438 9 days ago |
9-54375 9 days ago |
9-54409 9 days |
23920 |
YaelDillies author:YaelDillies |
feat: relation-separated sets |
Define a notion of separation of a set relative to a relation. This will be used to unify metric and dynamical separation.
From MiscYD and LeanAPAP
---
- [x] depends on: #26988
[](https://gitpod.io/from-referrer/)
|
t-data |
66/0 |
Mathlib.lean,Mathlib/Data/Rel/Separated.lean |
2 |
21 |
['ADedecker', 'D-Thomine', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
9-25486 9 days ago |
9-25508 9 days ago |
40-3035 40 days |
29354 |
themathqueen author:themathqueen |
refactor(Algebra/Algebra/Equiv): allow for non-unital `AlgEquiv` |
This refactors `AlgEquiv` to allow for non-unital algebras. More specifically, we weaken the type class assumptions from:
```lean
structure AlgEquiv (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B]
[Algebra R A] [Algebra R B]
```
to
```lean
structure AlgEquiv (R A B : Type*) [Add A] [Add B] [Mul A] [Mul B] [SMul R A] [SMul R B]
```
Instead of a `commutes'` field, we now have a `map_smul'` field. We also include a definition `AlgEquiv.ofCommutes` which takes in a `RingEquiv` and a `commutes'` field to match before and for convenience.
`StarAlgEquiv` now extends `AlgEquiv`. We also generalize a few files to allow for non-unital.
I suspect there are a few more things to generalize, but will leave this for later.
Co-authored-by: Jireh Loreaux
---
Revives #8686.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
527/484 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/Unique.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Invariant/Profinite.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Jacobson/Artinian.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/MatrixAlgebra.lean,Mathlib/RingTheory/MvPolynomial/Localization.lean,Mathlib/RingTheory/Norm/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/PolynomialAlgebra.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/RingHom/FiniteType.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/TensorProduct/Pi.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/LocallyConstant/Algebra.lean |
96 |
25 |
['fpvandoorn', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
joelriou assignee:joelriou |
9-21572 9 days ago |
9-24193 9 days ago |
22-81967 22 days |
29328 |
vlad902 author:vlad902 |
feat(SimpleGraph): graph isomorphism preserves `IsAcyclic`/`IsTree` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
21/2 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
b-mehta assignee:b-mehta |
8-80203 8 days ago |
32-12223 1 month ago |
32-12242 32 days |
29823 |
themathqueen author:themathqueen |
feat(Algebra/Group/Submonoid): add `(Add)Submonoid.closure_pi` |
This generalizes and moves some proofs from subgroups to submonoids in order to add `(Add)Submonoid.closure_pi`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
86/45 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/Group/Submonoid/Finite.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
8-80197 8 days ago |
16-4201 16 days ago |
16-4241 16 days |
29996 |
vihdzp author:vihdzp |
chore(Order/Concept): `IsIntent` and `IsExtent` |
We define predicates for a set to be an intent/extent, and use them to define alternate constructors for a concept. Using these, we golf the complete lattice instances.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
161/95 |
Mathlib/Order/Concept.lean |
1 |
17 |
['github-actions', 'linesthatinterlace', 'plp127', 'vihdzp'] |
nobody |
8-68843 8 days ago |
9-54305 9 days ago |
9-54338 9 days |
29538 |
YaelDillies author:YaelDillies |
refactor(FractionalIdeal): use algebraic order theory API |
Instantiate instances earlier and use generic lemmas instead of the `FractionalIdeal`-specific ones.
Also rename `_nonzero` in lemma names to `_ne_zero`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
158/176 |
Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean |
8 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
7-80183 7 days ago |
21-35893 21 days ago |
21-35877 21 days |
29791 |
llllvvuu author:llllvvuu |
feat(Order): lemmas about `iSupIndep` |
* generalize `Finset.SupIndep` "bind" operations from `DistribLattice` to `IsModularLattice`
* new lemma `iSupIndep.iInf`
* more characterizations of `iSupIndep` on submodules:
* `iSupIndep_iff_finset_sum_eq_zero_imp_eq_zero`
* `iSupIndep_iff_finset_sum_eq_imp_eq`
* add `@[simp]` and `@[grind]` attributes which were helpful for these proofs
Original motivation was to have the following fact:
```lean
theorem iSupIndep_iInf_genEigenspace [NoZeroSMulDivisors R M] {α : Type*} (f : α → End R M)
(k : ℕ∞) : iSupIndep fun μ : α → R ↦ ⨅ a : α, ((f a).genEigenspace (μ a)) k :=
.iInf (f · |>.genEigenspace · k) (f · |>.independent_genEigenspace k)
```
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
t-order |
166/62 |
Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Lattice/Union.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/Logic/Embedding/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SupIndep.lean |
11 |
12 |
['github-actions', 'leanprover-bot', 'llllvvuu'] |
bryangingechen assignee:bryangingechen |
7-80182 7 days ago |
15-76771 15 days ago |
16-13990 16 days |
29693 |
kckennylau author:kckennylau |
feat(RingTheory): make Euclidean domain from DVR |
---
Zulip: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leading.20term.20of.20valuation/near/539666529
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
|
82/0 |
Mathlib/RingTheory/DiscreteValuationRing/Basic.lean |
1 |
6 |
['github-actions', 'kckennylau', 'pechersky'] |
chrisflav assignee:chrisflav |
7-80182 7 days ago |
19-34403 19 days ago |
19-80304 19 days |
29512 |
grunweg author:grunweg |
feat: check for PR titles which do not start with "feat" etc. |
We ignore draft PRs and PRs with the WIP label.
The set of checks is intentionally kept small, and could be expanded in the
future.
---
More basic version of #16303: given that mathlib's statistics will use the PR kind, let's make sure PR kinds are somewhat appropriate.
[](https://gitpod.io/from-referrer/)
|
|
365/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check_title_labels.lean |
10 |
17 |
['bryangingechen', 'eric-wieser', 'github-actions', 'grunweg'] |
bryangingechen assignee:bryangingechen |
7-61719 7 days ago |
25-24154 25 days ago |
25-24130 25 days |
28719 |
mitchell-horner author:mitchell-horner |
refactor: redefine `IsTuranMaximal` |
Redefined `IsTuranMaximal := G.IsExtremal (CliqueFree · (r + 1))` and
- replaced `classical` in `IsTuranMaximal.le_iff_eq` with `DecidableRel`
- refactored `turanGraph.instDecidableRelAdj`, `turanGraph_zero`, `exists_isTuranMaximal`
- added `open Fintype`
- replaced `simp only` with `rw` or `simp_rw`
---
- [x] depends on: #28721
- [x] depends on: #29054
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
33/46 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
1 |
8 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'vihdzp'] |
kmill assignee:kmill |
7-50464 7 days ago |
7-53795 7 days ago |
34-72917 34 days |
25843 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define `between` subgraphs |
The simple graph `G.between s t` is the subgraph of `G` containing edges that connect a vertex in the set `s` to a vertex in the set `t`.
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24948.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24948* |
t-combinatorics |
86/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
7-50440 7 days ago |
114-34552 3 months ago |
114-34527 114 days |
28097 |
themathqueen author:themathqueen |
feat(LinearAlgebra/Matrix/PosDef): kronecker of positive (semi-)definite matrices is positive (semi-)definite |
This first shows that `U * x * star U` is positive (semi-)definite if and only if `x` is, for an invertible matrix `U` in a not necessarily commutative star-ring. Then using the spectral theorem, it follows that the kronecker of positive (semi-)definite matrices is positive (semi-)definite.
---
- [x] depends on: #28093
- [x] depends on: #28476
- [x] depends on: #28544
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
88/5 |
Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean |
4 |
9 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
joneugster assignee:joneugster |
7-35396 7 days ago |
10-42118 10 days ago |
34-6665 34 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
71/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
2 |
4 |
['Ruben-VandeVelde', 'github-actions', 'wwylele'] |
kbuzzard assignee:kbuzzard |
7-22482 7 days ago |
30-52873 1 month ago |
30-52902 30 days |
27290 |
themathqueen author:themathqueen |
feat: `Star`, `StarAddMonoid`, and `StarModule` instances for tensor products |
This pr defines the `Star`, `StarAddMonoid` and `StarModule` instances on tensor product spaces. And the `StarRing` instance.
---
- [x] depends on: #27288
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
55/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Star.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
nobody |
7-21578 7 days ago |
7-24811 7 days ago |
7-25624 7 days |
27228 |
themathqueen author:themathqueen |
feat: defining the inner product on tensor products |
This defines the inner product on tensor product spaces. Also defines `OrthonormalBasis.tensorProduct`.
The implementation is based on [here](https://github.com/ocfnash/lean-shannon-lovasz/blob/e63e535599ffb3c2a7e995e1621847693dd68fab/src/to_mathlib/analysis/inner_product_space/tensor_product.lean#L404) (by @jjaassoonn), which defines the inner product on real tensor product spaces. The exact same implementation also applies for the general case.
Closes #6020
---
- [x] depends on: #27288
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-analysis
label:t-algebra$ |
281/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/TensorProduct.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean |
4 |
5 |
['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
nobody |
7-20610 7 days ago |
7-20611 7 days ago |
7-21909 7 days |
29589 |
grunweg author:grunweg |
feat: add mfderiv_prod and mfderiv_prodMap |
Part of my bordism theory project: these will be needed for https://github.com/leanprover-community/mathlib4/pull/22059.
Updated version of #22642.
---
- [x] depends on: #30049 for ease of reviewing
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
81/0 |
Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
7-17567 7 days ago |
7-39198 7 days ago |
7-39204 7 days |
30009 |
ADedecker author:ADedecker |
chore: rename `IsTopologicalGroup.toUniformSpace` to `IsTopologicalGroup.rightUniformSpace` |
I have plans to finally do left and right uniformities properly, but I'd like to do some of the remaining before the fact to ease review.
I also take this opportunity to remove a duplication of private lemmas `extend_Z_bilin_aux` and `extend_Z_bilin_key`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
104/184 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Operator/Compact.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Topology/Algebra/Group/Defs.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Algebra/Module/Alternating/Topology.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/ContinuousMap/Algebra.lean |
23 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
nobody |
7-16566 7 days ago |
7-16588 7 days ago |
8-29993 8 days |
30056 |
vlad902 author:vlad902 |
feat(GroupTheory): finitely generated groups are quotients of free groups on finite generators |
This is equivalent to the formulation that finitely generated groups/monoids are quotients of FreeGroups/Monoids over the same generators, though I think the phrasing as a surjective homomorphism is more useful.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
31/0 |
Mathlib/GroupTheory/Finiteness.lean |
1 |
1 |
['github-actions'] |
nobody |
7-15183 7 days ago |
7-15199 7 days ago |
7-15231 7 days |
29362 |
stepanholub author:stepanholub |
feat:(Data/List) add the notion of period of List and prove the Periodicity Lemma |
Add the concept of the period of a List (word, sequence) which is missing, and prove its basic nontrivial property describing under which conditions list can have two periods known as the Periodicity Lemma (aka Fine-Wilf Theorem).
---
|
t-data
new-contributor
|
227/0 |
Mathlib.lean,Mathlib/Data/List/PeriodicityLemma.lean |
2 |
125 |
['Ruben-VandeVelde', 'Timeroot', 'fpvandoorn', 'github-actions', 'madvorak', 'plp127', 'stepanholub', 'wwylele'] |
nobody |
7-12430 7 days ago |
11-15244 11 days ago |
29-11440 29 days |
30062 |
plp127 author:plp127 |
chore(Order/Defs/PartialOrder): golf non-instance |
Golf `decidableLTOfDecidableLE`
---
[](https://gitpod.io/from-referrer/)
|
t-order
easy
|
2/6 |
Mathlib/Order/Defs/PartialOrder.lean |
1 |
1 |
['github-actions'] |
nobody |
7-1942 7 days ago |
7-2006 7 days ago |
7-1994 7 days |
29369 |
vlad902 author:vlad902 |
feat(SimpleGraph): `IsSubwalk` of common Walk decompositions |
Add some helper lemmas to show that decompositions of walks are sub-walks. |
t-combinatorics |
61/17 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
6-80196 6 days ago |
30-19273 1 month ago |
30-19315 30 days |
29864 |
themathqueen author:themathqueen |
chore(Algebra/Order/BigOperators/Group/{Finset, Multiset}): generalize results to `(Mul)(Add)LeftMono` |
Generalize some stuff from `IsOrdered(Add)Monoid` to `(Mul)(Add)LeftMono`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
61/53 |
Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Int/Sum.lean,Mathlib/Data/NNRat/BigOperators.lean,Mathlib/Tactic/Positivity/Finset.lean |
5 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
6-80190 6 days ago |
14-14830 14 days ago |
14-22048 14 days |
29121 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: MvPolynomial.symmetricSubalgebra.{aevalMultiset,sumPolynomial} |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
192/0 |
Mathlib.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Eval.lean |
2 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
6-54734 6 days ago |
36-79861 1 month ago |
36-79893 36 days |
29946 |
smmercuri author:smmercuri |
feat(InfinitePlace/Ramification): embeddings of unramified/ramified infinite places satisfy `IsUnmixed/IsMixed` |
---
- [x] depends on: #29945
[](https://gitpod.io/from-referrer/)
|
FLT
t-number-theory
|
52/1 |
Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-45690 6 days ago |
6-45712 6 days ago |
6-55791 6 days |
29309 |
LLaurance author:LLaurance |
feat(Combinatorics/SimpleGraph): Nontrivial connected graph contains a vertex that leaves the graph connected if removed |
This shows that any nontrivial connected graph contains a vertex that, when removed, leaves the graph connected.
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-combinatorics
|
156/10 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
6-42148 6 days ago |
6-42148 6 days ago |
27-46764 27 days |
29735 |
vihdzp author:vihdzp |
feat: order instances on quotients |
We define a `Preorder (Quotient s)` instance in the natural way, and prove that it can be strengthened to a `LinearOrder` when all equivalence classes are `OrdConnected`.
---
See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20linear.20order.20is.20linear.20order/near/539915988) for some long-winded discussion about this.
[](https://gitpod.io/from-referrer/)
|
t-order |
125/0 |
Mathlib.lean,Mathlib/Order/Quotient.lean |
2 |
3 |
['github-actions', 'plp127'] |
bryangingechen assignee:bryangingechen |
6-36989 6 days ago |
18-64438 18 days ago |
18-64472 18 days |
29665 |
xroblot author:xroblot |
feat(IsCyclotomicExtension): some results for the sub-algebra case |
We add some results about cyclotomic extensions which are also contained in an extension `A ⊆ B` of rings. In this case,
the cyclotomic extension `IsCyclotomicExtension S A C` is determined by `S` and thus we can prove various statements such as the fact that the compositum of `A[ζₙ]` and `A[ζₘ]` is `A[ζₗ]` where `l` is the lcm of `n` and `m`.
---
- [x] depends on: #29600
|
t-algebra label:t-algebra$ |
121/12 |
Mathlib/NumberTheory/Cyclotomic/Basic.lean |
1 |
8 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'xroblot'] |
ocfnash assignee:ocfnash |
6-30129 6 days ago |
6-30251 6 days ago |
19-227 19 days |
29642 |
pechersky author:pechersky |
chore(RingTheory/AdicValuation,LaurentSeries): switch to `WithZero.exp` instead of coercions of `Multiplicative.ofAdd` |
as requested at
https://github.com/leanprover-community/mathlib4/pull/27339#issuecomment-3285102305
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
58/68 |
Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/LaurentSeries.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
6-26482 6 days ago |
6-32990 6 days ago |
14-43359 14 days |
28395 |
joelriou author:joelriou |
feat(AlgebraicTopology/SimplicialSet): nondegenerate simplices in the standard simplex |
In this PR, we show that `d`-dimensional nondegenerate simplices in `Δ[n]` identify to `Fin (d + 1) ↪o Fin (n + 1)`.
(This PR also contains some general additional API for (non)degenerate simplices. For this reason, three definitions related to subcomplexes generated by a simplex had to be moved from `StdSimplex.lean` to `Subcomplex.lean`.)
---
- [x] depends on: #28337
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
maintainer-merge
|
247/20 |
Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/Simplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subcomplex.lean,Mathlib/Order/Hom/Basic.lean |
5 |
24 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
6-25443 6 days ago |
6-30789 6 days ago |
25-2220 25 days |
29425 |
pechersky author:pechersky |
feat(NumberTheory/Padics/Torsion): `HasEnoughRootsOfUnity ℤ_[p] (p - 1)` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #29403
- [x] depends on: #29404
- [x] depends on: #29405
- [x] depends on: #29408
- [x] depends on: #29424
|
t-ring-theory |
179/0 |
Mathlib.lean,Mathlib/NumberTheory/Padics/Torsion.lean,Mathlib/RingTheory/ZMod/Torsion.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-24390 6 days ago |
6-25066 6 days ago |
6-25698 6 days |
26104 |
xroblot author:xroblot |
feat(NumberField/IsCM): compute ratio of regulators |
This PR continues the work from #23696.
Compute the ratio between the regulator of `K` and the regulator of its maximal real subfield.
---
- [x] depends on: #23694
- [x] depends on: #26075
- [x] depends on: #26108 |
t-number-theory |
75/4 |
Mathlib/GroupTheory/Index.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/TotallyRealComplex.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean |
4 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] |
nobody |
6-24057 6 days ago |
6-25949 6 days ago |
6-27331 6 days |
25794 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): localization preserves braided structure |
---
- [x] depends on: #29568
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24485.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24485* |
file-removed
t-category-theory
|
225/4 |
Mathlib.lean,Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean,Mathlib/CategoryTheory/Localization/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean,Mathlib/CategoryTheory/Sites/Monoidal.lean |
6 |
15 |
['dagurtomas', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
6-23228 6 days ago |
6-24099 6 days ago |
62-33249 62 days |
28876 |
ScottCarnahan author:ScottCarnahan |
feat (Algebra/Group/Action/Basic): add IsLeftCancelSMul |
This PR adds classes `IsLeftCancelSMul` and `IsLeftCancelVAdd`, for actions that are injective on the left. This property automatically holds for group actions, and for the left multiplication action of a left cancellative monoid.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
51/13 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/AddTorsor.lean |
2 |
5 |
['ScottCarnahan', 'dagurtomas', 'github-actions'] |
dagurtomas assignee:dagurtomas |
6-22418 6 days ago |
6-22446 6 days ago |
40-35269 40 days |
30037 |
linesthatinterlace author:linesthatinterlace |
feat: Fin.find update |
We currently define `Fin.find` in a way that is redundant (in the sense that it is just equivalent to `Fin.find?` in batteries). This PR replaces it with a definition that works closer to `Nat.find`, and links the new definition of `Fin.find` to `Fin.find?` in the natural way.
---
- [ ] depends on: batteries#1431
[](https://gitpod.io/from-referrer/)
|
|
137/103 |
Mathlib/Data/Fin/Tuple/Basic.lean,lake-manifest.json |
2 |
6 |
['github-actions', 'linesthatinterlace', 'llllvvuu', 'mathlib4-merge-conflict-bot'] |
nobody |
6-21023 6 days ago |
6-21041 6 days ago |
7-76946 7 days |
28224 |
joelriou author:joelriou |
feat(AlgebraicTopology): the type of non degenerate simplices of a simplicial set |
In this PR, we introduce the ordered type `X.N` of nondegenerate simplices in a simplicial set `X`.
---
- [x] depends on: #27968
- [x] depends on: #28034
- [x] depends on: #26076
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology |
217/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/Degenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/EpiMono.lean |
5 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-17924 6 days ago |
6-17937 6 days ago |
6-17913 6 days |
26985 |
agjftucker author:agjftucker |
feat(Analysis/Calculus/Implicit): define implicitFunOfProdDomain |
This PR continues the work from #16743.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16743
---
- [x] depends on: #28352
[](https://gitpod.io/from-referrer/) |
new-contributor
t-analysis
|
107/4 |
Mathlib/Analysis/Calculus/Implicit.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-17284 6 days ago |
6-54289 6 days ago |
6-55867 6 days |
26668 |
mariainesdff author:mariainesdff |
feat(Analysis/Normed/Unbundled/SpectralNorm): add API |
Co-authored-by: @faenuccio
---
- [ ] depends on: #26667
[](https://gitpod.io/from-referrer/)
|
t-analysis
t-number-theory
|
127/16 |
Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean |
1 |
15 |
['MichaelStollBayreuth', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-15714 6 days ago |
18-42136 18 days ago |
18-43732 18 days |
29860 |
mcdoll author:mcdoll |
feat(Analysis/Fourier): Parseval identity |
The Plancherel theorem states that the Fourier transform is unitary on L^2. We prove the main step which is that the Fourier transform on Schwartz space preserves the L^2-norm.
---
The extension of the Fourier transform to L^2 will be proved in a subsequent PR.
- [x] depends on: #29852
- [x] depends on: #29853
[](https://gitpod.io/from-referrer/)
|
t-analysis |
144/26 |
Mathlib/Analysis/Distribution/FourierSchwartz.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/FourierTransform.lean,docs/undergrad.yaml |
4 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
6-3438 6 days ago |
6-3457 6 days ago |
12-6461 12 days |
27258 |
JovanGerb author:JovanGerb |
Imo2020 q6 |
Original PR: #23431
This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28.
TODO: The function `project a b p` that is defined here should be replaced with `signedDist a p (b -ᵥ a)`.
---
- [x] depends on: #27257
[](https://gitpod.io/from-referrer/)
|
IMO |
346/0 |
Archive.lean,Archive/Imo/Imo2020Q6.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
5-80196 5 days ago |
13-25883 13 days ago |
13-27163 13 days |
27416 |
joelriou author:joelriou |
feat(Algebra/Homology): Ext modules |
In this PR, we show that if `C` is a `R`-linear abelian category, then there is a `R`-module structure on the groups `Ext X Y n` for `X` and `Y` in `C` and `n : ℕ`.
---
- [x] depends on: #26031
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
t-category-theory
label:t-algebra$ |
164/12 |
Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean |
5 |
6 |
['Thmoas-Guan', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
dagurtomas assignee:dagurtomas |
5-80195 5 days ago |
13-25896 13 days ago |
13-26016 13 days |
27742 |
ChrisHughes24 author:ChrisHughes24 |
feat(Nat/nth): inequalities about Nat.nth |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
51/0 |
Mathlib/Data/Nat/Nth.lean |
1 |
3 |
['ChrisHughes24', 'github-actions'] |
pechersky assignee:pechersky |
5-80193 5 days ago |
66-44211 2 months ago |
66-44248 66 days |
27864 |
BoltonBailey author:BoltonBailey |
feat(Data/{Finset,Multiset}/Sort): give sort functions ≤ default argument |
Changes the `Finset.sort` and `Multiset.sort` functions to take `≤` as the default relation argument. Then removes this argument where possible through the rest of the library.
This involves switching the order of arguments, but I think this is fine, as this function is mostly called by dot notation anyway, and I think it is more typical for the first argument of such functions to have the type that matches the namespace.
Thanks to @eric-wieser for suggesting this approach
Zulip discussion: [#mathlib4 > Redefine {Fin/Multi}set.sort to take linear order?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Redefine.20.7BFin.2FMulti.7Dset.2Esort.20to.20take.20linear.20order.3F/with/532398325)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
121/97 |
Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean |
9 |
5 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'grunweg'] |
pechersky assignee:pechersky |
5-80192 5 days ago |
64-28521 2 months ago |
64-82052 64 days |
27991 |
sinianluoye author:sinianluoye |
feat (Rat): add Rat.den_eq_of_add_den_eq_one and its dependent lemmas |
```lean4
example {q r : ℚ} (h : (q + r).den = 1) : q.den = r.den := by
```
It is so simple, but I couldn't find it in current mathlib repo.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
28/0 |
Mathlib/Data/Rat/Lemmas.lean |
1 |
14 |
['github-actions', 'sinianluoye', 'themathqueen'] |
pechersky assignee:pechersky |
5-80191 5 days ago |
60-79778 1 month ago |
61-21423 61 days |
28077 |
ShreckYe author:ShreckYe |
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` |
`exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. |
t-data
new-contributor
|
10/0 |
Mathlib/Data/Finset/Card.lean |
1 |
4 |
['ShreckYe', 'github-actions', 'themathqueen'] |
pechersky assignee:pechersky |
5-80190 5 days ago |
59-46268 1 month ago |
59-46307 59 days |
28119 |
JasperMS author:JasperMS |
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` |
Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate.
In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization.
Part of Carleson, original result by Edward van de Meent.
Moves:
- Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice
---
This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out!
Mathlib PRs are still new to me, so please point out where I can improve!
[](https://gitpod.io/from-referrer/)
|
carleson
t-data
new-contributor
|
56/12 |
Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean |
4 |
11 |
['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions'] |
pechersky assignee:pechersky |
5-80189 5 days ago |
58-32993 1 month ago |
58-33427 58 days |
29351 |
staroperator author:staroperator |
feat(SetTheory/Cardinal): generalize and rename theorems on `Cardinal.sum` |
Some theorems on `Cardinal.sum f` are taking `f : ι → Cardinal.{max u v}`, which can be generalized to `f : ι → Cardinal.{v}`. Also rename `sum_le_iSup_lift`, `sum_lt_lift_of_isRegular`, `sum_eq_iSup_lift` etc. to reflect their signatures in names.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
79/36 |
Mathlib/Data/W/Cardinal.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
10 |
5 |
['github-actions', 'staroperator', 'vihdzp'] |
alreadydone assignee:alreadydone |
5-80187 5 days ago |
30-86255 1 month ago |
31-19041 31 days |
29395 |
YaelDillies author:YaelDillies |
refactor: make `PosMulMono` and alike custom classes |
In the current setup, users get confusing non-beta-reduced goals involving a subtype when trying to provide an instance of `PosMulMono`.
This PR changes it to be a custom structure with the expected fields.
This follows `PosSMulMono` and alike.
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-algebra
label:t-algebra$ |
187/268 |
Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Order/Ring/Opposite.lean,Mathlib/Algebra/Order/Ring/Prod.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Filter/Ring.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,MathlibTest/GRewrite.lean |
22 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
5-80185 5 days ago |
13-55414 13 days ago |
23-18025 23 days |
29478 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra): roots of charpoly are the eigenvalues/spectrum |
Co-authored-by: Aristotle Harmonic
---
- [ ] depends on: #29428 for the lemma `LinearMap.charpoly_sub_smul`
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
label:t-algebra$ |
128/27 |
Mathlib.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean |
5 |
15 |
['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
ocfnash assignee:ocfnash |
5-80184 5 days ago |
13-847 13 days ago |
22-84031 22 days |
29861 |
themathqueen author:themathqueen |
feat(LinearAlgebra/Matrix/PosDef): `vecMulVec a (star a)` is positive semi-definite |
The matrices `vecMulVec a (star a)` and `vecMulVec (star a) a` are always positive semi-definite. And in a nontrivial commutative ring with nontrivial index, they are never positive definite.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
64/0 |
Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean |
2 |
7 |
['eric-wieser', 'github-actions', 'themathqueen'] |
ocfnash assignee:ocfnash |
5-80181 5 days ago |
13-37889 13 days ago |
14-25725 14 days |
29877 |
Komyyy author:Komyyy |
feat: inner product of the gradient |
Also, this PR enables the `conj` notation in the file.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
37/10 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
1 |
['github-actions'] |
hrmacbeth assignee:hrmacbeth |
5-80180 5 days ago |
13-39044 13 days ago |
13-39022 13 days |
29888 |
mcdoll author:mcdoll |
feat(Analysis/Normed): Extend densely defined LinearMaps to CLM |
This PR both adds a new and more user-friendly way to extend a CLM defined on a dense subspace.
It also moves the old definition to the same file and as a side effect, we reduce the import tree.
The moved parts are not modified except for adapting the sections and imports.
Original definition of `ContinuousLinearMap.extend` was by Zhouhang Zhou in 2019 (mathlib3 PR #1649)
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
254/86 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean |
5 |
2 |
['github-actions', 'mcdoll'] |
hrmacbeth assignee:hrmacbeth |
5-80179 5 days ago |
13-6247 13 days ago |
13-23997 13 days |
29237 |
harahu author:harahu |
doc: capitalize archimedean |
Adjectives derived from people's last names are usually capitalized in English.
---
[](https://gitpod.io/from-referrer/)
|
|
332/331 |
Counterexamples/MapFloor.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Archimedean/Hom.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Module/Archimedean.lean,Mathlib/Algebra/Order/Nonneg/Floor.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Normed/Algebra/Ultra.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Order/Hom/Basic.lean,Mathlib/Analysis/Normed/Order/Hom/Ultra.lean,Mathlib/Analysis/Normed/Ring/Ultra.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Data/Int/SuccPred.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/SuccPred.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/GroupTheory/Archimedean.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/SuccPred/IntervalSucc.lean,Mathlib/Order/SuccPred/LinearLocallyFinite.lean,Mathlib/Order/SuccPred/Tree.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/HahnSeries/Lex.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/Basic.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/Nonarchimedean/TotallyDisconnected.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Algebra/Order/Archimedean.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean,Mathlib/Topology/MetricSpace/Ultra/Pi.lean,Mathlib/Topology/MetricSpace/Ultra/TotallySeparated.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean,Mathlib/Topology/UniformSpace/Ultra/Constructions.lean |
73 |
5 |
['euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
5-42317 5 days ago |
20-48531 20 days ago |
31-49674 31 days |
30073 |
JovanGerb author:JovanGerb |
feat: new `by_cases!` tactic |
This PR defines the `by_cases! h : p` tactic, which is a macro for `by_cases h : p` followed by a `try push_neg at h` in the second goal. We use `try push_neg` instead of `push_neg` to make the tactic also succeed when no negation is pushed. Should this maybe throw an warning?
This PR also refactors many proofs to use `by_cases!`
The tactic implementation can be found in the first commit.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
574/717 |
Archive/Imo/Imo2024Q6.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Homology/Embedding/TruncGE.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Polynomial/CoeffList.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/Polynomial/OfFn.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/AlgebraicTopology/DoldKan/Decomposition.lean,Mathlib/AlgebraicTopology/DoldKan/Faces.lean,Mathlib/AlgebraicTopology/DoldKan/Projections.lean,Mathlib/AlgebraicTopology/SimplicialObject/II.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/LocalExtr/Rolle.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/EGauge.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Meromorphic/NormalForm.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Log/Summable.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/WellOrderContinuous.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/Enumerative/Composition.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Matroid/IndepAxioms.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Combinatorics/SetFamily/Intersecting.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Data/Int/Order/Basic.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Nth.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Equitable.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/FieldTheory/JacobsonNoether.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Basis/Defs.lean |
203 |
2 |
['JovanGerb', 'github-actions'] |
nobody |
5-41872 5 days ago |
6-22626 6 days ago |
6-22667 6 days |
29257 |
harahu author:harahu |
doc: attach "pre", "pseudo", "semi" and "sub" as a prefixes where they are now free-standing |
These are all examples of [bound morphemes](https://en.wikipedia.org/wiki/Bound_and_free_morphemes) and should be attached, either in closed form or by hyphen, to some other construct.
Whether to write the resulting words with a hyphen or in closed form is a stylistic choice and I am open to discussing the specifics. I've made choices based on existing literature and what I personally found natural.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
50/50 |
Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Group/BallSphere.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Lean/Meta/KAbstractPositions.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/Uniformity.lean,scripts/autolabel.lean |
21 |
1 |
['euprunin', 'github-actions'] |
JovanGerb assignee:JovanGerb |
5-41052 5 days ago |
33-16154 1 month ago |
33-16191 33 days |
29550 |
Raph-DG author:Raph-DG |
feat(RingTheory): Order of vanishing in a discrete valuation ring |
In this PR we develop some API for working with the order of vanishing in a discrete valuation ring.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
file-removed
|
462/3 |
Mathlib.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Properties.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
5-30897 5 days ago |
5-30924 5 days ago |
21-43306 21 days |
29341 |
joelriou author:joelriou |
feat(Topology): the topology generated by a family of spaces |
Some categories of topological spaces are "convenient" in the sense that they have nice categorical properties (e.g. they have limits, colimits and are cartesian closed). This PR is the first in a series towards showing that delta generated spaces form a cartesian closed monoidal category (see https://github.com/joelriou/topcat-model-category/blob/852a514c1d955ab586507bcd5a7b5efb99c6c3df/TopCatModelCategory/Convenient/CartesianClosed.lean#L92 for the general result), and this result is part of my formalization effort towards the Quillen model category structure on simplicial sets.
In this PR, given a family `X` of topological spaces, and a topological space `Y`, we introduce the `X`-generated topology on `Y`, which is coinduced by all continuous maps `X i → Y`.
(Eventually, this will generalize previous works by Dagur Asgeirsson and Ben Eltschig about compactly/delta generated spaces in mathlib. At some point, their definitions will be refactored as particular cases of the definitions in this PR series.)
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
291/0 |
Mathlib.lean,Mathlib/Topology/Convenient/GeneratedBy.lean,docs/references.bib |
3 |
10 |
['github-actions', 'joelriou', 'peabrainiac'] |
jcommelin assignee:jcommelin |
5-23378 5 days ago |
31-49446 1 month ago |
31-49421 31 days |
29837 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): touchpoints in `interior` and `Sbtw` |
Add lemmas showing that touchpoints for the incenter are in the interior of a face, as is the touchpoint opposite a vertex for the excenter opposite that vertex, and corresponding `Sbtw` statements in the case of a triangle including `Sbtw` statements about the other touchpoints (not in the interior of a side) for an excenter in that case.
The `Sbtw` statements are expected to be used in followups together with #29656 to give statements about the incenter and excenters lying on angle bisectors as expressed in terms of angles involving vertices rather than touchpoints.
---
- [ ] depends on: #29410
- [ ] depends on: #29418
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
102/1 |
Mathlib/Geometry/Euclidean/Incenter.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
5-22675 5 days ago |
5-23997 5 days ago |
5-25166 5 days |
29207 |
YaelDillies author:YaelDillies |
chore(MonoidAlgebra/Defs): reorder, rename variables |
Sort the declarations according to typeclass assumptions, *and* according to the order in which we need them to be for #25273.
Rename the semiring variable to `R` and the monoid one to `M`. Simultaneously golf.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
461/588 |
Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean |
9 |
6 |
['JovanGerb', 'YaelDillies', 'github-actions'] |
dagurtomas assignee:dagurtomas |
4-80178 4 days ago |
12-23124 12 days ago |
12-23106 12 days |
29729 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: Ideal.ramificationIdx_mul_inertiaDeg_of_isLocalRing |
---
[](https://gitpod.io/from-referrer/)
|
FLT
t-number-theory
|
27/0 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean |
3 |
8 |
['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot', 'tb65536', 'xroblot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-80177 4 days ago |
12-57247 12 days ago |
18-51177 18 days |
29772 |
ScottCarnahan author:ScottCarnahan |
feat (RingTheory/HahnSeries/Multiplication): Add group instances to HahnModule |
This PR adds `Zero` and `AddCommGroup` instances to `HahnModule` when appropriate. We also add comparison lemmas for subtraction in the `AddCommGroup` case, and reorganize some `variables`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
18/9 |
Mathlib/RingTheory/HahnSeries/Multiplication.lean |
1 |
1 |
['github-actions'] |
erdOne assignee:erdOne |
4-80176 4 days ago |
17-41962 17 days ago |
17-41996 17 days |
29781 |
chrisflav author:chrisflav |
feat(RingTheory/Finiteness): a finite and finitely presented algebra is finitely presented |
We show that if `S` is finite as a module over `R` and finitely presented as an algebra over `R`, then it is finitely presented as a module over `R`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
357/36 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Finiteness/ModuleFinitePresentation.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean |
9 |
1 |
['github-actions'] |
erdOne assignee:erdOne |
4-80175 4 days ago |
17-22444 17 days ago |
17-22422 17 days |
29871 |
zach1502 author:zach1502 |
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation |
This PR adds two lemmas formalizing standard Gaussian pivot identities:
* `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`:
After applying the canonical left/right transvection products that clear the last column and row,
the pivot (bottom-right) entry of a matrix is unchanged.
Marked `@[simp]`.
* `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`:
If the pivot entry is nonzero, then the determinant of the matrix factors as
the determinant of the top-left block times the pivot entry, after performing
the canonical transvections.
This is the usual Gauss–pivot determinant identity.
* Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas
are usable by `simp`/`simpa`.
---
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
2 |
['github-actions', 'zach1502'] |
riccardobrasca assignee:riccardobrasca |
4-80173 4 days ago |
13-10083 13 days ago |
13-75546 13 days |
29909 |
Vierkantor author:Vierkantor |
feat(CI): add build output to CI workflows |
This PR uses the Zulip build report script (originally developed for the nightly-regression-report workflow) to add a summary of build output to other Zulip posts about workflow results. This allows us to more easily see the origin of a failure. This requires redoing the script a little to make it a bit more flexible, and the output is slightly reformatted to become consistent across the various workflows (4 of them that post to Zulip).
We don't do so for the nightly-testing failures, since those run in a different workflow, and it would be a lot of work to access the command output from another workflow.
---
[](https://gitpod.io/from-referrer/)
|
CI |
93/69 |
.github/workflows/daily.yml,.github/workflows/nightly-docgen.yml,.github/workflows/nightly-regression-report.yml,scripts/zulip_build_report.sh |
4 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
4-80172 4 days ago |
12-31547 12 days ago |
12-31525 12 days |
29154 |
ScottCarnahan author:ScottCarnahan |
feat (Algebra/Lie): Define low-degree cochains and differentials |
This PR defines 1-cochains and 2-cochains of a Lie algebra `L` with coefficients in an `L`-module `M`. This special case is useful for constructing central extensions of Lie algebras, while not needing the general machinery of Lie algebra cohomology.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
199/0 |
Mathlib.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Cochain.lean |
3 |
7 |
['ScottCarnahan', 'github-actions', 'ocfnash'] |
ocfnash assignee:ocfnash |
4-63511 4 days ago |
6-67190 6 days ago |
32-40243 32 days |
29253 |
FernandoChu author:FernandoChu |
feat(CategoryTheory): (Co)limits in preorders |
Characterize (co)limits in preorders as glbs/lubs, plus some other instances. |
new-contributor
t-category-theory
|
151/13 |
Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean |
2 |
12 |
['FernandoChu', 'github-actions', 'joelriou'] |
joelriou assignee:joelriou |
4-51481 4 days ago |
4-51485 4 days ago |
31-50120 31 days |
30088 |
FernandoChu author:FernandoChu |
feat(CategoryTheory): `Exists` gives images |
We show that (the underlying arrow of) `(exists f.obj) x` is an image.
This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. |
t-category-theory |
147/2 |
Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/CategoryTheory/Subobject/Basic.lean |
3 |
6 |
['FernandoChu', 'github-actions', 'joelriou'] |
nobody |
4-50818 4 days ago |
4-50818 4 days ago |
4-65809 4 days |
25974 |
scholzhannah author:scholzhannah |
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) |
This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions.
This PR continues the work from #25318.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25318
Co-authored-by: Floris van Doorn |
large-import
t-topology
|
174/5 |
Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean |
1 |
4 |
['github-actions', 'joelriou', 'scholzhannah'] |
ADedecker assignee:ADedecker |
4-50429 4 days ago |
5-36151 5 days ago |
104-16561 104 days |
30109 |
scholzhannah author:scholzhannah |
feat: the subcomplexes of a (relative classical) CW complex form a completely distributive lattice |
In this PR we prove that the space of subcomplexes `Subcomplex C` of a (relative classical) CW complex `C` is a `CompletelyDistribLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
390/1 |
Mathlib/Topology/CWComplex/Classical/Subcomplex.lean |
1 |
1 |
['github-actions'] |
nobody |
4-46631 4 days ago |
4-48662 4 days ago |
4-48694 4 days |
27073 |
pechersky author:pechersky |
feat(Archive/Examples/Local): files showcasing properties of local fields |
for p-adics, completions of number fields, laurent series, and fraction rings of witt vectors
Should get filled in as more data/instances are declared
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
139/0 |
Archive.lean,Archive/Examples/Local/Laurent.lean,Archive/Examples/Local/NumberField.lean,Archive/Examples/Local/Padic.lean,Archive/Examples/Local/Witt.lean |
5 |
6 |
['faenuccio', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
4-46517 4 days ago |
28-19787 28 days ago |
79-36549 79 days |
29306 |
YaelDillies author:YaelDillies |
chore(GroupTheory/GroupAction/Basic): don't import `Module` |
This is useful to be able to replace `NoZeroSMulDivisors` with `Module.IsTorsionFree` later.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
16/17 |
Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/LinearAlgebra/Projectivization/Cardinality.lean |
2 |
8 |
['YaelDillies', 'eric-wieser', 'github-actions', 'riccardobrasca'] |
eric-wieser assignee:eric-wieser |
4-45560 4 days ago |
28-57381 28 days ago |
32-18723 32 days |
29300 |
Louddy author:Louddy |
feat: SkewPolynomial |
## Univariate skew polynomials
Skew polynomials are represented as `SkewMonoidAlgebra R (Multiplicative ℕ)`, where `R` is usually at least a Semiring.
In this file, we define `SkewPolynomial` and provide basic instances.
The point if this PR is to introduce the very most basic definitions and API.
From #23949.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
178/0 |
Mathlib.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,docs/references.bib |
3 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
4-45498 4 days ago |
32-45586 1 month ago |
32-45610 32 days |
29314 |
Louddy author:Louddy |
feat(SkewMonoidAlgebra): Lifts for skew monoid algebras |
Lemmas about different kinds of "lifts" to `SkewMonoidAlgebra` - Similar in spirit to the MonoidAlgebra.Lift file.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
- [x] depends on: #29310
[](https://gitpod.io/from-referrer/)
|
|
238/2 |
Mathlib.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
riccardobrasca assignee:riccardobrasca |
4-45450 4 days ago |
6-13298 6 days ago |
6-18715 6 days |
29143 |
RemyDegenne author:RemyDegenne |
feat(Probability/Decision): basic properties of the Bayes risk |
- Comparison of the Bayes risk and the minimax risk
- Maximal value of the Bayes risk and particular cases where it equals that value
- Data-processing inequality
---
- [x] depends on: #29137
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
262/1 |
Mathlib.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Defs.lean |
3 |
14 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
4-42691 4 days ago |
4-42691 4 days ago |
6-58582 6 days |
30029 |
ADedecker author:ADedecker |
feat: define IsRightUniformGroup and IsLeftUniformGroup |
This mostly contains the definition and additional documentation. Future PRs will take care of expanding the theory, and proving in particular that `IsUniformGroup` is precisely the conjuction of these two typeclasses.
---
- [x] depends on: #30025
[](https://gitpod.io/from-referrer/)
|
t-topology |
199/36 |
Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean |
2 |
9 |
['ADedecker', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
4-41996 4 days ago |
7-16466 7 days ago |
7-27697 7 days |
28349 |
kckennylau author:kckennylau |
feat(Meta): add notation for naming stacked polynomials |
This PR changes the notation for naming formal variables associated to recursive polynomial-like objects.
Registration is done only once per each polynomial-like functor.
Usage:
```lean
register_poly_vars "[" "]" Polynomial Polynomial.C Polynomial.X
register_poly_vars (mv := true) "[" "]" MvPolynomial MvPolynomial.C MvPolynomial.X
name_poly_vars R[a,b][C]
name_poly_vars _[x,y,z]
```
`_[[x,y,z]]` allows for the hole to be substituted by any base ring, so `(x : R[[x,y,z]])` will be valid syntax.
---
I have not mass deployed the new syntax at every possible location, I plan to do that in a future PR following this.
Zulip: [#mathlib4 > Notation for polynomial variables](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Notation.20for.20polynomial.20variables)
This is a refactor of the currently existing [Mathlib.Tactic.namePolyVarsOver](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Tactic/Ring/NamePolyVars.html#Mathlib.Tactic.namePolyVarsOver). More explicitly, the current invocation `name_poly_vars x,y over R` is now `poly_variable R[x,y]`. The behaviours inherited from `name_poly_vars` are:
* We do not synthesize the necessary instances (such as `[CommRing R]`) at the point of declaration, but only when the new notations are used.
* We refer to an explicit term (`R` in the examples) which is "fixed", in the sense that:
* it is only valid for `R` explicitly, and not any other `variable` such as `S`.
* it has built-in hygiene, so if you shadow the variable by declaring a new `variable (R : Type*)`, it will still refer to the old one.
And the new behaviours are:
* Currently only `x` and `y` are new notations, but in the new tactic the whole ring `R[x,y]` is also available as notation.
* Currently only the forward direction (i.e. elaboration, going from `x` to `MvPolynomial.X 0`) is implemented, but in the new tactic we also implement the backward direction, printing `MvPolynomial.X 0` back as `x` (and `MvPolynomial (Fin 2) R` is printed as `R[x,y]`).
* Support beyond just `MvPolynomial`.
[](https://gitpod.io/from-referrer/)
|
t-meta |
652/88 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/PolyVariable.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,MathlibTest/PolyVariable.lean,scripts/noshake.json |
10 |
80 |
['JovanGerb', 'adamtopaz', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'kim-em', 'plp127', 'robertmaxton42', 'sgouezel'] |
adamtopaz assignee:adamtopaz |
4-38051 4 days ago |
12-30364 12 days ago |
52-10285 52 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 ".
---
[](https://gitpod.io/from-referrer/)
|
tech debt
CI
|
1/0 |
scripts/technical-debt-metrics.sh |
1 |
1 |
['github-actions'] |
nobody |
4-35830 4 days ago |
4-53080 4 days ago |
4-53058 4 days |
26332 |
Timeroot author:Timeroot |
feat(ModelTheory/Definability): TermDefinable functions |
This PR continues the work from #23506.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23506 |
t-logic |
145/0 |
Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json |
3 |
28 |
['Timeroot', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
4-34693 4 days ago |
20-25778 20 days ago |
101-73964 101 days |
26287 |
mbkybky author:mbkybky |
feat(Data/ENat/Lattice): coercion to `WithBot ℕ∞` commutes with `biSup` |
The coercion from `ℕ∞` to `WithBot ℕ∞` commutes with `biSup` and `biInf`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
24/0 |
Mathlib/Data/ENat/Lattice.lean |
1 |
5 |
['github-actions', 'kckennylau', 'mbkybky'] |
ericrbg assignee:ericrbg |
4-30522 4 days ago |
4-30522 4 days ago |
84-31744 84 days |
27971 |
smmercuri author:smmercuri |
feat: weak approximation theorems for infinite places of a number field |
Under the diagonal embedding into infinite places, a number field $K$ is dense inside both the product $\prod_{v \mid \infty} (K, v)$, where $(K, v)$ denotes $K$ equipped with $v$'s topology, and the infinite adele ring $\prod_v K_v$.
This PR continues the work from #22153.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22153
---
- [x] depends on: #27969 |
large-import
FLT
t-algebra
t-number-theory
label:t-algebra$ |
98/2 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] |
nobody |
4-30084 4 days ago |
4-34887 4 days ago |
4-37536 4 days |
25969 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupHomology/Functoriality): the degree 1 part of the corestriction-coinflation exact sequence |
Given a `G`-representation `A` and a normal subgroup `S` of `G`, this PR defines the corestriction-coinflation short complex
`H₁(S, A) ⟶ H₁(G, A) ⟶ H₁(G ⧸ S, A_S)` induced by the natural inclusion `S → G` and projections `G → G / S, A → A_S`. We prove it's exact, and that the righthand map is an epimorphism.
---
- [x] depends on: #21652
- [x] depends on: #21732
- [x] depends on: #21733
- [x] depends on: #21735
- [x] depends on: #21736
- [x] depends on: #21738
- [x] depends on: #25868
- [x] depends on: #25873
- [x] depends on: #25880
- [x] depends on: #25884
- [x] depends on: #25888
- [x] depends on: #25939
- [x] depends on: #25952
[](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 |
4-11397 4 days ago |
unknown |
unknown |
30116 |
FormulaRabbit81 author:FormulaRabbit81 |
feat(Measure): proof that a relatively compact set of measures is tight |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-measure-probability
|
196/2 |
Mathlib/MeasureTheory/Measure/Tight.lean |
1 |
1 |
['github-actions'] |
nobody |
4-4011 4 days ago |
4-4048 4 days ago |
4-4081 4 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`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
59/17 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean |
3 |
19 |
['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
3-84395 3 days ago |
3-84395 3 days ago |
4-57012 4 days |
26757 |
fweth author:fweth |
feat(CategoryTheory/Topos): define elementary topos |
This commit begins the formalization of the notion of an *elementary topos*, following the definition in \[Mac Lane & Moerdijk, *Sheaves in Geometry and Logic* (1992), Ch. IV, Section 1]. It introduces the file `Mathlib/CategoryTheory/Topos/Basic.lean`, which currently includes:
* The definition of an elementary topos.
* Proof that the power object map is a functor
* Theorem about pullbacks of characterstic maps
Subobject classifiers, which are used in the definition, have already been defined in `CategoryTheory/Topos/Classifier.lean`
Work in progress: further formalization of the section is planned.
Questions:
* Should the definition of power objects be separated into its own file/module, perhaps under `CategoryTheory/Topos/PowerObject.lean`?
* Is the notation `P` / `P_morph` / `P_functor` for the power object functor on objects / morphisms / total acceptable?
* Should the comments and docstrings rather use the notation from the book, where `g ∘ f` denotes arrow composition from righ to left, or the Lean variant `f ≫ g`?
Klaus Gy klausgy@gmail.com
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
391/68 |
Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean |
9 |
14 |
['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
3-80208 3 days ago |
28-30971 28 days ago |
48-3131 48 days |
27978 |
smmercuri author:smmercuri |
feat: `InfinitePlace.Extension` API for extensions of infinite places. |
If `L / K` are fields and `v : InfinitePlace K`, then we define and add basic API for `v.Extension L` : the subtype of `w : InfinitePlace L` whose restriction to `K` matches `v`.
This PR continues the work from #24881.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24881
---
- [x] depends on: #27977 |
FLT
t-number-theory
|
49/0 |
Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
3-80206 3 days ago |
11-24983 11 days ago |
11-52883 11 days |
29941 |
themathqueen author:themathqueen |
feat(Algebra/Star): define the convolution star on linear maps |
This pr defines the _convolution_ star operation on linear maps `E →ₗ F` where `(star f) x = star (f (star x))`.
This corresponds to a map being star-preserving, i.e., a map is self-adjoint iff it is star-preserving.
The name "convolution star" is just to match the naming of the _convolution_ product in #25183.
This is scoped to `ConvolutionStar` as to not conflict with the global instance on `E →ₗ[𝕜] E` on finite-dimensional Hilbert spaces, where `star` is defined as `LinearMap.adjoint`.
In a finite-dimensional C⋆-algebra with a positive linear functional, which induces the GNS Hilbert space (TODO) and a coalgebra given by the adjoint of the multiplication map and the algebra unit map (TODO), we get a star ring where multiplication is given by the convolution product and star is given by the convolution star.
In such a space, we can then define the isomorphism `(E →ₗ[ℂ] F) ≃⋆ₐ (F ⊗[ℂ] Eᵐᵒᵖ)`, which is an important identification in the theory of non-commutative graphs.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
94/0 |
Mathlib.lean,Mathlib/Algebra/Star/Convolution.lean |
2 |
1 |
['github-actions'] |
ocfnash assignee:ocfnash |
3-80198 3 days ago |
11-37422 11 days ago |
11-38182 11 days |
30117 |
euprunin author:euprunin |
chore(Data/Rat): golf entire `inv_intCast_num_of_pos` and `den_inv_of_ne_zero` using `simp` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/9 |
Mathlib/Data/Rat/Lemmas.lean |
1 |
1 |
['github-actions'] |
nobody |
3-66071 3 days ago |
3-66086 3 days ago |
3-66118 3 days |
29661 |
euprunin author:euprunin |
chore(Data): golf entire `tail_cons` using `rfl`. fix `coe_eq_image_val` theorem statement. |
---
Show trace profiling of tail_cons : <10 ms before, <10 ms after 🎉
### Trace profiling of `tail_cons` before PR 29661
```diff
diff --git a/Mathlib/Data/Seq/Defs.lean b/Mathlib/Data/Seq/Defs.lean
index fc03ab5f49..aba7137487 100644
--- a/Mathlib/Data/Seq/Defs.lean
+++ b/Mathlib/Data/Seq/Defs.lean
@@ -229,6 +229,7 @@ theorem head_cons (a : α) (s) : head (cons a s) = some a := by
theorem tail_nil : tail (nil : Seq α) = nil :=
rfl
+set_option trace.profiler true in
@[simp]
theorem tail_cons (a : α) (s) : tail (cons a s) = s := by
obtain ⟨f, al⟩ := s
```
```
✔ [428/428] Built Mathlib.Data.Seq.Defs (3.8s)
Build completed successfully (428 jobs).
```
### Trace profiling of `tail_cons` after PR 29661
```diff
diff --git a/Mathlib/Data/Seq/Defs.lean b/Mathlib/Data/Seq/Defs.lean
index fc03ab5f49..ad65ea7a8f 100644
--- a/Mathlib/Data/Seq/Defs.lean
+++ b/Mathlib/Data/Seq/Defs.lean
@@ -229,11 +229,9 @@ theorem head_cons (a : α) (s) : head (cons a s) = some a := by
theorem tail_nil : tail (nil : Seq α) = nil :=
rfl
+set_option trace.profiler true in
@[simp]
-theorem tail_cons (a : α) (s) : tail (cons a s) = s := by
- obtain ⟨f, al⟩ := s
- apply Subtype.eq
- dsimp [tail, cons]
+theorem tail_cons (a : α) (s) : tail (cons a s) = s := rfl
theorem head_eq_some {s : Seq α} {x : α} (h : s.head = some x) :
s = cons x s.tail := by
diff --git a/Mathlib/Data/Set/Functor.lean b/Mathlib/Data/Set/Functor.lean
index 35063a2feb..7b52b24536 100644
--- a/Mathlib/Data/Set/Functor.lean
+++ b/Mathlib/Data/Set/Functor.lean
@@ -139,10 +139,7 @@ as was defined in `Data.Set.Notation`. -/
attribute [local instance] Set.monad in
/-- The coercion from `Set.monad` as an instance is equal to the coercion in `Data.Set.Notation`. -/
theorem coe_eq_image_val (t : Set s) :
- @Lean.Internal.coeM Set s α _ _ t = (t : Set α) := by
- change ⋃ (x ∈ t), {x.1} = _
- ext
- simp
+ @Lean.Internal.coeM Set s α _ _ t = (t : Set α) := rfl
variable {β : Set α} {γ : Set β} {a : α}
```
```
✔ [428/428] Built Mathlib.Data.Seq.Defs (1.0s)
Build completed successfully (428 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/5 |
Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Set/Functor.lean |
2 |
7 |
['Ruben-VandeVelde', 'eric-wieser', 'euprunin', 'github-actions'] |
nobody |
3-63040 3 days ago |
3-63087 3 days ago |
6-8458 6 days |
26464 |
joelriou author:joelriou |
feat(LinearAlgebra): generators of pi tensor products |
In this PR, we show that the `R`-module `⨂[R] i, M i` is finitely generated if the index type is finite and all `M i` are finitely generated. This follows from a more precise result about generators of `⨂[R] i, M i`.
---
This PR continues the work from #18725.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18725 |
file-removed
t-algebra
label:t-algebra$ |
270/5 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
10 |
21 |
['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
3-58862 3 days ago |
15-15684 15 days ago |
81-65056 81 days |
29713 |
jessealama author:jessealama |
feat (Algebra/Homology): add Euler–Poincaré formula |
This PR adds the Euler characteristic for chain complexes and proves the Euler-Poincaré formula relating the alternating sum of chain dimensions to the alternating sum of homology dimensions.
### Main definitions (in `EulerCharacteristic.lean`)
* `ChainComplex.boundedEulerChar`: The Euler characteristic over a finite set
* `ChainComplex.eulerChar`: The Euler characteristic as an infinite sum
* `ChainComplex.homologyBoundedEulerChar`: The homological Euler characteristic over a finite set
* `ChainComplex.homologyEulerChar`: The homological Euler characteristic as an infinite sum
Both bounded and infinite definitions work with ℤ-indexed complexes over any ring R.
The file also includes theorems relating the formally infinite sums to finite sums when there is finite support:
* `ChainComplex.eulerChar_eq_boundedEulerChar`: The infinite Euler characteristic equals the bounded one when the chain complex vanishes outside a finite set
* `ChainComplex.homologyEulerChar_eq_homologyBoundedEulerChar`: The infinite homological Euler characteristic equals the bounded one when homology vanishes outside a finite set
### Main result (in `EulerPoincare.lean`)
* `ChainComplex.eulerChar_eq_homology_eulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions.
---
Related to: #29639, #29643, #29646 |
new-contributor
t-algebra
label:t-algebra$ |
444/0 |
Mathlib.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
3 |
19 |
['github-actions', 'jessealama', 'joelriou', 'kim-em'] |
dagurtomas assignee:dagurtomas |
3-58807 3 days ago |
18-32593 18 days ago |
19-42442 19 days |
28162 |
EtienneC30 author:EtienneC30 |
feat: define positive semidefinite sesquilinear maps |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
34/0 |
Mathlib/LinearAlgebra/SesquilinearForm.lean |
1 |
6 |
['EtienneC30', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
3-54729 3 days ago |
6-45386 6 days ago |
17-7110 17 days |
30119 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: WithTop/Bot.mapD |
To replace Option.elim; working towards #27918
---
[](https://gitpod.io/from-referrer/)
|
t-order |
32/4 |
Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean |
2 |
1 |
['github-actions'] |
nobody |
3-53422 3 days ago |
3-53606 3 days ago |
3-53648 3 days |
26923 |
oliver-butterley author:oliver-butterley |
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) |
The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem.
Co-authored-by: Lua Viana Reis
- [x] depends on: #26074
- [x] depends on: #26807
- [x] depends on: #26810
- [x] depends on: #26840
- [x] depends on: #26842
- [x] depends on: #26848
- [x] depends on: #26851
- [x] depends on: #26852
- [x] depends on: #26853
- [x] depends on: #27008
- [x] depends on: #28901
Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-dynamics
|
401/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean |
2 |
13 |
['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
3-47706 3 days ago |
40-66549 1 month ago |
47-36016 47 days |
26956 |
mariainesdff author:mariainesdff |
feat(RingTheory/DividedPowers/Basic): add divided power structure on pZp |
We construct a divided power structure on the ideal `(p) ⊆ ℤ_[p]`, given by the family of maps `fun n x ↦ x^n / n!`.
Co-authored-by: @AntoineChambert-Loir
---
- [x] depends on: #22322
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
237/0 |
Mathlib.lean,Mathlib/RingTheory/DividedPowers/Padic.lean |
2 |
18 |
['github-actions', 'loefflerd', 'mariainesdff', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
loefflerd and mattrobball assignee:loefflerd assignee:mattrobball |
3-44482 3 days ago |
19-33705 19 days ago |
76-66714 76 days |
30123 |
erdOne author:erdOne |
feat(Topology): add `IsCompact.closure_eq_nhdsKer` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/0 |
Mathlib/Topology/Separation/Regular.lean |
1 |
1 |
['github-actions'] |
nobody |
3-44261 3 days ago |
3-44271 3 days ago |
3-44304 3 days |
30124 |
erdOne author:erdOne |
feat(RingTheory): `IsAdicComplete I R ↔ CompleteSpace R ∧ T2Space R` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-topology
label:t-algebra$ |
40/0 |
Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Topology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Separation/Basic.lean |
5 |
1 |
['github-actions'] |
nobody |
3-43208 3 days ago |
3-43208 3 days ago |
3-43311 3 days |
27673 |
b-reinke author:b-reinke |
feat(GroupTheory/FreeGroup): add cyclic reduction of words |
This PR adds the definition of `reduceCyclically`. This function produces a subword of a word `w` by cancelling the first and last letters of `w` as long as possible. If `w` is reduced, the resulting word will be cyclically reduced.
It is a part of a series of PR on the theory of cyclically reduced words.
Upstreamed from the [EquationalTheories](https://github.com/teorth/equational_theories) project.
- [x] depends on: #25966
- [x] depends on: #27672
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
76/0 |
Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean |
1 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
3-42321 3 days ago |
4-56863 4 days ago |
4-58174 4 days |
29935 |
ineol author:ineol |
fix: cache fails when Mathlib is a nightly dependency |
Cache should on check for the nightly-testing remote when it is run from the Mathlib root and not from a repo which depends on Mathlib.
Fixes #28594
---
I don't know how to test this fix since it would need to be in a nightly release, but at least it is working when ran from from tip of master.
[](https://gitpod.io/from-referrer/)
|
new-contributor
CI
|
3/3 |
Cache/Requests.lean |
1 |
3 |
['github-actions', 'ineol', 'robin-carlier'] |
kim-em assignee:kim-em |
3-37866 3 days ago |
3-37866 3 days ago |
11-48508 11 days |
27364 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupCohomology): cohomology of finite cyclic groups |
Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0` and by `Cochains(A, φ, ψ)` the periodic cochain complex `0 ⟶ A --ψ--> A --φ--> A --ψ--> A --φ--> A ⟶ ...`.
When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `Hom(P, A)` is isomorphic to
`Cochains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the cohomology of this complex computes group cohomology.
---
- [x] depends on: #27362
- [x] depends on: #27361
- [x] depends on: #27363
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
142/1 |
Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-26885 3 days ago |
3-27219 3 days ago |
3-29786 3 days |
27365 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupHomology): homology of finite cyclic groups |
Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0`.
When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation.
In this PR we show that for `A : Rep k G`, `(A ⊗ P)_G` is isomorphic to `Chains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the homology of this complex computes group homology.
---
- [x] depends on: #27362
- [x] depends on: #27361
- [x] depends on: #27363
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
142/1 |
Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-26877 3 days ago |
3-27105 3 days ago |
3-29552 3 days |
26975 |
Whysoserioushah author:Whysoserioushah |
feat: a norm_num extension for complex numbers |
co-authored-by : @thefundamentaltheor3m, @hrmacbeth
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
350/0 |
Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/NormNumI.lean,MathlibTest/norm_numI.lean |
5 |
47 |
['Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] |
robertylewis assignee:robertylewis |
3-26116 3 days ago |
80-17922 2 months ago |
80-22230 80 days |
30131 |
fpvandoorn author:fpvandoorn |
feat: alias_in attribute |
* A small wrapper for adding an alias of a declaration in another namespace.
* application time `.afterCompilation` is necessary for `#eval` to work correctly
* Docstrings are copied, jump-to-definition works (no test in the test file, but tested locally)
* To be used for CW-complexes, where lemmas are frequently duplicated between `RelCWComplex` and `CWComplex`.
---
[](https://gitpod.io/from-referrer/)
cc @scholzhannah
|
t-meta |
93/0 |
Mathlib.lean,Mathlib/Util/AliasIn.lean,MathlibTest/Util/AliasIn.lean |
3 |
1 |
['github-actions'] |
nobody |
3-23783 3 days ago |
3-23783 3 days ago |
3-23761 3 days |
30133 |
smmercuri author:smmercuri |
feat: `WithVal v` and `WithVal w` are isomorphic as uniform spaces when `v` and `w` are equivalent valuations |
---
[](https://gitpod.io/from-referrer/)
|
|
93/0 |
Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
2 |
1 |
['github-actions'] |
nobody |
3-21611 3 days ago |
3-21683 3 days ago |
3-21659 3 days |
30130 |
Bergschaf author:Bergschaf |
feat(GroupTheory/FreeGroup/Orbit): The orbit of a point generated by parts of a free group can be "duplicated" |
Applying `w⁻¹` to the orbit generated by all elements of a free group that start with `w` yields
the orbit generated by all the words that start with every letter execpt `w⁻` (and the original point)
The orbit of a point `x` generated by a set of group elements `s` defined as all the points that can be reached by applying the elements of `s` to `x`.
A special case of this result is needed for the banach tarski theorem.
---
I tried my best to shorten the proof of orbit.duplicate, but is quite long. There are some aspects that are duplicated due to case splits but I don't konw if it is possible to avoid that. I'd apprectiate some tips on that.
And I'm not quite sure about the naming of the theorems and definitions, please let me know if you have other (better) ideas!
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
135/0 |
Mathlib.lean,Mathlib/GroupTheory/FreeGroup/Orbit.lean |
2 |
1 |
['github-actions'] |
nobody |
3-11794 3 days ago |
3-27002 3 days ago |
3-27044 3 days |
30141 |
shalliso author:shalliso |
fix(Topology/Baire/Lemmas): fix index type in isMeagre_iUnion |
The index set ι needs to be of type Sort* instead of type Type* in isMeagre_iUnion otherwise I get the following message when I try to use it:
typeclass instance problem is stuck, it is often due to metavariables
Countable ?m.27
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
1/1 |
Mathlib/Topology/GDelta/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-6514 3 days ago |
3-6527 3 days ago |
3-6561 3 days |
30071 |
Jlh18 author:Jlh18 |
feat: dualize Pseudofunctor.CoGrothendieck results to Pseudofunctor.Grothendieck |
Continuing from #29681, dualize all definitions and lemmas in the namespace `Pseudofunctor.CoGrothendieck` to results in the namespace `Pseudofunctor.Grothendieck`.
- [ ] depends on: #29681
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
121/9 |
Mathlib/CategoryTheory/Bicategory/Grothendieck.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-4575 3 days ago |
4-12937 4 days ago |
4-23442 4 days |
30140 |
chrisflav author:chrisflav |
feat(AlgebraicGeometry): locally directed colimits in `P.Over ⊤ S` |
We lift the colimit properties of `Scheme` to `P.Over ⊤ S` if `IsLocalAtSource P`. In particular, `P.Over ⊤ S` has pushouts along open immersions and (small) coproducts.
We also add two instances, that make
```
example [IsLocalAtSource P] {U X Y : Scheme.{u}} (f : U ⟶ X) (g : U ⟶ Y)
[IsOpenImmersion f] [IsOpenImmersion g] : HasPushout f g :=
inferInstance
```
work.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
164/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/LimitsOver.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean |
5 |
1 |
['github-actions'] |
nobody |
3-4413 3 days ago |
3-7711 3 days ago |
3-7688 3 days |
30030 |
JonBannon author:JonBannon |
feat(MeasureTheory): add `MemLp.Const` class and instances to unify `p = ∞` and `μ.IsFiniteMeasure` cases |
Although it is possible to ensure that, for example, the `One` instances for `p=∞` and `μ.IsFiniteMeasure` are defeq, introducing an `MemLp.Const` typeclass removes the need to unfold extensively to check this definitional equality, improving performance. cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Lp.20constant.20function.20issue/with/537563137
This PR introduces the requisite class and associated instances.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
85/55 |
Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean |
6 |
13 |
['JonBannon', 'github-actions', 'j-loreaux'] |
nobody |
3-1318 3 days ago |
5-80525 5 days ago |
8-580 8 days |
29728 |
ADA-Projects author:ADA-Projects |
feat(Topology/KrullDimension): add subspace dimension inequality |
This PR extends topological Krull dimension theory with basic results about subspaces.
- Add mapIrreducibleClosed function for canonical maps between irreducible closed sets
- Prove injectivity and strict monotonicity of these maps
- Establish partial order structure on IrreducibleCloseds
- Prove topKrullDim_subspace_le theorem showing dim(Y) ≤ dim(X) for subspaces
**Update (per reviewer feedback):**
Reorganized code structure as requested:
- Moved `IrreducibleCloseds` extensions from `KrullDimension.lean` to `Sets/Closeds.lean`
- This includes `PartialOrder` instance, `map` functions, and embedding lemmas
- Better modularity: other files can now use `IrreducibleCloseds` without importing Krull dimension theory
The main result `topologicalKrullDim_subspace_le` remains the same - any subspace Y has dim(Y) ≤ dim(X).
Some sections of this code (and documentation) were generated with the help of Gemini.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
146/20 |
Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean |
2 |
9 |
['ADA-Projects', 'fpvandoorn', 'github-actions', 'kim-em'] |
PatrickMassot assignee:PatrickMassot |
2-80204 2 days ago |
10-49644 10 days ago |
10-66364 10 days |
29743 |
loefflerd author:loefflerd |
feat(Topology/Algebra): discrete iff finite index subgroup discrete |
Show that if G is a topological group and H is a finite-index subgroup, then H is discrete iff G is.
---
- [x] depends on: #29648
[](https://gitpod.io/from-referrer/)
|
t-topology |
153/9 |
Mathlib.lean,Mathlib/Data/Set/Constructions.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/DiscreteSubset.lean |
6 |
8 |
['Ruben-VandeVelde', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
2-80203 2 days ago |
10-29718 10 days ago |
12-70050 12 days |
29954 |
kckennylau author:kckennylau |
feat(RingTheory): an algebra that is an invertible module is isomorphic to the base ring |
This PR considers the case where we have an `R`-algebra `A` which is also an invertible `R`-module, then constructs an isomorphism between `R` and `A` as `R`-algebras:
```lean
variable (R A : Type*) [CommSemiring R] [Semiring A] [Algebra R A] [Module.Invertible R A]
def algEquivOfRing : R ≃ₐ[R] A :=
```
---
Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/an.20algebra.20that.20is.20module-invertible.20is.20the.20base.20ring/with/541351797
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
90/0 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/PicardGroup.lean |
2 |
1 |
['github-actions'] |
ocfnash assignee:ocfnash |
2-80199 2 days ago |
10-30170 10 days ago |
10-76155 10 days |
29964 |
Vierkantor author:Vierkantor |
feat(TacticAnalysis): check if we are in a `try`/`anyGoals` context |
This PR adds a check if the tactic is being run in a `try` or `anyGoals` call, so that we do not add a warning for the original tactic failing in this context. This was the source of a few "original tactic failed" in the `grind` regression reports.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
71/31 |
Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean |
3 |
1 |
['github-actions'] |
adamtopaz assignee:adamtopaz |
2-80197 2 days ago |
10-52593 10 days ago |
10-52571 10 days |
29967 |
kim-em author:kim-em |
chore: fix longest pole utilities, and verify in CI |
We should consider outright deleting these. The fact that they were broken is good evidence they haven't been used recently. Sebastian also has a good replacement available (that is aware of the module system), although I'm not sure it's deployed yet. |
CI |
26/22 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,LongestPole/Main.lean,LongestPole/Unused.lean |
6 |
2 |
['bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
2-80196 2 days ago |
10-43798 10 days ago |
10-43834 10 days |
29976 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Topology/Semicontinuous): lower bounds on compact sets |
Prove that lower semicontinuous functions attain their lower bound on nonempty compact sets, and the analogous lemma for upper semicontinuous functions.
By the way, add several basic results for semicontinuous functions, relating the WithinAt, At, On versions.
Co-authored with @ADedecker
---
[](https://gitpod.io/from-referrer/)
|
|
300/1 |
Mathlib/Order/Filter/Extr.lean,Mathlib/Topology/Semicontinuous.lean |
2 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
2-80194 2 days ago |
10-13159 10 days ago |
10-13135 10 days |
26219 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/KrullDimension): Krull Dimension of quotient regular sequence |
We show that if M is a finite module over a Noetherian local ring R, [r₁, …, rₙ] is an M-sequence, then dim M⧸(r₁, …, rₙ)M + n = dim M.
Co-authored-by: Yongle Hu @mbkybky
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
225/15 |
Mathlib.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Support.lean |
9 |
n/a |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mbkybky'] |
chrisflav assignee:chrisflav |
2-76028 2 days ago |
unknown |
unknown |
28241 |
alreadydone author:alreadydone |
chore(Data): `SetLike Finset` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
56/65 |
Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Attach.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Probability/Independence/Kernel.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/Separation/Basic.lean |
27 |
5 |
['alreadydone', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
2-75270 2 days ago |
2-75270 2 days ago |
35-62241 35 days |
29558 |
Thmoas-Guan author:Thmoas-Guan |
feat(Algebra): definition of global dimension |
In this PR, we define projective dimension and global dimension using `CategoryTheory.HasProjectiveDimensionLT`
---
- [ ] depends on: #29882
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
212/0 |
Mathlib.lean,Mathlib/RingTheory/GlobalDimension.lean |
2 |
7 |
['Thmoas-Guan', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
2-73835 2 days ago |
11-37932 11 days ago |
12-40188 12 days |
30148 |
mbkybky author:mbkybky |
chore(RingTheory/Spectrum/Prime/Module): golf `stableUnderSpecialization_support` using `mem_support_mono` |
Golf [Module.stableUnderSpecialization_support](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Spectrum/Prime/Module.html#Module.stableUnderSpecialization_support) using [Module.mem_support_mono](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Support.html#Module.mem_support_mono).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
2/6 |
Mathlib/RingTheory/Spectrum/Prime/Module.lean |
1 |
1 |
['github-actions'] |
nobody |
2-71490 2 days ago |
2-71503 2 days ago |
2-71538 2 days |
30003 |
vlad902 author:vlad902 |
feat(Order): helper lemmas for `IsChain`/`IsAntichain` |
These were useful in formalizing Dilworth's theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
16/0 |
Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean |
2 |
6 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vlad902'] |
nobody |
2-61261 2 days ago |
2-61290 2 days ago |
9-17632 9 days |
29835 |
vlad902 author:vlad902 |
feat(Order): add `IsMaxAntichain` and some lemmas for `IsMaxChain` |
Define `IsMaxAntichain` to be the antichain analogue of `IsMaxChain` and add some useful lemmas to both that I needed for proving Mirsky's theorem.
- [ ] depends on: #29834
---
[](https://gitpod.io/from-referrer/)
|
t-order |
51/0 |
Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-60798 2 days ago |
3-10498 3 days ago |
3-10824 3 days |
30059 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib/Algebra/QuadraticAlgebra): norm, star structure on quadratic alg. |
Define the norm and the star structure on a quadratic algebra.
Application to the units and the zero divisors.
The file `Mathlib.Algebra.QuadraticAlgebra.lean` has been renamed to `Mathlib.Algebra.QuadraticAlgebra/Defs.lean`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
416/1 |
Mathlib.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/QuadraticAlgebra.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean |
4 |
29 |
['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'j-loreaux'] |
riccardobrasca assignee:riccardobrasca |
2-57012 2 days ago |
3-351 3 days ago |
6-78510 6 days |
30069 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add lemma `IsTree.dist_ne_of_adj` and necessary lemmas |
This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
34/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
7 |
['github-actions', 'themathqueen', 'vlad902'] |
nobody |
2-53896 2 days ago |
6-26991 6 days ago |
6-32742 6 days |
30120 |
FernandoChu author:FernandoChu |
feat(CategoryTheory): Pullback of equalizer is an equalizer |
We show that the pullback of an equalizer (seen as a subobject) along some morphism `h` is the subobject that comes from the equalizer of the two original arrows precomposed with `h`. A `TODO` was completed in the process.
This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. |
large-import
t-category-theory
|
112/2 |
Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackCone.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Limits.lean |
5 |
3 |
['FernandoChu', 'github-actions', 'joelriou'] |
nobody |
2-47189 2 days ago |
2-47189 2 days ago |
2-52827 2 days |
30152 |
YaelDillies author:YaelDillies |
feat(Filter): a finite set is eventually a subset of any exhaustion |
This will be used to prove a sort of compactness result for finite minors of a graph.
From the ProofBench workshop
---
[](https://gitpod.io/from-referrer/)
|
t-order |
4/0 |
Mathlib/Order/Filter/Finite.lean |
1 |
2 |
['github-actions', 'kckennylau'] |
nobody |
2-46454 2 days ago |
2-56512 2 days ago |
2-56506 2 days |
30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-45938 2 days ago |
2-45946 2 days ago |
2-45980 2 days |
30111 |
sgouezel author:sgouezel |
feat: composing a continuous multilinear map with continuous linear maps is analytic in both variables |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-analysis
|
133/0 |
Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean |
2 |
15 |
['github-actions', 'loefflerd', 'sgouezel'] |
nobody |
2-45542 2 days ago |
2-45542 2 days ago |
2-75109 2 days |
30121 |
idontgetoutmuch author:idontgetoutmuch |
Principal fiber bundle core |
A structure capturing what it means to be a principal fibre bundle.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-differential-geometry
|
227/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean |
2 |
5 |
['github-actions', 'grunweg'] |
nobody |
2-44886 2 days ago |
2-57860 2 days ago |
3-50812 3 days |
29734 |
bwangpj author:bwangpj |
feat(Probability/Kernel): \phi-irreducibility of kernels |
Define powers of kernels, the Chapman-Kolmogorov equations, as well as \phi-irreducibility of kernels, following Robert-Casella, "Monte Carlo Statistical Methods", Definition 6.13.
Co-authored-by: Matteo Cipollina @or4nge19
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
160/8 |
Mathlib.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/CompMap.lean,Mathlib/Probability/Kernel/Irreducible.lean,docs/references.bib |
5 |
6 |
['RemyDegenne', 'bwangpj', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
2-39733 2 days ago |
12-28891 12 days ago |
18-67929 18 days |
29447 |
j-loreaux author:j-loreaux |
chore(Analysis/NormedSpace/HahnBanach): move and split files |
This moves or splits the files in `Analysis/NormedSpace/HahnBanach/` accordingly:
- `Separation` → `Analysis/LocallyConvex/Separation`
- `Extension` → `Analysis/Normed/Module/HahnBanach/Extension`
- `SeparatingDual`: split, mostly in `Analysis/LocallyConvex/SeparatingDual`, but a few completeness results are sent to `Analysis/Normed/Module/HahnBanach/Completeness`.
The split allows us to significantly reduce the imports of `SeparatingDual`, albeit with a new proof that a normed space over `RCLike 𝕜` has a separating dual. Here we use the geometric Hahn-Banach theorem instead of the analytic one.
This is part of #28698 to migrate the material in `Analysis/NormedSpace/` to other locations.
---
- [ ] depends on: #29445
[](https://gitpod.io/from-referrer/)
|
file-removed |
102/77 |
Counterexamples/Phillips.lean,Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Convex/KreinMilman.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/HahnBanach/Completeness.lean,Mathlib/Analysis/Normed/Module/HahnBanach/Extension.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean |
17 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-35897 2 days ago |
2-36733 2 days ago |
4-16243 4 days |
30163 |
NotWearingPants author:NotWearingPants |
feat(Data/Set/Lattice): useful equivalences of `biUnion` and `biInter` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
25/0 |
Mathlib/Data/Set/Lattice.lean |
1 |
1 |
['github-actions'] |
nobody |
2-35052 2 days ago |
2-35052 2 days ago |
2-35102 2 days |
27400 |
dleijnse author:dleijnse |
feat: define geometrically reduced algebras |
Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
117/0 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Nilpotent/Defs.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
6 |
72 |
['dleijnse', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
2-34157 2 days ago |
2-34194 2 days ago |
69-46006 69 days |
30159 |
joelriou author:joelriou |
chore: make Opposite.small an instance |
If `X` is small, so is `Xᵒᵖ`. It no longer seems to be dangerous to have such an instance. (Which shall be convenient for #30160.)
---
[](https://gitpod.io/from-referrer/)
|
t-data
t-category-theory
easy
|
2/3 |
Mathlib/Data/Opposite.lean |
1 |
5 |
['github-actions', 'joelriou', 'leanprover-bot'] |
nobody |
2-32623 2 days ago |
2-32623 2 days ago |
2-32601 2 days |
30167 |
RemyDegenne author:RemyDegenne |
feat: Fernique's theorem for Gaussian distributions |
For a Gaussian measure on a second-countable normed space, there exists `C > 0` such that the function `x ↦ exp (C * ‖x‖ ^ 2)` is integrable. As a consequence, a Gaussian measure in a second-countable Banach space has finite moments of all orders.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
275/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/Basic.lean,Mathlib/Probability/Distributions/Gaussian/Fernique.lean,docs/1000.yaml |
4 |
2 |
['RemyDegenne', 'github-actions'] |
nobody |
2-32236 2 days ago |
2-32266 2 days ago |
2-32305 2 days |
29759 |
NotWearingPants author:NotWearingPants |
feat(Analysis/SpecificLimits/Fibonacci): prove that the ratio of consecutive Fibonacci numbers tends to the golden ratio |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-analysis
|
36/0 |
Mathlib.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean |
2 |
7 |
['NotWearingPants', 'Ruben-VandeVelde', 'github-actions', 'kckennylau'] |
nobody |
2-30895 2 days ago |
2-30896 2 days ago |
9-86272 9 days |
30147 |
NotWearingPants author:NotWearingPants |
feat(NumberTheory/ArithmeticFunction): add some lemmas |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-number-theory
|
23/1 |
Mathlib/NumberTheory/ArithmeticFunction.lean |
1 |
2 |
['github-actions', 'kckennylau'] |
nobody |
2-30286 2 days ago |
2-76820 2 days ago |
2-76852 2 days |
28797 |
xroblot author:xroblot |
feat(DedekindDomain/Ideal): `relNorm` of a prime ideal |
The relative norm of the maximal ideal `P` above the maximal ideal `p` is equal to `p ^ p.inertiaDeg P`.
---
- [x] depends on: #27105
- [x] depends on: #27157
- [x] depends on: #28169
- [x] depends on: #28738
- [x] depends on: #28724
- [x] depends on: #29068
- [x] depends on: #29069
- [x] depends on: #29907
|
t-ring-theory |
166/1 |
Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean |
3 |
17 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'xroblot'] |
riccardobrasca assignee:riccardobrasca |
2-28500 2 days ago |
4-42832 4 days ago |
4-50792 4 days |
29649 |
MichaelStollBayreuth author:MichaelStollBayreuth |
feat(Analysis/Normed/Algebra/GelfandMazur): new file |
This adds two version of the *Gelfand-Mazur* *Theorem*:
```lean
NormedAlgebra.Complex.nonempty_algEquiv (F : Type*) [NormedRing F] [NormOneClass F]
[NormMulClass F] [NormedAlgebra ℂ F] [Nontrivial F] :
Nonempty (ℂ ≃ₐ[ℂ] F)
NormedAlgebra.Real.nonempty_algEquiv_or (F : Type*) [NormedField F] [NormedAlgebra ℝ F] :
Nonempty (F ≃ₐ[ℝ] ℝ) ∨ Nonempty (F ≃ₐ[ℝ] ℂ)
```
The version for complex algebras differs in its assumptions from the existing version [NormedRing.algEquivComplexOfComplete](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Algebra/Spectrum.html#NormedRing.algEquivComplexOfComplete) (nontrivial normed algebra with multiplicative norm vs. complete division ring with submultiplicative norm).
A version for real algebras is not yet in Mathlib; it is needed in the context of implementing (absolute) heights; see [Heights](https://github.com/MichaelStollBayreuth/Heights).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
367/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean |
2 |
6 |
['MichaelStollBayreuth', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
2-28252 2 days ago |
9-27968 9 days ago |
21-11188 21 days |
30004 |
luigi-massacci author:luigi-massacci |
feat(MeasureTheory/Integral/TestAgainst): integrating BCFs against a finite measure or an L1Loc map as CLMs |
This PR merges #29511 and #29748. Create a new file `TestAgainst.lean` with definitions wrapping integration against a finite measure or a locally integrable map as continuous linear maps on bounded continuous functions.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
t-analysis
|
113/1 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/TestAgainst.lean |
3 |
38 |
['EtienneC30', 'github-actions', 'j-loreaux', 'luigi-massacci'] |
EtienneC30 assignee:EtienneC30 |
2-27331 2 days ago |
2-27512 2 days ago |
8-45862 8 days |
26267 |
vasnesterov author:vasnesterov |
feat(Analysis/Calculus): Taylor series converges to function on whole ball |
* Prove `FormalMultilinearSeries.AnalyticOnNhd`: the sum of series is analytic on its ball of convergence.
* Prove `AnalyticOn.hasFPowerSeriesOnBall`: a variant of `AnalyticAt.hasFPowerSeriesAt` which gives convergence to the function on the ball of convergence.
---
- [x] depends on: #23745
- [x] depends on: #23747
- [x] depends on: #23748
- [x] depends on: #26247
This PR continues the work from #23749.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23749 |
t-analysis |
65/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/IteratedDeriv/ConvergenceOnBall.lean |
3 |
5 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] |
urkud assignee:urkud |
2-26435 2 days ago |
46-30994 1 month ago |
93-15861 93 days |
29754 |
or4nge19 author:or4nge19 |
feat(Combinatorics/Quiver): add strongly connected quivers |
Define strongly connected quivers and their components. Add both standard strong connectivity (allowing length-0 paths) and positive-path strong connectivity. Establish basic properties and relationships to weak connectivity via symmetrification.
This is part of Perron Frobenius theorem and grounds its characterization/def of Irreducible matrices and Markov chain analysis in subsequent PRs.
split from #28728
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
210/5 |
Mathlib/Combinatorics/Quiver/ConnectedComponent.lean |
1 |
13 |
['github-actions', 'ocfnash', 'or4nge19'] |
ocfnash assignee:ocfnash |
2-25090 2 days ago |
5-11852 5 days ago |
15-79045 15 days |
30171 |
smmercuri author:smmercuri |
feat(DedekindDomain/AdicValuation): `le_one` lemmas for `HeightOneSpectrum.valuation` and specialisations to `Rat` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
53/0 |
Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
1 |
1 |
['github-actions'] |
nobody |
2-24623 2 days ago |
2-24740 2 days ago |
2-24771 2 days |
29981 |
mans0954 author:mans0954 |
feat(Algebra/Polynomial/Degree/SmallDegree): eq_quadratic_of_degree_le_two |
Expansion of a polynomial of degree 2.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #30046 |
t-algebra label:t-algebra$ |
7/0 |
Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
1 |
9 |
['JovanGerb', 'github-actions', 'mans0954', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
2-24045 2 days ago |
6-23197 6 days ago |
9-17433 9 days |
29856 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing |
Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`.
Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
110/11 |
Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean |
2 |
1 |
['github-actions'] |
ADedecker assignee:ADedecker |
2-23987 2 days ago |
14-33762 14 days ago |
14-33772 14 days |
30070 |
adomani author:adomani |
CI: remove deprecations automatically |
This workflow automates the removal of deprecated declarations. The action is currently configured to run once a week to automatically remove all deprecations older than 6 months.
This is managed by the `remove_deprecated_decls` action and depends on the two files `Mathlib/Tactic/Linter/CommandRanges.lean` and `Mathlib/Tactic/Linter/FindDeprecations.lean`.
The action can be manually triggered and there is the option of passing two dates in `YYYY-MM-DD` format or also the more human "3 months ago", as long as it is a valid input for `date -d`.
The lean files take care of identifying the declarations with the deprecated attribute whose `since` field is between the given ranges.
Those declarations then get automatically removed and, if there are no errors, the bot creates a PR with the changes.
These PRs then go, naturally, through CI, where issues related to having removed the deprecated declarations will be picked up. The bot also posts a comment on Zulip mentioning when the PR has been opened.
Co-authored-by: Bryan Gin-ge Chen
---
[](https://gitpod.io/from-referrer/)
|
CI |
595/0 |
.github/workflows/remove_deprecated_decls.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CommandRanges.lean,Mathlib/Tactic/Linter/FindDeprecations.lean,MathlibTest/FindDeprecations.lean |
6 |
26 |
['Vierkantor', 'adomani', 'bryangingechen', 'github-actions'] |
nobody |
2-22576 2 days ago |
4-72913 4 days ago |
5-15869 5 days |
30180 |
mcdoll author:mcdoll |
feat(Analysis/Calculus): add a version of bounding iterated derivatives of compositions with fewer assumptions on differentiability |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
17/3 |
Mathlib/Analysis/Calculus/ContDiff/Bounds.lean |
1 |
1 |
['github-actions'] |
nobody |
2-19830 2 days ago |
2-19836 2 days ago |
2-19874 2 days |
30162 |
bryangingechen author:bryangingechen |
ci(label_new_contributor.yml): only trigger when PR is opened |
Currently, this is triggered even when new bots push a commit to a PR (e.g. the pre-commit.ci bot); adding the `types` filter will prevent the `new-contributor` label being added in such cases.
---
[](https://gitpod.io/from-referrer/)
|
CI |
8/1 |
.github/workflows/label_new_contributor.yml |
1 |
4 |
['bryangingechen', 'github-actions', 'pechersky'] |
nobody |
2-13346 2 days ago |
2-36080 2 days ago |
2-36058 2 days |
30137 |
vlad902 author:vlad902 |
feat(SimpleGraph): subsingleton/nontrivial helper lemmas |
Helper lemmas I found useful in mutliple PRs for dispatching trivial cases.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
22/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-13301 2 days ago |
3-10891 3 days ago |
3-10926 3 days |
30173 |
kckennylau author:kckennylau |
chore: generalise extensionality lemmas for localization |
This PR generalises some extensionality lemmas for morphisms from localization. The codomains are generalised from `CommMonoid` to `Monoid`, and from `CommSemiring` to `Semiring`. Then two new extensionality lemmas for algebra morphisms are added.
Currently `Submonoid.LocalizationMap.epic_of_localizationMap` says that if `M` and `P` are commutative monoids, and `f : M →* N` is a localization map for a submonoid `S`, then two monoid homs `j k : N →* P` are equal if they are equal after composing with `f`. This PR relaxes the assumption on `P` from `CommMonoid` to `Monoid`. Similar generalisations are made in other places, and then two new lemmas for `AlgHom` are added.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/18 |
Mathlib/Algebra/Category/Ring/Instances.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
5 |
1 |
['github-actions'] |
nobody |
2-13085 2 days ago |
2-22184 2 days ago |
2-22169 2 days |
29705 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix): formula for charpoly of an inverse matrix |
Co-authored-by: Aristotle Harmonic
---
- [x] depends on: #29709 to re-organized some imports
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/0 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
7 |
['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
Vierkantor assignee:Vierkantor |
2-11968 2 days ago |
10-26596 10 days ago |
10-36153 10 days |
26785 |
TOMILO87 author:TOMILO87 |
feat: beta distribution |
Add the Beta distribution to the probability distributions in mathlib4
This PR introduces the Beta distribution on the reals.
Main definitions:
- betaPDFReal (α β x : ℝ) — the probability density function as a real-valued function
- betaPDF (α β x : ℝ) — the pdf as a ℝ≥0∞-valued function
- betaMeasure (α β : ℝ) — the probability measure associated with the Beta distribution
Main results:
- lintegral_betaPDF_eq_one — proof that the pdf integrates to 1 (normalization)
- Lemmas on positivity, measurability, and integrability of the pdf
- isProbabilityMeasureBeta — the Beta measure is a probability measure
Notes:
- Follows the general structure of other distributions in mathlib (e.g. Gamma).
- Several unused helper lemmas were removed, and proofs streamlined in response to reviewer feedback.
- Thanks to @EtienneC30 and @RemyDegenne for detailed reviews across multiple rounds.
This is a clean version of the PR originally opened as [#25608](https://github.com/leanprover-community/mathlib4/pull/25608) and temporarily migrated in [#26325](https://github.com/leanprover-community/mathlib4/pull/26325).
|
new-contributor
t-measure-probability
|
152/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
3 |
49 |
['EtienneC30', 'RemyDegenne', 'TOMILO87', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
2-7119 2 days ago |
11-51604 11 days ago |
70-6733 70 days |
29284 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): naturality lemmas for Core construction |
Lemmas for PR #29283 to prove that `Core` is the right adjoint to the forgetful functor from `Cat` to `Grpd`.
These lemmas are more general than that setting, and need not be stated in the bundled format.
- [ ] depends on: #29250
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
62/0 |
Mathlib/CategoryTheory/Core.lean |
1 |
14 |
['Jlh18', 'adomani', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-6939 2 days ago |
2-6939 2 days ago |
16-20759 16 days |
29004 |
euprunin author:euprunin |
chore: change from `:= by rfl` to `:= rfl` |
For `@[simp]` lemmas this makes them usable by `dsimp`; others are stylistic cleanup (but they're now "`dsimp`-ready" if tagged later).
---
[](https://gitpod.io/from-referrer/)
|
|
138/242 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Order/Hom/MonoidWithZero.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Presheaf.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Subtype.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Pi.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean,Mathlib/Topology/Category/TopCat/Opens.lean,Mathlib/Topology/ContinuousMap/Units.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/Sets/Closeds.lean |
95 |
21 |
['eric-wieser', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
2-6204 2 days ago |
2-6227 2 days ago |
11-78893 11 days |
29279 |
Jlh18 author:Jlh18 |
feat: free groupoid on a category, free-forgetful adjunction |
- define `CategoryTheory.Category.FreeGroupoid` in a file of the same name
- show the universal property of this construction, as the initial category localizing all maps in the category. These are the defs `of`, `lift`, and their related theorems
- Show that this construction is functorial `CategoryTheory.Category.FreeGroupoid.map`
- Convert this to a functor `CategoryTheory.Category.Grpd.free` from `Cat` to `Grpd`, and show that it is left adjoint to the forgetful functor
- `CategoryTheory.Grpd.freeForgetAdjunction`
- [ ] depends on: #29278
- [ ] depends on: #30115
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
236/1 |
Mathlib.lean,Mathlib/CategoryTheory/Category/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean |
3 |
10 |
['Jlh18', 'MichaelStollBayreuth', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-5629 2 days ago |
2-6603 2 days ago |
13-6648 13 days |
27273 |
xroblot author:xroblot |
feat(IntermediateField/LinearDisjoint): Two fields are linearly disjoint iff they are disjoint in the Galois case |
---
- [x] depends on: #26841
|
t-algebra label:t-algebra$ |
73/1 |
Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/LinearDisjoint.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
1-80212 1 day ago |
9-48510 9 days ago |
9-50119 9 days |
23181 |
YaelDillies author:YaelDillies |
refactor(Topology/UniformSpace): use `SetRel` |
What's left in `UniformSpace.Defs` is precisely the theory of the uniformity filter.
The motivation is that the theory of coverings and packings in both high dimensional probability and dynamics can be based on entourages, while they have little to do with the uniformity filter (indeed, entourages are in a sense a quantitative version of the uniformity filter).
---
- [x] depends on: #25587
- [x] depends on: #26988
[](https://gitpod.io/from-referrer/)
|
t-topology |
660/618 |
Mathlib/Data/Rel.lean,Mathlib/Dynamics/TopologicalEntropy/CoverEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/DynamicalEntourage.lean,Mathlib/Dynamics/TopologicalEntropy/NetEntropy.lean,Mathlib/Dynamics/TopologicalEntropy/Semiconj.lean,Mathlib/Dynamics/TopologicalEntropy/Subset.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/RegularityCompacts.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Metrizable/Uniformity.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/Compact.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/Defs.lean,Mathlib/Topology/UniformSpace/DiscreteUniformity.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/HeineCantor.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean,Mathlib/Topology/UniformSpace/OfFun.lean,Mathlib/Topology/UniformSpace/Separation.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,Mathlib/Topology/UniformSpace/Ultra/Completion.lean,Mathlib/Topology/UniformSpace/Ultra/Constructions.lean,Mathlib/Topology/UniformSpace/UniformApproximation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
30 |
35 |
['ADedecker', 'PatrickMassot', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
1-80212 1 day ago |
9-33593 9 days ago |
85-10111 85 days |
29356 |
Paul-Lez author:Paul-Lez |
feat(Mathlib/FieldTheory/RatFunc/Basic): add characteristic instances for `RatFunc` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
63/17 |
Mathlib.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/IsSimpleRing.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
11 |
8 |
['Paul-Lez', 'eric-wieser', 'github-actions'] |
kim-em assignee:kim-em |
1-80209 1 day ago |
31-3654 1 month ago |
31-3683 31 days |
29463 |
HugLycan author:HugLycan |
feat(Positivity): add positivity extensions for `NNReal.rpow` and `ENNReal.rpow` |
---
This PR adds positivity extensions for `NNReal.rpow` and `ENNReal.rpow`.
related issue #6038
@fpvandoorn
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
70/3 |
Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,MathlibTest/positivity.lean |
2 |
10 |
['HugLycan', 'fpvandoorn', 'github-actions', 'grunweg'] |
hrmacbeth assignee:hrmacbeth |
1-80208 1 day ago |
9-31565 9 days ago |
9-33244 9 days |
29863 |
FernandoChu author:FernandoChu |
feat(CategoryTheory): Colimits in `Subobject X` |
Adds colimits to `Subobject X`. Together with https://github.com/leanprover-community/mathlib4/pull/29253, this will show existence of lubs in the poset of subobjects.
This is a prerequisite of the [MTT project](https://github.com/kyoDralliam/model-theory-topos), which aims to use the internal language of toposes to reason about e.g. sheaves. |
t-category-theory |
71/0 |
Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
riccardobrasca assignee:riccardobrasca |
1-80207 1 day ago |
9-55479 9 days ago |
14-22647 14 days |
29982 |
hrmacbeth author:hrmacbeth |
feat: new `isolate` tactic |
This PR adds a new tactic, `isolate`, which "solves for x" in an equation or relation. For example:
```lean
example (a b : ℝ) (f : ℝ → ℝ) : 5 * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / 5`
```
The `isolate` tactic may generate side goals, if these are necessary to justify the transformation. The tactic will attempt to justify such side goals using `positivity` (as in the above example), unification, or type class inference, but if unsuccessful will present them to the user. For example:
```lean
example (a b c : ℝ) (f : ℝ → ℝ) : c * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / c`
-- second (side) new goal: `⊢ 0 < c`
```
The `isolate` tactic is extensible. Coverage may be extended to new relations and new operations-to-be-undone by tagging appropriate lemmas with the new `@[isolate]` attribute.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
863/3 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Isolate.lean,Mathlib/Tactic/Isolate/Core.lean,Mathlib/Tactic/Isolate/Tagging.lean,Mathlib/Tactic/Relation/Symm.lean,MathlibTest/Isolate/Heavyweight.lean,MathlibTest/Isolate/Lightweight.lean,scripts/noshake.json |
12 |
23 |
['JovanGerb', 'PatrickMassot', 'github-actions', 'hrmacbeth', 'kim-em'] |
JovanGerb assignee:JovanGerb |
1-80203 1 day ago |
9-5946 9 days ago |
9-5929 9 days |
29999 |
jeremypparker author:jeremypparker |
chore(Analysis/Fourier/AddCircle): remove stale comment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
0/1 |
Mathlib/Analysis/Fourier/AddCircle.lean |
1 |
2 |
['Ruben-VandeVelde', 'github-actions', 'jeremypparker'] |
sgouezel assignee:sgouezel |
1-80201 1 day ago |
9-48949 9 days ago |
9-48982 9 days |
30000 |
themathqueen author:themathqueen |
refactor(Analysis/InnerProductSpace/Positive): generalize definition to use `IsSymmetric` instead of `IsSelfAdjoint` and `CompleteSpace` |
The definition remains the same in complete spaces, but this allows us to use positivity and the partial order without needing completeness.
To use the old definition (i.e., `IsSelfAdjoint` and ...), instead of unfolding, use `ContinuousLinearMap.isPositive_def`.
`isPositive_iff` is renamed to `isPositive_iff'`, and `isPositive_iff` points to the same thing but with `IsSymmetric` instead of `IsSelfAdjoint`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
64/54 |
Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/StarOrder.lean |
2 |
3 |
['github-actions', 'themathqueen'] |
sgouezel assignee:sgouezel |
1-80200 1 day ago |
9-43168 9 days ago |
9-48915 9 days |
29788 |
robertmaxton42 author:robertmaxton42 |
feat (Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion |
Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions.
Bundling of existing continuity lemmas:
* `ContinuousMap.subtypeVal`
* `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps
* `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps
* `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo`
New functions:
* `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set`
* `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism
* Descending from a coherent set of subspaces is a quotient map
The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.)
This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
226/3 |
Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json |
7 |
6 |
['adamtopaz', 'github-actions', 'robertmaxton42'] |
adamtopaz assignee:adamtopaz |
1-77684 1 day ago |
1-77704 1 day ago |
16-73784 16 days |
29342 |
mans0954 author:mans0954 |
refactor(Analysis/LocallyConvex/AbsConvex): Redefine AbsConvex to use a single ring of scalars |
Currently the definition of Absolutely Convex in Mathlib is a little unexpected:
```
def AbsConvex (s : Set E) : Prop := Balanced 𝕜 s ∧ Convex ℝ s
```
At the time this definition was formulated, Mathlib's definition of `Convex` required the scalars to be an `OrderedSemiring` whereas the definition of `Balanced` required the scalars to be a `SeminormedRing`. Mathlib didn't have a concept of a semi-normed ordered ring, so a set was defined as `AbsConvex` if it is balanced over a `SeminormedRing` `𝕜` and convex over `ℝ`.
Recently the requirements for the definition of `Convex` have been relaxed (#24392, #20595) so it is now possible to use a single scalar ring in common with the literature.
Previous discussion:
- https://github.com/leanprover-community/mathlib4/pull/17029#discussion_r1782249323
- https://github.com/leanprover-community/mathlib4/pull/26345#discussion_r2287535746
---
- [x] depends on: #29248
[](https://gitpod.io/from-referrer/)
|
t-analysis |
51/67 |
Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean |
5 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
j-loreaux assignee:j-loreaux |
1-64395 1 day ago |
3-14227 3 days ago |
3-14214 3 days |
28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
# Symbolic dynamics on groups: core API and entropy along finite shapes
This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`.
## Summary of additions
- **Full shift and shift action**
- `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type).
- Right shift `shift g x` with convention `(shift g x) h = x (h * g)`.
- **Cylinders and topology**
- `cylinder U x : Set (G → A)` for finite `U : Finset G`.
- Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed.
- Equality with dependent products:
`cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API.
- **Patterns, occurrences, and subshifts**
- `Pattern A G` with finite `support : Finset G` and `data : support → A`.
- `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law.
- `forbids F` and `Subshift A G` (closed, shift-invariant subsets).
- `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness.
- **Language on finite shapes and counting**
- `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`.
- **Entropy along a shape sequence**
- `limsupAtTop` (as an `sInf` of eventual upper bounds).
- `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)`
for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`).
- **Specializations**
- `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`.
- `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`.
## Mathematical remarks
- The API is **shape-parametric**: entropy is defined along user-provided finite shapes.
- On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss).
This PR does not assume amenability; the family of shapes is an explicit input.
## Motivation
Provide a clean, reusable base for symbolic dynamics on groups in mathlib.
## Future work
- Add a Følner predicate and prove shape-independence / limit existence on amenable groups.
- Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors).
- Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch).
|
new-contributor
t-dynamics
|
717/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
2 |
64 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] |
sgouezel assignee:sgouezel |
1-59529 1 day ago |
1-59627 1 day ago |
35-44284 35 days |
30187 |
CoolRmal author:CoolRmal |
chore(Topology/MeasureTheory/Probability): Rename the file for compactly supported continuous functions. |
Move two lemmas `essSup_uniformOn_eq_ciSup` and `essInf_cond_count_eq_ciInf` from Mathlib/MeasureTheory/Function/EssSup.lean to Mathlib/Probability/UniformOn.lean in order to avoid warnings for import in the PR [feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem](https://github.com/leanprover-community/mathlib4/pull/28061#top).
Create a new folder named CompactlySupported and moved two related files into this folder.
---
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
|
17/15 |
Mathlib.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/Probability/Distributions/Fernique.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Basic.lean,Mathlib/Topology/ContinuousMap/CompactlySupported/Bounded.lean |
8 |
1 |
['github-actions'] |
nobody |
1-57123 1 day ago |
1-59090 1 day ago |
1-59135 1 day |
29136 |
YaelDillies author:YaelDillies |
feat(CategoryTheory/Monoidal): `mapMon` of a lax-braided functor is lax-braided |
Also move the `BraidedCategory (Mon_ C)` instance earlier in the file to avoid splitting up the functor material. I think it makes more sense like this (defining `Mon_Class`, then `Mon_`, then `Functor.mapMon`).
From Toric
---
- [x] depends on: #30157
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
71/9 |
Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean |
3 |
12 |
['YaelDillies', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
1-51833 1 day ago |
1-52240 1 day ago |
31-42645 31 days |
29719 |
kim-em author:kim-em |
feat(Topology/Algebra/Group/Units): add topological properties of units |
## Summary
Add lemmas about units in topological monoids:
- `Submonoid.units_isOpen`: units of open submonoids are open in the units topology
- `ContinuousMulEquiv.piUnits`: homeomorphism between units of a product and product of units
This content was prepared by Claude from the FLT project.
Source file: `/Users/kim/projects/lean/flt/FLT/Mathlib/Topology/Algebra/Group/Units.lean`
GitHub source: https://github.com/ImperialCollegeLondon/FLT/blob/main/FLT/Mathlib/Topology/Algebra/Group/Units.lean
🤖 Generated with [Claude Code](https://claude.ai/code) |
FLT
t-topology
|
53/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Group/Units.lean |
2 |
7 |
['Ruben-VandeVelde', 'github-actions', 'kim-em', 'plp127'] |
ADedecker assignee:ADedecker |
1-50366 1 day ago |
1-50366 1 day ago |
9-7134 9 days |
30101 |
wwylele author:wwylele |
feat(Algebra/HahnEmbedding): ArchimedeanStrata is non-empty |
This is a small part of #27268 (Hahn embedding theorem). Separated out for easy review while waiting for the other dependency.
---
[](https://gitpod.io/from-referrer/)
|
large-import
maintainer-merge
t-algebra
label:t-algebra$ |
8/0 |
Mathlib/Algebra/Order/Module/HahnEmbedding.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
1-49981 1 day ago |
1-49981 1 day ago |
5-3009 5 days |
29376 |
vlad902 author:vlad902 |
feat(SimpleGraph): helper lemmas for `Walk.IsSubwalk` |
|
t-combinatorics |
29/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
1-49978 1 day ago |
29-57895 29 days ago |
29-57928 29 days |
25814 |
vlad902 author:vlad902 |
feat(SimpleGraph): weaker condition for paths in acyclic graphs |
`IsAcyclic.isPath_iff_chain'` defines a weaker condition for proving that a walk is a path, in particular it shows that rather than proving that all vertices in the support of a walk are distinct, one must only show that consecutive edges are distinct (e.g. every other vertex must be distinct.) This leads to a simple corollary that trails are also paths in acyclic graphs.
I had a need for this when formalizing Cayley graphs, since this condition maps cleanly onto words in free groups being reduced.
---
*This PR continues the work from #25630.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25630* |
t-combinatorics |
38/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
2 |
['github-actions', 'vlad902'] |
kmill assignee:kmill |
1-48974 1 day ago |
115-32387 3 months ago |
115-32361 115 days |
27021 |
grunweg author:grunweg |
feat: custom elaborators for differential geometry |
Add two sets of custom elaborators for differential geometry, to
- infer the model with corners in `MDifferentiable{WithinAt,At,On}` or `ContMDiff{WithinAt,At,On}` expressions from the local context, and provide shorter notation in that setting
- do the same for mfderiv: `mfderiv% f` is shorthand for `mfderiv I J f`; `mfderiv[s] f x` is short for `mfderivWithin I J f s`
- convert a fibre bundle section from a dependent section to a function into the total space, making working with differentiability of sections of fibre bundles less cumbersome
This was [discussed on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Differential.20geometry.20elaborators.20experiment/with/528035295), to overall broad consensus.
This code has substantial tests, and been partially reviewed by `fpvandoorn` (in person).
It has been tested in the branch in #26221 (uncovering minor issues, but not substantial ones --- the worst of which have been fixed). The implementation itself is of prototype quality and will be cleaned up in the future. Once it is more robust, more differential geometry files can be converted to use it.
From the path towards geodesics and the Levi-Civita connection.
Co-authored-by: Patrick Massot
-----------
I agree that merging not fully polished code is not ideal, but propose doing so for two reasons:
- the work in #26221 used these elaborators extensively (to test them). Reverting those changes, merging the code, only to re-apply them is not a good use of time. Merging this PR now enables merging the work in #26221 soon.
- the feature is clearly useful and not going away: in the files that use it, it works well already. Holding off on further adopting, but merging it now seems like a good compromise.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-meta
|
1359/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Lean/Expr/Basic.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json |
7 |
35 |
['adamtopaz', 'github-actions', 'grunweg', 'sgouezel'] |
robertylewis assignee:robertylewis |
1-45902 1 day ago |
5-48970 5 days ago |
85-2202 85 days |
29164 |
vlad902 author:vlad902 |
feat(SimpleGraph): Hall's Marriage Theorem for bipartite graphs |
Derive the graph theoretic proof of Hall's marriage theorem from the combinatorial version.
Note that I specifically implement this for the more general case of infinite graphs that are locally finite (e.g. every vertex has only finite neighbors.) As a result, the theorem depends on some category theoretic infrastructure required for the infinite combinatorial formulation of Hall's Marriage Theorem and hence I've placed the theorems into their own file to avoid requiring it in `Matching.lean`
- [ ] depends on: #29162 |
t-combinatorics |
130/7 |
Mathlib.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,docs/1000.yaml |
5 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
b-mehta assignee:b-mehta |
1-40259 1 day ago |
21-69204 21 days ago |
21-72427 21 days |
30161 |
EtienneC30 author:EtienneC30 |
feat: currying as a measurable equivalence |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
87/0 |
Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean |
2 |
1 |
['github-actions'] |
nobody |
1-35523 1 day ago |
2-40837 2 days ago |
2-40814 2 days |
30114 |
euprunin author:euprunin |
chore(Data/Finset): golf entire `powersetCard_zero` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
1/5 |
Mathlib/Data/Finset/Powerset.lean |
1 |
1 |
['github-actions'] |
nobody |
1-34453 1 day ago |
1-34453 1 day ago |
4-17217 4 days |
27370 |
euprunin author:euprunin |
chore(Tactic/CancelDenoms): golf entire `cancel_factors_eq` using `grind` |
---
Show trace profiling of cancel_factors_eq : 120 ms before, 46 ms after 🎉
### Trace profiling of `cancel_factors_eq` before PR 27370
```diff
diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean
index c4b62d3e29..3ec2128994 100644
--- a/Mathlib/Tactic/CancelDenoms/Core.lean
+++ b/Mathlib/Tactic/CancelDenoms/Core.lean
@@ -80,6 +80,7 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing
· exact mul_pos had hbd
· exact one_div_pos.2 hgcd
+set_option trace.profiler true in
theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a')
(hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) :
(a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by
```
```
ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (2.8s)
info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.015258] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a')
(hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) :
(a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) :=
by
rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]
ext; constructor
· rintro rfl
rfl
· intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.definition.header] [0.014988] CancelDenoms.cancel_factors_eq
info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.122474] elaborating proof of CancelDenoms.cancel_factors_eq
[Elab.definition.value] [0.119890] CancelDenoms.cancel_factors_eq
[Elab.step] [0.118614]
rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]
ext; constructor
· rintro rfl
rfl
· intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.step] [0.118601]
rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]
ext; constructor
· rintro rfl
rfl
· intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.step] [0.010324] rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]
[Elab.step] [0.010312] (rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd];
with_annotate_state"]" (try (with_reducible rfl)))
[Elab.step] [0.010299] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd];
with_annotate_state"]" (try (with_reducible rfl))
[Elab.step] [0.010291] rewrite [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd];
with_annotate_state"]" (try (with_reducible rfl))
[Elab.step] [0.105805] ·
intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.step] [0.105661]
intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.step] [0.105650]
intro h
simp only [← mul_assoc] at h
refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
on_goal 1 => apply mul_ne_zero
on_goal 1 => apply div_ne_zero
· exact one_ne_zero
all_goals assumption
[Elab.step] [0.043946] refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
[Elab.step] [0.043859] expected type: a = b, term
mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
[Elab.step] [0.025447] expected type: ?m.103 * ?m.104 ≠ 0, term
(mul_ne_zero ?_ ?_)
[Elab.step] [0.025432] expected type: ?m.103 * ?m.104 ≠ 0, term
mul_ne_zero ?_ ?_
[Meta.synthInstance] [0.019262] ✅️ NoZeroDivisors α
[Elab.step] [0.021441] on_goal 1 => apply mul_ne_zero
[Elab.step] [0.019543] apply mul_ne_zero
[Elab.step] [0.019530] apply mul_ne_zero
[Elab.step] [0.019514] apply mul_ne_zero
[Meta.synthInstance] [0.013986] ✅️ NoZeroDivisors α
[Elab.step] [0.018650] · exact one_ne_zero
[Elab.step] [0.018355] exact one_ne_zero
[Elab.step] [0.018309] exact one_ne_zero
[Elab.step] [0.018269] exact one_ne_zero
[Elab.step] [0.017827] expected type: 1 ≠ 0, term
one_ne_zero
[Meta.synthInstance] [0.012295] ✅️ NeZero 1
Build completed successfully (436 jobs).
```
### Trace profiling of `cancel_factors_eq` after PR 27370
```diff
diff --git a/Mathlib/Tactic/CancelDenoms/Core.lean b/Mathlib/Tactic/CancelDenoms/Core.lean
index c4b62d3e29..066f915189 100644
--- a/Mathlib/Tactic/CancelDenoms/Core.lean
+++ b/Mathlib/Tactic/CancelDenoms/Core.lean
@@ -80,20 +80,11 @@ theorem cancel_factors_le {α} [Field α] [LinearOrder α] [IsStrictOrderedRing
· exact mul_pos had hbd
· exact one_div_pos.2 hgcd
+set_option trace.profiler true in
theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a')
(hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) :
(a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by
- rw [← ha, ← hb, ← mul_assoc bd, ← mul_assoc ad, mul_comm bd]
- ext; constructor
- · rintro rfl
- rfl
- · intro h
- simp only [← mul_assoc] at h
- refine mul_left_cancel₀ (mul_ne_zero ?_ ?_) h
- on_goal 1 => apply mul_ne_zero
- on_goal 1 => apply div_ne_zero
- · exact one_ne_zero
- all_goals assumption
+ grind
theorem cancel_factors_ne {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a')
(hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) :
```
```
ℹ [436/436] Built Mathlib.Tactic.CancelDenoms.Core (3.1s)
info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.command] [0.034809] theorem cancel_factors_eq {α} [Field α] {a b ad bd a' b' gcd : α} (ha : ad * a = a')
(hb : bd * b = b') (had : ad ≠ 0) (hbd : bd ≠ 0) (hgcd : gcd ≠ 0) :
(a = b) = (1 / gcd * (bd * a') = 1 / gcd * (ad * b')) := by grind
[Elab.definition.header] [0.014091] CancelDenoms.cancel_factors_eq
info: Mathlib/Tactic/CancelDenoms/Core.lean:84:0: [Elab.async] [0.046425] elaborating proof of CancelDenoms.cancel_factors_eq
[Elab.definition.value] [0.045869] CancelDenoms.cancel_factors_eq
[Elab.step] [0.045340] grind
[Elab.step] [0.045327] grind
[Elab.step] [0.045311] grind
info: Mathlib/Tactic/CancelDenoms/Core.lean:87:2: [Elab.async] [0.027621] Lean.addDecl
[Kernel] [0.027585] ✅️ typechecking declarations [CancelDenoms.cancel_factors_eq._proof_1_1]
Build completed successfully (436 jobs).
```
|
maintainer-merge
t-meta
easy
|
1/11 |
Mathlib/Tactic/CancelDenoms/Core.lean |
1 |
9 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
alexjbest assignee:alexjbest |
1-28224 1 day ago |
1-28225 1 day ago |
75-311 75 days |
30174 |
mcdoll author:mcdoll |
feat: the Hölder conjugate of an `ENNReal` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
4/0 |
Mathlib/Data/Real/ConjExponents.lean |
1 |
2 |
['github-actions', 'grunweg'] |
nobody |
1-27640 1 day ago |
1-27640 1 day ago |
2-20707 2 days |
29960 |
yonggyuchoimath author:yonggyuchoimath |
feat(Algebra/Category/Ring): equalizers of pushout maps of tensor product inclusions |
This PR defines a ring map `S →ₗ[R] S ⊗[R] S : s ↦ (s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)` for an `R`-algebra `S`, and show that its kernel is exactly (the image of) `R` if `S` is faithfully flat over `R`.
Changes:
* `TensorProduct.AlgebraTensorModule.distribBaseChange`: Origianlly takes `M` and `N`, where `M` is an `R`-module with an additional instance `IsScalarTower R A M`. This is unnecessary, so I changed the `M` and `N` into `N` and `Q`, now both of which are merely modules over `R`.
Main results :
* Add compatibility of `Algebra.TensorProduct.includeLeft` (or `Algebra.TensorProduct.includeRight`) with `TensorProduct.AlgebraTensorModule.distribBaseChange` and `LinearMap.lTensor`
* Define `Algebra.TensorProduct.includeLeftSubRight`, which is the `R`-linear map `S →ₗ[R] S ⊗[R] S` sending `s : S` to `(s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)`.
* `Algebra.TensorProduct.exactIncludeLeftSubRight_of_faithfullyFlat`: the pair `algebraMap : R → S` and `includeLeftSubRight R S : S → S ⊗[R] S` is exact if `S` is a faithfully flat `R`-algebra. |
new-contributor |
229/1 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean |
4 |
3 |
['erdOne', 'github-actions', 'yonggyuchoimath'] |
nobody |
1-23317 1 day ago |
5-14081 5 days ago |
7-48550 7 days |
30200 |
yonggyuchoimath author:yonggyuchoimath |
feat(CategoryTheory/Limits/Opposites) : add opposites of coforks and forks |
This PR adds missing definitions surrounding `op` and `unop` of coforks and forks.
In `CategoryTheory/Limits/Shapes/Equalizers.lean`:
- `CoforkOfπ.ext` : Adds an extensionality `def` corresponding to theexisting `ForkOfι.ext`
In `CategoryTheory/Limits/Opposites.lean`:
- `parallelPairOp`: the dual behavior for `parallelPair` (similar to `spanOp`, `cospanOp`)
- `pullbackIsoOpPushout`: the dual version of the existing `pullbackIsoUnopPushout`
- `Cofork.unop`, `Cofork.op`, `Fork.unop`, `Fork.op`: define `unop` and `op` of `Cofork` and `Fork`
- `isColimitEquivIsLimitOp`: A cofork in `C` is a colimit if and only if its opposite is limit in `Cᵒᵖ`
- `isColimitOfπEquivIsLimitOp`: `Cofork.ofπ π` is colimit in `C` if and only if `Fork.ofι π.op` is limit in `Cᵒᵖ`
Relevant dual statements have also been added.
Further notes:
- line 1187, 1215 : I was not able to remove the lengthy `simp only`
- The file length is now almost 1500. |
t-category-theory |
365/0 |
Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean |
2 |
1 |
['github-actions'] |
nobody |
1-23273 1 day ago |
1-23579 1 day ago |
1-23612 1 day |
29365 |
staroperator author:staroperator |
feat(SetTheory/ZFC): add `ZFSet.card` |
The same as `ZFSet.rank`, we define `ZFSet.card` as `ZFSet.{u} → Cardinal.{u}` and prove some basic properties.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
123/4 |
Mathlib.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Cardinal.lean |
4 |
21 |
['YaelDillies', 'github-actions', 'staroperator', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
1-17876 1 day ago |
1-17876 1 day ago |
30-10979 30 days |
30206 |
NotWearingPants author:NotWearingPants |
feat(Combinators/SimpleGraph/Hamiltonian): `p.support.length = Fintype.card α` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
easy
|
8/0 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
1-17642 1 day ago |
1-17653 1 day ago |
1-17694 1 day |
30207 |
euprunin author:euprunin |
chore(Data): golf entire `getElem_insertIdx_add_succ` and `inv_sqrt_two_sub_one` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/5 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Real/Sqrt.lean |
2 |
1 |
['github-actions'] |
nobody |
1-16072 1 day ago |
1-16083 1 day ago |
1-16116 1 day |
30182 |
urkud author:urkud |
feat(Calculus): derivative of `ContinuousMultilinearMap.compContinuousLinearMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
126/1 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
1-13828 1 day ago |
2-6427 2 days ago |
2-6463 2 days |
30209 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: some TwoSidedIdeal.span lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
FLT
|
16/0 |
Mathlib/RingTheory/TwoSidedIdeal/Operations.lean |
1 |
1 |
['github-actions'] |
nobody |
1-12690 1 day ago |
1-12782 1 day ago |
1-12817 1 day |
28793 |
grunweg author:grunweg |
feat: smooth immersions |
Define smooth immersions between manifolds.
We use a definition which allows for corners, infinite dimension and arbitrary fields.
Future PRs will
- prove that immersions are C^n (#28796),
- prove another characterisation of immersions: f is immersed at x iff the differential df_x splits,
i.e. is injective, has closed range and its image has a closed complement,
and in particular that a map between finite-dimensional manifolds over a complete field is an
immersion iff its differential is injective,
- use this to prove that the product (#28853) and composition of immersions is an immersion,
- use this theory to give more conceptual proofs of half of `Manifold/Instances/Icc.lean` (#29077)
- define smooth embeddings and immersed and embedded smooth submanifolds
---
- [x] depends on: #28701
Most of the above has been done at https://github.com/grunweg/mathlib4/tree/MR-define-immersions.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
478/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,docs/references.bib |
4 |
57 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
1-11860 1 day ago |
1-20736 1 day ago |
9-18450 9 days |
27107 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(GroupTheory/GroupAction/SubMulAction/Combination) : combinations and group actions |
`Nat.Combination X n` is the type all `s : Finset X` such that `s.card = n`.
This PR provides some API for this subtype and the `SubMulAction` it inherits when a group acts on `X`.
It will be used in conjunction with the description of some maximal subgroups of `Equiv.Perm X` to construct primitive actions.
Question on the names: when `X` is a fintype, there is `Finset.powersetCard` that gives the same object, as a `Finset`. But the present PR also applies when `X` is infinite. Then maybe `Nat.Combination` should be renamed as `Set.powersetCard`?
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
324/0 |
Mathlib.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean |
4 |
39 |
['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'tb65536'] |
alreadydone assignee:alreadydone |
1-11257 1 day ago |
61-48635 2 months ago |
83-78374 83 days |
29652 |
fmortimore author:fmortimore |
feat(Order): the Bourbaki–Witt theorem |
We prove the Bourbaki-Witt theorem, one of Wiedijk's 1000+ theorems
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
231/0 |
Mathlib.lean,Mathlib/Order/BourbakiWitt.lean,docs/1000.yaml |
3 |
7 |
['eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] |
Vierkantor assignee:Vierkantor |
1-10516 1 day ago |
21-5721 21 days ago |
21-5752 21 days |
30211 |
euprunin author:euprunin |
chore(Tactic/Positivity): golf entire `min_ne` and `max_ne` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
2/2 |
Mathlib/Tactic/Positivity/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
1-8991 1 day ago |
1-9005 1 day ago |
1-9039 1 day |
30215 |
NotWearingPants author:NotWearingPants |
feat(Data/List/NodupEquivFin): add equiv with `count = 1` hypothesis |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
7/2 |
Mathlib/Data/List/NodupEquivFin.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
1-4463 1 day ago |
1-4463 1 day ago |
1-4847 1 day |
30214 |
NotWearingPants author:NotWearingPants |
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
1-4392 1 day ago |
1-4392 1 day ago |
1-5144 1 day |
30144 |
alreadydone author:alreadydone |
feat(Data/Nat): reducible binaryRec |
+ Redefine `Nat.binaryRec` to allow kernel reduction.
+ Move some lemmas from Data/Nat/Bitwise to Data/Nat/BinaryRec.
+ Use `nsmulBinRec` for nsmul/zsmul on elliptic curves.
---
[](https://gitpod.io/from-referrer/)
|
t-data
t-algebra
label:t-algebra$ |
77/56 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Size.lean |
8 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
1-2619 1 day ago |
1-32557 1 day ago |
1-80060 1 day |
30219 |
NotWearingPants author:NotWearingPants |
feat(Combinatorics/SimpleGraph/Paths): path iff `p.support.get` is injective |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
easy
|
4/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
1-1503 1 day ago |
1-1519 1 day ago |
1-1552 1 day |
30220 |
NotWearingPants author:NotWearingPants |
chore(Data/List/Nodup): golf `nodup_iff_injective_get` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
2/5 |
Mathlib/Data/List/Nodup.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
0-86307 23 hours ago |
0-86317 23 hours ago |
0-86353 23 hours |
30210 |
wwylele author:wwylele |
feat(RingTheory/PowerSeries): Multipliable (1 + f i) for when the order tends to infinity |
As `Summable f` and `Multipliable (1 + f ·)` are often related, this shares the same condition as `summable_of_tendsto_order_atTop_nhds_top`
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
26/0 |
Mathlib/RingTheory/PowerSeries/PiTopology.lean |
1 |
2 |
['b-mehta', 'github-actions'] |
nobody |
0-85747 23 hours ago |
1-10249 1 day ago |
1-10283 1 day |
30216 |
NotWearingPants author:NotWearingPants |
feat(Data/List/Basic): `get` is surjective iff every element is in the list |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
13/0 |
Mathlib/Data/List/Basic.lean |
1 |
3 |
['NotWearingPants', 'github-actions', 'themathqueen'] |
nobody |
0-85724 23 hours ago |
1-4456 1 day ago |
1-4490 1 day |
30217 |
NotWearingPants author:NotWearingPants |
feat(Data/List/GetD): `getD` is surjective iff every element is in the list |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
19/0 |
Mathlib/Data/List/GetD.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
nobody |
0-85694 23 hours ago |
1-4209 1 day ago |
1-4245 1 day |
30221 |
b-mehta author:b-mehta |
feat(Data/Nat/BinaryRec): equational lemmas for variants of binary recursion |
Adds the missing equational lemmas for `binaryRec'` and `binaryRecFromOne`. The statements and implicitness are chosen to match the existing ones for `binaryRec`, which seem to work quite well.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
33/0 |
Mathlib/Data/Nat/BinaryRec.lean |
1 |
1 |
['github-actions'] |
nobody |
0-84952 23 hours ago |
0-85458 23 hours ago |
0-85496 23 hours |
30222 |
b-mehta author:b-mehta |
feat(Nat/Log): add lemma for `log b (n / b ^ k)` |
This lemma is a simple consequence of the previous by induction, but is often useful for calculation, especially since the natural number division and natural number subtraction play very nicely here.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
5/0 |
Mathlib/Data/Nat/Log.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
nobody |
0-83961 23 hours ago |
0-84904 23 hours ago |
0-84943 23 hours |
30213 |
NotWearingPants author:NotWearingPants |
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?.get` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
18/16 |
Mathlib/Data/List/GetD.lean |
1 |
8 |
['NotWearingPants', 'github-actions', 'themathqueen'] |
nobody |
0-83930 23 hours ago |
1-6671 1 day ago |
1-6868 1 day |
30223 |
NotWearingPants author:NotWearingPants |
feat(Data/List/Nodup): `get` is bijective iff `count = 1` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
9/0 |
Mathlib/Data/List/Nodup.lean |
1 |
1 |
['github-actions'] |
nobody |
0-82248 22 hours ago |
0-82260 22 hours ago |
0-82293 22 hours |
28893 |
joelriou author:joelriou |
refactor(AlgebraicTopology): redefine the topological simplex using the convexity API |
Before this PR, the n-dimensional topological simplex (in the `AlgebraicTopology` hierarchy) was defined as a subtype of `Fin (n + 1) → ℝ≥0`, which did not interact well with the convexity API which assumes the ambient type is a vector space. In this PR, we redefine the topological simplex functor (as a cosimplicial object in `TopCat`) using the already existing `stdSimplex` from `Analysis.Convex`.
---
- [x] depends on: #28891
- [x] depends on: #28869
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
t-convex-geometry
large-import
|
91/108 |
Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SingularSet.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Convex/StdSimplex.lean |
4 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
robin-carlier assignee:robin-carlier |
0-80176 22 hours ago |
36-25475 1 month ago* |
0-2609 43 minutes* |
29501 |
Vierkantor author:Vierkantor |
test(TacticAnalysis): ensure `classical`'s effects are picked up |
This test case used to fail, and needed a fix to the `classical` tactic in the standard library:
- [x] depends on: https://github.com/leanprover/lean4/pull/10332
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-meta
|
10/0 |
MathlibTest/TacticAnalysis.lean |
1 |
6 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
0-80174 22 hours ago |
8-45592 8 days ago |
10-52485 10 days |
29513 |
grunweg author:grunweg |
fix(lint-style): parse linter options and load environment extensions correctly |
Parse options and load linter set extension correctly.
This fixes two issues:
- We never called the `toOptions` function that parses Lakefile options into a `Lean.Options` structure: the function we use instead is only meant for command-line options and doesn't handle the `weak.` prefix correctly.
- The way we load linter sets was incorrect: `withImportModules` stopped updating environment extensions since [lean4#6325](https://github.com/leanprover/lean4/pull/6325), and that is exactly what we use to store linter sets. At the time of writing, `importModules` might be a suitable replacement (but this is not very safe, and not documented to be stable). Instead, write a small elaborator returning the environment at the point of elaboration, and use that instead.
---
- [x] depends on: #29584
- [x] depends on: #29585
- [x] depends on: #29586
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-meta
|
28/12 |
scripts/lint-style.lean |
1 |
13 |
['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
0-80173 22 hours ago |
8-47764 8 days ago |
17-34164 17 days |
29969 |
smmercuri author:smmercuri |
refactor: use isometry extensions for completions at infinite places of number fields |
The API for `InfinitePlace.Completion` currently makes use of abstract results defined on absolute values, which all depend on the hypothesis of the form `∀ x, ‖f x‖ = v x`. This is equivalent to `f` being an isometry, and so many of these results can be bypassed and deprecated by using `Isometry.completion_extension`
---
[](https://gitpod.io/from-referrer/)
|
|
72/47 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/Topology/MetricSpace/Completion.lean |
4 |
1 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
0-80172 22 hours ago |
10-25434 10 days ago |
10-25418 10 days |
30038 |
JovanGerb author:JovanGerb |
feat(push): `@[push]` annotations for `fun` |
This PR adds the annotations for the tactics `push fun _ ↦ _` and `pull fun _ ↦ _` and the simprocs `pushFun` and `pullFun`.
---
[](https://gitpod.io/from-referrer/)
|
|
28/6 |
Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Data/Nat/Cast/Basic.lean,Mathlib/Order/Lattice.lean,MathlibTest/push.lean |
4 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
0-80169 22 hours ago |
7-84214 7 days ago |
7-84190 7 days |
30042 |
JovanGerb author:JovanGerb |
feat(push): `@[push]` attributes for `∈` in `Set`, `Finset` and `Multiset` |
This PR adds `@[push]` annotations for the membership relations, for `Set`, `Finset` and `Multiset`.
---
[](https://gitpod.io/from-referrer/)
|
|
169/104 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/ListOfFn.lean,Mathlib/Algebra/Order/Group/Multiset.lean,Mathlib/Data/DFinsupp/Interval.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finset/BooleanAlgebra.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Pi.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finset/SDiff.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Finset/Sum.lean,Mathlib/Data/Finset/Sups.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Dedup.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Range.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Multiset/Sum.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Operations.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Interval/Multiset.lean,Mathlib/Order/Interval/Set/Defs.lean,Mathlib/Order/SetNotation.lean,MathlibTest/push.lean |
48 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
0-80168 22 hours ago |
7-81260 7 days ago |
7-81236 7 days |
30225 |
NotWearingPants author:NotWearingPants |
feat(Combinatorics/SimpleGraph/Walk): `p.getVert` and `p.support.get` have the same range |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
8/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
1 |
['github-actions'] |
nobody |
0-79348 22 hours ago |
0-79362 22 hours ago |
0-79402 22 hours |
30227 |
b-mehta author:b-mehta |
feat(Nat/Log): log of Nat.bit |
A useful rewrite lemma in applications, especially when `b` is a more complex expression.
Mathlib already has a preference for using `Nat.log 2` over `Nat.log2`, since the former has many more lemmas about it, and better tactic support, so we follow the established pattern here.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
4/0 |
Mathlib/Data/Nat/Log.lean |
1 |
1 |
['github-actions'] |
nobody |
0-76796 21 hours ago |
0-76799 21 hours ago |
0-76840 21 hours |
30228 |
b-mehta author:b-mehta |
feat(Data/List): relate destutter and dedup |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
27/0 |
Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Destutter.lean |
2 |
1 |
['github-actions'] |
nobody |
0-76145 21 hours ago |
0-76158 21 hours ago |
0-76200 21 hours |
30229 |
b-mehta author:b-mehta |
chore(Nat/Log): swap Nat.pow_le_iff_le_log lemmas |
Swap the order of the following four lemmas:
- `Nat.pow_le_iff_le_log`
- `Nat.lt_pow_iff_log_lt`
- `Nat.le_pow_iff_clog_le`
- `Nat.pow_lt_iff_lt_clog`
This is to match the pattern used everywhere else in mathlib, eg for Real.log, and the pattern used in core, eg for Nat.log2.
---
[](https://gitpod.io/from-referrer/)
|
|
43/26 |
Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Tactic/NormNum/NatLog.lean |
3 |
1 |
['github-actions'] |
nobody |
0-73949 20 hours ago |
0-75720 21 hours ago |
0-75696 21 hours |
30226 |
erdOne author:erdOne |
feat(AlgebraicGeometry): global sections of inverse limits of schemes |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
401/3 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean |
2 |
1 |
['github-actions'] |
nobody |
0-73784 20 hours ago |
0-75071 20 hours ago |
0-77232 21 hours |
30231 |
NotWearingPants author:NotWearingPants |
feat(LinearAlgebra/Matrix/Charpoly): `trace_eq_neg_charpoly_coeff` using `nextCoeff` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
easy
label:t-algebra$ |
6/3 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean |
2 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
0-73679 20 hours ago |
0-73682 20 hours ago |
0-73724 20 hours |
29956 |
NotWearingPants author:NotWearingPants |
feat(Algebra/Polynomial): small and useful lemmas |
feat(Algebra/Polynomial): added many small and useful lemmas about polynomials
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-algebra
label:t-algebra$ |
299/74 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean |
16 |
60 |
['NotWearingPants', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-72225 20 hours ago |
3-85112 3 days ago |
10-68063 10 days |
29896 |
themathqueen author:themathqueen |
chore(LinearAlgebra/Matrix/PosDef): deprecate `PosSemidef.sqrt` in favour of `CFC` |
We deprecate `PosSemidef.sqrt` and all related results in favour of using more general results (i.e., `CFC.sqrt` and results in C*-algebras). This also defines the partial order and `StarOrderedRing` instances on matrices.
This also moves all results related to `PosSemidef.sqrt` to `Analysis/Matrix/Order` to minimize imports.
The partial order instance on matrices is scoped to `MatrixOrder` (analogous to `ComplexOrder`).
---
[](https://gitpod.io/from-referrer/)
|
file-removed
large-import
|
295/278 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,MathlibTest/PosDef.lean |
7 |
49 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
0-72042 20 hours ago |
9-32634 9 days ago |
10-81915 10 days |
30026 |
ADedecker author:ADedecker |
chore: new file for constructions of uniform groups |
The split between `Defs` and `Basic` was a bit messy (e.g the `Prod` instance was in `Defs` but the `Pi` instance was in `Basic`), and I'm going to make these files longer when introducing left and right uniform groups, so I figured the best solution was to move everything in an intermediate `Constructions` file.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-topology
|
112/94 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Module/Synonym.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Constructions.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean,Mathlib/Topology/UniformSpace/Matrix.lean |
8 |
3 |
['github-actions', 'mcdoll'] |
dagurtomas assignee:dagurtomas |
0-71274 19 hours ago |
0-71274 19 hours ago |
8-34629 8 days |
30234 |
Komyyy author:Komyyy |
fix: fix errors in LongestPole |
---
[](https://gitpod.io/from-referrer/)
|
CI |
18/18 |
LongestPole/Main.lean,LongestPole/Unused.lean |
2 |
1 |
['github-actions'] |
nobody |
0-66816 18 hours ago |
0-67086 18 hours ago |
0-67088 18 hours |
30039 |
JovanGerb author:JovanGerb |
feat(push): `@[push]` annotations for `Real.log` |
This PR adds `push` annotations, and tests for `Real.log`.
It also updates the `#push` and `#pull` commands so that they can take a discharger, and can take any head.
---
[](https://gitpod.io/from-referrer/)
|
|
45/18 |
Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Tactic/Push.lean,MathlibTest/push.lean |
4 |
1 |
['github-actions'] |
nobody |
0-60576 16 hours ago |
7-84151 7 days ago |
7-84127 7 days |
30235 |
zcyemi author:zcyemi |
feat(Geometry/Euclidean/Sphere/Tangent) add isTangentAt with right-angle |
---
This PR mainly adds two theorems:
- `IsTangentAt.dist_eq_of_mem_of_mem` : Two tangent lines through same point yield equal distances
- `IsTangentAt_iff_angle_eq_pi_div_two`: Characterization of tangency via angle.
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
49/1 |
Mathlib/Geometry/Euclidean/Sphere/Tangent.lean |
1 |
1 |
['github-actions'] |
nobody |
0-59855 16 hours ago |
0-59862 16 hours ago |
0-59903 16 hours |
30232 |
NotWearingPants author:NotWearingPants |
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): add `ConnectedComponent.toSubgraph` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
easy
|
17/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
0-58193 16 hours ago |
0-71876 19 hours ago |
0-71915 19 hours |
25183 |
YaelDillies author:YaelDillies |
feat: convolution product on linear maps from a coalgebra to an algebra |
Construct the ring structure on linear maps `C → A` where `C` is a coalgebra and `A` an algebra, where multiplication is given by
`(f * g)(x) = ∑ f x₍₁₎ * g x₍₂₎` in Sweedler notation or
```
|
μ
| | / \
f * g = f g
| | \ /
δ
|
```
diagrammatically, where `μ` stands for multiplication and `δ` for comultiplication.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Mul.60.20instance.20on.20algebra.20homomorphisms.20from.20monoid.20algebra)
From Toric
Co-authored-by: Michał Mrugała
Co-authored-by: Yunzhou Xie
---
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
261/10 |
Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean,Mathlib/RingTheory/Regular/RegularSequence.lean |
7 |
88 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'smorel394', 'themathqueen'] |
kbuzzard assignee:kbuzzard |
0-58082 16 hours ago |
38-48939 1 month ago |
133-14985 133 days |
26457 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib/GroupTheory/Perm/MaximalSubgroups): maximal subgroups of the permutation group |
* `Equiv.Perm.isCoatom_stabilizer`: when `s : Set α` is not empty, nor its complementary subset, and if the cardinality of `s` is not half of that of `α`, then `MulAction.stabilizer (Equiv.Perm α) s` is a maximal subgroup of the symmetric group `Equiv.Perm α`.
This is the *intransitive case* of the O'Nan-Scott classification.
## TODO
* Appplication to primitivity of the action of `Equiv.Perm α` on finite combinations of `α`.
* Finish the classification
---
- [ ] depends on: #26282
- [x] depends on: #26281
- [x] depends on: #26280
- [x] depends on: #26279
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
525/2 |
Mathlib.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,docs/references.bib |
8 |
n/a |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-52233 14 hours ago |
unknown |
unknown |
30205 |
NotWearingPants author:NotWearingPants |
feat(Combinators/SimpleGraph/Walk): `p.getVert` is `p.support.get` |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-combinatorics
easy
|
15/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
3 |
['NotWearingPants', 'Ruben-VandeVelde', 'github-actions'] |
nobody |
0-46844 13 hours ago |
0-46844 13 hours ago |
1-17992 1 day |
29916 |
themathqueen author:themathqueen |
chore: move some results from `Analysis/Normed/Algebra/Spectrum` to `Analysis/{Real, Complex}/Spectrum` |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-analysis
|
130/74 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/Complex/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Real/Spectrum.lean |
5 |
6 |
['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
ADedecker assignee:ADedecker |
0-46706 12 hours ago |
0-46706 12 hours ago |
11-84062 11 days |
30178 |
EtienneC30 author:EtienneC30 |
feat: preimage of Set.pi by uncurry |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
10/0 |
Mathlib/Data/Set/Prod.lean,Mathlib/Data/Set/Sigma.lean |
2 |
2 |
['Ruben-VandeVelde', 'github-actions'] |
nobody |
0-46628 12 hours ago |
0-46628 12 hours ago |
2-20295 2 days |
30032 |
riccardobrasca author:riccardobrasca |
feat: factorization of cyclotomic polynomial over finite fields |
We compute the degree of the factors of the `n`-th cyclotomic polynomial over a finite field of characteristic `p` when `p` and `n` are coprime.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-algebra
t-number-theory
label:t-algebra$ |
184/3 |
Mathlib.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/NumberTheory/GaussSum.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Factorization.lean |
5 |
12 |
['Ruben-VandeVelde', 'github-actions', 'riccardobrasca'] |
jcommelin assignee:jcommelin |
0-46230 12 hours ago |
0-47373 13 hours ago |
8-25696 8 days |
26374 |
joelriou author:joelriou |
feat(CategoryTheory): existence of right derived functors using derivability structures |
In this PR, we formalize an existence theorem for right derived functors which appeared in the article _Structures de dérivabilité_ by Bruno Kahn and Georges Maltsiniotis, Adv. Math. 218 (2008).
---
- [x] depends on: #26036
This PR continues the work from #22508.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22508 |
t-category-theory |
165/2 |
Mathlib.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/Basic.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/PointwiseRightDerived.lean |
5 |
4 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
0-45684 12 hours ago |
0-45684 12 hours ago |
0-45709 12 hours |
30103 |
kebekus author:kebekus |
feat: first main theorem of value distribution theory |
Establish the first main theorem of value distribution theory in full.
This PR completes a major milestone in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
|
102/7 |
Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,docs/overview.yaml |
2 |
7 |
['github-actions', 'grunweg', 'kebekus', 'sgouezel'] |
nobody |
0-44666 12 hours ago |
0-44666 12 hours ago |
2-53048 2 days |
26720 |
vlad902 author:vlad902 |
feat(SimpleGraph): lemmas relating edges and darts to the support |
Useful lemmas to make it easier to pass between the support/edges/darts of a walk.
- [x] depends on: #25812
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
27/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
9 |
['b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] |
b-mehta assignee:b-mehta |
0-41907 11 hours ago |
0-41907 11 hours ago |
23-68422 23 days |
29800 |
YaelDillies author:YaelDillies |
chore: rename `MonoidHom.toAdditive''` to `MonoidHom.toAdditiveLeft` |
and alike
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
118/80 |
Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Equiv/TypeTags.lean,Mathlib/Algebra/Group/Nat/Hom.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Order/Hom/TypeTags.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/FiniteAbelian/Basic.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/RingTheory/Valuation/RankOne.lean |
14 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
0-39471 10 hours ago |
0-39502 10 hours ago |
16-56914 16 days |
30085 |
riccardobrasca author:riccardobrasca |
feat: add Mathlib.RingTheory.RootsOfUnity.Units |
We abb basic results about cyclotomic units.
From `flt-regular`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
t-number-theory
label:t-algebra$ |
124/0 |
Mathlib.lean,Mathlib/RingTheory/RootsOfUnity/CyclotomicUnits.lean |
2 |
18 |
['faenuccio', 'github-actions', 'riccardobrasca'] |
faenuccio assignee:faenuccio |
0-39354 10 hours ago |
0-39830 11 hours ago |
1-31480 1 day |
30212 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Factors): Introduce predicate and basic API |
This PR introduces a predicate `Polynomial.Factors` that generalizes `Polynomial.Splits` beyond fields. This PR contains the definition of `Polynomial.Factors` along with most of API for `Polynomial.Splits`. The end goal is to either redefine `Polynomial.Splits` in terms of `Polynomial.Factors` or deprecate `Polynomial.Splits` entirely.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60Polynomial.2ESplits.60.20to.20rings
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
293/1 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Splits.lean |
4 |
26 |
['github-actions', 'kckennylau', 'tb65536'] |
nobody |
0-36633 10 hours ago |
1-3265 1 day ago |
1-3243 1 day |
30243 |
euprunin author:euprunin |
chore(AlgebraicGeometry/Sites): golf entire `pretopology_eq_inf` using `rfl` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
1/4 |
Mathlib/AlgebraicGeometry/Sites/Pretopology.lean |
1 |
1 |
['github-actions'] |
nobody |
0-31663 8 hours ago |
0-31671 8 hours ago |
0-31710 8 hours |
30136 |
vlad902 author:vlad902 |
feat(SimpleGraph): lemmas characterizing graphs that are not complete/empty |
Two helper lemmas that I've found useful in several other PRs that characterize graphs that are neither complete nor empty.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
8/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-31358 8 hours ago |
3-13115 3 days ago |
3-13151 3 days |
29833 |
vlad902 author:vlad902 |
feat(Set): helper lemmas about set cardinality |
A few lemmas I needed in formalizing Dilworth's theorem and vertex covers.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
19/0 |
Mathlib/Data/Set/Card.lean |
1 |
13 |
['Ruben-VandeVelde', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] |
nobody |
0-31356 8 hours ago |
1-4268 1 day ago |
15-40597 15 days |
30047 |
ooovi author:ooovi |
feat(Combinatorics/SimpleGraph): edge labellings |
Add edge labellings for `SimpleGraph` as well as some basic lemmata.
---
This is mostly a cleaned up part of @b-mehta's lean4 port of their [formalisation of an exponentially better upper bound on Ramsey numbers ](https://github.com/b-mehta/ExponentialRamsey/). I need these definitions for another project on Ramsey theory.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
234/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabelling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean |
5 |
45 |
['YaelDillies', 'b-mehta', 'github-actions', 'ooovi', 'vlad902'] |
nobody |
0-28497 7 hours ago |
0-28497 7 hours ago |
5-38957 5 days |
27414 |
staroperator author:staroperator |
feat(ModelTheory): Semilinear sets in `ℕ ^ k` are closed under intersection and complement |
Separated from #27100. This PR proves that semilinear sets in `ℕ ^ k` are closed under intersection, complement and set difference. We will soon generalize them in #27789.
---
- [x] depends on: #27082
- [x] depends on: #27086
- [x] depends on: #27088
- [x] depends on: #27096
- [x] depends on: #27342
- [x] depends on: #28670
- [x] depends on: #29032
- [x] depends on: #29749
- [x] depends on: #29784
- [x] depends on: #29793
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
628/4 |
Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Nat.lean |
3 |
12 |
['YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
0-24913 6 hours ago |
1-32258 1 day ago |
12-16991 12 days |
26347 |
mans0954 author:mans0954 |
feat(Data/Finset/RangeDistance): abs_sub_lt_of_mem_finset_range |
This PR continues the work from #23161.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23161 |
t-data |
30/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
2 |
['github-actions', 'mans0954'] |
alreadydone assignee:alreadydone |
0-20545 5 hours ago |
62-47177 2 months ago |
103-56581 103 days |
30238 |
kebekus author:kebekus |
feat: behavior of divisors when taking powers of meromorphic functions |
Establish the behavior of divisors when taking powers of meromorphic functions. For consistency, provide `_fun`-versions of several simple lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
108/1 |
Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean |
2 |
8 |
['YaelDillies', 'github-actions', 'kebekus'] |
nobody |
0-19259 5 hours ago |
0-28570 7 hours ago |
0-42008 11 hours |
30034 |
yonggyuchoimath author:yonggyuchoimath |
feat(Mathlib/AlgebraicGeometry/AffineScheme): add preservation of limits of affine schemes |
This PR adds simple results about affine schemes.
Main changes:
* `createsLimitsForgetToScheme`: The forgetful functor `AffineScheme ⥤ Scheme` creates small limits.
* (written by Andrew Yang) `preservesLimit_rightOp_Γ`: Shows that `Scheme.Γ.rightOp : Scheme ⥤ CommRingCatᵒᵖ` preserves limits of diagrams consisting of affine schemes.
* `preservesColimit_Γ`: The dual statement.
This PR reopens #30015, which was acidentally closed by myself.
---
- [ ] depends on: #30014
|
maintainer-merge |
28/0 |
Mathlib/AlgebraicGeometry/AffineScheme.lean |
1 |
23 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yonggyuchoimath'] |
nobody |
0-17853 4 hours ago |
0-17853 4 hours ago |
7-2791 7 days |
30176 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): Multiplication of two functions of temperate growth is of temperate growth |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
57/1 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean |
1 |
2 |
['ADedecker', 'github-actions'] |
nobody |
0-14427 4 hours ago |
2-20564 2 days ago |
2-20601 2 days |
30135 |
erdOne author:erdOne |
feat(RingTheory): `ValuativeRel` on subrings |
---
@pechersky do we want this?
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
15/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
1 |
2 |
['github-actions', 'pechersky'] |
nobody |
0-11775 3 hours ago |
3-19292 3 days ago |
3-19325 3 days |
28561 |
euprunin author:euprunin |
chore(Data): golf entire `equivFunOnFintype_single`, `predAbove_right_zero`, `snoc_zero` and more using `rfl` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
25/88 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/Take.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/PFunctor/Univariate/M.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/Set/Sups.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean |
17 |
9 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
pechersky assignee:pechersky |
0-11448 3 hours ago |
0-11448 3 hours ago |
46-78273 46 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
---
[](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 |
0-11398 3 hours ago |
39-14141 1 month ago |
88-85547 88 days |
29979 |
jano-wol author:jano-wol |
feat: invariant dual submodules define Lie ideals |
Invariant dual submodules define Lie ideals
---
PR shows that Invariant dual submodules define Lie ideals.
This work is part of the framework: https://github.com/orgs/leanprover-community/projects/17
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
437/166 |
Mathlib.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean |
4 |
10 |
['github-actions', 'jano-wol', 'ocfnash'] |
ocfnash assignee:ocfnash |
0-6560 1 hour ago |
1-54921 1 day ago |
4-29249 4 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]
```
---
[](https://gitpod.io/from-referrer/)
|
t-data |
7/45 |
Mathlib/Data/Nat/Digits/Defs.lean |
1 |
4 |
['alreadydone', 'dwrensha', 'github-actions', 'plp127'] |
nobody |
0-6267 1 hour ago |
0-22129 6 hours ago |
0-22161 6 hours |