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 |
25864 |
plp127 author:plp127 |
feat(Nat/Digits): use fuel in `Nat.digits` |
Add a `fuel` parameter to `Nat.digitsAux` to make it structurally recursive.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
47/14 |
Mathlib/Data/Nat/Digits/Defs.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
ericrbg assignee:ericrbg |
44-60847 1 month ago |
55-51523 1 month ago |
76-11678 76 days |
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 |
43-51318 1 month ago |
62-11245 2 months ago |
62-11270 62 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
|
175/5 |
Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean |
1 |
2 |
['github-actions', 'scholzhannah'] |
ADedecker assignee:ADedecker |
42-71373 1 month ago |
88-59939 2 months ago |
88-59984 88 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 |
42-41680 1 month ago |
73-49420 2 months ago |
93-13602 93 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 has been tried in the branch in #26221 (uncovering minor issues, but not substantial ones). 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.
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
|
782/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Elaborators.lean,Mathlib/Geometry/Manifold/Traces.lean,MathlibTest/DifferentialGeometry/Elaborators.lean,scripts/noshake.json |
5 |
4 |
['github-actions', 'grunweg', 'sgouezel'] |
robertylewis assignee:robertylewis |
41-41645 1 month ago |
63-14934 2 months ago |
63-15004 63 days |
25760 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory): (2,1)-categories and `Pith` |
This PR introduces a class `IsLocallyGroupoid` on bicategories, asserting that every hom-category has an `IsGroupoid` instance.
With this definition, `IsLocallyGroupoid (LocallyDiscrete C)` is correctly inferred.
Given a bicategory `B`, we introduce a type alias `Pith B` for `B` (realized as a one-field structure), and we equip it with a `Bicategory` instance where the hom-categories are the cores of the hom-categories of `B`. We show that this bicategory is a (2,1)-category, construct an inclusion pseudo-functor from `Pith B` to `B`, and show that every pseudofunctor from a (2,1)-category to `B` factors through this inclusion.
---
We can’t fully state the fact that `(pseudofunctorToPith F).comp (inclusion F)` "is" `F` because #18254 is still not merged.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #25150.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25150* |
t-category-theory |
191/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LocallyGroupoid.lean |
2 |
2 |
['b-mehta', 'github-actions'] |
joelriou assignee:joelriou |
40-71888 1 month ago |
93-13454 3 months ago |
93-13434 93 days |
25042 |
alreadydone author:alreadydone |
feat(Topology): restriction/extension of Trivialization and composition with Homeomorph |
---
- [x] depends on: #25041
[](https://gitpod.io/from-referrer/)
|
t-topology |
148/2 |
Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Maps/Basic.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
ADedecker assignee:ADedecker |
40-41657 1 month ago |
60-7121 1 month ago |
115-76785 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 |
40-41654 1 month ago |
87-43395 2 months ago |
87-43438 87 days |
26347 |
mans0954 author:mans0954 |
feature(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 |
40-8656 1 month ago |
40-8656 1 month ago |
81-18066 81 days |
26154 |
ADedecker author:ADedecker |
refactor: add refactored APIs for algebraic filter bases |
This PR continues the work from #18437.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18437 |
t-topology |
651/0 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
5 |
2 |
['ADedecker', 'github-actions'] |
PatrickMassot assignee:PatrickMassot |
39-41660 1 month ago |
85-86248 2 months ago |
85-86303 85 days |
27108 |
pechersky author:pechersky |
chore(RingTheory/AdicValuation): golf using WithZero.log |
with helper lemma of how `log` preserves order
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-number-theory
label:t-algebra$ |
15/16 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
2 |
2 |
['YaelDillies', 'github-actions'] |
mariainesdff assignee:mariainesdff |
39-41656 1 month ago |
60-77314 1 month ago |
61-702 61 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 |
39-10600 1 month ago |
39-10600 1 month ago |
87-65717 87 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 |
39-10494 1 month ago |
39-10494 1 month ago |
125-53949 125 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
|
453/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Affine/AsymptoticCone.lean,Mathlib/Order/Filter/Map.lean |
3 |
44 |
['AntoineChambert-Loir', 'YaelDillies', 'gasparattila', 'github-actions', 'mathlib4-dependent-issues-bot'] |
YaelDillies assignee:YaelDillies |
38-68230 1 month ago |
38-71515 1 month ago |
53-2652 53 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 |
16 |
['YaelDillies', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] |
erdOne assignee:erdOne |
38-41669 1 month ago |
121-83510 3 months ago |
206-56539 206 days |
26190 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): Subgroups of a Galois group are Galois groups |
This PR gives an instance `IsGaloisGroup H (FixedPoints.intermediateField H : IntermediateField K L) L` from `IsGaloisGroup G K L`, and a numerical corollary.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
11/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
38-41664 1 month ago |
81-73089 2 months ago |
85-42686 85 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/) |
large-import
t-meta
|
302/22 |
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 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'vasnesterov'] |
alexjbest assignee:alexjbest |
38-41663 1 month ago |
62-9952 2 months ago |
62-11648 62 days |
26679 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): 2-functoriality of `CatCommSqOver` |
This PR uses the notion of categorical cospan transforms from #26412 and its bicategory-like notations from #26447 to provide API for 2-functoriality of the construction `CatCommSqOver F G X`. We show that `ψ : CatCospanTransform F G F' G'` defines a functor `CatCommSqOver F G X ⥤ CatCommSqOver F' G' X`, and that a functor `U : X ⥤ Y` induces a functor `CatCommSqOver F G Y ⥤ CatCommSqOver F G X` via precomposition. We give the battery of lemma that shows that these constructions are components of a `Cat`-valued "bipseudofunctor", although we cannot state it this way to keep things unbundled and universe polymorphic.
---
- [x] depends on: #26447
I apologize in advance, for this one is very boring. As usual, the higher order lemmas are found by aesop_cat and are not marked simp, but I still want to state these explicitly so that in case automation goes wrong, "manual formal bicategory manipulations" remain an option.
A design choice was made here. Instead of stating this kind of functoriality for the categorical pullback itself, I chose to state everything in terms of `CatCommSqOver`, i.e in terms of the pseudofunctorial construction corepresented by the categorical pullback. The rationale here is that while we could have done everything only at the level of the categorical pullback itself, I believe this design will allow for easier manipulations of categorical pullback *squares*.
Actual bifunctoriality of the categorical pullback (and thus equivalence invariance, which is the key point of the notion compared to the strict pullback) will be in future PRs.
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
364/1 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean |
1 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
38-17387 1 month ago |
49-78098 1 month ago |
59-25336 59 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 |
37-41668 1 month ago |
70-53146 2 months ago |
70-53187 70 days |
27229 |
WilliamCoram author:WilliamCoram |
feat(GroupTheory/DoubleCoset): multiple lemmas |
From FLT
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
|
106/0 |
Mathlib/GroupTheory/DoubleCoset.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
36-85539 1 month ago |
36-86272 1 month ago |
53-47834 53 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'] |
nobody |
36-68254 1 month ago |
38-41257 1 month ago |
38-69308 38 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 |
36-41667 1 month ago |
43-77716 1 month ago |
70-65557 70 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 |
36-5444 1 month ago |
47-75141 1 month ago |
47-75172 47 days |
28111 |
euprunin author:euprunin |
chore: remove tactic `simp_lex` and use `simp` instead |
Motivation: `simp_lex` is just shorthand for `refine toLex.surjective.forall₃.2 ?_; rintro (a | a) (b | b) (c | c) <;> simp`, so plain `simp` seems preferable. |
t-data |
4/10 |
Mathlib/Data/Sum/Interval.lean |
1 |
5 |
['eric-wieser', 'euprunin', 'github-actions'] |
nobody |
35-79327 1 month ago |
35-79410 1 month ago |
36-638 36 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 |
35-41686 1 month ago |
70-16903 2 months ago |
91-61668 91 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 |
35-41678 1 month ago |
45-31690 1 month ago |
45-31680 45 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'] |
nobody |
33-26176 1 month ago |
35-80872 1 month ago |
35-81312 35 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'] |
nobody |
32-82365 1 month ago |
37-7747 1 month ago |
37-7792 37 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 |
32-41684 1 month ago |
95-28994 3 months ago |
110-60926 110 days |
26089 |
WilliamCoram author:WilliamCoram |
feat: restricted power series form a ring |
We define restricted power series over a normed ring R, and show they form a ring when R has the ultrametric property
This is an update of [#23338](https://github.com/leanprover-community/mathlib4/pull/23338) to meet new expectations of PRs from forks.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
t-number-theory
label:t-algebra$ |
182/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean |
2 |
7 |
['CBirkbeck', 'WilliamCoram', 'github-actions'] |
riccardobrasca assignee:riccardobrasca |
32-41682 1 month ago |
57-78977 1 month ago |
76-68407 76 days |
26547 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform): more lemmas about isomorphisms of `CatCospanTransform` |
We construct ways to extract left, right or base components of ismorphisms of `CatCospanTransform`, as well as various `IsIso` instances, and lemmas allowing to compute the left, right or base component of the inverse of a `CatCospanTransformMorphism` that has an `IsIso` instance.
---
- [x] depends on: #26412
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
70/0 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean |
1 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
TwoFX assignee:TwoFX |
32-41680 1 month ago |
70-11217 2 months ago |
70-14260 70 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 |
32-41679 1 month ago |
63-80806 2 months ago |
63-80855 63 days |
27815 |
BGuillemet author:BGuillemet |
feat(CategoryTheory/Limits/Shapes/Products): add limMapPi and sigmaMapColim |
Add the canonical morphism from a limit to the product over its objects. Prove that it is a monomorphism.
Dually, add the canonical morphism to a colimit from the coproduc of its objects and prove that it is an epimorphism.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
44/0 |
Mathlib/CategoryTheory/Limits/Shapes/Products.lean |
1 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
32-41674 1 month ago |
43-1376 1 month ago |
43-1398 43 days |
22300 |
chrisflav author:chrisflav |
feat(RingTheory/GoingDown): lift `LTSeries` of primes |
Inductive version of `Ideal.exists_ideal_lt_liesOver_of_lt`.
Co-authored by: Sihan Su
Co-authored by: Yi Song
---
- [x] depends on: #22299
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
27/0 |
Mathlib/RingTheory/Ideal/GoingDown.lean |
1 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
alreadydone assignee:alreadydone |
31-41674 1 month ago |
39-10394 1 month ago |
116-72569 116 days |
27552 |
Equilibris author:Equilibris |
refactor: make universe levels visible in typevec |
This will be needed to allow `M.corec` to be generic across universes
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
16/10 |
Mathlib/Data/TypeVec.lean |
1 |
9 |
['Equilibris', 'eric-wieser', 'github-actions', 'plp127'] |
nobody |
31-22821 1 month ago |
31-61640 1 month ago |
47-74156 47 days |
27934 |
JasperMS author:JasperMS |
feat(Order): no basic lemmas and some SuccOrder `biUnion` lemmas |
Documents that not all possible interval inclusion lemmas will be added to `Basic.lean`.
Also proves some `biUnion` results about `SuccOrder`.
-------
See also [Zulip: #mathlib4 > New contributor: #27934 (Order/Interval)](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/New.20contributor.3A.20.2327934.20.28Order.2FInterval.29).
This is my first attempt at a Mathlib PR, I have worked on the [Carleson project](https://github.com/fpvandoorn/carleson) so far. I have tried to find natural homes for these results, and worked to make them as general as possible.
Your feedback is welcome!
[](https://gitpod.io/from-referrer/)
|
carleson
new-contributor
t-order
|
40/10 |
Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/IntervalSucc.lean |
3 |
10 |
['JasperMS', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
30-61657 30 days ago |
32-16423 1 month ago |
40-6772 40 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 |
7 |
['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard'] |
eric-wieser assignee:eric-wieser |
30-41678 30 days ago |
124-30722 4 months ago |
147-54835 147 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 |
30-41670 30 days ago |
43-76426 1 month ago |
43-76476 43 days |
28057 |
plp127 author:plp127 |
feat(SuccOrder): simp lemma to refold `Order.succ` and `Order.pred` |
Adds `SuccOrder.succ_eq_succ` and `PredOrder.pred_eq_pred` to refold `SuccOrder.succ` and `PredOrder.pred` into `Order.succ` and `Order.pred`. These lemmas are marked `@[simp]`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
8/2 |
Mathlib/Order/SuccPred/Basic.lean |
1 |
3 |
['YaelDillies', 'github-actions', 'plp127', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
29-85772 29 days ago |
37-66951 1 month ago |
37-66998 37 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 |
29-41655 29 days ago |
39-9940 1 month ago |
39-61818 39 days |
26489 |
chrisflav author:chrisflav |
refactor(RingTheory/RingHom): factor out proofs for `Algebra.FinitePresentation` |
The current way to use locality of a given property of algebras is to convert everything into the language of `RingHom`s and then for example the `RingHom.OfLocalizationSpanTarget` API. This has two disadvantages:
1. The ring hom property API fixes the universes of source and target to be the same, hence we unnecessarily lose out on some universe generality.
2. The results for `RingHom`s are proven by translating everything in terms of `Algebra`, so we duplicate the translation steps.
This PR refactors `RingHom.FinitePresentation` to do all locality proofs in the language of `Algebra`s and translate it into the corresponding `RingHom.OfLocalizationSpan{Target}` in the last step. We also streamline some of the translation proofs by unifying the API.
---
- [x] depends on: #22931
[](https://gitpod.io/from-referrer/)
This PR continues the work from #22930.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22930 |
t-algebra label:t-algebra$ |
60/76 |
Mathlib/RingTheory/RingHom/FinitePresentation.lean |
1 |
5 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
kim-em assignee:kim-em |
28-61356 28 days ago |
76-82439 2 months ago |
76-82482 76 days |
28512 |
euprunin author:euprunin |
chore(Data/List): golf entire `getLast_append_of_right_ne_nil` and `finRange_map_getElem` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
4/9 |
Mathlib/Data/List/Basic.lean,Mathlib/Data/List/FinRange.lean |
2 |
1 |
['github-actions'] |
nobody |
28-9075 28 days ago |
28-9075 28 days ago |
28-9125 28 days |
26107 |
xroblot author:xroblot |
feat(NumberField/IsCM): first results about the action of `complexConjugation` on units |
Define the subgroup of real units of a CM field and prove that it is equal to the subgroup of units fixed by the complex conjugation.
---
- [x] depends on: #23536
- [x] depends on: #23453
- [x] depends on: #26746
|
t-number-theory |
170/8 |
Mathlib/GroupTheory/GroupAction/FixedPoints.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Units/Basic.lean |
3 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'xroblot'] |
tb65536 assignee:tb65536 |
27-41663 27 days ago |
34-44531 1 month ago |
34-49291 34 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 |
27-41658 27 days ago |
35-18787 1 month ago |
35-18783 35 days |
27105 |
xroblot author:xroblot |
feat(Ring/DedekindDomain): formula for the splitting of prime ideals in an extension |
This PR just puts together all the results that were already there to deduce:
```lean
map (algebraMap S R) p = ∏ P ∈ p.primesOver R, P ^ p.ramificationIdx (algebraMap S R) P
```
for `p` a maximal ideal of a ring `S` and `R` an extension of `S` that is a Dedekind ring.
Note. There is a significant import increase in the file `RingTheory.DedekindDomain.Factorization`. However, this file is almost a leaf file so this increase only affects a limited number of files. If the increase is too big, a new file, say `RingTheory.DedekindDomain.PrimeSplitting`, can be added instead.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
t-number-theory
label:t-algebra$ |
88/2 |
Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
27-16895 27 days ago |
27-16912 27 days ago |
60-47160 60 days |
28557 |
ShreckYe author:ShreckYe |
feat(Data/Nat/Factorization): some results on equality of powers of naturals proved from factorization |
I came across some math olympiad problems in number theory that could benefit from these theorems, expecially those on the prime power equality `p ^ m = a ^ n`. A specialized `eq_of_factorization_eq'` is added BTW to help with proof search. |
t-data |
102/0 |
Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean |
3 |
1 |
['github-actions'] |
nobody |
26-52945 26 days ago |
26-70301 26 days ago |
26-70346 26 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 |
26-41659 26 days ago |
33-54895 1 month ago |
33-54938 33 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 |
25-41674 25 days ago |
35-63366 1 month ago |
36-37868 36 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 |
25-41672 25 days ago |
32-78183 1 month ago |
33-56391 33 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 |
24-41682 24 days ago |
35-60151 1 month ago |
35-60193 35 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 |
24-41680 24 days ago |
34-66422 1 month ago |
34-66470 34 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 |
24-41679 24 days ago |
33-73009 1 month ago |
33-73054 33 days |
25795 |
dagurtomas author:dagurtomas |
chore(Condensed): introduce an abbrev for the equivalence of light condensed sets with a category of sheaves on a small site |
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24522.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24522* |
t-condensed |
39/0 |
Mathlib.lean,Mathlib/Condensed/Light/Small.lean |
2 |
1 |
['github-actions'] |
joneugster assignee:joneugster |
23-56795 23 days ago |
93-6904 3 months ago |
93-6884 93 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 |
172/0 |
Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean |
2 |
3 |
['JovanGerb', 'github-actions', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
23-41691 23 days ago |
35-64014 1 month ago |
68-38531 68 days |
28352 |
agjftucker author:agjftucker |
feat(Analysis): add three little theorems relating argument to image |
These relate argument to image under a continuous function, given a Prop that eventually holds on a product of filters in domain and codomain. In fact the second pair of statements concern a segment whose end-points are the image. They should prove useful in PRs 26300 and 26985.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
28/3 |
Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Order/Filter/Prod.lean |
2 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
23-41685 23 days ago |
30-66388 30 days ago |
30-73576 30 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 |
22-84795 22 days ago |
22-84795 22 days ago |
79-12879 79 days |
26396 |
xroblot author:xroblot |
feat(RingTheory): define the dual of a basis for the trace and prove basic properties |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
121/38 |
Mathlib/LinearAlgebra/BilinearForm/Properties.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Trace/Basic.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
adomani assignee:adomani |
22-83562 22 days ago |
22-83588 22 days ago |
78-51382 78 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 |
22-81485 22 days ago |
57-65801 1 month ago |
57-70115 57 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 |
large-import
t-logic
|
159/0 |
Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json |
3 |
15 |
['Timeroot', 'github-actions', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
22-47961 22 days ago |
40-8630 1 month ago |
81-34319 81 days |
28432 |
euprunin author:euprunin |
chore(CategoryTheory/Monoidal): golf entire `counitInv_app_comp_functor_map_η_inverse` |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
2/5 |
Mathlib/CategoryTheory/Monoidal/Functor.lean |
1 |
1 |
['github-actions'] |
adamtopaz assignee:adamtopaz |
22-41679 22 days ago |
29-61004 29 days ago |
29-61050 29 days |
26870 |
grunweg author:grunweg |
feat: mdifferentiableOn_section_of_mem_baseSet₀ |
The `MDifferentiable` analogue of `contMDiffOn_section_of_mem_baseSet₀`.
From the path towards geodesics and the Levi-Civita connection.
Co-authored-by: Patrick Massot
---
- [x] depends on: #26866
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
125/0 |
Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean |
1 |
4 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
sgouezel assignee:sgouezel |
21-67975 21 days ago |
57-83458 1 month ago |
57-83616 57 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 |
21-53670 21 days ago |
23-78873 23 days ago |
70-63746 70 days |
28242 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Bicategory): EqToHom for bicategories |
We generalize the `eqToHom` construction from `Category` to `CategoryStruct`, allowing its usage in bicategorical contexts.
We introduce a file `CategoryTheory/Bicategory/EqToHom` that records some of the properties of `eqToHom`s 1-morphisms and 2-morphisms, such as the transitivity up to isomorphism of `eqToHom` 1-morphisms, and congruence lemmas for unitors, associators and whiskering with respects to `eqToHom` 2-morphisms.
This generalization and these congruence lemmas will be used to define icons between lax functors, and work with categories of strictly unitary lax/pseudo-functors (e.g for pseudocomposable arrows and lax-composable arrows in bicategories, which are part of the definitions of nerve constructions in bicategories).
---
A follow-up PR will move some existing `eqToHom`-related lemmas from `CategoryTheory/Bicategory/Strict` to this new file.
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
150/4 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/EqToHom.lean,Mathlib/CategoryTheory/EqToHom.lean |
3 |
1 |
['github-actions'] |
erdOne assignee:erdOne |
21-41694 21 days ago |
32-3283 1 month ago |
32-79565 32 days |
28375 |
euprunin author:euprunin |
chore(Analysis/SpecialFunctions/Pow): golf entire `rpow_lt_rpow_of_exponent_neg`, `rpow_le_rpow_of_exponent_nonpos`, `rpow_le_of_le_log` and `rpow_lt_of_lt_log` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
8/22 |
Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
1 |
2 |
['JonBannon', 'Ruben-VandeVelde', 'github-actions'] |
urkud assignee:urkud |
21-41690 21 days ago |
30-30177 30 days ago |
30-30219 30 days |
28378 |
euprunin author:euprunin |
chore(Algebra): golf entire `eq_lift_comp_mkRingHom` and `eq_liftAlgHom_comp_mkAlgHom` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/8 |
Mathlib/Algebra/RingQuot.lean |
1 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
21-41689 21 days ago |
30-29534 30 days ago |
30-29576 30 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 |
21-41688 21 days ago |
30-14624 30 days ago |
30-14668 30 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 |
21-41685 21 days ago |
28-82259 28 days ago |
28-82240 28 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 |
21-26773 21 days 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 |
20-77287 20 days ago |
20-77443 20 days ago |
20-77480 20 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 |
20-74476 20 days ago |
57-16522 1 month ago |
57-16562 57 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 |
20-74438 20 days ago |
90-729 2 months ago |
90-775 90 days |
28195 |
gasparattila author:gasparattila |
feat: separating a convex compact set and its neighborhood with a polytope |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
26/1 |
Mathlib/Analysis/Normed/Affine/Convex.lean |
1 |
2 |
['FrankieNC', 'github-actions'] |
sgouezel assignee:sgouezel |
20-41662 20 days ago |
33-57596 1 month ago |
33-57647 33 days |
28439 |
euprunin author:euprunin |
chore(LinearAlgebra/Matrix/Determinant): golf entire `det_eq_zero_of_not_linearIndependent_rows` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1/5 |
Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean |
1 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
20-41658 20 days ago |
29-58705 29 days ago |
29-58749 29 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 |
20-41654 20 days ago |
27-52506 27 days ago |
27-52486 27 days |
28766 |
yury-harmonic author:yury-harmonic |
feat(Nat/Factorial): add tail-recursive versions |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
58/1 |
Mathlib/Data/Nat/Factorial/Basic.lean |
1 |
1 |
['github-actions', 'plp127'] |
nobody |
20-40966 20 days ago |
22-21054 22 days ago |
22-21101 22 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 |
20-18842 20 days ago |
20-18852 20 days ago |
20-18887 20 days |
27965 |
grunweg author:grunweg |
feat: verify that file names contain no forbidden characters |
Follow-up to #27588: Windows also forbids certain characters in file names.
I snuck in a change to also disallow `!` (which causes problems on Nix OS) and
`.` (i.e., #27944) --- that would have caught the error in #27796, and may indicate confusion of file and module names.
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-linter
maintainer-merge
|
72/42 |
Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/ForbiddenModuleNames.lean,MathlibTest/ForbiddenWindows.lean,scripts/lint-style.lean |
4 |
12 |
['YaelDillies', 'adomani', 'euprunin', 'github-actions', 'grunweg'] |
joneugster assignee:joneugster |
19-69292 19 days ago |
38-66979 1 month ago |
39-12858 39 days |
27357 |
jcreedcmu author:jcreedcmu |
feat(Algebra/Module/Submodule): add `submoduleMap` for isometries |
Per [discussion on Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Analog.20of.20LinearEquiv.2EsubmoduleMap.20for.20AffineIsometryEquiv.3F), add a version of `.submoduleMap` for `LinearIsometry` and `LinearIsometryEquiv` by analogy with `LinearMap.submoduleMap` and `LinearEquiv.submoduleMap`.
--- |
new-contributor
t-algebra
label:t-algebra$ |
36/0 |
Mathlib/Analysis/Normed/Operator/LinearIsometry.lean |
1 |
24 |
['Ruben-VandeVelde', 'dagurtomas', 'eric-wieser', 'github-actions', 'jcreedcmu', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
19-54400 19 days ago |
19-54400 19 days ago |
49-36708 49 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/2 |
Mathlib/Data/Int/Bitwise.lean |
1 |
4 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
19-44980 19 days ago |
19-49531 19 days ago |
19-49567 19 days |
27944 |
grunweg author:grunweg |
feat: lint module names with a period |
This would have caught the mis-placed file in #27796.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
16/0 |
Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean |
2 |
2 |
['github-actions', 'grunweg'] |
joneugster assignee:joneugster |
19-41660 19 days ago |
39-67129 1 month ago |
39-67110 39 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 |
19-41659 19 days ago |
28-38007 28 days ago |
28-37988 28 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 |
19-41656 19 days ago |
31-23872 1 month ago |
31-26579 31 days |
27207 |
pechersky author:pechersky |
feat(Topology/WithVal): ValuativeRel (WithVal v) |
with a helper valuation defined that does not pierce defeq
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-topology
label:t-algebra$ |
20/1 |
Mathlib/Topology/Algebra/Valued/WithVal.lean |
1 |
7 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot', 'pechersky', 'smmercuri'] |
alreadydone assignee:alreadydone |
19-34596 19 days ago |
19-34712 19 days ago |
53-991 53 days |
26988 |
YaelDillies author:YaelDillies |
feat(Rel): more API |
Some of this API already exists in `Topology.UniformSpace.Defs` but not spelled with `SetRel`, some of it was written for #24173.
---
`Topology.UniformSpace.Defs` will be refactored to use these new lemmas in #23181.
[](https://gitpod.io/from-referrer/)
|
t-data |
182/8 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Data/Rel.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
19-24607 19 days ago |
31-22704 1 month ago |
63-83341 63 days |
28329 |
pechersky author:pechersky |
feat(RingTheory/Valuation): generalize CommGroupWithZero on mrange to MonoidWithZeroHom |
Before, they were only for Valuation, but that is too restricted
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-order
t-algebra
label:t-algebra$ |
77/27 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Instances.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean |
5 |
10 |
['YaelDillies', 'eric-wieser', 'github-actions', 'pechersky'] |
YaelDillies assignee:YaelDillies |
19-8521 19 days ago |
19-26228 19 days ago |
27-54582 27 days |
27963 |
ShreckYe author:ShreckYe |
feat(Algebra/GCDMonoid): add some theorems related to divisibility and `lcm` for both `GCDMonoid` and `Nat` |
While working on formalizing some math olympiad problems, I found that the theorem `dvd_lcm : p ∣ lcm a b ↔ p ∣ a ∨ p ∣ b` is missing in Mathlib. So I added this along with some other related theorems. These theorems are simlilar to those related to divisibility and multiplication (`dvd_mul` as compared to `dvd_lcm` for example), as commented in the doc strings. |
new-contributor
t-algebra
label:t-algebra$ |
102/0 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Nat/GCD/Basic.lean,Mathlib/Data/Nat/GCD/Prime.lean |
4 |
29 |
['Ruben-VandeVelde', 'ShreckYe', 'github-actions', 'themathqueen'] |
erdOne assignee:erdOne |
18-78354 18 days ago |
24-81569 24 days ago |
32-85211 32 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 |
18-41688 18 days ago |
25-85237 25 days ago |
27-79268 27 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 |
18-41685 18 days ago |
28-71885 28 days ago |
33-3179 33 days |
28487 |
euprunin author:euprunin |
chore(RingTheory): golf entire `smul_eq_zero_of_mem`, `hasEval`, `eq_of_prod_eq_prod` and `isIntegral_of_mem_ringOfIntegers` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
7/16 |
Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/AlgebraInstances.lean |
4 |
1 |
['github-actions'] |
erdOne assignee:erdOne |
18-41679 18 days ago |
28-72664 28 days ago |
28-72707 28 days |
28489 |
joelriou author:joelriou |
feat(CategoryTheory): weaken assumptions for the stability of the left lifting property under transfinite compositions |
This PR introduces two predicates `HasLiftingPropertyFixedBot/Top` which assert the existence of a lifting in squares when the left/right/top (resp. left/right/bottom) morphisms are fixed. (This weakens the `HasLiftingProperty` class which assumes there is a lifting when we only fix the left and right morphisms.)
The `HasLiftingPropertyFixedTop` variant shall be used in the study of the homotopy theory of Kan complexes. Hopefully, the `HasLiftingPropertyFixedBot` variant will be used in the formalization of the model category structure on simplicial sets: this is the reason why this PR also weakens the assumptions in the proof that the left lifting property with respect to certain morphisms is stable under transfinite composition.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
28/2 |
Mathlib/CategoryTheory/LiftingProperties/Basic.lean,Mathlib/CategoryTheory/SmallObject/TransfiniteCompositionLifting.lean |
2 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
18-41679 18 days ago |
28-69808 28 days ago |
28-69789 28 days |
28445 |
mitchell-horner author:mitchell-horner |
feat: `one_sub_one_div_cast_*` theorems |
---
Needed for a proof of the Erdős-Stone-Simonovits theorem in future PR.
[](https://gitpod.io/from-referrer/)
|
t-data
t-algebra
t-number-theory
label:t-algebra$ |
18/0 |
Mathlib/Data/Nat/Cast/Order/Field.lean |
1 |
1 |
['github-actions'] |
nobody |
18-14346 18 days ago |
18-14346 18 days ago |
29-52863 29 days |
28149 |
Equilibris author:Equilibris |
feat: dcongr_heq |
`dcongr_heq` is very useful for proofs about typevecs as these are highly dependent
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
14/0 |
Mathlib/Logic/Basic.lean |
1 |
13 |
['Equilibris', 'alexkeizer', 'fpvandoorn', 'github-actions', 'madvorak'] |
fpvandoorn assignee:fpvandoorn |
18-10689 18 days ago |
35-12081 1 month ago |
35-12123 35 days |
28350 |
themathqueen author:themathqueen |
feat(Algebra/Module/LinearMap): `range (f.smulRight x) = span {x}` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
55/8 |
Mathlib.lean,Mathlib/Algebra/Module/LinearMap/Lemmas.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean |
4 |
3 |
['Ruben-VandeVelde', 'github-actions', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
18-10083 18 days ago |
18-10083 18 days ago |
30-76336 30 days |
27047 |
YaelDillies author:YaelDillies |
feat: `MonoidHom.toAdditive''` as a `MulEquiv` |
From Toric
---
I haven't yet been very thorough with the new lemmas. I first want to hear thoughts about the names
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
31/7 |
Mathlib/Algebra/Group/TypeTags/Hom.lean |
1 |
1 |
['github-actions'] |
adomani assignee:adomani |
17-77072 17 days ago |
62-21896 2 months ago |
62-53750 62 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 |
17-54774 17 days ago |
48-7217 1 month ago |
85-45540 85 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 |
17-53911 17 days ago |
21-27220 21 days ago |
21-68303 21 days |
27992 |
staroperator author:staroperator |
feat(Algebra): cancellation inheritance |
This PR:
1. adds `Is{Left,Right}Cancel{Add,Mul,MulZero}` instances for `{Add,Mul,MulZero}MemClass` etc.
2. duplicates such instances for `Subsemiring` and `Subalgebra`, following #27955 (which is for `Submonoid` and `Submodule`).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
74/1 |
Mathlib.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean |
7 |
7 |
['Vierkantor', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] |
alreadydone assignee:alreadydone |
17-41685 17 days ago |
32-50347 1 month ago |
38-60511 38 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 |
17-3923 17 days ago |
109-47449 3 months ago |
109-47499 109 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 |
16-75039 16 days ago |
66-42746 2 months ago |
66-42788 66 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 |
16-69315 16 days ago |
124-66680 4 months ago |
172-32494 172 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
|
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 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
alreadydone assignee:alreadydone |
16-62000 16 days ago |
16-62020 16 days ago |
66-47032 66 days |
27163 |
pechersky author:pechersky |
feat(Topology/ValuativeRel): of and to basis of compatible valuations |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-topology
t-number-theory
label:t-algebra$ |
205/25 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
27 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] |
alreadydone assignee:alreadydone |
16-61868 16 days ago |
16-61889 16 days ago |
59-38976 59 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/)
|
|
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 |
16-41681 16 days ago |
28-68127 28 days ago |
28-68107 28 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 |
16-41445 16 days ago |
124-46060 4 months ago |
190-46039 190 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'] |
nobody |
16-2107 16 days ago |
16-7897 16 days ago |
16-7918 16 days |
28630 |
Antidite author:Antidite |
feat(Archive/Imo): right isosceles configuration in the complex plane |
feat(Archive/Imo): right isosceles configuration in the complex plane
This adds `Archive/Imo/Imo1975Q3.lean`, formalizing a triangle configuration
with points A=0, B=1, C=z and auxiliary points R, P, Q built via complex
rotations and sine-based scale factors.
Main results:
* `angle_and_distance`: ∠QRP = π/2 and dist Q R = dist R P.
* Key identity `QRP_rot90`: (Q z).z − R.z = e^{iπ/2} · ((P z).z − R.z).
Design/Style:
* Minimal imports; module docstring; semantic lemma names; all definitions and
theorems live under the namespace `IMO.TriangleConfig`.
Moves:
- (none)
Deletions:
- (none)
---
[](https://gitpod.io/from-referrer/)
|
IMO
new-contributor
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
36 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
15-71877 15 days ago |
25-12640 25 days ago |
25-12681 25 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 |
15-68975 15 days ago |
38-55714 1 month ago |
40-56381 40 days |
28484 |
euprunin author:euprunin |
chore(Data): golf entire `add_one_le_exp_of_nonneg`, `toReal_eq_toReal`, `count_eq_of_nodup`, `smul_mat_cons` and `coe_inj` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
8/13 |
Mathlib/Combinatorics/Matroid/Minor/Restrict.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Matrix/Notation.lean |
4 |
6 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
15-26632 15 days ago |
15-26655 15 days ago |
28-41280 28 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 |
15-13307 15 days ago |
77-34523 2 months ago |
77-39271 77 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 |
15-13063 15 days ago |
84-50626 2 months ago |
84-55234 84 days |
25743 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/Augmented): monoidal structure on `AugmentedSimplexCategory` |
We construct a monoidal category structure on `AugmentedSimplexCategory`. The tensor products corresponds to ordinal sum. We characterize morphisms out of a tensor product of object in terms of their precomposition with canonical maps `x ⟶ x ⊗ y` and `y ⟶ x ⊗ y` coming from the fact that the unit is an initial object.
When constructing this structure, we found that making `AugmentedSimplexCategory` an abbrev rather than a `def`
worked better.
---
- [x] depends on: #25742
Future work includes using this monoidal structure and Day convolution to define the join monoidal structure on augmented simplicial sets, and also using this category as a way to encode monoidal and monadic bar constructions.
Happy to discuss the fact that I had to make `AugmentedSimplexCategory` an abbrev, I can revert this but this makes the proofs a bit harder (but, I guess, also less abusing some of defeqs?).
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #22768.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/22768* |
t-algebraic-topology
t-category-theory
|
476/114 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean |
5 |
19 |
['dagurtomas', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
15-4848 15 days ago |
15-4848 15 days ago |
81-69720 81 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 |
14-76598 14 days ago |
19-78317 19 days ago |
45-69317 45 days |
27468 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add theorem `SimpleGraph.Connected.diff_dist_adj` |
This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
8/0 |
Mathlib/Combinatorics/SimpleGraph/Metric.lean |
1 |
5 |
['b-mehta', 'github-actions', 'vlad902'] |
awainverse assignee:awainverse |
14-74602 14 days ago |
49-85738 1 month ago |
49-85833 49 days |
27461 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Paths): add lemma `SimpleGraph.Walk.IsPath.mem_support_iff_exists_append` |
This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
14/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
14-73755 14 days ago |
14-74877 14 days ago |
45-3148 45 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 |
14-41700 14 days ago |
26-81830 26 days ago |
27-26798 27 days |
27672 |
b-reinke author:b-reinke |
feat(GroupTheory/FreeGroup): add definition of cyclically reduced words |
This PR adds the definition of cyclically reduced words for free groups. 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.
- [ ] depends on: #25966
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
72/0 |
Mathlib.lean,Mathlib/GroupTheory/FreeGroup/CyclicallyReduced.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
tb65536 assignee:tb65536 |
14-41699 14 days ago |
29-76865 29 days ago |
29-79995 29 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 |
14-41693 14 days ago |
26-69948 26 days ago |
26-69995 26 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 |
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 |
14-41692 14 days ago |
26-69310 26 days ago |
26-69350 26 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
|
147/4 |
Mathlib/RingTheory/Extension/Cotangent/LocalizationAway.lean,Mathlib/RingTheory/Extension/Generators.lean,Mathlib/RingTheory/Extension/Presentation/Basic.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
mattrobball assignee:mattrobball |
14-41690 14 days ago |
22-83488 22 days ago |
22-84901 22 days |
28772 |
chrisflav author:chrisflav |
feat(RingTheory/IsTensorProduct): add `IsPushout.cancelBaseChange` |
This is a cancel-on-the-left version of `AlgebraTensorModule.cancelBaseChange`.
---
[](https://gitpod.io/from-referrer/) |
t-ring-theory |
49/0 |
Mathlib/RingTheory/IsTensorProduct.lean |
1 |
1 |
['github-actions'] |
erdOne assignee:erdOne |
14-41686 14 days ago |
22-14512 22 days ago |
22-14493 22 days |
29089 |
hrmacbeth author:hrmacbeth |
feat: field tactic |
This PR creates a `field` tactic, i.e. an analogue of `ring` but for fields -- a finishing tactic for equality goals in fields. It is basically `field_simp; ring1`, with a few tweaks for better error reporting!
We could have done this at any point in the last five years, but since `field_simp` is more performant as of #28658, now seems like a good time.
I propose that `field` be preferred to terminal `field_simp`/`field_simp; ring` from now on. I'll follow up with a PR ([preview](https://github.com/leanprover-community/mathlib4/commit/44c0136fb8650f57416733d0b336c60b338f3d99)) making this change widely across the library. In the current PR I also rewrote the docstrings of `field_simp` and friends to nudge users in this direction.
Closes #4837
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
315/24 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Field.lean,Mathlib/Tactic/FieldSimp.lean,MathlibTest/FieldSimp.lean |
5 |
31 |
['github-actions', 'grunweg', 'hrmacbeth'] |
grunweg assignee:grunweg |
14-21790 14 days ago |
14-48023 14 days ago |
14-49645 14 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 |
14-16528 14 days ago |
17-11775 17 days ago |
17-11819 17 days |
28891 |
joelriou author:joelriou |
feat(Analysis/Convex): functoriality of the standard simplex |
When `f : X → Y` is a map between finite types, and `S` is an ordered semiring, we define the maps `stdSimplex.map f : stdSimplex S X → stdSimplex S Y`. In the case `S := ℝ`, we show that these maps are continuous. In a future PR #28893, the definition of the topological simplex in `AlgebraicTopology` shall be refactored.
---
- [x] depends on: #28869
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
192/1 |
Mathlib.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/Topology/Algebra/Monoid/FunOnFinite.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
13-73372 13 days ago |
13-73372 13 days ago |
13-74561 13 days |
25899 |
pfaffelh author:pfaffelh |
feat(Topology/Compactness/CompactSystem): introduce compact Systems |
A compact system is a set systems with the property that, whenever a countable intersections of sets in the set system is empty, there is a finite subset of sets with empty intersection. These are needed e.g. in measure theory if one wants to show sigma-additivity of a set function on a ring.
* Main result: The set of sets which are either compact and closed, or `univ`, is a compact system.
* Introduce `Dissipate s x := ⋂ y ≤ x, s y` (Data/Set/Dissipate), which is parallel to Data/Set/Accumulate.
Co-authored-by: Rémy Degenne remydegenne@gmail.com
---
*This PR continues the work from #24541.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24541* |
t-topology |
453/1 |
Mathlib.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean |
5 |
14 |
['github-actions', 'pfaffelh', 'sgouezel'] |
PatrickMassot assignee:PatrickMassot |
13-41678 13 days ago |
23-58379 23 days ago |
64-68965 64 days |
25902 |
pfaffelh author:pfaffelh |
feat: The finite product of semi-rings (in terms of measure theory) is a semi-ring. |
~~Move results for rings (in terms of measure theory) to a separate file; was in Semiring.lean before.~~
For `∀ i ∈ s, IsSetSemiring (C i))`, the product `s.pi '' s.pi C` is a semiring.
Prove two auxiliary lemmas in `Data.Set.Prod` needed on the way.
---
*This PR continues the work from #22714.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/22714* |
large-import
t-measure-probability
|
260/14 |
Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/Prod.lean,Mathlib/MeasureTheory/MeasurableSpace/Pi.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/MeasureTheory/SetSemiring.lean |
5 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
13-41677 13 days ago |
25-52153 25 days ago |
25-62346 25 days |
28343 |
RemyDegenne author:RemyDegenne |
feat(Probability): Fernique's theorem for distributions that are invariant by rotation |
Let `μ` be a finite measure on a second-countable normed space `E` such that the product measure `μ.prod μ` on `E × E` is invariant by rotation of angle `-π/4`.
Then there exists a constant `C > 0` such that the function `x ↦ exp (C * ‖x‖ ^ 2)` is integrable with respect to `μ`.
The main application of this theorem will be for Gaussian measures.
---
The PR is large, but is basically one big proof, so I don't think I can cut it at a meaningful place.
- [x] depends on: #28342
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
617/0 |
Mathlib.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Probability/Distributions/Fernique.lean,docs/references.bib |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kex-y assignee:kex-y |
13-17248 13 days ago |
25-22243 25 days ago |
25-29519 25 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 |
13-1286 13 days ago |
13-55078 13 days ago |
67-72616 67 days |
28676 |
sun123zxy author:sun123zxy |
feat(NumberTheory/ArithmeticFunction): wrap `Nat.totient` as an `ArithmeticFunction` |
This wraps the Euler's totient function `Nat.totient` into a new `ArithmeticFunction` `ϕ`, with some basic identities such as `ϕ * ζ = id` and `μ * id = ϕ.`
---
We use the notation `ϕ` to distinguish from `Nat.totient`'s notation `φ`, however this might be controversial. Suggestions are welcome!
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-number-theory
|
49/3 |
Mathlib/NumberTheory/ArithmeticFunction.lean |
1 |
10 |
['MichaelStollBayreuth', 'b-mehta', 'eric-wieser', 'github-actions', 'sun123zxy'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
12-64000 12 days ago |
24-28844 24 days ago |
24-29812 24 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 |
12-55818 12 days ago |
12-60534 12 days ago |
82-730 82 days |
25883 |
pfaffelh author:pfaffelh |
feat: introduce Gram matrices |
A Gram matrix has entry `⟪v i, v j⟫` at `i j : n`, where `v : n → α` is an `InnerProductSpace 𝕜 α`.
Give this notion and show that Gram matrices are positive semi-definite.
This will be used later in order to show that the covariance matrix for Brownian Motion is positive semi-definite.
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24575.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24575* |
migrated-from-branch
new-contributor
t-analysis
|
142/2 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/GramMatrix.lean,Mathlib/MeasureTheory/Function/L2Space.lean |
3 |
38 |
['EtienneC30', 'eric-wieser', 'github-actions', 'pfaffelh'] |
hrmacbeth assignee:hrmacbeth |
12-41656 12 days ago |
23-58448 23 days ago |
66-80457 66 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 |
12-41654 12 days ago |
22-84908 22 days ago |
24-61755 24 days |
28555 |
YaelDillies author:YaelDillies |
feat: pullback along an epi preserved under pullbacks is faithful |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
large-import
t-category-theory
|
39/2 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean |
2 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
12-41652 12 days ago |
26-71138 26 days ago |
26-71395 26 days |
28691 |
or4nge19 author:or4nge19 |
feat(Probability/Invariance):Reversibility/DetailedBalance |
Add reversibility (detailed balance) for Markov kernels and show it implies invariance
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
19/1 |
Mathlib/Probability/Kernel/Invariance.lean |
1 |
11 |
['DavidLedvinka', 'github-actions', 'or4nge19'] |
sgouezel assignee:sgouezel |
12-41651 12 days ago |
20-20478 20 days ago |
23-67435 23 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 |
12-21306 12 days ago |
12-26352 12 days ago |
76-83237 76 days |
26841 |
xroblot author:xroblot |
feat(FieldTheory/IsGalois): map induced by the restriction to a subfield |
For `E/L` a field extension and `K` a subfield of `E`, we define the map `(E ≃ₐ[L] E) →* (K ≃ₐ[F] K)` induced by the restriction to `K` (with `F` a subfield of `K` and `L` such that `K/F` is normal) and study when it is injective and surjective.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
65/0 |
Mathlib/FieldTheory/Galois/Basic.lean |
1 |
7 |
['github-actions', 'tb65536', 'xroblot'] |
Vierkantor assignee:Vierkantor |
12-10961 12 days ago |
68-16606 2 months ago |
68-16650 68 days |
26101 |
xroblot author:xroblot |
feat(NumberField): specialized version of Kummer Dedekind for the splitting of prime numbers |
We prove a specialized version of [KummerDedekind.normalizedFactorsMapEquivNormalizedFactorsMinPolyMk](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/KummerDedekind.html#KummerDedekind.normalizedFactorsMapEquivNormalizedFactorsMinPolyMk) for the splitting of rational prime numbers in number fields.
This PR continues the work from #25038.
---
- [x] depends on: #26137 |
t-number-theory |
172/1 |
Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean |
4 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] |
tb65536 assignee:tb65536 |
11-85384 11 days ago |
27-16722 27 days ago |
0-50 50 seconds |
29151 |
yuanyi-350 author:yuanyi-350 |
feat: Corollary of Hahn-Banach theorem |
In this PR, I have proved [Rudin, *Functional Analysis* (Theorem 3.7)][rudin1991] which is a step in proving the Closed Range Theorem. Also, I have added tags for the corresponding theorems in Rudin to mathlib.
3.7 Theorem. Suppose B is a convex, balanced, closed set in a locally convex space $X, x_0 \in X$, but $x_0 \notin B$. Then there exists $\Lambda \in X^*$ such that $|\Lambda x| \leq 1$ for all $x \in B$, but $\Lambda x_0>1$
proof. Since $B$ is closed and convex, we can apply (b) of Theorem 3.4, with $A=\{ x_0 \}$ , to obtain $\Lambda_1 \in X^*$ such that $\Lambda_1 x_0=r e^{i \theta}$ lies outside the closure $K$ of $\Lambda_1(B)$. Since $B$ is balanced, so is $K$. Hence there exists $s, 0" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
large-import |
82/4 |
Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Topology/Order/OrderClosed.lean |
2 |
1 |
['github-actions'] |
faenuccio assignee:faenuccio |
11-84249 11 days ago |
13-29378 13 days ago |
13-45254 13 days |
28452 |
plp127 author:plp127 |
feat: Define `ZMod.fintype` without cases |
Define `ZMod.fintype` without casing on `n` except inside the proof.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/3 |
Mathlib/Data/ZMod/Defs.lean |
1 |
2 |
['github-actions', 'jcommelin'] |
nobody |
11-83204 11 days ago |
29-36723 29 days ago |
29-36766 29 days |
28702 |
Timeroot author:Timeroot |
feat(Algebra/Group/Hom/Defs): MonoidHom switching from MulOneClass to MulOne |
Currently `MonoidHom` relies on a `MulOneClass`, stating that 1 is a multiplicative identity; when actually all a "monoid" hom does is preserve multiplication and one. So, really, a MonoidHom is a "mul-and-one hom", but one cannot use it with any type that isn't a MulOneClass. (It also does not enforce being a Monoid: associativity is not required.)
In general, homs like this should only rely on the data being present in the source and destination type; any applications of it are then free to assume MulOneClass or Monoid where appropriate, which is essentially already how it does. This drops the MulOneClass assumption so that MonoidHom just takes the Mul and One types.
_But_ if we wrote `MonoidHom [Mul M] [One M]`, this would essentially double the effort needed for typeclass inference. An experiment in #28889 confirmed this performance hit. So, we define a `MulOne` type which is just the `Mul` and `One` data bundled together, and the performance change becomes pretty minimal.
And then there are the corresponding changes to `AddMonoidHom` / `AddZeroClass` becoming `AddZero`. This follows some discussion at [#mathlib4 > RingHom for not-a-ring](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/RingHom.20for.20not-a-ring)
---
[](https://gitpod.io/from-referrer/)
|
bench-after-CI
t-algebra
label:t-algebra$ |
78/68 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/RingTheory/Kaehler/JacobiZariski.lean |
7 |
5 |
['Timeroot', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
dagurtomas assignee:dagurtomas |
11-70704 11 days ago |
20-32897 20 days ago |
23-67093 23 days |
27973 |
smmercuri author:smmercuri |
feat: the ring of integers of a `ℤₘ₀`-valued field is compact whenever it is a DVR and the residue field is finite |
This PR continues the work from #21844.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21844 |
large-import
t-algebra
label:t-algebra$ |
54/2 |
Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean |
2 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
11-41681 11 days ago |
21-26730 21 days ago |
31-71969 31 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 |
11-41679 11 days ago |
25-77155 25 days ago |
25-77196 25 days |
29231 |
kim-em author:kim-em |
chore: deprecate PartENat |
See [#mathlib4 > deprecate Mathlib.Data.Nat.PartENat?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/deprecate.20Mathlib.2EData.2ENat.2EPartENat.3F). |
t-data |
7/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
1 |
['github-actions'] |
nobody |
11-34209 11 days ago |
11-34427 11 days ago |
11-34473 11 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 |
10-70409 10 days ago |
82-28851 2 months ago |
82-42763 82 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 |
42/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
2 |
['github-actions', 'vlad902'] |
kmill assignee:kmill |
10-70330 10 days ago |
92-80266 3 months ago |
92-80246 92 days |
26189 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/Basic): Add simp-lemma for `FixedPoints.intermediateField` |
This PR adds a simp-lemma `FixedPoints.mem_intermediateField_iff` for the definition `FixedPoints.intermediateField`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/0 |
Mathlib/FieldTheory/Galois/Basic.lean |
1 |
2 |
['artie2000', 'github-actions'] |
joneugster assignee:joneugster |
10-42185 10 days ago |
81-76128 2 months ago |
85-47374 85 days |
27238 |
alreadydone author:alreadydone |
feat(Algebra): IsDomain R[X] ↔ IsDomain R ∧ IsCancelAdd R |
---
- [x] depends on: #27241
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
133/1 |
Counterexamples.lean,Counterexamples/PolynomialIsDomain.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/Opposites.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Opposites.lean |
8 |
7 |
['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
10-41689 10 days ago |
21-45913 21 days ago |
25-31703 25 days |
28564 |
euprunin author:euprunin |
chore(LinearAlgebra): golf entire `congr_symm`, `LinearMap.toMatrix_smulBasis_left`, `LinearMap.toMatrix_smulBasis_right` and more using `rfl` |
---
Show trace profiling of congr_symm : 24 ms before, 28 ms after
### Trace profiling of `congr_symm` before PR 28564
```diff
diff --git a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
index c056a51a5b..90cb2cd345 100644
--- a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
+++ b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
@@ -204,6 +204,7 @@ theorem congr_apply (e : M ≃ₗ[R] M') (B : BilinForm R M) (x y : M') :
congr e B x y = B (e.symm x) (e.symm y) :=
rfl
+set_option trace.profiler true in
@[simp]
theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by
ext
```
```
ℹ [1062/1062] Built Mathlib.LinearAlgebra.BilinearForm.Hom (3.4s)
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.command] [0.026792] @[simp]
theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm :=
by
ext
simp only [congr_apply, LinearEquiv.symm_symm]
rfl
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.async] [0.024764] elaborating proof of LinearMap.BilinForm.congr_symm
[Elab.definition.value] [0.023696] LinearMap.BilinForm.congr_symm
[Elab.step] [0.022888]
ext
simp only [congr_apply, LinearEquiv.symm_symm]
rfl
[Elab.step] [0.022873]
ext
simp only [congr_apply, LinearEquiv.symm_symm]
rfl
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:209:8: [Elab.async] [0.011246] Lean.addDecl
[Kernel] [0.011207] ✅️ typechecking declarations [LinearMap.BilinForm.congr_symm]
Build completed successfully (1062 jobs).
```
### Trace profiling of `congr_symm` after PR 28564
```diff
diff --git a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
index c056a51a5b..ce976f69d7 100644
--- a/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
+++ b/Mathlib/LinearAlgebra/BilinearForm/Hom.lean
@@ -204,11 +204,10 @@ theorem congr_apply (e : M ≃ₗ[R] M') (B : BilinForm R M) (x y : M') :
congr e B x y = B (e.symm x) (e.symm y) :=
rfl
+set_option trace.profiler true in
@[simp]
theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by
- ext
- simp only [congr_apply, LinearEquiv.symm_symm]
- rfl
+ tauto
@[simp]
theorem congr_refl : congr (LinearEquiv.refl R M) = LinearEquiv.refl R _ :=
diff --git a/Mathlib/LinearAlgebra/Matrix/ToLin.lean b/Mathlib/LinearAlgebra/Matrix/ToLin.lean
index e78673e1fa..b05d64e287 100644
--- a/Mathlib/LinearAlgebra/Matrix/ToLin.lean
+++ b/Mathlib/LinearAlgebra/Matrix/ToLin.lean
@@ -681,17 +681,13 @@ theorem LinearMap.toMatrix_smulBasis_left {G} [Group G] [DistribMulAction G M₁
[SMulCommClass G R M₁] (g : G) (f : M₁ →ₗ[R] M₂) :
LinearMap.toMatrix (g • v₁) v₂ f =
LinearMap.toMatrix v₁ v₂ (f ∘ₗ DistribMulAction.toLinearMap _ _ g) := by
- ext
- rw [LinearMap.toMatrix_apply, LinearMap.toMatrix_apply]
- dsimp
+ tauto
theorem LinearMap.toMatrix_smulBasis_right {G} [Group G] [DistribMulAction G M₂]
[SMulCommClass G R M₂] (g : G) (f : M₁ →ₗ[R] M₂) :
LinearMap.toMatrix v₁ (g • v₂) f =
LinearMap.toMatrix v₁ v₂ (DistribMulAction.toLinearMap _ _ g⁻¹ ∘ₗ f) := by
- ext
- rw [LinearMap.toMatrix_apply, LinearMap.toMatrix_apply]
- dsimp
+ tauto
end Finite
diff --git a/Mathlib/LinearAlgebra/Multilinear/Curry.lean b/Mathlib/LinearAlgebra/Multilinear/Curry.lean
index dbccfc807a..9175992b1f 100644
--- a/Mathlib/LinearAlgebra/Multilinear/Curry.lean
+++ b/Mathlib/LinearAlgebra/Multilinear/Curry.lean
@@ -84,9 +84,7 @@ theorem MultilinearMap.curryLeft_apply (f : MultilinearMap R M M₂) (x : M 0)
@[simp]
theorem LinearMap.curry_uncurryLeft (f : M 0 →ₗ[R] MultilinearMap R (fun i :
Fin n => M i.succ) M₂) : f.uncurryLeft.curryLeft = f := by
- ext m x
- simp only [tail_cons, LinearMap.uncurryLeft_apply, MultilinearMap.curryLeft_apply]
- rw [cons_zero]
+ tauto
@[simp]
theorem MultilinearMap.uncurry_curryLeft (f : MultilinearMap R M M₂) :
diff --git a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean
index 140f4599b3..a5fc97375b 100644
--- a/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean
+++ b/Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean
@@ -104,9 +104,7 @@ def gradedComm :
/-- The braiding is symmetric. -/
@[simp]
theorem gradedComm_symm : (gradedComm R 𝒜 ℬ).symm = gradedComm R ℬ 𝒜 := by
- rw [gradedComm, gradedComm, LinearEquiv.trans_symm, LinearEquiv.symm_symm]
- ext
- rfl
+ tauto
theorem gradedComm_of_tmul_of (i j : ι) (a : 𝒜 i) (b : ℬ j) :
gradedComm R 𝒜 ℬ (lof R _ 𝒜 i a ⊗ₜ lof R _ ℬ j b) =
```
```
ℹ [1062/1062] Built Mathlib.LinearAlgebra.BilinearForm.Hom (3.4s)
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.command] [0.022737] @[simp]
theorem congr_symm (e : M ≃ₗ[R] M') : (congr e).symm = congr e.symm := by tauto
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:208:0: [Elab.async] [0.030155] elaborating proof of LinearMap.BilinForm.congr_symm
[Elab.definition.value] [0.028158] LinearMap.BilinForm.congr_symm
[Elab.step] [0.027405] tauto
[Elab.step] [0.027386] tauto
[Elab.step] [0.027369] tauto
[Elab.step] [0.019442] rfl
[Elab.step] [0.019158] eq_refl
[Meta.isDefEq] [0.019142] ✅️ (congr e).symm =?= congr e.symm
[Meta.isDefEq] [0.019026] ✅️ (congr
e).symm =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans
(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm)
[Meta.isDefEq] [0.018960] ✅️ have __src := (↑(congr e)).inverse (congr e).invFun ⋯ ⋯;
let __src := (congr e).toEquiv.symm;
{ toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯, map_smul' := ⋯,
invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯,
right_inv :=
⋯ } =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans
(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm)
[Meta.isDefEq] [0.018936] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯), map_add' := ⋯,
map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯,
right_inv :=
⋯ } =?= (LinearEquiv.congrLeft R R e.symm).congrRight.trans
(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm)
[Meta.isDefEq] [0.018834] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯),
map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯,
right_inv :=
⋯ } =?= let __src :=
↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ
↑(LinearEquiv.congrLeft R R e.symm).congrRight;
let __src_1 :=
(LinearEquiv.congrLeft R R e.symm).congrRight.toEquiv.trans
(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm).toEquiv;
{ toLinearMap := __src, invFun := __src_1.invFun, left_inv := ⋯, right_inv := ⋯ }
[Meta.isDefEq] [0.018825] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯),
map_add' := ⋯, map_smul' := ⋯, invFun := (congr e).toEquiv.symm.invFun, left_inv := ⋯,
right_inv :=
⋯ } =?= {
toLinearMap :=
↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ
↑(LinearEquiv.congrLeft R R e.symm).congrRight,
invFun :=
((LinearEquiv.congrLeft R R e.symm).congrRight.toEquiv.trans
(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm).toEquiv).invFun,
left_inv := ⋯, right_inv := ⋯ }
[Meta.isDefEq] [0.011340] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯),
map_add' := ⋯,
map_smul' :=
⋯ } =?= ↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘ₗ
↑(LinearEquiv.congrLeft R R e.symm).congrRight
[Meta.isDefEq] [0.011274] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯),
map_add' := ⋯,
map_smul' :=
⋯ } =?= {
toFun :=
⇑↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘
⇑↑(LinearEquiv.congrLeft R R e.symm).congrRight,
map_add' := ⋯, map_smul' := ⋯ }
[Meta.isDefEq] [0.010754] ✅️ { toFun := ⇑((↑(congr e)).inverse (congr e).invFun ⋯ ⋯),
map_add' :=
⋯ } =?= {
toFun :=
⇑↑(LinearEquiv.congrLeft (M →ₗ[R] R) R e.symm) ∘
⇑↑(LinearEquiv.congrLeft R R e.symm).congrRight,
map_add' := ⋯ }
info: Mathlib/LinearAlgebra/BilinearForm/Hom.lean:209:8: [Elab.async] [0.100749] Lean.addDecl
[Kernel] [0.100672] ✅️ typechecking declarations [LinearMap.BilinForm.congr_symm]
Build completed successfully (1062 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
3/11 |
Mathlib/LinearAlgebra/BilinearForm/Hom.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/External.lean |
4 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
joneugster assignee:joneugster |
10-41686 10 days ago |
17-47557 17 days ago |
26-817 26 days |
28887 |
alreadydone author:alreadydone |
feat(RingTheory): units are exactly non-zerodivisors in noncommutative Artinian rings |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
70/24 |
Mathlib/RingTheory/Artinian/Algebra.lean,Mathlib/RingTheory/Artinian/Module.lean,Mathlib/RingTheory/Artinian/Ring.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean |
4 |
2 |
['github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
10-41682 10 days ago |
17-55263 17 days ago |
19-39053 19 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 |
10-41682 10 days ago |
18-45960 18 days ago |
18-51276 18 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 |
3 |
['github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
10-41678 10 days ago |
17-75235 17 days ago |
17-75295 17 days |
29281 |
plp127 author:plp127 |
docs: `Fin.natAdd_castLEEmb` |
Change the docstring of `Fin.natAdd_castLEEmb` which confused me when I read it so I rewrote it.
PS. this doesn't really follow the naming convention since data should be in `camelCase`
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/3 |
Mathlib/Data/Fin/Embedding.lean |
1 |
1 |
['github-actions'] |
nobody |
10-37719 10 days ago |
10-37725 10 days ago |
10-37765 10 days |
29162 |
vlad902 author:vlad902 |
feat(SetTheory): generalize Schroeder-Bernstein theorem |
In a proof of the infinite-version of the graph theoretic statement of Hall's Marriage Theorem, I needed a slight generalization of the Schroeder-Bernstein theorem. In particular, I wanted the bijection to also satisfy a pointwise property that the individual injections satisfy. |
t-set-theory |
23/5 |
Mathlib/SetTheory/Cardinal/SchroederBernstein.lean |
1 |
11 |
['adomani', 'github-actions', 'grunweg', 'vihdzp', 'vlad902'] |
b-mehta assignee:b-mehta |
10-21549 10 days ago |
13-8870 13 days ago |
13-8909 13 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 |
10-15788 10 days ago |
54-79012 1 month ago |
54-79061 54 days |
26448 |
YaelDillies author:YaelDillies |
refactor: simplify `(f₁ ⊗ₘ f₂) ≫ (g₁ ⊗ₘ g₂)` to `(f₁ ≫ g₁) ⊗ₘ (f₂ ≫ g₂)` |
... instead of the other way around. This is motivated by the fact that homs happening "in parallel" is a non-concept (time along a branch can always be reparametrised), while homs happening "in series" is a well-defined concept. One should not simp the well-defined concept into the non-concept but instead the other way around.
This is also motivated by the advent of the `mon_tauto` simp set in #26057.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
127/129 |
Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Dialectica/Monoidal.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/FunctorCategory.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean,Mathlib/CategoryTheory/GradedObject/Braiding.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean |
27 |
16 |
['YaelDillies', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'robin-carlier', 'yuma-mizuno'] |
kim-em assignee:kim-em |
9-80543 9 days ago |
10-79410 10 days ago |
74-47447 74 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
[](https://gitpod.io/from-referrer/)
|
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 |
9-72970 9 days ago |
9-84589 9 days ago |
46-2775 46 days |
27288 |
themathqueen author:themathqueen |
chore(LinearAlgebra/TensorProduct/Basic): semi-linearize `map` and `lift` |
Semi-linearizing `TensorProduct.map`.
Co-authored-by: Anatole Dedecker
---
Part of #27353.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
40/27 |
Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Hom.lean |
3 |
5 |
['ADedecker', 'eric-wieser', 'github-actions', 'themathqueen'] |
ADedecker assignee:ADedecker |
9-70506 9 days ago |
39-54639 1 month ago |
50-77968 50 days |
27313 |
pechersky author:pechersky |
feat(RingTheory/ValuativeRel/Trivial): the trivial valuative relation |
lemmas stated using `[Valuation.Compatible (1 : Valuation R Γ₀)]`
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #27312
- [x] depends on #28890
|
t-algebra
t-number-theory
label:t-algebra$ |
99/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean |
3 |
12 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
riccardobrasca assignee:riccardobrasca |
9-41688 9 days ago |
16-61632 16 days ago |
25-42917 25 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 |
9-41686 9 days ago |
20-35730 20 days ago |
20-35768 20 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 |
9-41685 9 days ago |
18-68252 18 days ago |
18-68289 18 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'] |
nobody |
9-24616 9 days ago |
9-60102 9 days ago |
9-60127 9 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 |
9-23955 9 days ago |
69-73481 2 months ago |
69-73524 69 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 |
9-20489 9 days ago |
64-11641 2 months ago |
64-11682 64 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 |
9-18156 9 days ago |
unknown |
unknown |
26155 |
xroblot author:xroblot |
feat(DedekindDomain/Different): add the transitivity formula |
This PR proves the transitivity formula for the different ideal.
It introduces ~~two~~ one increase~~s~~ in imports:
- `RingTheory.FractionalIdeal.Extended`: this is a short leaf file and I think the import makes sense there
- ~~`RingTheory.Localization.Defs.lean `: the file `Algebra.Algebra.Basic` is added since it is necessary to have the definition of `noZeroSMulDivisors` to get that some algebra map is injective. The import could be removed by stating the hypothesis as `Function.Injective (algebraMap * *)` but it is not the usual spelling (and cannot be synthesized by Lean). In the end, it appears that the increased import only affects three files so maybe it's fine.~~
The PR also adds two new instances:
- `FiniteDimensional (FractionRing A) (FractionRing B)` deduced from `Module.Finite A B` when `B` is a Dedekind domain.
- `IsScalarTower (FractionRing A) (FractionRing B) (FractionRing C)` deduced from `IsScalarTower A B C`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
192/8 |
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 |
9-16526 9 days ago |
9-16534 9 days ago |
81-23387 81 days |
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 |
9-8104 9 days ago |
10-43770 10 days ago |
44-18638 44 days |
26192 |
kckennylau author:kckennylau |
feat(LinearAlgebra): symmetric tensor power |
This file defines the symmetric tensor power of a module over a ring. The finite powers will form a grading of the symmetric algebra. The n-th symmetric R-tensor power of M will also correspond to global sections of a line bundle on Proj(M) of degree n. It also has a universal property where maps out of it correspond to symmetric multilinear forms.
---
Zulip: [#mathlib4 > Proposal: Symmetric Tensor Power](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Symmetric.20Tensor.20Power/with/524795235)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
137/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean |
2 |
13 |
['AntoineChambert-Loir', 'erdOne', 'eric-wieser', 'github-actions', 'kckennylau', 'mattrobball'] |
riccardobrasca assignee:riccardobrasca |
8-83090 8 days ago |
33-17977 1 month ago |
82-53149 82 days |
29332 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: Set.codRestrict_range_surjective |
---
[](https://gitpod.io/from-referrer/)
|
FLT
t-data
|
5/0 |
Mathlib/Data/Set/Restrict.lean |
1 |
2 |
['github-actions', 'plp127', 'themathqueen'] |
nobody |
8-74024 8 days ago |
8-74314 8 days ago |
9-54741 9 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 |
25/88 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/Take.lean,Mathlib/Data/Finmap.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Single.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/PFunctor/Univariate/M.lean,Mathlib/Data/QPF/Multivariate/Constructions/Cofix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/Set/Sups.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean |
17 |
7 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
8-64502 8 days ago |
8-64526 8 days ago |
24-39757 24 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 |
8-41682 8 days ago |
91-82431 2 months ago |
91-82412 91 days |
27178 |
artie2000 author:artie2000 |
feat(Algebra/Order/Ring): make `IsOrderedRing.toStrictOrderedRing` an instance |
Requiring `IsStrictOrderedRing` on a `Field` is a footgun (the current instances come from a find and replace on `LinearOrderedField`). Weakening typeclasses can incur a performance hit so will be done where appropriate in future PRs.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
RFC
|
2/1 |
Mathlib/Algebra/Order/Ring/Defs.lean |
1 |
22 |
['YaelDillies', 'alreadydone', 'artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
erdOne assignee:erdOne |
8-41681 8 days ago |
16-39082 16 days ago |
29-44493 29 days |
29027 |
grunweg author:grunweg |
feat/fix(FlexibleLinter): mark more tactics as flexible |
and add proper tests for all of these. In particular, this PR
- fixes the handling of `(n)linarith` (which had a bug), and adds a test,
- adds `ring!` and `abel!` (as flexible tactics),
- adds `ring_nf!` and `abel_nf!` as stopper tactics,
- adds `cfc_tac` and its sisters as flexible tactic (as they use aesop and/or fun_prop),
- adds `continuity` and `measurability` as flexible (as they are aesop-based),
- add `group` and `module` as flexible,
- add `grind` as flexible,
- add `positivity` and `finiteness` as flexible, and `finiteness_nonterminal` as stopper tactic.
I'm happy to discuss any of these particular additions further.
---
Zulip discussion at https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/flexible.20vs.20rigid.20tactics/with/536424236.
[](https://gitpod.io/from-referrer/)
|
t-linter |
232/56 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/FlexibleLinter.lean,MathlibTest/ImportHeavyFlexibleLinter.lean |
3 |
16 |
['adomani', 'b-mehta', 'github-actions', 'grunweg'] |
joneugster assignee:joneugster |
8-41676 8 days ago |
16-68719 16 days ago |
16-68700 16 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
|
513/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Dynamics/SymbolicDynamics/EntropyFinitelyGenerated.lean |
3 |
14 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] |
sgouezel assignee:sgouezel |
8-18390 8 days ago |
26-83461 26 days ago |
26-83500 26 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 |
8-18336 8 days ago |
39-10722 1 month ago |
82-53341 82 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 |
8-7732 8 days ago |
8-7732 8 days ago |
13-80319 13 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 |
7-72728 7 days ago |
15-10217 15 days ago |
16-67226 16 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 |
7-41688 7 days ago |
15-57918 15 days ago |
21-85209 21 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 |
7-41686 7 days ago |
16-48342 16 days ago |
24-15161 24 days |
28858 |
themathqueen author:themathqueen |
feat(LinearAlgebra/Matrix/PosDef): inner product on matrices induced by positive definite matrix |
This defines an inner product on matrices induced by a positive definite matrix `M`: `inner x y = trace (M * xᴴ * y)`. When `M = 1`, this is exactly the [Frobenius inner product](https://en.wikipedia.org/wiki/Frobenius_inner_product).
---
- [x] depends on: #28773
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/0 |
Mathlib/LinearAlgebra/Matrix/PosDef.lean |
1 |
8 |
['eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
riccardobrasca assignee:riccardobrasca |
7-41684 7 days ago |
14-62950 14 days ago |
14-64419 14 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 |
7-41682 7 days ago |
16-48575 16 days ago |
16-49016 16 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 |
7-41681 7 days ago |
16-38323 16 days ago |
16-38311 16 days |
29058 |
vihdzp author:vihdzp |
feat: `Colex` type synonym |
We create a new `Colex` type synonym for the colexicographic order on a type. We use this to re-define the colexicographic order on `Finset`, protecting and deprecating the existing `Finset.Colex` type synonym.
A future PR will add instances for `Pi` types and `Finsupp`.
See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Pi.2ELex/near/536563593) for some discussion on this.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
152/59 |
Mathlib/Combinatorics/Colex.lean,Mathlib/Order/Synonym.lean |
2 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
7-41680 7 days ago |
16-3685 16 days ago |
16-3680 16 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 |
7-41679 7 days ago |
15-60331 15 days ago |
15-60366 15 days |
29114 |
jeremypparker author:jeremypparker |
feat(MeasureTheory.Integral): Mean value theorem for integrals |
Combines results from MeasureTheory.Integral.Average and the intermediate value theorem to give the integral form of the mean value theorem: https://en.wikipedia.org/wiki/Mean_value_theorem#Mean_value_theorems_for_definite_integrals
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
55/0 |
Mathlib/MeasureTheory/Integral/IntervalAverage.lean |
1 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
7-41677 7 days ago |
14-67672 14 days ago |
14-67710 14 days |
29119 |
JovanGerb author:JovanGerb |
fix(Tactic/ToAdditive/Frontend): swap `reorderForall` and `applyReplacementForall` |
This PR does some general clean-up in the `to_additive` implementation:
- `expand` is moved up so that it can be called directly inside of `applyReplacementFun`. The current situation requires uses of `applyReplacementFun` to know that they need to call `expand` first.
- `applyReplacementFun` is significantly cleaned up, without changing the implementation, making it shorter, more readable and more efficient.
- It swaps reorderForall/Lambda with applyReplacementForall/Lambda, because in the previous order, if `reorder` would reorder some argument that appears in `dontTranslate`, it would do the wrong thing (although I don't think this will ever come up in practice)
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
93/106 |
Mathlib/Tactic/ToAdditive/Frontend.lean,MathlibTest/toAdditive.lean |
2 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
7-41676 7 days ago |
14-55854 14 days ago |
14-55889 14 days |
27882 |
euprunin author:euprunin |
chore: golf using `grind [Nat.cast_*]` |
|
|
6/18 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/GroupTheory/CommutingProbability.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean |
4 |
10 |
['github-actions', 'kim-em', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
7-15020 7 days ago |
7-15020 7 days ago |
41-57543 41 days |
27370 |
euprunin author:euprunin |
chore(Tactic/CancelDenoms): golf `cancel_factors_eq` |
---
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).
```
|
t-meta |
1/11 |
Mathlib/Tactic/CancelDenoms/Core.lean |
1 |
7 |
['euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
alexjbest assignee:alexjbest |
7-13505 7 days ago |
7-13505 7 days ago |
52-48195 52 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 |
12 |
['Parcly-Taxel', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
7-4935 7 days ago |
7-7692 7 days ago |
8-14153 8 days |
29271 |
euprunin author:euprunin |
chore: remove redundant `let` and `letI` invocations |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
1/8 |
Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/CategoryTheory/Monoidal/Grp_.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/Topology/Metrizable/Uniformity.lean |
5 |
10 |
['JovanGerb', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'ocfnash'] |
nobody |
7-1339 7 days ago |
7-3871 7 days ago |
10-49852 10 days |
28000 |
daefigueroa author:daefigueroa |
feat(Dynamics/Flow): define semiconjugacy, factor and orbit |
We add definitions relating to flows.
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-dynamics
|
116/3 |
Mathlib/Dynamics/Flow.lean |
1 |
7 |
['chrisflav', 'daefigueroa', 'github-actions'] |
nobody |
6-81779 6 days ago |
6-82519 6 days ago |
15-38914 15 days |
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 |
2 |
['github-actions', 'staroperator', 'vihdzp'] |
nobody |
6-81358 6 days ago |
8-1964 8 days ago |
8-2004 8 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 |
6-74213 6 days ago |
6-74244 6 days ago |
34-69136 34 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 |
6-73029 6 days ago |
6-74377 6 days ago |
17-75756 17 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$ |
269/4 |
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/RingTheory/PiTensorProduct.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
9 |
19 |
['eric-wieser', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
6-41675 6 days ago |
14-5248 14 days ago |
63-34619 63 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 |
7 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
6-41674 6 days ago |
18-28028 18 days ago |
24-83901 24 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 |
6-41673 6 days ago |
17-76303 17 days ago |
30-46523 30 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/)
|
|
41/15 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/Data/Set/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean |
5 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
6-41671 6 days ago |
14-10938 14 days ago |
19-56400 19 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 |
6-41671 6 days ago |
19-58412 19 days ago |
19-60164 19 days |
29103 |
grunweg author:grunweg |
chore: tests for casting and the field_simp discharger |
Add further tests for the `field_simps` discharger and casting, inspired by #6034.
Golf a few field_simp proofs further, such as by using `norm_cast` as discharger.
In particular, this PR includes all mathlib changes from #6034.
Golf two proofs that we noticed in passing.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
25/14 |
Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecificLimits/RCLike.lean,Mathlib/NumberTheory/PythagoreanTriples.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean,MathlibTest/FieldSimp.lean |
8 |
3 |
['github-actions', 'grunweg', 'hrmacbeth'] |
adamtopaz assignee:adamtopaz |
6-41669 6 days ago |
14-85610 14 days ago |
15-7893 15 days |
29122 |
yonggyuchoimath author:yonggyuchoimath |
feat(CategoryTheory/MorphismProperty/Representable): add relative representability of diagonal map |
Adds a criterion for the diagonal morphism `X ⟶ X × X` to be relatively representable with respect to a functor `F : C ⥤ D` under mild assumptions.
`CategoryTheory.Functor.relativelyRepresentable.diag_iff` proves that when:
- `C` has pullbacks and binary products
- `D` has pullbacks, binary products and a terminal object
- `F : C ⥤ D` is full and preserves pullbacks and binary products
the diagonal morphism `X ⟶ X × X` is relatively representable if and only if every morphism of the form `F.obj a ⟶ X` is relatively representable. |
new-contributor
t-category-theory
|
67/0 |
Mathlib/CategoryTheory/MorphismProperty/Representable.lean |
1 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
6-41668 6 days ago |
14-31438 14 days ago |
14-31473 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-41668 6 days ago |
14-41340 14 days ago |
14-41377 14 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'] |
nobody |
6-23057 6 days ago |
7-67152 7 days ago |
7-67200 7 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'] |
nobody |
6-22886 6 days ago |
7-19374 7 days ago |
7-19413 7 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 |
7 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
eric-wieser assignee:eric-wieser |
6-18782 6 days ago |
6-18860 6 days ago |
9-66608 9 days |
29397 |
vihdzp author:vihdzp |
chore(Algebra/Polynomial/Basic): make some arguments implicit |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
8/8 |
Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/ContentIdeal.lean |
4 |
1 |
['github-actions'] |
nobody |
6-9386 6 days ago |
6-11655 6 days ago |
6-11691 6 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'`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/36 |
Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean |
2 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
6-8133 6 days ago |
6-54595 6 days ago |
8-77554 8 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 |
6-6366 6 days ago |
28-12821 28 days ago |
28-12859 28 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'] |
nobody |
5-83506 5 days ago |
6-10218 6 days ago |
32-73979 32 days |
29362 |
stepanholub author:stepanholub |
Periods of lists and the Periodicity Lemma |
Period of a word (List) is defined and a proof of the Periodicity Lemma (aka Fine-Wilf Theorem) is provided. Fine-Wilf is the basic fact about a word having two periods.
---
|
t-data
new-contributor
|
223/0 |
Mathlib.lean,Mathlib/Data/List/PeriodicityLemma.lean |
2 |
99 |
['Timeroot', 'github-actions', 'madvorak', 'plp127', 'stepanholub'] |
nobody |
5-77415 5 days ago |
8-11186 8 days ago |
8-11228 8 days |
29228 |
Timeroot author:Timeroot |
feat(Logic/Basic): HEq iff Exists a cast |
Proves that `a ≍ b ↔ ∃ (h : β = α), a = cast h b`. This is pretty similar to existing e.g. `heq_of_eq_cast (e : β = α) : a = cast e b → a ≍ b`, but this is more amenable to rewriting with simp (e.g. under binders).
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
9/0 |
Mathlib/Logic/Basic.lean |
1 |
3 |
['Timeroot', 'github-actions', 'plp127'] |
nobody |
5-74802 5 days ago |
11-36880 11 days ago |
11-36917 11 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 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
5-67639 5 days ago |
5-67666 5 days ago |
56-84434 56 days |
29407 |
pechersky author:pechersky |
feat(RingTheory): hom from local ring to ZMod is a local hom |
complex imports make it difficult to find a good file to place in
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
5/0 |
Mathlib/RingTheory/LocalRing/Module.lean |
1 |
1 |
['github-actions'] |
nobody |
5-64673 5 days ago |
5-64736 5 days ago |
5-64723 5 days |
29410 |
jsm28 author:jsm28 |
feat(Data/Nat/Init): `n.AtLeastTwo` implies `NeZero (n - 1)` |
Add an instance for `NeZero (n - 1)` deduced from `n.AtLeastTwo`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/0 |
Mathlib/Data/Nat/Init.lean |
1 |
1 |
['github-actions'] |
nobody |
5-56130 5 days ago |
5-56194 5 days ago |
5-56175 5 days |
29404 |
pechersky author:pechersky |
feat(Data/Nat): p.Coprime factorial and choose |
And descFactorial, for n < p
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
t-algebra
easy
label:t-algebra$ |
16/0 |
Mathlib/Data/Nat/Choose/Dvd.lean,Mathlib/Data/Nat/Prime/Factorial.lean |
2 |
2 |
['Ruben-VandeVelde', 'github-actions'] |
nobody |
5-52328 5 days ago |
5-52328 5 days ago |
5-65903 5 days |
29225 |
euprunin author:euprunin |
chore: remove redundant `cases` invocations |
---
**Note:** Although technically redundant, some of these may be worth keeping for readability, or other reasons. Let me know if you think any should stay.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/16 |
Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Polynomial/Basic.lean |
5 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
5-49893 5 days ago |
5-49893 5 days ago |
11-59834 11 days |
28834 |
euprunin author:euprunin |
chore(Data/Finset): golf 10 lines from `powerset_insert` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
1/11 |
Mathlib/Data/Finset/Powerset.lean |
1 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
5-48377 5 days ago |
5-48377 5 days ago |
20-26501 20 days |
28835 |
euprunin author:euprunin |
chore(Data/List): golf 13 lines from `bidirectionalRec_cons_append` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
1/14 |
Mathlib/Data/List/Induction.lean |
1 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
5-46878 5 days ago |
5-46878 5 days ago |
20-26355 20 days |
28841 |
euprunin author:euprunin |
chore(Data/List): golf entire `mem_getLast?_append_of_mem_getLast` and `mem_head?_append_of_mem_head?` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
2/7 |
Mathlib/Data/List/Basic.lean |
1 |
6 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
5-45372 5 days ago |
5-45372 5 days ago |
20-14125 20 days |
29409 |
Julian author:Julian |
feat(Mathlib/Analysis): deriv_eq_self and deriv_exp_iff |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
32/0 |
Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean |
1 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
5-44302 5 days ago |
5-56882 5 days ago |
5-56926 5 days |
28219 |
joelriou author:joelriou |
feat(CategoryTheory): monomorphisms in Type are stable under transfinite compositions |
---
- [x] depends on: #26030
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
71/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean,Mathlib/CategoryTheory/Types/Monomorphisms.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
5-41677 5 days ago |
14-52129 14 days ago |
14-68973 14 days |
29166 |
YaelDillies author:YaelDillies |
feat: group objects form a cartesian-monoidal category |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
71/0 |
Mathlib/CategoryTheory/Monoidal/Grp_.lean |
1 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
5-41671 5 days ago |
13-6465 13 days ago |
13-6447 13 days |
29185 |
eric-wieser author:eric-wieser |
feat: add missing `norm_cast` on subobject coercion lemmas to set |
This is not exhaustive, but performed manually with some regex searches.
Only one proof breaks, and only because `convert` goes further than it previously did.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
56/52 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/GroupWithZero/Subgroup.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Star/Subsemiring.lean,Mathlib/Topology/Algebra/Group/ClosedSubgroup.lean |
28 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
5-41670 5 days ago |
12-64377 12 days ago |
12-64358 12 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'] |
nobody |
5-18424 5 days ago |
44-5690 1 month ago |
44-5732 44 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 |
4/4 |
Mathlib/Data/Finset/Max.lean |
1 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
5-11631 5 days ago |
5-39629 5 days ago |
5-39611 5 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 |
13 |
['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
5-2476 5 days ago |
5-78850 5 days ago |
25-51016 25 days |
29427 |
kim-em author:kim-em |
feat: grind annotations for `Finset.sdiff` |
|
t-data |
29/27 |
Mathlib/CategoryTheory/Limits/Bicones.lean,Mathlib/Combinatorics/SetFamily/Compression/UV.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Finset/SDiff.lean,scripts/noshake.json |
10 |
1 |
['github-actions'] |
nobody |
5-2106 5 days ago |
5-27034 5 days ago |
5-27073 5 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 |
5 |
['ShreckYe', 'eric-wieser', 'github-actions'] |
nobody |
4-86072 4 days ago |
6-3064 6 days ago |
6-3112 6 days |
27390 |
alreadydone author:alreadydone |
feat(FieldTheory/Galois): normal basis theorem |
Co-authored-by: Madison Crim @maddycrim
Co-authored-by: Aaron Liu @plp127
Co-authored-by: Justus Springer @justus-springer
from [*Formalizing Class Field Theory*](https://www.claymath.org/events/formalizing-class-field-theory/)
---
- [x] depends on: #27355
- [x] depends on: #27368
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
156/1 |
Mathlib.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Polynomial/Module/AEval.lean,Mathlib/FieldTheory/Galois/NormalBasis.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,docs/references.bib |
7 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
4-85268 4 days ago |
4-85332 4 days ago |
30-45298 30 days |
29373 |
staroperator author:staroperator |
doc(ModelTheory): clarify free and (in-scope) bound variables in `BoundedFormula` |
The current design of `BoundedFormula` is actually a locally nameless representation. Following PL convention, we should call the `α` indexed variables as free variables, and the `Fin n` indexed variables as (in-scope) bound variables.
Also clarify that the bound variables are actually de Bruijn levels.
Some references:
-
- [Locally nameless in CSLib](https://github.com/leanprover/cslib/blob/4734d98a80d82e8bb15cbb64b6cfaa30c08691a8/Cslib/Languages/LambdaCalculus/LocallyNameless/Untyped/Basic.lean)
- [Locally nameless in Lean core](https://github.com/leanprover/lean4/blob/540e9e85f3317d04133aa2a69d5a24fb31e92d8b/src/Lean/Expr.lean#L238)
---
[](https://gitpod.io/from-referrer/)
|
t-logic
documentation
|
32/31 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
4-83402 4 days ago |
4-83422 4 days ago |
7-36014 7 days |
25183 |
YaelDillies author:YaelDillies |
feat: convolution product on linear maps from a coalgebra to an algebra |
Construct the ring structure on linear maps `C → A` where `C` is a coalgebra and `A` an algebra, where multiplication is given by
`(f * g)(x) = ∑ f x₍₁₎ * g x₍₂₎` in Sweedler notation or
```
|
μ
| | / \
f * g = f g
| | \ /
δ
|
```
diagrammatically, where `μ` stands for multiplication and `δ` for comultiplication.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Mul.60.20instance.20on.20algebra.20homomorphisms.20from.20monoid.20algebra)
From Toric
Co-authored-by: Michał Mrugała
Co-authored-by: Yunzhou Xie
---
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
219/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 |
76 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'smorel394', 'themathqueen'] |
kbuzzard assignee:kbuzzard |
4-72207 4 days ago |
16-10418 16 days ago |
110-62870 110 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
|
115/1 |
Mathlib/Data/Int/Init.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean |
4 |
1 |
['github-actions'] |
nobody |
4-68729 4 days ago |
5-4994 5 days ago |
5-5038 5 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 |
4-67548 4 days ago |
4-72552 4 days ago |
74-74866 74 days |
26330 |
Timeroot author:Timeroot |
feat: "Junk value" test file |
This PR continues the work from #25173.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25173 |
t-data |
360/0 |
MathlibTest/Junk.lean |
1 |
8 |
['NotWearingPants', 'Timeroot', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'vihdzp'] |
nobody |
4-65823 4 days ago |
64-58160 2 months ago |
80-20639 80 days |
29439 |
themathqueen author:themathqueen |
feat(Analysis/InnerProductSpace/Projection/Basic): `e ∘ f = 0` iff `(ker e).starProjection ∘ f = f` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
13/0 |
Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
4-64877 4 days ago |
4-74944 4 days ago |
4-74984 4 days |
28945 |
harahu author:harahu |
doc: hyphenate compound adjectives ending in -dimensional |
Compound adjectives appearing before the noun they are modifying should be hyphenated in order to avoid ambiguity. This PR hyphenates such compound adjectives than are ending in "-dimensional".
It does not cover similar compound adjectives appearing _after_ their noun, as hyphenation is then regarded as a stylistic choice, as opposed to a grammatical tool.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
180/180 |
Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Lie/Derivation/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/SmoothApprox.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/AmpleSet.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Measure.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean,Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousLinearMap.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/CategoryTheory/Preadditive/Schur.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/IsAlgClosed/Spectrum.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/Geometry/Manifold/BumpFunction.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/Metrizable.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/LinearAlgebra/Coevaluation.lean,Mathlib/LinearAlgebra/Complex/FiniteDimensional.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Dimension/Finrank.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional/Defs.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/FiniteDimensional.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/MeasureTheory/Integral/TorusIntegral.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/Order/RelSeries.lean,Mathlib/Probability/Process/FiniteDimensionalLaws.lean,Mathlib/RepresentationTheory/FDRep.lean,Mathlib/RepresentationTheory/Maschke.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Lattice.lean,Mathlib/RingTheory/Grassmannian.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Algebra/InfiniteSum/Defs.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,MathlibTest/fun_prop.lean,docs/overview.yaml,docs/undergrad.yaml |
76 |
6 |
['github-actions', 'mathlib4-merge-conflict-bot', 'tb65536'] |
tb65536 assignee:tb65536 |
4-58648 4 days ago |
4-58667 4 days ago |
17-52851 17 days |
29420 |
llllvvuu author:llllvvuu |
chore: golf `LinearMap.charpoly_toMatrix` and add corollaries |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
31/39 |
Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean |
1 |
1 |
['github-actions'] |
nobody |
4-56119 4 days ago |
5-39945 5 days ago |
5-39992 5 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 |
4-55999 4 days ago |
4-56815 4 days ago |
17-72731 17 days |
29448 |
j-loreaux author:j-loreaux |
chore(Analysis/{NormedSpace/ConformalLinearMap → Normed/Operator/Conformal}): move file |
This is part of #28698 to migrate the material in `Analysis/NormedSpace/` to other locations.
---
[](https://gitpod.io/from-referrer/)
|
file-removed
tech debt
t-analysis
|
3/3 |
Mathlib.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/InnerProductSpace/ConformalLinearMap.lean,Mathlib/Analysis/Normed/Operator/Conformal.lean |
4 |
1 |
['github-actions'] |
nobody |
4-52749 4 days ago |
4-52749 4 days ago |
4-52793 4 days |
26282 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat: a theorem of Jordan on primitive subgroups of the permutation group |
A theorem of Jordan on the primitive subgroups of a permutation group:
* if it contains a swap, it is equal to the permutation group,
* if it contains a 3-cycle, it contains the alternating group.
This PR continues the work from #24131.
---
- [x] depends on: #26281
- [x] depends on: #26280
- [x] depends on: #26279
Original PR: https://github.com/leanprover-community/mathlib4/pull/24131
[](https://gitpod.io/from-referrer/) |
t-group-theory
large-import
|
951/137 |
Mathlib.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/Primitive.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/SetTheory/Cardinal/Embedding.lean |
11 |
n/a |
['AntoineChambert-Loir', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
4-52159 4 days ago |
unknown |
unknown |
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'] |
nobody |
4-47835 4 days ago |
8-47734 8 days ago |
8-66926 8 days |
29429 |
kim-em author:kim-em |
feat: `grind` annotations for `Finset.card` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
161/162 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/SetFamily/Compression/UV.lean,Mathlib/Combinatorics/SetFamily/HarrisKleitman.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Equitabilise.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/CastCard.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Interval.lean,Mathlib/Data/Finset/Lattice/Lemmas.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean |
32 |
2 |
['github-actions', 'grunweg'] |
nobody |
4-46943 4 days ago |
5-24012 5 days ago |
5-24051 5 days |
29398 |
vihdzp author:vihdzp |
feat: `Polynomial.coeffs_nonempty_iff` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Polynomial/Basic.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions', 'vihdzp'] |
nobody |
4-43998 4 days ago |
6-9636 6 days ago |
6-9624 6 days |
29454 |
kim-em author:kim-em |
feat: `grind` annotations for `Nat.count` |
---
[](https://gitpod.io/from-referrer/)
|
|
16/20 |
Mathlib/Algebra/Group/Embedding.lean,Mathlib/Data/Nat/Count.lean |
2 |
1 |
['github-actions'] |
nobody |
4-43173 4 days ago |
4-43246 4 days ago |
4-43227 4 days |
29455 |
kim-em author:kim-em |
chore: grind annotations in Data/Nat/Find |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
5/3 |
Mathlib/Data/Nat/Find.lean |
1 |
1 |
['github-actions'] |
nobody |
4-42674 4 days ago |
4-42689 4 days ago |
4-42726 4 days |
29133 |
ScottCarnahan author:ScottCarnahan |
chore (Algebra/Vertex): linearize coefficient functions |
This PR upgrades the coefficient functions of vertex operators and heterogeneous vertex operators to be linear maps instead of just functions. We also deprecate the corresponding linearity lemmas, and add two rfl simp lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
40/44 |
Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean |
2 |
1 |
['github-actions'] |
riccardobrasca assignee:riccardobrasca |
4-41680 4 days ago |
14-4770 14 days ago |
14-4808 14 days |
29154 |
ScottCarnahan author:ScottCarnahan |
feat (Algebra/Lie): Define low-degree cochains and differentials for coefficients with trivial action |
This PR defines 1-cochains and 2-cochains of a Lie algebra `L` with coefficients in a module `M` on which `L` acts trivially. 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$ |
143/0 |
Mathlib.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CochainTrivial.lean |
3 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
4-41679 4 days ago |
13-25605 13 days ago |
13-25640 13 days |
29224 |
euprunin author:euprunin |
chore: remove redundant `rcases` invocations |
---
**Note:** Although technically redundant, some of these may be worth keeping for readability, or other reasons. Let me know if you think any should stay.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1/10 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/Support.lean |
7 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
chrisflav assignee:chrisflav |
4-41676 4 days ago |
11-48165 11 days ago |
11-60215 11 days |
29456 |
kim-em author:kim-em |
chore: basic grind annotations for Real.sqrt |
---
[](https://gitpod.io/from-referrer/)
|
|
16/10 |
Mathlib/Data/Real/Sqrt.lean,Mathlib/Order/Defs/LinearOrder.lean |
2 |
1 |
['github-actions'] |
nobody |
4-39964 4 days ago |
4-40033 4 days ago |
4-40014 4 days |
29449 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): add Turán density related theorems |
Refactors `tendsto_turanDensity` and implements `turanDensity_eq_sInf` and `isContained_of_card_edgeFinset` (theorems that are common in proofs involving Turán density).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
52/14 |
Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean |
1 |
1 |
['github-actions'] |
nobody |
4-36031 4 days ago |
4-51426 4 days ago |
4-51470 4 days |
29458 |
LiamSchilling author:LiamSchilling |
feat(MvPolynomial/WeightedHomogenous): relate `weightedTotalDegree` to `degrees`, `totalDegree`, and `degreeOf` |
`weightedTotalDegree` is the most general notion of multivariate degree in mathlib. These theorems show that it specializes to `degrees`, `totalDegree`, and `degreeOf` with specialized weights.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
24/1 |
Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
1 |
1 |
['github-actions'] |
nobody |
4-27552 4 days ago |
4-27569 4 days ago |
4-27606 4 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!
- [x] 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'] |
nobody |
4-16713 4 days ago |
4-17955 4 days ago |
4-18729 4 days |
29459 |
bwangpj author:bwangpj |
feat: ContMDiffAt.pow |
Powers of `C^n` functions `M → G` into a commutative monoid `G` are `C^n`.
This is upstreamed from [https://github.com/girving/ray](https://github.com/girving/ray).
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-differential-geometry
|
20/2 |
Mathlib/Geometry/Manifold/Algebra/Monoid.lean |
1 |
4 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
4-13752 4 days ago |
4-13965 4 days ago |
4-24390 4 days |
27162 |
themathqueen author:themathqueen |
feat(Analysis/InnerProductSpace/Positive): `U.starProjection ≤ V.starProjection` iff `U ≤ V` |
For symmetric projections `p` and `q`, `p ≤ q` iff `q ∘ p = p`, so then: `U.starProjection ≤ V.starProjection` iff `U ≤ V`, which implies that `Submodule.starProjection` is an injective function.
---
- [x] depends on: #25910
- [x] depends on: #27619
- [x] depends on: #27642
[](https://gitpod.io/from-referrer/)
|
t-analysis |
58/0 |
Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
4-6100 4 days ago |
24-49627 24 days ago |
29-30053 29 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 |
8 |
['YaelDillies', 'github-actions', 'hrmacbeth', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] |
robertylewis assignee:robertylewis |
4-3879 4 days ago |
11-34191 11 days ago |
27-33554 27 days |
29470 |
NotWearingPants author:NotWearingPants |
chore(Algebra/Group/Action/Faithful): fix typo in LefttCancelMonoid |
chore(Algebra/Group/Action/Faithful): fix typo in LefttCancelMonoid
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
easy
label:t-algebra$ |
1/1 |
Mathlib/Algebra/Group/Action/Faithful.lean |
1 |
2 |
['NotWearingPants', 'github-actions'] |
nobody |
3-79278 3 days ago |
3-79282 3 days ago |
3-79320 3 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 |
3-77396 3 days ago |
18-9732 18 days ago |
18-9713 18 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 |
3-73732 3 days ago |
33-63255 1 month ago |
47-56088 47 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$ |
67/6 |
Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/Kronecker.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean |
4 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
3-73205 3 days ago |
3-80243 3 days ago |
11-61599 11 days |
29383 |
Vierkantor author:Vierkantor |
chore(Topology): process porting notes |
Go through the porting notes in the Topology folder and solve the ones with an obvious fix.
This last batch of porting notes should bring us below 500 open porting notes in Mathlib, when the RingTheory ones get merged too!
---
[](https://gitpod.io/from-referrer/)
|
tech debt
t-topology
|
134/222 |
Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/Algebra/MulAction.lean,Mathlib/Topology/Algebra/Ring/Ideal.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Category/Profinite/CofilteredLimit.lean,Mathlib/Topology/Category/TopCat/Limits/Basic.lean,Mathlib/Topology/Category/TopCat/Limits/Cofiltered.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Periodic.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean,Mathlib/Topology/DiscreteQuotient.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Homotopy/Equiv.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/MetricSpace/Equicontinuity.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/Compact.lean,Mathlib/Topology/Separation/Basic.lean,Mathlib/Topology/Sheaves/CommRingCat.lean,Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
33 |
1 |
['github-actions'] |
nobody |
3-72982 3 days ago |
6-78453 6 days ago |
6-78435 6 days |
29475 |
euprunin author:euprunin |
chore(RingTheory/Extension/Presentation): remove use of `erw` in `aeval_comp_val_eq` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
0/1 |
Mathlib/RingTheory/Extension/Presentation/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
3-70940 3 days ago |
3-70948 3 days ago |
3-70992 3 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 |
3-66650 3 days ago |
66-59280 2 months ago |
66-59325 66 days |
29474 |
sgouezel author:sgouezel |
feat: explicit zsmul field in ring constructor to solve performance issue |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/0 |
Mathlib/Algebra/Ring/InjSurj.lean |
1 |
4 |
['github-actions', 'leanprover-bot', 'sgouezel'] |
nobody |
3-64147 3 days ago |
3-75009 3 days ago |
3-75044 3 days |
28793 |
grunweg author:grunweg |
feat: smooth immersions |
Define smooth immersions between manifolds.
We use a definition which allows for corners, infinite dimension and arbitrary fields.
Future PRs will
- prove that immersions are C^n (#28796),
- prove another characterisation of immersions: f is immersed at x iff the differential df_x splits,
i.e. is injective, has closed range and its image has a closed complement,
and in particular that a map between finite-dimensional manifolds over a complete field is an
immersion iff its differential is injective,
- use this to prove that the product (#28853) and composition of immersions is an immersion,
- use this theory to give more conceptual proofs of half of `Manifold/Instances/Icc.lean` (#29077)
- define smooth embeddings and immersed and embedded smooth submanifolds
---
- [x] depends on: #28701
Most of the above has been done at https://github.com/grunweg/mathlib4/tree/MR-define-immersions.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
275/4 |
Mathlib.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,docs/references.bib |
3 |
11 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
3-57262 3 days ago |
4-57596 4 days ago |
4-59983 4 days |
25736 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms): Normal forms for `P_σ`s |
We prove that admissible lists introduced in #21744 indeed provide a suitable normal form for morphisms of `SimplexCategoryGenRel` satisfying `P_σ` (i.e that are compositions of degeneracies).
To this end, we introduce `standardσ`, a construction that takes a list and turn it into a composition of `σ i`s in `SimplexCategoryGenRel`. We then prove that, thanks to the fifth simplicial identity, composition on the right by some `σ i` corresponds to simplicial insertion of `i` in the list. This gives existence of a normal form for every morphism satisfying `P_σ`, i.e exhibits such morphism as some `standardσ`.
For unicity, we introduce an auxiliary function `simplicialEvalσ : (List ℕ) → ℕ → ℕ` and show that for admissible lists, it lifts to `ℕ` the `orderHom` attached to `toSimplexCategory.map standardσ` and that we can recover elements of the list only by looking at values of this function. Since admissible lists are sorted, this fully characterizes the list, and thus shows that the list only depends on the morphism `standardσ` attached to it.
Part of a series of PR formalising that `SimplexCategoryGenRel` is equivalent to `SimplexCategory`.
---
- [x] depends on: #21744
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21745.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21745* |
t-algebraic-topology
large-import
|
189/7 |
Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean |
1 |
12 |
['github-actions', 'jcommelin', 'joelriou', 'mathlib4-dependent-issues-bot', 'robin-carlier'] |
mattrobball assignee:mattrobball |
3-56074 3 days ago |
3-56129 3 days ago |
86-3093 86 days |
26824 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): Day functors type synonym |
Given monoidal categories `C` and `V`, we introduce a type synonym `DayFunctor C V` (denoted `C ⊛⥤ V`) for functors `C ⥤ V` and produce a category instance on it. Using the infrastructure from #26820, we show that this category admits a monoidal structure coming from Day convolution of functors. We provide a very basic API for this category, such as an abbreviation for the unit map of day convolutions, and a restatement of the universal property of the tensor product with respect to that unit.
---
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
241/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
2 |
n/a |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
3-55760 3 days ago |
unknown |
unknown |
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 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'vihdzp'] |
kmill assignee:kmill |
3-41668 3 days ago |
11-80979 11 days ago |
16-37673 16 days |
28987 |
euprunin author:euprunin |
chore(Analysis/Distribution): remove redundant `have` in `ae_eq_zero_of_integral_smooth_smul_eq_zero` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
0/2 |
Mathlib/Analysis/Distribution/AEEqOfIntegralContDiff.lean |
1 |
6 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
hrmacbeth assignee:hrmacbeth |
3-41667 3 days ago |
10-52067 10 days ago |
10-54665 10 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 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
3-41665 3 days ago |
10-78995 10 days ago |
13-3056 13 days |
29257 |
harahu author:harahu |
doc: attach "pre", "pseudo", "semi" and "sub" as a prefixes where they are now free-standing |
These are all merely prefixes and should be attached, either in closed form or by hyphen, to some other construct.
---
[](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 |
3-41657 3 days ago |
10-64033 10 days ago |
10-64076 10 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/)
|
|
40/0 |
Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/Says.lean,MathlibTest/says.lean |
4 |
1 |
['github-actions'] |
nobody |
3-33142 3 days ago |
3-33218 3 days ago |
3-33199 3 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 |
3-32408 3 days ago |
81-34391 2 months ago |
81-34432 81 days |
29491 |
bwangpj author:bwangpj |
feat: closed point of scheme gives maximal ideal in affine open |
If a point `x` is a closed point in a scheme `X`, then its corresponding prime ideal in an affine open, `primeIdealOf x`, is maximal.
The converse is not true in general, but is true for schemes locally of finite type over a field.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
13/0 |
Mathlib/AlgebraicGeometry/AffineScheme.lean |
1 |
1 |
['github-actions'] |
nobody |
3-23406 3 days ago |
3-23990 3 days ago |
3-24027 3 days |
29479 |
harahu author:harahu |
doc: move docstring references to definitions to correct locations |
This addresses some instances of docstrings referring to results that have been moved away form their prior locations.
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
14/20 |
Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean |
3 |
4 |
['github-actions', 'harahu', 'mathlib4-merge-conflict-bot'] |
nobody |
3-16687 3 days ago |
3-18122 3 days ago |
3-58744 3 days |
29471 |
harahu author:harahu |
doc: use em dash instead of hyphen in Akra-Bazzi |
When joining two names, like is done here, the em 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 |
29/22 |
Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
3-16448 3 days ago |
3-18041 3 days ago |
3-71777 3 days |
27841 |
CBirkbeck author:CBirkbeck |
feat(Topology/Algebra/InfiniteSum/NatInt): add more pnat tsum lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
32/7 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean |
3 |
8 |
['CBirkbeck', 'github-actions', 'loefflerd'] |
nobody |
3-11946 3 days ago |
4-66133 4 days ago |
4-67410 4 days |
27702 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory/SelbergSieve): define Lambda-squared sieves and prove important properties |
This PR continues the work from #22052.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22052
- [ ] depends on: #27820
|
t-number-theory |
199/0 |
Mathlib/NumberTheory/SelbergSieve.lean |
1 |
6 |
['FLDutchmann', 'bryangingechen', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-9726 3 days ago |
3-10385 3 days ago |
3-11443 3 days |
29486 |
kim-em author:kim-em |
chore: scope an expensive `IsDomain`->`IsAddTorsionFree` instance |
Unfortunately this instance significantly affects (10%) the run time of
```
import Mathlib
variable {K : Type*} [Field K]
example : Lean.Grind.NoNatZeroDivisors K := inferInstance
```
which is on the critical path for `grind`. It seems okay to scope it? It is only used once, in a file with explicit `IsDomain` variables. |
t-algebra label:t-algebra$ |
12/3 |
Mathlib/Algebra/Ring/Torsion.lean,Mathlib/LinearAlgebra/RootSystem/Finite/Lemmas.lean,MathlibTest/slow_instances.lean |
3 |
4 |
['github-actions', 'kbuzzard', 'leanprover-bot'] |
nobody |
3-7808 3 days ago |
3-39820 3 days ago |
3-39861 3 days |
28780 |
gaetanserre author:gaetanserre |
feat(Analysis/SpecialFunctions): add the sigmoid function |
Add the Sigmoid from `ℝ` to `ℝ` and show some analytical properties. Then, add `sigmoid_ord_embedding`, the Sigmoid function seen as an `OrderEmbedding` from `ℝ` to `I`. Show that it is a `MeasurableEmbedding` and that we could use it to construct a `MeasurableEmbedding` from any `StandardBorelSpace` to `I`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
292/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Sigmoid.lean,Mathlib/Data/Set/Operations.lean |
3 |
66 |
['gaetanserre', 'github-actions', 'j-loreaux', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
3-2426 3 days ago |
3-2426 3 days ago |
18-25387 18 days |
27304 |
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$ |
358/0 |
Mathlib.lean,Mathlib/Algebra/Lie/Weights/InvariantSubmoduleLieIdeal.lean,Mathlib/Algebra/Lie/Weights/Killing.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean |
4 |
1 |
['github-actions'] |
ocfnash assignee:ocfnash |
3-667 3 days ago |
55-2855 1 month ago |
55-2898 55 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
|
152/13 |
Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/Limits/Preorder.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean |
3 |
7 |
['FernandoChu', 'github-actions', 'joelriou'] |
joelriou assignee:joelriou |
2-84818 2 days ago |
10-2075 10 days ago |
10-51962 10 days |
29219 |
euprunin author:euprunin |
chore: remove redundant `obtain` invocations |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-algebra
label:t-algebra$ |
0/10 |
Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Lie/Weights/Cartan.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Polynomial/Monic.lean |
6 |
6 |
['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
2-84768 2 days ago |
2-84768 2 days ago |
11-63104 11 days |
29115 |
CBirkbeck author:CBirkbeck |
feat: develop some more limUnder api |
We add results about how the `limUndet atTop` function behaves under addition, multiplication, etc. This is useful for defining the Eisensten series E2. See #28733
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
105/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/LimUnder.lean |
2 |
10 |
['CBirkbeck', 'github-actions', 'j-loreaux', 'loefflerd', 'mathlib4-merge-conflict-bot', 'plp127'] |
j-loreaux assignee:j-loreaux |
2-81847 2 days ago |
12-8886 12 days ago* |
14-67344 14 days* |
29506 |
Vierkantor author:Vierkantor |
feat(CI): `nightly-testing` regression report |
This PR adds a workflow that builds the `nightly-testing-green` branch with extra linting options enabled, and reports the results on Zulip. We currently can use this to catch places where `grind` doesn't solve goals that `linarith`/`omega`/`ring` can solve.
Example output to Zulip:
> Mathlib's [nightly-testing branch](https://github.com/leanprover-community/mathlib4-nightly-testing/tree/nightly-testing) ([0f4ee783b5dac29751bce6be710a445e89159a69](https://github.com/Vierkantor/mathlib4/commit/0f4ee783b5dac29751bce6be710a445e89159a69)) regression run [completed](https://github.com/Vierkantor/mathlib4/actions/runs/17583902916).
> Warnings: 283
>
> | | Warning description |
> | ---: | --- |
> | 235 | `grind` failed where `linarith` succeeded. |
> | 45 | `grind` failed where `ring` succeeded. |
> | 2 | original tactic 'linarith' failed: linarith failed to find a contradiction |
> | 1 | original tactic 'linarith [(Nat.find_spec h_exist).1]' failed: failed to synthesize |
---
[](https://gitpod.io/from-referrer/)
|
CI |
186/6 |
.github/workflows/nightly-regression-report.yml,Mathlib/Tactic/TacticAnalysis/Declarations.lean,scripts/zulip_build_report.sh |
3 |
1 |
['github-actions'] |
nobody |
2-77391 2 days ago |
2-77456 2 days ago |
2-77438 2 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 |
783/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 |
6 |
['JovanGerb', 'github-actions', 'xyzw12345'] |
JovanGerb assignee:JovanGerb |
2-77214 2 days ago |
4-32271 4 days ago |
51-85753 51 days |
29045 |
grunweg author:grunweg |
chore: remove the `field_simps` simp set |
This was used for the field_simp tactic before its recent rewrite. Its uses in mathlib were removed in #28918.
---
- [x] depends on: #28918
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
31/82 |
Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/NeZero.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromBounded.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SimpleGraph/Density.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/Tactic/Attr/Register.lean |
22 |
7 |
['Ruben-VandeVelde', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
2-74548 2 days ago |
6-59919 6 days ago |
15-58783 15 days |
29500 |
vihdzp author:vihdzp |
feat: `WellFoundedLT (LowerSet α)` |
We prove that `LowerSet α` is well-founded when `α` is a WQO.
---
This result is used in the CGT repository to construct the poset game!
[](https://gitpod.io/from-referrer/)
|
t-order |
31/0 |
Mathlib.lean,Mathlib/Order/UpperLower/WellFounded.lean |
2 |
2 |
['github-actions', 'plp127'] |
nobody |
2-74428 2 days ago |
2-84393 2 days ago |
2-84436 2 days |
29504 |
zhuyizheng author:zhuyizheng |
feat(MeasureTheory): add absolutely continuous functions |
Add absolutely continuous functions. Part of originally planned #29092.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
375/0 |
Mathlib.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
1 |
['github-actions'] |
nobody |
2-72610 2 days ago |
2-72610 2 days ago |
2-79450 2 days |
29113 |
scholzhannah author:scholzhannah |
chore: rename PartialHomeomorph to OpenPartialHomeomorph |
This PR renames `PartialHomeomorph` to `OpenPartialHomeomorph` as discussed in [#mathlib4 > Generalizing `PartialHomeomorph`?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60PartialHomeomorph.60.3F). This is the first step towards generalizing `PartialHomeomorph` to allow arbitrary sources and targets.
---
This is the first time that I am doing this type of renaming. I tried to do everything well but I am not sure that I did it how it is supposed to be done.
[](https://gitpod.io/from-referrer/)
|
file-removed |
1257/1021 |
Mathlib.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/FDeriv.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Sqrt.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/Deprecated/AnalyticManifold.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ConformalGroupoid.lean,Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Defs.lean,Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Geometry/Manifold/MFDeriv/Atlas.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Defs.lean,Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean,Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/FiberwiseLinear.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/MDifferentiable.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConvergence.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/PolarCoord.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/FiberBundle/Constructions.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/OpenPartialHomeomorph.lean,Mathlib/Topology/VectorBundle/Basic.lean,MathlibTest/MfldSetTac.lean |
64 |
12 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
2-70453 2 days ago |
2-70473 2 days ago |
11-27246 11 days |
29156 |
harahu author:harahu |
doc: treat "non" as a prefix where it appears as a free-standing word |
In English, "non" is merely a prefix, not a word in itself. Hence, it should always be attached to another word, either directly or by hyphen.
This PR attaches the prefix "non" to whatever it is prefixing in the cases where it currently appears as a free-standing word.
There's a couple of tricky cases in the PR that needs some extra attention. I will call these out by review comments.
---
[](https://gitpod.io/from-referrer/)
|
|
89/89 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/AlgebraicTopology/DoldKan/Degeneracies.lean,Mathlib/Analysis/Complex/Arg.lean,Mathlib/Analysis/Complex/Polynomial/Basic.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Unbundled/RingSeminorm.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/SmallObject/Iteration/Basic.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/CompleteBooleanAlgebra.lean,Mathlib/Order/Disjoint.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Finset/Defs.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SuccPred/Archimedean.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/TransfiniteIteration.lean,Mathlib/Probability/ProductMeasure.lean,Mathlib/RingTheory/KrullDimension/NonZeroDivisors.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/OrderOfVanishing.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean,Mathlib/RingTheory/Regular/IsSMulRegular.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Baire/BaireMeasurable.lean,Mathlib/Topology/Connected/LocallyConnected.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean,Mathlib/Topology/Sets/Compacts.lean |
51 |
70 |
['github-actions', 'grunweg', 'harahu', 'mathlib4-merge-conflict-bot'] |
nobody |
2-67759 2 days ago |
2-67781 2 days ago |
10-83693 10 days |
29511 |
luigi-massacci author:luigi-massacci |
feat: integrating wrt a finite measure as a continuous linear map on bounded continuous functions |
Add a definition `integralFiniteMeasure` of type `ContinuousLinearMap` packaging the integral of a bounded continuous function by a finite measure.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-measure-probability
|
17/0 |
Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean |
1 |
23 |
['github-actions', 'grunweg', 'luigi-massacci'] |
nobody |
2-65402 2 days ago |
2-65403 2 days ago |
2-67548 2 days |
25324 |
eric-wieser author:eric-wieser |
feat: more functorial results about DFinsupp |
We have these already for Finsupp.
The `DFinsupp` statements need some extra casts in some places.
---
- [ ] depends on: #27182
[](https://gitpod.io/from-referrer/)
[#mathlib4 > Equiv.cast for structures @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Equiv.2Ecast.20for.20structures/near/521390935)
|
t-data
t-algebra
label:t-algebra$ |
137/16 |
Mathlib/Data/DFinsupp/Defs.lean,Mathlib/LinearAlgebra/DFinsupp.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
2-64144 2 days ago |
2-64299 2 days ago |
2-64276 2 days |
29498 |
harahu author:harahu |
doc: improve grammar and flow in documentation |
This PR might be deemed too stylistic in nature, but I'll propose it anyhow, with the purpose of sectioning out potential for bikeshedding from #29464.
The changes are largely the work of LLM coding agents, but I have manually checked every change and have not included anything in this PR that I cannot personally stand for.
In totality, my opinion is that this PR improves the legibility, clarity and conciseness of the documentation it covers, and should be merged.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-computability
|
40/39 |
Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean |
3 |
12 |
['github-actions', 'grunweg', 'harahu', 'themathqueen'] |
nobody |
2-64083 2 days ago |
2-79012 2 days ago |
2-84992 2 days |
29057 |
jeremypparker author:jeremypparker |
feat(Topology/Instances): `AddCircle.liftIoc_continuous` |
Previously `AddCircle.liftIco_continuous` existed but this equivalent result did not. In the process I prove that
`liftIoc` is equivalent to `liftIco` if the endpoint values are equal.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
50/5 |
Mathlib/Topology/Instances/AddCircle/Defs.lean |
1 |
8 |
['Ruben-VandeVelde', 'github-actions', 'jeremypparker'] |
ADedecker assignee:ADedecker |
2-57520 2 days ago |
16-3805 16 days ago |
16-3840 16 days |
29380 |
chrisflav author:chrisflav |
feat(CategoryTheory/MorphismProperty): define `ind P` |
Given a morphism property `P`, we define a morphism property `ind P` that is satisfied for
`f : X ⟶ Y` if `Y` is a filtered colimit of `Yᵢ` and `fᵢ : X ⟶ Yᵢ` satisfy `P`.
We show that `ind` is idempotent under certain compactness assumptions.
---
- [x] depends on: #29382
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
289/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Presentation.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/MorphismProperty/Ind.lean,Mathlib/CategoryTheory/ObjectProperty/Ind.lean,Mathlib/CategoryTheory/Presentable/Finite.lean,Mathlib/CategoryTheory/WithTerminal/Lemmas.lean |
7 |
13 |
['chrisflav', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
2-57385 2 days ago |
2-57385 2 days ago |
4-7018 4 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 |
248/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 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-57001 2 days ago |
2-66622 2 days ago |
2-66603 2 days |
29516 |
kckennylau author:kckennylau |
chore: Deprecate IsAdjoinRoot.subsingleton |
This PR deprecates `IsAdjoinRoot.subsingleton` in favour of the new `Algebra.subsingleton`:
```lean
theorem IsAdjoinRoot.subsingleton {R : Type u} {S : Type v} [CommRing R] [Ring S] {f : Polynomial R}
[Algebra R S] (h : IsAdjoinRoot S f) [Subsingleton R] :
Subsingleton S
theorem Algebra.subsingleton (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] [Algebra R A]
[Subsingleton R] : Subsingleton A
```
---
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/IsAdjoinRoot.2Esubsingleton/with/538731602
[](https://gitpod.io/from-referrer/)
|
|
9/3 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
2 |
1 |
['github-actions'] |
nobody |
2-54257 2 days ago |
2-58018 2 days ago |
2-57999 2 days |
24050 |
Paul-Lez author:Paul-Lez |
feat(Data/Finsupp/Pointwise): generalise pointwise scalar multiplication of finsupps |
As pointed out by @eric-wieser, this creates an instance diamond with `SMul (α → β) (α →₀ (α → β))`
---
[](https://gitpod.io/from-referrer/)
|
t-data |
7/4 |
Mathlib/Data/Finsupp/Pointwise.lean |
1 |
7 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'kckennylau'] |
nobody |
2-53872 2 days ago |
151-58197 4 months ago |
151-58242 151 days |
29405 |
pechersky author:pechersky |
feat(NumberTheory/Padic): characterization of norms of zmodRepr |
And of `p - 1`
In preparation for `p - 1` roots of unity
---
[](https://gitpod.io/from-referrer/)
Instead of using general `IsUltrametricDist` lemmas, prefer to use lower level specialized lemmas to prevent import increase |
t-number-theory |
123/0 |
Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean |
3 |
1 |
['github-actions'] |
nobody |
2-53709 2 days ago |
5-65160 5 days ago |
5-65148 5 days |
29403 |
pechersky author:pechersky |
feat(Data/Nat/Basic): Nat.dvd_sub_self_iff |
a lemma to deal with a trivial side case
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
18/0 |
Mathlib/Data/Nat/Basic.lean |
1 |
2 |
['Ruben-VandeVelde', 'github-actions'] |
nobody |
2-53696 2 days ago |
5-44012 5 days ago |
5-58826 5 days |
29416 |
pechersky author:pechersky |
feat(RingTheoryy/RootsOfUnity): of_card_le |
If the cardinality of n-th roots of unity is >= n, then `HasEnoughRootsOfUnity` the reverse direction of `natCard_rootsOfUnity`
but requires `CommRing`
Stated with an `LE` instead of `Eq` to have a weaker hypothesis
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
17/0 |
Mathlib/RingTheory/RootsOfUnity/EnoughRootsOfUnity.lean |
1 |
1 |
['github-actions'] |
nobody |
2-53646 2 days ago |
5-43756 5 days ago |
5-43744 5 days |
29408 |
pechersky author:pechersky |
feat(Analysis/Normed/Ultra): nonarch norm of sum over disjoint norms achieves max |
---
[](https://gitpod.io/from-referrer/)
I thought about having a `tprod` version too, but wasn't sure the best way to phrase it
|
maintainer-merge
t-analysis
|
24/0 |
Mathlib/Analysis/Normed/Group/Ultra.lean |
1 |
5 |
['github-actions', 'loefflerd'] |
nobody |
2-53612 2 days ago |
4-82989 4 days ago |
5-64332 5 days |
29518 |
joelriou author:joelriou |
feat(CategoryTheory): extremal epimorphisms |
An extremal epimorphism `p : X ⟶ Y` is an epimorphism which does not factor through any proper subobject of `Y`. In case the category has equalizers, we show that a morphism `p : X ⟶ Y` which does not factor through any proper subobject of `Y` is automatically an epimorphism, and also an extremal epimorphism. We also show that a strong epimorphism is an extremal epimorphism, and that both notions coincide when the category has pullbacks.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
75/0 |
Mathlib.lean,Mathlib/CategoryTheory/ExtremalEpi.lean |
2 |
3 |
['github-actions', 'joelriou'] |
nobody |
2-46619 2 days ago |
2-48153 2 days ago |
2-48136 2 days |
26031 |
joelriou author:joelriou |
feat(Algebra/Homology): the derived category of a linear abelian category is linear |
---
- [x] depends on: #25931
This PR continues the work from #24596.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24596 |
t-category-theory |
71/0 |
Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean |
4 |
n/a |
['AntoineChambert-Loir', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
2-45988 2 days ago |
unknown |
unknown |
28614 |
kckennylau author:kckennylau |
feat(CategoryTheory): The finite pretopology on a category |
We define `CategoryTheory.Pretopology.finite`, the finite pretopology on a category, which consists of presieves that contain only finitely many arrows.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-category-theory
|
131/0 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/Finite.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
3 |
31 |
['chrisflav', 'github-actions', 'joelriou', 'kckennylau'] |
chrisflav assignee:chrisflav |
2-45932 2 days ago |
2-55995 2 days ago |
11-4239 11 days |
29221 |
euprunin author:euprunin |
chore: remove redundant `rintro` invocations (before `omega`) |
---
[](https://gitpod.io/from-referrer/)
|
|
0/4 |
Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Data/List/Range.lean |
3 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
RemyDegenne assignee:RemyDegenne |
2-41672 2 days ago |
10-54209 10 days ago |
11-61302 11 days |
29239 |
harahu author:harahu |
Doc: Hyphenize compound adjectives ending in "-valued" |
---
[](https://gitpod.io/from-referrer/)
|
|
54/54 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/UpperHalfPlane/FunctionsBoundedAtInfty.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/NormedSpace/MultipliableUniformlyOn.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Simple.lean,Mathlib/CategoryTheory/Sites/Subsheaf.lean,Mathlib/CategoryTheory/Subpresheaf/Basic.lean,Mathlib/Data/Sigma/Basic.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/Geometry/Manifold/Riemannian/Basic.lean,Mathlib/Geometry/RingedSpace/SheafedSpace.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Topology/Algebra/InfiniteSum/ENNReal.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean,Mathlib/Topology/Separation/CompletelyRegular.lean,Mathlib/Topology/Sheaves/CommRingCat.lean,Mathlib/Topology/Sheaves/Sheafify.lean,docs/undergrad.yaml |
32 |
2 |
['github-actions', 'harahu'] |
riccardobrasca assignee:riccardobrasca |
2-41671 2 days ago |
11-3763 11 days ago |
11-3744 11 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'] |
joelriou assignee:joelriou |
2-41664 2 days ago |
10-7065 10 days ago |
10-7095 10 days |
29315 |
kbuzzard author:kbuzzard |
chore: raise priority of `IsTopologicalSemiring.toIsModuleTopology` |
Instances of the form `SMul A B -> SMul (F A) (F B)` can be problematic for several reasons, one of them being that if `A = B` is a ring and if `F A` is also ring then this can cause a diamond with `Algebra.id`. In mathlib we attempt to coerce typeclass inference away from such problems by raising the priority of `Algebra.id` to 1100; this hack (implemented in #13032) seems to work well, indeed it seems sensible to try this instance early because it should be quick to fail and is always the right idea when it doesn't (the change also made mathlib faster and made a proof better). By the same logic it seems safe to raise the priority of `IsTopologicalSemiring.toIsModuleTopology` by the same amount; in FLT there is a mathematically natural but mathlib-problematic instance `Algebra K L -> Algebra (𝔸 K) (𝔸 L)`
and then another instance `Algebra K L -> IsModuleTopology (𝔸 K) (𝔸 L)` where `𝔸 K` is the adele ring of the number field `K`, and the change in this PR solves timeouts when `K = L`.
Zulip: [#mathlib4 > product of modules over product of rings @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/product.20of.20modules.20over.20product.20of.20rings/near/532799613)
---
[](https://gitpod.io/from-referrer/)
There are other solutions to this problem -- I am certainly not claiming that the FLT project needs this PR to be merged! We can tinker with priorities locally in FLT for example. However when I noticed that `Algebra.id` had a raised priority in mathlib I realised that mathlib might be amenable to this further ~~hack~~change.
|
t-topology |
6/1 |
Mathlib/Topology/Algebra/Module/ModuleTopology.lean |
1 |
4 |
['github-actions', 'kbuzzard', 'leanprover-bot'] |
j-loreaux assignee:j-loreaux |
2-41663 2 days ago |
9-83808 9 days ago |
9-83849 9 days |
29302 |
harahu author:harahu |
doc: hyphenate attributive compound adjectives starting with "upper" or "lower" |
Compound adjectives that are attributive (coming before their noun) should almost always be hyphenated in English.
This PR covers such adjectives that are starting with "upper" or "lower".
---
[](https://gitpod.io/from-referrer/)
|
|
53/53 |
Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/Order/ModularLattice.lean,Mathlib/Topology/Semicontinuous.lean |
4 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
2-41663 2 days ago |
10-9530 10 days ago |
10-9511 10 days |
29318 |
FernandoChu author:FernandoChu |
feat(CategoryTheory): (Co)limits in skeletons |
As [suggested in the zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Transporting.20properties.20along.20an.20equivalence.20of.20cats/with/533308058), I add here some instances for (co)limits in the skeletons. This is useful, e.g., for showing that `Subobject X` has arbitrary suprema/infima under some conditions in the underlying category. |
new-contributor
t-category-theory
|
79/3 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Skeleton.lean,Mathlib/CategoryTheory/Skeletal.lean |
3 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
2-41662 2 days ago |
9-79337 9 days ago |
9-79374 9 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$ |
162/0 |
Counterexamples.lean,Counterexamples/DimensionPolynomial.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean |
5 |
11 |
['github-actions', 'kbuzzard', 'kckennylau', 'xyzw12345'] |
nobody |
2-40800 2 days ago |
3-12878 3 days ago |
3-12906 3 days |
29526 |
llllvvuu author:llllvvuu |
feat: `Multiset.map f` identifies `f` up to permutation |
Example use case: Reason about `Matrix.IsHermitian.eigenvalues`, which is `Fintype`-indexed, via `Matrix.charpoly.roots` which is a `Multiset`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
29/0 |
Mathlib/Data/Multiset/Fintype.lean |
1 |
1 |
['github-actions'] |
nobody |
2-37626 2 days ago |
2-40081 2 days ago |
2-40079 2 days |
29532 |
Aaron1011 author:Aaron1011 |
feat: add group/field versions of Filter.map_*_atTop_eq_nat |
Add Filter.map_add_atTop_eq, Filter.map_sub_atTop_eq, and Filter.map_div_atTop_eq, which correspond to
Filter.map_add_atTop_eq_nat, Filter.map_sub_atTop_eq_nat, and Filter.map_div_atTop_eq_nat respectively.
These theorems apply to ordered groups/fields
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
14/0 |
Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Filter/AtTopBot/Field.lean |
2 |
1 |
['github-actions'] |
nobody |
2-36954 2 days ago |
2-36961 2 days ago |
2-39081 2 days |
29476 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix): `charpoly` splits into `IsHermitian.eigenvalues` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
52/12 |
Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean |
2 |
7 |
['github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
2-31767 2 days ago |
2-39944 2 days ago |
3-61346 3 days |
29248 |
mans0954 author:mans0954 |
feature(Analysis/Convex/Basic): Convexity and the algebra map |
Let `R` and `A` be ordered rings, `A` an `R`-algebra and `R`, `A`, `M` a scalar tower. We provide sufficient conditions for an `R`-convex subset of `M` to be `A`-convex and for an `A`-convex subset of `M` to be `R`-convex.
These are used to show that, when `K` is `RCLike` and `ℝ` `K` `E` is a scalar tower, a set is `K`-convex if and only if it is `ℝ`-convex.
Used in #29258
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
49/0 |
Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/RCLike/Lemmas.lean |
2 |
4 |
['github-actions', 'mans0954'] |
j-loreaux assignee:j-loreaux |
2-28367 2 days ago |
10-70021 10 days ago |
10-70011 10 days |
29503 |
zhuyizheng author:zhuyizheng |
feat(MeasureTheory): add Lebesgue differentiation theorem for intervals |
Add the Lebesgue differentiation theorem for intervals. Part of originally planned #29092.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
77/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/LebesgueDifferetiationThm.lean |
3 |
19 |
['github-actions', 'themathqueen', 'vlad902'] |
nobody |
2-24606 2 days ago |
2-72628 2 days ago |
2-79912 2 days |
29426 |
kim-em author:kim-em |
feat: grind annotations for Finset.range |
------------------
- [x] depends on: #29509 |
t-data |
21/29 |
Mathlib/Data/Finset/Empty.lean,Mathlib/Data/Finset/Range.lean |
2 |
5 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
2-23403 2 days ago |
2-41586 2 days ago |
4-63472 4 days |
29539 |
YaelDillies author:YaelDillies |
feat: monoid algebras are invariant under base change |
From Toric
Co-authored-by: Michał Mrugała
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
large-import
|
112/6 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean |
3 |
1 |
['github-actions'] |
nobody |
2-22726 2 days ago |
2-22726 2 days ago |
2-24133 2 days |
29510 |
sgouezel author:sgouezel |
chore: add missing fast_instance attributes |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/10 |
Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
2 |
5 |
['github-actions', 'grunweg', 'leanprover-bot', 'themathqueen'] |
nobody |
2-22689 2 days ago |
2-73488 2 days ago |
2-73526 2 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 |
2 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
2-16653 2 days ago |
9-61798 9 days ago |
9-61780 9 days |
29326 |
FormulaRabbit81 author:FormulaRabbit81 |
feat(Analysis): constant * function tending to 0 is still 0 |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
|
24/0 |
Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/Real/Lemmas.lean |
3 |
2 |
['FormulaRabbit81', 'github-actions'] |
nobody |
2-13165 2 days ago |
2-13165 2 days ago |
9-66323 9 days |
29297 |
harahu author:harahu |
doc: hyphenate "first order" and "higher order" when used attributively |
Compound adjectives that are attributive (coming before their noun) should almost always be hyphenated in English.
This PR covers "first order" and "higher order".
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
24/24 |
Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/Logic/Basic.lean,Mathlib/ModelTheory/Algebra/Field/Basic.lean,Mathlib/ModelTheory/Algebra/Field/CharP.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/RingTheory/MvPolynomial/FreeCommRing.lean,Mathlib/Topology/VectorBundle/Riemannian.lean,docs/undergrad.yaml |
11 |
3 |
['github-actions', 'grunweg'] |
nobody |
2-13077 2 days ago |
2-13077 2 days ago |
10-14722 10 days |
29256 |
harahu author:harahu |
doc: attach "quasi" as a prefix where it is currently freestanding |
---
[](https://gitpod.io/from-referrer/)
|
t-dynamics
t-measure-probability
|
25/25 |
Mathlib/AlgebraicGeometry/Morphisms/Descent.lean,Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/AEEqFun/DomAct.lean,Mathlib/MeasureTheory/Group/AEStabilizer.lean,Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean,Mathlib/MeasureTheory/Measure/Restrict.lean |
10 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
nobody |
2-11815 2 days ago |
2-11887 2 days ago |
10-64572 10 days |
29413 |
jsm28 author:jsm28 |
refactor(Geometry/Euclidean/Altitude,Geometry/Euclidean/Incenter): use `Nat.AtLeastTwo` |
Using `[Nat.AtLeastTwo n]` in place of `(hn : 1 < n)` saves passing various explicit hypotheses around, and is convenient in particular if applying lemmas in the common use case of a triangle.
As discussed on Zulip, `AtLeastTwo` is mainly used with literals at present, and there is no clear consensus about broader use in groups of lemmas sharing a common value of `n`, but `NeZero` is used in a similar way in the `rootsOfUnity` API.
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
23/21 |
Mathlib/Geometry/Euclidean/Altitude.lean,Mathlib/Geometry/Euclidean/Incenter.lean |
2 |
4 |
['eric-wieser', 'github-actions', 'jsm28'] |
nobody |
2-8182 2 days ago |
5-53316 5 days ago |
5-53298 5 days |
29477 |
izanbf1803 author:izanbf1803 |
feat(Algebra/Ring/Invertible): add `eq_of_invOf_add_eq_invOf_add_invOf` |
Formalize statement and prove eq_of_invOf_add_eq_invOf_add_invOf
⅟(a + b) = ⅟a + ⅟b → a * ⅟b * a = b * ⅟a * b (for a, b in a ring; a, b invertible)
This will be useful to formalize a proof in https://github.com/eric-wieser/lean-matrix-cookbook.
|
new-contributor
t-algebra
label:t-algebra$ |
29/0 |
Mathlib/Algebra/Ring/Invertible.lean |
1 |
3 |
['eric-wieser', 'github-actions'] |
nobody |
2-7493 2 days ago |
3-65346 3 days ago |
3-65391 3 days |
29552 |
RemyDegenne author:RemyDegenne |
feat(Probability): lemmas about composition of kernels and measures |
From the LeanBandits project.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
44/0 |
Mathlib/Probability/ConditionalProbability.lean,Mathlib/Probability/Kernel/Composition/Lemmas.lean,Mathlib/Probability/Kernel/Composition/MeasureComp.lean,Mathlib/Probability/Kernel/Composition/ParallelComp.lean,Mathlib/Probability/Kernel/Composition/Prod.lean |
5 |
1 |
['github-actions'] |
nobody |
2-5977 2 days ago |
2-5987 2 days ago |
2-6025 2 days |
29554 |
RemyDegenne author:RemyDegenne |
feat(Probability): `CondIndepFun` lemmas |
Lemmas about conditional independence of constant random variables and of random variables that are measurable with respect to the sigma-algebra that we are conditioning on.
From the LeanBandits project.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
94/2 |
Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Kernel.lean |
3 |
1 |
['github-actions'] |
nobody |
2-5006 2 days ago |
2-5015 2 days ago |
2-5052 2 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 |
1 |
['github-actions'] |
nobody |
2-2380 2 days ago |
2-2450 2 days ago |
2-2431 2 days |
25735 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Sifted): characterization of sifted categories |
Characterize small sifted as those for which the `Type`-valued colimit functor preserves finite product. Deduce that filtered categories, and that categories admitting a final functor from a sifted categories are also sifted.
---
Second part of what used to be #17554. The core of the proof relies on a few private lemmas/defs (`colimBoxIsoColimTensColim` and `factorization_prod_comparison_colim` being the most important ones) and I don’t know if that can be avoided.
I am still unsure wether or not the part relating sifted categories to filtered categories should be split off in a different file to avoid importing `CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean` every time `CategoryTheory/Limits/Sifted.lean` is imported.
The fact that filtered categories are sifted can also be proved without the characterization in this PR (it reduces essentially to `IsFiltered.bowtie`), and so it could also stay in this file with less imports, but I find it nicer to do it using the characterization.
- [x] depends on: #17766
- [x] depends on: #17779
- [x] depends on: #25732
- [x] depends on: #25734
- [x] depends on: #25731
- [x] depends on: #24735
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #17781.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/17781* |
large-import
t-category-theory
|
166/3 |
Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean,Mathlib/CategoryTheory/Limits/Sifted.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
adamtopaz assignee:adamtopaz |
2-2246 2 days ago |
27-9038 27 days ago |
27-9046 27 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/1 |
Mathlib.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Properties.lean |
4 |
1 |
['github-actions'] |
nobody |
1-81914 1 day ago |
2-6561 2 days ago |
2-6613 2 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 |
63 |
['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 |
1-81419 1 day ago |
150-8384 4 months ago |
205-55499 205 days |
29547 |
kim-em author:kim-em |
chore: remove defunct polyrith tactic |
In my understanding, the public Sage server that `polyrith` relies on is down and never going to come back, and hence the `polyrith` code is dead. There are a bunch of viable options for restoring this, e.g. running Sage locally, running our own Sage server, moving to a different external CAS, implementing Grobner bases in a way that produces nullstellensatz certificates (including by modifying the `grind` implementation). But none of these exist at the moment, so this code in Mathlib is not of any use. It can immediately be restored from history if someone wants to implement one of these solutions. In the meantime, one can also use `grobner` (which calls the Grobner module in `grind`) to close the goal without a source code certificate. |
file-removed |
16/1235 |
Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo2006Q3.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/Tactic/Polyrith.lean,MathlibTest/polyrith.lean,scripts/README.md,scripts/noshake.json,scripts/polyrith_sage_helper.py |
8 |
2 |
['euprunin', 'github-actions', 'kim-em'] |
nobody |
1-76686 1 day ago |
2-9605 2 days ago |
2-9654 2 days |
29536 |
kim-em author:kim-em |
chore: minor grind golfing in Logic/Embedding |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-logic
|
18/14 |
Mathlib/Logic/Embedding/Basic.lean,Mathlib/Logic/Embedding/Set.lean |
2 |
2 |
['euprunin', 'github-actions', 'grunweg'] |
nobody |
1-76649 1 day ago |
2-12434 2 days ago |
2-32137 2 days |
29492 |
kim-em author:kim-em |
feat: grind golf in Mathlib.Data.List |
Much of this comes from locations identified by the new `linter.tacticAnalysis.terminalToGrind`, and then cleaning up in flagged files. |
t-data |
74/231 |
Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/Induction.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Lookmap.lean,Mathlib/Data/List/ReduceOption.lean,Mathlib/Data/List/SplitOn.lean,Mathlib/Data/List/TakeDrop.lean,Mathlib/Data/List/Triplewise.lean,Mathlib/Data/Multiset/UnionInter.lean |
10 |
5 |
['eric-wieser', 'euprunin', 'github-actions', 'kim-em'] |
nobody |
1-76487 1 day ago |
3-22112 3 days ago |
3-22157 3 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'] |
nobody |
1-72910 1 day ago |
1-72922 1 day ago |
1-72966 1 day |
27847 |
euprunin author:euprunin |
chore(Algebra): avoid duplicating proofs by reusing existing theorems or lemmas |
|
t-algebra label:t-algebra$ |
46/73 |
Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2015Q6.lean,Mathlib/Algebra/Homology/Embedding/Extend.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/BigOperators/Group/Finset.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Degree.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Topology/Algebra/Order/Group.lean,Mathlib/Topology/MetricSpace/Algebra.lean,MathlibTest/GCongr/inequalities.lean,MathlibTest/GRewrite.lean |
25 |
18 |
['Ruben-VandeVelde', 'euprunin', 'github-actions', 'grunweg', 'kbuzzard', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
mariainesdff assignee:mariainesdff |
1-71636 1 day ago |
1-71636 1 day ago |
39-11545 39 days |
29563 |
j-loreaux author:j-loreaux |
refactor: switch to using `Fact (0 ∈ s)` for `ContinuousMapZero.id` |
`ContinuousMapZero` is used exclusively for the non-unital continuous functional calculus. Within this scope we have an instance `Zero s` for `s : Set R` under the assumption `Fact (0 ∈ s)`. This is somewhat reasonable because, in the most common scenario, `s := quasispectrum R a`, for which we can always provide this `Fact` instance.
However, several declarations were put in place prior to this `Zero` instance, and they made use of a different paradigm where we take `Zero s` as an *argument* and then have another argument of the form `h0 : ↑(0 : s) = (0 : R)`. This PR shifts that paradigm into the new regime, and I think this change is beneficial.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
69/79 |
Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/PosPart/Basic.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
9 |
2 |
['github-actions', 'j-loreaux'] |
nobody |
1-68979 1 day ago |
1-69150 1 day ago |
1-69140 1 day |
28035 |
euprunin author:euprunin |
chore: replace `norm_num` with `simp` where applicable |
Same motivation as in kim-em's #24064 (chore: replace `norm_num` with `simp` where applicable):
> Consider replacing a tactic with a (ahem) simpler alternative.
Note that `norm_num` runs `simp` internally, so using `simp` is simply faster.
|
|
156/157 |
Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/Inversion.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/SmallTripling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Real/GoldenRatio.lean,Mathlib/Data/Real/Sign.lean,Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/KleinFour.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/NumberTheory/ADEInequality.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Cyclotomic/Discriminant.lean,Mathlib/NumberTheory/Cyclotomic/PID.lean,Mathlib/NumberTheory/Cyclotomic/Rat.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/NumberTheory/Fermat.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/Basic.lean,Mathlib/NumberTheory/ModularForms/LevelOne.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Zsqrtd/GaussianInt.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Fintype.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean,Mathlib/Tactic/NormNum/LegendreSymbol.lean,Mathlib/Topology/Algebra/Valued/WithZeroMulInt.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Separation/CompletelyRegular.lean |
90 |
22 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-68937 1 day ago |
1-73147 1 day ago |
37-4441 37 days |
26640 |
euprunin author:euprunin |
chore(Data): golf `Data/` using `grind` |
|
bench-after-CI
t-data
|
10/78 |
Mathlib/Data/EReal/Operations.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/List/Induction.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Set/Lattice.lean |
9 |
29 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-68905 1 day ago |
1-76857 1 day ago |
70-36166 70 days |
28996 |
euprunin author:euprunin |
chore: remove redundant `have`:s in `Computability/`, `Combinatorics/`, `Condensed/`, `Data/Nat/` and `Data/PNat/` |
---
[](https://gitpod.io/from-referrer/)
|
|
0/12 |
Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/DFA.lean,Mathlib/Condensed/AB.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/PNat/Xgcd.lean |
6 |
11 |
['JovanGerb', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
1-68614 1 day ago |
1-68614 1 day ago |
16-65187 16 days |
29564 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Monoidal): more natural constructors for monoidal functors |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
523/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean |
2 |
1 |
['github-actions'] |
nobody |
1-68466 1 day ago |
1-68484 1 day ago |
1-68531 1 day |
29540 |
YaelDillies author:YaelDillies |
refactor(SimpleGraph): make `triangleRemovalBound` positive more often |
It wasn't positive when `ε > 4`, but that is a junk value anyway, so we change the junk value to a positive one.
See #29496 for more context.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
66/40 |
Mathlib/Combinatorics/Additive/Corner/Roth.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/Nat/Choose/Bounds.lean,Mathlib/Data/Nat/Factorial/Basic.lean |
6 |
3 |
['github-actions', 'grunweg'] |
grunweg assignee:grunweg |
1-67767 1 day ago |
1-67828 1 day ago |
1-70985 1 day |
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'] |
nobody |
1-67356 1 day ago |
41-76400 1 month ago |
42-43536 42 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'] |
nobody |
1-67118 1 day ago |
1-67501 1 day ago |
1-68158 1 day |
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$ |
181/260 |
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 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
1-65351 1 day ago |
1-65351 1 day ago |
1-65364 1 day |
19668 |
YaelDillies author:YaelDillies |
refactor: define `≤`/`<` on `WithBot`/`WithTop` by induction |
The motivation for this change is that it is really confusing to run `intro r s shouldnthaveintroedthat` on a goal of the form `∀ r s : ℝ≥0∞, r ≤ s` and get the nonsense-looking goal `r = ↑shouldnthaveintroedthat → ∃ b : α, s = ↑b ∧ shouldnthaveintroedthat ≤ b⟩` instead of an error, and similarly when destructing something of the form `∃ r s : ℝ≥0∞, r < s`.
Furthermore, I suspect this improves performance.
---
- [x] depends on: #20317
- [x] depends on: #20318
- [x] depends on: #21274
- [x] depends on: #22109
[](https://gitpod.io/from-referrer/)
|
t-order |
156/99 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Max.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Interval/Set/WithBotTop.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RingTheory/PowerBasis.lean,Mathlib/Topology/MetricSpace/Holder.lean,Mathlib/Topology/MetricSpace/HolderNorm.lean,MathlibTest/hint.lean |
18 |
23 |
['JovanGerb', 'YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
Vierkantor assignee:Vierkantor |
1-64866 1 day ago |
2-17990 2 days ago |
168-47937 168 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 |
1-64757 1 day ago |
80-12545 2 months ago |
80-12800 80 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.
- [ ] depends on: #25812
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
27/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-64186 1 day ago |
1-71093 1 day ago |
1-71176 1 day |
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
|
206/2 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
4 |
34 |
['EtienneC30', 'RemyDegenne', 'TOMILO87', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
1-64063 1 day ago |
28-7044 28 days ago |
59-19795 59 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 |
4 |
['b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
adomani assignee:adomani |
1-62247 1 day ago |
1-69042 1 day ago |
85-69089 85 days |
29295 |
YaelDillies author:YaelDillies |
chore: rename `mul_lt_mul_left`/`mul_lt_mul_right` to `mul_lt_mul_iff_right₀`/`mul_lt_mul_iff_left₀` |
Follow up to #28645
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-algebra
label:t-algebra$ |
108/114 |
Archive/Imo/Imo2011Q3.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Choose/Central.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/Data/Ordmap/Invariants.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Exponential.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/Principal.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CancelDenoms/Core.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/MetricSpace/Contracting.lean,Mathlib/Topology/MetricSpace/Dilation.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
44 |
5 |
['JovanGerb', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
1-61940 1 day ago |
1-68663 1 day ago |
8-81007 8 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 |
485/0 |
Mathlib.lean,Mathlib/GroupTheory/DivisibleHull.lean |
2 |
51 |
['github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp', 'wwylele'] |
nobody |
1-61361 1 day ago |
1-61361 1 day ago |
5-22539 5 days |
26371 |
Timeroot author:Timeroot |
feat(NumberTheory): Niven's theorem |
This file proves Niven's theorem, that the only rational cosines of angles that are rational multiples of pi, are [-1, -1/2, 0, 1/2, 1]. This is one of the theorems missing from 1000.yaml.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
119/0 |
Mathlib.lean,Mathlib/NumberTheory/Niven.lean,docs/1000.yaml |
3 |
9 |
['Timeroot', 'github-actions', 'grunweg', 'plp127'] |
loefflerd and mariainesdff assignee:loefflerd assignee:mariainesdff |
1-59594 1 day ago |
80-62699 2 months ago |
80-62742 80 days |
29551 |
chrisflav author:chrisflav |
feat(CategoryTheory/Sites): the category of `1`-hypercovers up to homotopy |
We define the category of `1`-hypercovers up to homotopy as the category of `1`-hypercovers where morphisms are considered up to existence of a homotopy. We show that this category is cofiltered if the base category has pullbacks.
This category will be used to define a second construction of sheafification by taking certain colimits of multiequalizers over this category.
---
- [x] depends on: #29553
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
304/4 |
Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Hypercover/Homotopy.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/CategoryTheory/Sites/Hypercover/Zero.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-58801 1 day ago |
1-60877 1 day ago |
1-64808 1 day |
29227 |
robertmaxton42 author:robertmaxton42 |
feat (Limits.FunctorCategory): limitIsoFlipCompLim and colimitIsoFlipCompColim are natural |
Add `limIsoFlipCompWhiskerLim`, `limCompFlipIsoWhiskerLim`, `colimIsoFlipCompWhiskerColim`, `colimCompFlipIsoWhiskerColim`, each witnessing that their corresponding families of isomorphisms are natural in the diagram $F# .
---
Manually migrated from https://github.com/leanprover-community/mathlib4/pull/23992
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
41/1 |
Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean |
1 |
9 |
['github-actions', 'robertmaxton42', 'robin-carlier'] |
nobody |
1-57531 1 day ago |
1-57553 1 day ago |
7-80301 7 days |
19872 |
YaelDillies author:YaelDillies |
chore(GroupTheory/Index): rename `relindex` to `relIndex` |
Zulip discussion about renaming: [#PR reviews > #19872 rename relindex to relIndex @ 💬](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2319872.20rename.20relindex.20to.20relIndex/near/515908054)
---
- [x] depends on: #24044
[](https://gitpod.io/from-referrer/)
|
FLT
maintainer-merge
t-algebra
label:t-algebra$ |
297/191 |
Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/IndexNormal.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean |
17 |
29 |
['Ruben-VandeVelde', 'TwoFX', 'YaelDillies', 'alreadydone', 'eric-wieser', 'github-actions', 'joelriou', 'kbuzzard', 'leanprover-community-bot-assistant', 'loefflerd', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
joelriou assignee:joelriou |
1-53921 1 day ago |
10-17951 10 days ago |
224-6397 224 days |
29278 |
Jlh18 author:Jlh18 |
feat: groupoid instance on quotient category |
Show that `CategoryTheory.Quotient` constructs a groupoid when the original category was a groupoid.
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-category-theory
|
30/0 |
Mathlib/CategoryTheory/Quotient.lean |
1 |
4 |
['Jlh18', 'github-actions', 'joelriou'] |
riccardobrasca assignee:riccardobrasca |
1-53726 1 day ago |
1-53729 1 day ago |
10-756 10 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'] |
nobody |
1-47982 1 day ago |
1-47982 1 day ago |
1-48105 1 day |
29468 |
kim-em author:kim-em |
feat: add `cutsat` and `grobner` macro frontends to `grind` |
These macros will be replaced with proper implementations in Lean soon,
but are starting out here for quick experimentation.
Notes:
* I'll later replace these with an implementation that uses a minimal configuration
and then reactivates modules as needed.
* It would be nice if these macros supported all the `grind` configurations, too. |
|
200/2 |
Archive/Imo/Imo1994Q1.lean,Mathlib.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Grind.lean,MathlibTest/grind/grobner.lean |
7 |
7 |
['eric-wieser', 'euprunin', 'github-actions', 'hrmacbeth', 'kim-em'] |
nobody |
1-46032 1 day ago |
4-1611 4 days ago |
4-1592 4 days |
29493 |
kim-em author:kim-em |
chore: grind golf in Mathlib.Logic |
More golfs identified by `linter.tacticAnalysis.terminalToGrind`. |
maintainer-merge
t-logic
|
8/20 |
Mathlib/Logic/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/Logic/Relation.lean,scripts/noshake.json |
4 |
6 |
['euprunin', 'github-actions', 'grunweg', 'kim-em'] |
nobody |
1-45936 1 day ago |
3-13249 3 days ago |
3-22060 3 days |
29573 |
kim-em author:kim-em |
chore: deprecate `Traversable` deriving handler |
This broke on `nightly-testing`. It's very probably fixable, but I'm not interested in doing that myself, and I think this is a good opportunity to remove some code which has not been used since 2018. |
file-removed |
7/3 |
Mathlib.lean,Mathlib/Deprecated/Tactic/DeriveTraversable.lean,Mathlib/Tactic.lean,MathlibTest/Traversable.lean |
4 |
1 |
['github-actions'] |
nobody |
1-42674 1 day ago |
1-42674 1 day ago |
1-42764 1 day |
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
|
223/11 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean |
5 |
36 |
['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot'] |
jsm28 assignee:jsm28 |
1-41688 1 day ago |
8-46420 8 days ago |
83-74216 83 days |
27956 |
bryangingechen author:bryangingechen |
feat: automation for removing outdated deprecations |
This is a new weekly workflow that opens a PR attempting to remove deprecated aliases / declarations older than 6 months and then sends a Zulip message to the `nightly-testing` channel. It also supports being triggered manually with a custom date as well as a "dry-run" mode, which only prints the edits that would be done without actually doing them.
cf. [#mathlib reviewers > auto-removing oudated deprecations @ 💬](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/auto-removing.20oudated.20deprecations/near/532535945)
The workflow and shell script are adapted from `nolints.yml` and `scripts/update_nolints_CI.sh`, respectively.
The python script was mostly written by Claude, though I did check it. The regex is adapted from ones used in #21271 by YaelDillies and #29287 by kim-em.
---
See #29336 for an example of the changes generated by the script. |
CI |
330/0 |
.github/workflows/remove_deprecated_decls.yml,scripts/README.md,scripts/remove_deprecated_decls.py,scripts/remove_deprecated_decls_CI.sh |
4 |
2 |
['bryangingechen', 'github-actions'] |
robertylewis assignee:robertylewis |
1-41686 1 day ago |
9-39806 9 days ago |
39-40873 39 days |
28571 |
euprunin author:euprunin |
chore(RingTheory): golf entire `mem_extended_iff`, `coeff_opRingEquiv` and `comp_assoc` using `rfl` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
4/12 |
Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean |
4 |
7 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
chrisflav assignee:chrisflav |
1-41683 1 day ago |
8-52498 8 days ago |
18-26133 18 days |
28981 |
euprunin author:euprunin |
chore(AlgebraicTopology/ModelCategory): remove redundant `have` in `mk'.cm3a_aux` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology |
0/1 |
Mathlib/AlgebraicTopology/ModelCategory/Basic.lean |
1 |
6 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
robin-carlier assignee:robin-carlier |
1-41681 1 day ago |
8-59064 8 days ago |
8-65909 8 days |
29223 |
dwrensha author:dwrensha |
feat: norm_num extension for abs |
Adds a `norm_num` extension for the [absolute value operator](https://github.com/leanprover-community/mathlib4/blob/3a941a8fd0acf2b70463b31aeb8ce08bb214a512/Mathlib/Algebra/Order/Group/Unbundled/Abs.lean#L39-L40).
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
93/5 |
Mathlib.lean,Mathlib/Analysis/Complex/ExponentialBounds.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum.lean,Mathlib/Tactic/NormNum/Abs.lean,MathlibTest/norm_num_abs.lean |
6 |
17 |
['dwrensha', 'eric-wieser', 'github-actions', 'plp127', 'vihdzp'] |
adamtopaz assignee:adamtopaz |
1-41679 1 day ago |
8-74719 8 days ago |
10-51257 10 days |
29270 |
euprunin author:euprunin |
chore: remove redundant `refine` invocations |
---
**Note:** Although technically redundant, some of these may be worth keeping for readability, or other reasons. Let me know if you think any should stay.
---
[](https://gitpod.io/from-referrer/)
|
|
4/12 |
Mathlib/Algebra/Order/GroupWithZero/Lex.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/Probability/Density.lean |
5 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
dupuisf assignee:dupuisf |
1-41678 1 day ago |
10-46823 10 days ago |
10-50202 10 days |
29250 |
Jlh18 author:Jlh18 |
chore: rename hom_to_functor, id_to_functor |
The files `CategoryTheory.Category.Grpd` and `CategoryTheory.Category.Cat` should be consistent in naming conventions and style. Here I renamed `CategoryTheory.Grpd.hom_to_functor` to `CategoryTheory.Grpd.comp_eq_comp` to mirror `CategoryTheory.Cat.comp_eq_comp`. Similarly I renamed `CategoryTheory.Grpd.id_to_functor` to `CategoryTheory.Grpd.id_eq_eq`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
easy
|
9/3 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Category/Grpd.lean |
2 |
4 |
['Jlh18', 'github-actions', 'joelriou'] |
robin-carlier assignee:robin-carlier |
1-41678 1 day ago |
8-82383 8 days ago |
10-81330 10 days |
29301 |
harahu author:harahu |
doc: hyphenate attributive compound adjectives ending in "preserving" |
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 "preserving".
---
[](https://gitpod.io/from-referrer/)
|
|
71/71 |
Mathlib/Algebra/Order/CompleteField.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean,Mathlib/CategoryTheory/Preadditive/LeftExact.lean,Mathlib/CategoryTheory/Sites/Coherent/ExtensiveSheaves.lean,Mathlib/CategoryTheory/Sites/PreservesLocallyBijective.lean,Mathlib/CategoryTheory/Sites/Sheafification.lean,Mathlib/Condensed/Discrete/Colimit.lean,Mathlib/Condensed/Discrete/LocallyConstant.lean,Mathlib/Dynamics/BirkhoffSum/QuasiMeasurePreserving.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Dynamics/Ergodic/Ergodic.lean,Mathlib/Dynamics/Ergodic/MeasurePreserving.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/GroupTheory/SpecificGroups/KleinFour.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/MeasureTheory/Group/AEStabilizer.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Measure/ContinuousPreimage.lean,Mathlib/MeasureTheory/Measure/Prod.lean,Mathlib/MeasureTheory/Measure/QuasiMeasurePreserving.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Probability/Density.lean,Mathlib/RingTheory/FractionalIdeal/Norm.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/OrderOfVanishing.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean,Mathlib/Topology/Sheaves/SheafOfFunctions.lean |
35 |
2 |
['github-actions', 'harahu'] |
robin-carlier assignee:robin-carlier |
1-41675 1 day ago |
10-11054 10 days ago |
10-11035 10 days |
29316 |
euprunin author:euprunin |
chore: remove redundant `suffices` invocations |
---
**Note:** Although technically redundant, some of these may be worth keeping for readability, or other reasons. Let me know if you think any should stay.
---
[](https://gitpod.io/from-referrer/)
|
|
0/4 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean |
3 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
tb65536 assignee:tb65536 |
1-41674 1 day ago |
9-76133 9 days ago |
9-82144 9 days |
29317 |
euprunin author:euprunin |
chore: remove redundant `generalize`, `induction`, `repeat'` and `unfold` invocations |
---
**Note:** Although technically redundant, some of these may be worth keeping for readability, or other reasons. Let me know if you think any should stay.
---
[](https://gitpod.io/from-referrer/)
|
|
3/12 |
Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/RingTheory/Polynomial/Opposites.lean |
4 |
7 |
['JovanGerb', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
robin-carlier assignee:robin-carlier |
1-41673 1 day ago |
9-69624 9 days ago |
9-81823 9 days |
29344 |
JovanGerb author:JovanGerb |
feat(Geometry/Euclidean/Sphere/Power): use side condition `p ∈ line[ℝ, a, b]` |
This PR changes the side condition used in theorems about `Sphere.power` to be `p ∈ line[ℝ, a, b]`. This is symmetric in `a` and `b`, and more general that the current condition.
TODO (in this PR?): add some basic lemmas about `p ∈ line[ℝ, a, b]`.
TODO (in another PR): prove the power theorems about `Sphere.secondInter`, which is more general in the sense that it also includes the case where `a` and `b` coincide, and then `p` is on the tangent line.
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
31/34 |
Mathlib/Geometry/Euclidean/Sphere/Power.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
jsm28 assignee:jsm28 |
1-41671 1 day ago |
8-46465 8 days ago |
8-63371 8 days |
28706 |
euprunin author:euprunin |
chore: golf entire `dite_ne_left_iff`, `exists_prime_lt_and_le_two_mul_succ`, `lt_up` and `sUnion_mem_empty_univ` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
4/12 |
Mathlib/Data/Set/Lattice.lean,Mathlib/Logic/Basic.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/RingTheory/NoetherNormalization.lean |
4 |
9 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
tb65536 assignee:tb65536 |
1-40579 1 day ago |
1-40579 1 day ago |
15-17718 15 days |
29453 |
kim-em author:kim-em |
chore: grind annotations in Data/Bool |
|
t-data |
40/46 |
Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Bool/Count.lean,Mathlib/Data/Bool/Set.lean |
3 |
1 |
['github-actions'] |
nobody |
1-37247 1 day ago |
4-43973 4 days ago |
4-44019 4 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 |
7 |
['chrisflav', 'eric-wieser', 'github-actions', 'xyzw12345'] |
ocfnash assignee:ocfnash |
1-29656 1 day ago |
39-68063 1 month ago |
54-79383 54 days |
29136 |
YaelDillies author:YaelDillies |
feat(CategoryTheory/Monoidal): `mapMon` of a lax-braided functor is lax-braided |
Also move the `BraidedCategory (Mon_ C)` instance earlier in the file to avoid splitting up the functor material. I think it makes more sense like this (defining `Mon_Class`, then `Mon_`, then `Functor.mapMon`).
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
431/399 |
Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean |
2 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
1-20638 1 day ago |
1-20660 1 day ago |
13-10367 13 days |
29577 |
kim-em author:kim-em |
feat: alternating series error bound |
Thanks for the hints from @sgouezel at [#Is there code for X? > error term for summable alternating series?](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/error.20term.20for.20summable.20alternating.20series.3F/with/538984368). |
|
39/0 |
Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
2 |
2 |
['github-actions', 'loefflerd'] |
nobody |
1-14404 1 day ago |
1-26141 1 day ago |
1-26122 1 day |
26096 |
vasnesterov author:vasnesterov |
feat(Topology/Instances): Cantor set is the set of ternary numbers without `1`s |
* Prove `zero_two_sequence_ofDigits_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 `zero_two_sequence_ofDigits_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'] |
nobody |
1-11901 1 day ago |
1-54213 1 day ago |
1-54574 1 day |
29310 |
Louddy author:Louddy |
feat(SkewMonoidAlgebra): algebra instance |
Algebra instance for skew monoid algebras.
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$ |
65/12 |
Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
0-85804 23 hours ago |
0-85832 23 hours ago |
8-62662 8 days |
28187 |
vihdzp author:vihdzp |
feat: archimedean classes of rationals |
We prove some lemmas relating `ArchimedeanClass` to `ℚ` and other archimedean fields.
---
- [x] depends on: #28179
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
64/5 |
Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Order/Antisymmetrization.lean |
3 |
8 |
['github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
riccardobrasca assignee:riccardobrasca |
0-84609 23 hours ago |
11-32138 11 days ago |
11-36635 11 days |
29590 |
uniwuni author:uniwuni |
chore(Algebra/Group/Submonoid/Membership): fix outdated docs |
removes two declarations from the doc header that are no longer part of the file and quickly explains `Submonoid.powers` and `AddSubmonoid.multiples`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
3/2 |
Mathlib/Algebra/Group/Submonoid/Membership.lean |
1 |
2 |
['github-actions', 'uniwuni'] |
nobody |
0-82902 23 hours ago |
0-82902 23 hours ago |
0-82951 23 hours |
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'] |
nobody |
0-82539 22 hours ago |
1-1463 1 day ago |
1-1444 1 day |
29593 |
Vierkantor author:Vierkantor |
chore(*): replace `simp? says` with `simp only` |
Replace the output of `simp? says` with a `simp only` where the proof does not become less readable, and then golf the result by trying to drop lemmas from the simp set, or even replace it outright with (`simp_`)`rw`.
This is a weaker form of #29442.
---
[](https://gitpod.io/from-referrer/)
|
|
17/25 |
Mathlib/Algebra/Homology/Augment.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Set/Enumerate.lean,Mathlib/Data/WSeq/Productive.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean |
16 |
1 |
['github-actions'] |
nobody |
0-80986 22 hours ago |
0-81056 22 hours ago |
0-81037 22 hours |
29401 |
eric-wieser author:eric-wieser |
feat: more lemmas about `Matrix.vecMulVec` |
The most interesting of these is `(vecMulVec u v).det = 0`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
54/0 |
Mathlib/Data/Matrix/Mul.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/RowCol.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean |
4 |
1 |
['github-actions', 'llllvvuu'] |
nobody |
0-80365 22 hours ago |
1-50857 1 day ago |
5-85157 5 days |
29087 |
dupuisf author:dupuisf |
feat: Define strictly positive operators (i.e. positive definite) |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
203/21 |
Mathlib.lean,Mathlib/Algebra/Algebra/StrictPositivity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Topology/UniformSpace/Real.lean |
7 |
10 |
['dupuisf', 'github-actions', 'themathqueen'] |
kim-em assignee:kim-em |
0-78392 21 hours ago |
13-49995 13 days ago |
13-49976 13 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/)
|
t-topology |
19/0 |
Mathlib/Topology/LocallyFinsupp.lean |
1 |
14 |
['Raph-DG', 'github-actions', 'jcommelin', 'kckennylau'] |
jcommelin assignee:jcommelin |
0-77120 21 hours ago |
4-82727 4 days ago |
76-61660 76 days |
27964 |
smmercuri author:smmercuri |
refactor(AbsoluteValue): generalise equivalence to non-real valued absolute values |
- Abstract the definition of `AbsoluteValue.IsEquiv` to any `AbsoluteValue R S` via preservation of partial orders (previously defined only for real absolute value using the power relation `(v .)^c = w`)
- Show `AbsoluteValue.IsEquiv` is equivalent to the power definition when the values are real
- Two inequivalent absolute values `v` and `w` have a point `x` at which `1 < v x` and `w x < 1`
---
This PR continues the work from #22100.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22100 |
maintainer-merge
t-algebra
t-analysis
label:t-algebra$ |
212/44 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/NumberTheory/Ostrowski.lean |
3 |
63 |
['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'smmercuri'] |
YaelDillies assignee:YaelDillies |
0-76778 21 hours ago |
0-82053 22 hours ago |
31-26788 31 days |
29598 |
xroblot author:xroblot |
feat(NumberField): two ring-isomorphic number fields have the same discriminant |
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
easy
|
4/0 |
Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
0-74877 20 hours ago |
0-75062 20 hours ago |
0-75056 20 hours |
29597 |
alreadydone author:alreadydone |
feat(Algebra): preliminaries for ring structure on `AddLocalization` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
77/5 |
Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
5 |
1 |
['github-actions'] |
nobody |
0-73849 20 hours ago |
0-73849 20 hours ago |
0-73831 20 hours |
26357 |
javra author:javra |
feat(CategoryTheory): linear categories as `ModuleCat R`-enriched categories |
Continues #23826.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
197/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/CategoryTheory/Enriched/Linear.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/CategoryTheory/Monoidal/Linear.lean |
5 |
9 |
['adamtopaz', 'github-actions', 'javra'] |
adamtopaz assignee:adamtopaz |
0-73664 20 hours ago |
11-74548 11 days ago |
75-7715 75 days |
28493 |
gasparattila author:gasparattila |
feat: topological affine spaces |
This PR adds a typeclass `IsTopologicalAddTorsor` for topological affine spaces and generalizes several results which currently assume `NormedAddTorsor`.
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-analysis
t-topology
|
403/310 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Topology/Algebra/Affine.lean,Mathlib/Topology/Algebra/ContinuousAffineMap.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean |
16 |
6 |
['ADedecker', 'github-actions', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
0-73098 20 hours ago |
8-71104 8 days ago |
26-81401 26 days |
29592 |
themathqueen author:themathqueen |
feat(Analysis/SpecialFunctions/CFC/Rpow): `0 ≤ a` iff `a = star b * b` for some `b` |
It can sometimes be convenient to directly have this form for non-negative elements.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
4/0 |
Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean |
1 |
2 |
['github-actions', 'j-loreaux'] |
nobody |
0-72980 20 hours ago |
0-81002 22 hours ago |
0-81047 22 hours |
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$ |
169/0 |
Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-71408 19 hours ago |
0-73822 20 hours ago |
0-74177 20 hours |
29601 |
jt496 author:jt496 |
feat(SimpleGraph/Walk): add missing results involving `getVert` / `takeUntil` |
Add some missing lemmas involving `getVert` / `takeUntil`.
In particular `getVert_le_length_takeUntil_eq_iff` which says that if `p` is a walk containing the vertex `u` then `n = (p.takeUntil u h).length` is the smallest `n` such that `p.getVert n = u`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
47/61 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
2 |
1 |
['github-actions'] |
nobody |
0-68237 18 hours ago |
0-68300 18 hours ago |
0-68313 18 hours |
29436 |
eric-wieser author:eric-wieser |
feat: a better version of `LinearOrder.lift` |
This adds the following, which do not construct any new data and instead assume compatibility:
* `Function.Injective.preorder` (a generalization of `PreOrder.lift`)
* `Function.Injective.partialOrder` (a generalization of `PartialOrder.lift`)
* `Function.Injective.linearOrder` (a generalization of `LinearOrder.liftWithOrd` and the other three variants)
The following existing constructions are modified to do the same (and confusingly no longer assume injectivity):
* `Function.Injective.isOrderedAddMonoid`
* `Function.Injective.isOrderedRing`
* `Function.Injective.isStrictOrderedRing`
This fixes the instance diamond in [#mathlib4 > Instance diamond in DecidableEq Fin @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instance.20diamond.20in.20DecidableEq.20Fin/near/538119386) (which was discovered in #29418), by reusing the existing `Decidable` instance rather than constructing defeq-but-only-without-smart-unfolding instance from scratch.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-order
|
200/173 |
Counterexamples/MapFloor.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Module/Submodule/Order.lean,Mathlib/Algebra/Order/Field/Subfield.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Submonoid.lean,Mathlib/Algebra/Order/Monoid/Units.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Subring/Order.lean,Mathlib/Algebra/Ring/Subsemiring/Order.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Lattice.lean |
16 |
15 |
['YaelDillies', 'eric-wieser', 'github-actions', 'plp127'] |
nobody |
0-68006 18 hours ago |
0-68025 18 hours ago |
1-49995 1 day |
29391 |
eric-wieser author:eric-wieser |
feat: more connections between `TensorProduct` and `map₂` |
The new lemmas about `map₂` are analogous to the lemmas about `Set.image2`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
50/10 |
Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Quotient.lean |
4 |
1 |
['github-actions'] |
nobody |
0-67893 18 hours ago |
6-47067 6 days ago |
6-47049 6 days |
28115 |
bwangpj author:bwangpj |
feat(AlgebraicGeometry/EllipticCurve): reduction of elliptic curves |
Define the reduction of elliptic curves over the fraction field of a DVR, following Silverman.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebraic-geometry
|
251/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean |
3 |
34 |
['Multramate', 'adamtopaz', 'bwangpj', 'github-actions', 'kbuzzard'] |
adamtopaz assignee:adamtopaz |
0-65968 18 hours ago |
2-52547 2 days ago |
35-46758 35 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$ |
205/6 |
Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/SetTheory/Cardinal/Finite.lean |
4 |
17 |
['D-Thomine', 'eric-wieser', 'github-actions', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
0-65581 18 hours ago |
23-70699 23 days ago |
52-77938 52 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
|
28/13 |
Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean |
2 |
3 |
['NotWearingPants', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
0-65122 18 hours ago |
0-65174 18 hours ago |
18-80117 18 days |
29241 |
yoh-tanimoto author:yoh-tanimoto |
feat(Analysis/InnerProductSpace/Orthogonal): add duplicates for `ClosedSubmodule` |
add duplicates of definitions and API's for `ClosedSubmodule` in an `InnerProductSpace`.
motivation: when one considers a Hilbert space (`CompleteSpace`), it is more natural to consider `ClosedSubmodule`s. They form a complete lattice and satisfy `sup_orthogonal` #29243.
- [x] depends on: #29230 for `Lattice` `CompleteLattice` |
|
191/0 |
Mathlib/Analysis/InnerProductSpace/Orthogonal.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
0-64855 18 hours ago |
0-71230 19 hours ago |
0-71716 19 hours |
29235 |
yoh-tanimoto author:yoh-tanimoto |
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE |
add `ClosedSubmodule.map` for continuous linear equivalence. In this case, a closed map is mapped to a closed map, 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'] |
nobody |
0-64843 18 hours ago |
0-71228 19 hours ago |
0-73519 20 hours |
27043 |
wwylele author:wwylele |
feat(Algebra/Order): Hahn embedding theorem, part 1 |
Part 1 of Hahn embedding theorem, or the core part of it. This proves that one can embed an ordered module in HahnSeries.
To obtain the full Hahn embedding theorem, one needs to specialize the coefficient of HahnSeries to Real as a module over Rat, and compose with another embedding from ordered group to ordered module. These will be in part 2
There is a debatable design here: throughout the file, all lemmas uses an input `HahnEmbedding.Seed`. Because the the final theorem is an existence theorem without specifying what `HahnEmbedding.Seed` is used, it is possible to `Classical.choose` a seed from the very beginning (provided `R = Real` ), and the entire file will just use the same chosen seed. Overall, choosing everything from the beginning will likely make the code a little bit more concise.
I decided against choosing anything till the final step, for the reason that such choice is not canonical for an arbitrary module, and there may be future use of this construction with more canonical choice for specific modules. Examples are:
- if the input is a `HahnSeries Γ R`, the canonical choice for the `stratum` would be `HahnSeries.single`
- for the field version of Hahn embedding theorem ("every linearly ordered field can be embedded in `HahnSeries` as a field", not implemented), the canonical choice should ensure that all `stratum` form a graded ring, and the `coeff` should map `(1 : M)` to `(1 : R)`.
But if the argument is not strong enough, I am OK with converting everything to a classical choose.
---
- [x] depends on: #25970
- [x] depends on: #27054
- [x] depends on: #27055
- [x] depends on: #27711
- [x] depends on: #27885
- [x] depends on: #28136
- [x] depends on: #28449
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1016/0 |
Mathlib.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,docs/references.bib |
3 |
85 |
['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
nobody |
0-62705 17 hours ago |
0-62706 17 hours ago |
10-46658 10 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 |
111/0 |
Mathlib.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean |
4 |
8 |
['github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
0-60852 16 hours ago |
29-51129 29 days ago |
29-52589 29 days |
27257 |
JovanGerb author:JovanGerb |
feat(LinearAlgebra/AffineSpace/Ordered): add `lineMap_le_lineMap_iff_of_lt'` |
I only need `lineMap_le_lineMap_iff_of_lt'`. The other lemmas are added for completeness.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-algebra
label:t-algebra$ |
44/0 |
Mathlib/LinearAlgebra/AffineSpace/Ordered.lean |
1 |
6 |
['JovanGerb', 'Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'kbuzzard'] |
kbuzzard assignee:kbuzzard |
0-59427 16 hours ago |
12-8471 12 days ago |
26-26231 26 days |
26035 |
fbarroero author:fbarroero |
feat(Analysis/Polynomial/MahlerMeasure): the Mahler measure of a complex polynomial |
We introduce the Mahler measure of a complex polynomial and prove some basic facts.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
127/1 |
Mathlib.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
sgouezel assignee:sgouezel |
0-59080 16 hours ago |
0-59098 16 hours ago |
86-60465 86 days |
29582 |
YaelDillies author:YaelDillies |
chore: rename `_root_.prop` to `finite_prop` |
This was a surprising name!
---
[](https://gitpod.io/from-referrer/)
|
t-data |
1/1 |
Mathlib/Data/Fintype/EquivFin.lean |
1 |
9 |
['YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'plp127'] |
nobody |
0-57687 16 hours ago |
0-82312 22 hours ago |
0-83645 23 hours |
29428 |
llllvvuu author:llllvvuu |
feat: generalize `LinearMap.finrank_maxGenEigenspace` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
35/2 |
Mathlib/Algebra/Lie/Rank.lean,Mathlib/LinearAlgebra/Charpoly/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Basic.lean |
5 |
1 |
['github-actions'] |
nobody |
0-56872 15 hours ago |
5-26125 5 days ago |
5-26167 5 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` doesn't update any environment extensions, and that is exactly what we use to store linter sets. We can replace it with `importModules` instead, but that is a bit less safe. It would be great if we had some sort of macro that can give us the environment at the point of elaboration instead.
TODO: that is now wrong, update the description to be correct!
---
- [x] depends on: #29584
- [x] depends on: #29585
- [x] depends on: #29586
[](https://gitpod.io/from-referrer/)
|
t-meta |
10/8 |
scripts/lint-style.lean |
1 |
7 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
0-55942 15 hours ago |
0-56136 15 hours ago |
0-58736 16 hours |
29568 |
dagurtomas author:dagurtomas |
feat(CategoryTheory/Monoidal): more natural constructors for braided categories |
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
282/0 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/CurryingThree.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean |
3 |
3 |
['github-actions', 'joelriou'] |
nobody |
0-53159 14 hours ago |
1-26947 1 day ago |
1-26929 1 day |
29110 |
NotWearingPants author:NotWearingPants |
feat(Counterexamples): Euler's sum of powers conjecture |
feat(Counterexamples): Euler's sum of powers conjecture
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
159/0 |
Counterexamples.lean,Counterexamples/EulerSumOfPowers.lean |
2 |
34 |
['MichaelStollBayreuth', 'NotWearingPants', 'eric-wieser', 'github-actions', 'tb65536'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-53017 14 hours ago |
0-56236 15 hours ago |
12-45029 12 days |
28874 |
vasnesterov author:vasnesterov |
feat(Data/Seq): coinductive predicates for sequences |
* Prove `eq_of_bisim'` and `eq_of_bisim_strong` coinductive principles for equality.
* Develop API for a predicate `∀ x ∈ s, p x` where `s : Seq α`, including coinductive principle `all_coind`.
* Introduce the `Pairwise` predicate along with API and coinductive principles `Pairwise.coind` and `Pairwise.coind_trans`.
* Introduce `ENat`-valued length of a sequence, `length'`, along with minimal API.
* Move theorems about `length` from `Defs.lean` to `Basic.lean`.
* Prove a coinductive principle for a predicate `a.length' ≤ b.length'`.
All of these "coinductive principles" are stated in the form as similar as possible to inductive principles.
---
- [x] depends on: #26120
This PR is necessary for a new tactic (#28291), which computes the asymptotics of real functions.
[](https://gitpod.io/from-referrer/)
This PR continues the work from #20241.
Original PR: https://github.com/leanprover-community/mathlib4/pull/20241 |
large-import
t-data
|
420/48 |
Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Init.lean |
3 |
25 |
['bryangingechen', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vasnesterov'] |
nobody |
0-48880 13 hours ago |
0-49041 13 hours ago |
14-76850 14 days |
29411 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix/Rank): rank factorization |
The rank factorization derived from `Module.finBasis`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
19/0 |
Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean |
2 |
1 |
['github-actions'] |
nobody |
0-48064 13 hours ago |
5-54311 5 days ago |
5-54309 5 days |
27342 |
staroperator author:staroperator |
feat(ModelTheory): define linear and semilinear sets |
Separated from #27100. This PR defines the linear and semilinear sets for general `AddCommMonoid` and prove some basic properties.
---
- [x] depends on: #27099
- [x] depends on: #27085
- [x] depends on: #27341
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
383/0 |
Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,docs/references.bib |
3 |
42 |
['JovanGerb', 'YaelDillies', 'awainverse', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
0-47905 13 hours ago |
0-73881 20 hours ago |
16-85710 16 days |
29607 |
wwylele author:wwylele |
feat(RingTheory): summability lemma for (Mv)PowerSeries |
About `PowerSeries.summable_of_tendsto_weightedOrder_atTop_nhds_top`, it surprised me that `PowerSeries.order` isn't implemented using `MvPowerSeries.order`, so I had to duplicate the proof for `MvPowerSeries` and `PowerSeries`. The other lemmas are also duplication instead of reusing the same proof, because it turned out piercing through defeq actually makes the code longer.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
80/0 |
Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean |
2 |
1 |
['github-actions'] |
nobody |
0-47570 13 hours ago |
0-47845 13 hours ago |
0-47883 13 hours |
28477 |
yapudpill author:yapudpill |
feat(RingTheory): golf `IsPrincipalIdealRing.of_prime` |
In complement to #28451 and as discussed in #27200, this PR uses the newly added Oka predicates to golf the proof of `IsPrincipalIdealRing.of_prime`.
---
- [x] depends on: #28525
- [x] depends on: #29567
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
53/55 |
Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/PrincipalIdealDomainOfPrime.lean |
2 |
11 |
['Ruben-VandeVelde', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'yapudpill'] |
nobody |
0-44965 12 hours ago |
0-44965 12 hours ago |
6-35281 6 days |
28061 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): Uniqueness of Measures in the Riesz–Markov–Kakutani Representation Theorem |
This PR adds the proof of the uniqueness of measures in the Riesz–Markov–Kakutani representation theorem (i.e. if two regular measures on a locally compact Hausdorff space induce the same linear functionals on the set of compactly supported continuous functions, then these two measures are equal).
cf. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Uniqueness.20in.20Riesz.E2.80.93Markov.E2.80.93Kakutani.20representation.20theorem
---
- [ ] depends on: #28059
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
182/0 |
Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Topology/UrysohnsLemma.lean |
4 |
12 |
['CoolRmal', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
RemyDegenne assignee:RemyDegenne |
0-41693 11 hours ago |
7-44438 7 days ago |
7-50009 7 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 |
0-41692 11 hours ago |
10-61351 10 days ago |
10-64397 10 days |
29330 |
plp127 author:plp127 |
chore: define `Fin.cycleIcc` with conditions |
Redefine `Fin.cycleIcc` using conditionals instead of composing existing `Fin` operations together. Its worst-case runtime drops from O(n) to O(1). As a bonus, the definition no longer needs explaining.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
67/68 |
Mathlib/GroupTheory/Perm/Fin.lean |
1 |
7 |
['JovanGerb', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
0-41691 11 hours ago |
9-57317 9 days ago |
9-57354 9 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.
---
[](https://gitpod.io/from-referrer/)
|
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 |
0-41691 11 hours ago |
9-73807 9 days ago |
9-73847 9 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 |
241/0 |
Mathlib.lean,Mathlib/Topology/Convenient/GeneratedBy.lean,docs/references.bib |
3 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
0-41690 11 hours ago |
9-10925 9 days ago |
9-10906 9 days |
29361 |
FlAmmmmING author:FlAmmmmING |
feat(RingTheory/PowerSeries/Catalan.lean) |
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
|
89/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
2 |
2 |
['github-actions', 'wwylele'] |
kbuzzard assignee:kbuzzard |
0-41689 11 hours ago |
8-14352 8 days ago |
8-14387 8 days |
29611 |
vihdzp author:vihdzp |
feat: alternate characterization of `≤` on Archimedean classes |
The definition of `mk x ≤ mk y` is that `|y| ≤ n * |x|` for some natural `n`. We prove the alternate characterization that `q * |y| ≤ |x|` for some positive rational `q`, and in fact prove a more general version for any densely ordered ring.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/1 |
Mathlib/Algebra/Order/Ring/Archimedean.lean |
1 |
1 |
['github-actions'] |
nobody |
0-32816 9 hours ago |
0-32912 9 hours ago |
0-32954 9 hours |
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 |
9 |
['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
0-31727 8 hours ago |
7-52755 7 days ago |
38-28318 38 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.
Co-authored-by: Jireh Loreaux
---
Revives #8686.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
471/399 |
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/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.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/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 |
91 |
10 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
nobody |
0-28807 8 hours ago |
0-28807 7 hours ago |
0-48308 13 hours |
29613 |
RemyDegenne author:RemyDegenne |
chore(Probability): rename IsFiniteKernel.bound to Kernel.bound |
That definition was specific to finite kernels before #29137, but not anymore. Also the new name allows dot notation.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
73/61 |
Mathlib/Probability/Kernel/Basic.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/CompProd.lean,Mathlib/Probability/Kernel/Composition/MapComap.lean,Mathlib/Probability/Kernel/Composition/ParallelComp.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/Integral.lean,Mathlib/Probability/Kernel/RadonNikodym.lean,Mathlib/Probability/Kernel/WithDensity.lean |
9 |
1 |
['github-actions'] |
nobody |
0-21095 5 hours ago |
0-21172 5 hours ago |
0-21210 5 hours |
29604 |
mans0954 author:mans0954 |
refactor(Analysis/LocallyConvex/WithSeminorms): Relax some of the hypothesis |
Relax some of the hypothesis in `Analysis/LocallyConvex/WithSeminorms`
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
33/22 |
Mathlib/Analysis/LocallyConvex/WithSeminorms.lean |
1 |
1 |
['github-actions'] |
nobody |
0-17431 4 hours ago |
0-61087 16 hours ago |
0-61125 16 hours |
28612 |
euprunin author:euprunin |
chore(Data/List): golf entire `idxOf_append_of_mem`, `cons_sublist_cons'`, `length_eraseIdx_add_one`, `length_eraseP_add_one` and `idxOf_append_of_notMem` using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
5/26 |
Mathlib/Data/List/Basic.lean |
1 |
7 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
0-16053 4 hours ago |
0-16053 4 hours ago |
16-74501 16 days |
26783 |
matthewjasper author:matthewjasper |
feat(RingTheory/Flat): Add theorems relating Submodule.torsion and Module.Flat |
Co-authored-by: Kevin Buzzard
---
This PR continues the work from #25334.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
FLT
maintainer-merge
new-contributor
|
206/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/RingTheory/Flat/TorsionFree.lean,Mathlib/RingTheory/Ideal/IsPrincipal.lean |
5 |
12 |
['github-actions', 'kbuzzard', 'riccardobrasca'] |
kbuzzard assignee:kbuzzard |
0-5401 1 hour ago |
0-58700 16 hours ago |
57-79626 57 days |
29327 |
loefflerd author:loefflerd |
feat(NumberTheory/ModularForms): Cusps of subgroups acting on upper half-plane |
- Define "arithmetic subgroups" of GL(2, R), as subgroups commensurable with the image of SL(2, Z)
- Add some notations and API to make it easier to work with images in GL(2, R) of subgroups of SL(2, Z)
- Define "cusps" of a subgroup of GL(2, R), as fixed points of parabolic elements on P^1(R).
- Prove that the cusps of an arithmetic subgroup are precisely P^1(Q).
---
Carved off from the larger WIP PR #26651
|
t-number-theory |
256/33 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/NumberTheory/ModularForms/ArithmeticSubgroups.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean |
6 |
35 |
['CBirkbeck', 'github-actions', 'loefflerd', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
0-666 11 minutes ago |
9-51 9 days ago |
9-62054 9 days |