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-54084 1 month ago |
55-44760 1 month ago |
76-4915 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-44555 1 month ago |
62-4482 2 months ago |
62-4507 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-64610 1 month ago |
88-53176 2 months ago |
88-53221 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-34917 1 month ago |
73-42657 2 months ago |
93-6839 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-34882 1 month ago |
63-8171 2 months ago |
63-8241 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-65125 1 month ago |
93-6691 3 months ago |
93-6671 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-34894 1 month ago |
60-358 1 month ago |
115-70022 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-34891 1 month ago |
87-36632 2 months ago |
87-36675 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-1893 1 month ago |
40-1893 1 month ago |
81-11303 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-34897 1 month ago |
85-79485 2 months ago |
85-79540 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-34893 1 month ago |
60-70551 1 month ago |
60-80339 60 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-3837 1 month ago |
39-3837 1 month ago |
87-58954 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-3731 1 month ago |
39-3731 1 month ago |
125-47186 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-61467 1 month ago |
38-64752 1 month ago |
52-82289 52 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-34906 1 month ago |
121-76747 3 months ago |
206-49777 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-34901 1 month ago |
81-66326 2 months ago |
85-35923 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-34900 1 month ago |
62-3189 2 months ago |
62-4886 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-10624 1 month ago |
49-71335 1 month ago |
59-18574 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-34905 1 month ago |
70-46383 2 months ago |
70-46424 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-78776 1 month ago |
36-79509 1 month ago |
53-41071 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-61491 1 month ago |
38-34494 1 month ago |
38-62545 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-34904 1 month ago |
43-70953 1 month ago |
70-58794 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 |
35-85081 1 month ago |
47-68378 1 month ago |
47-68410 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-72564 1 month ago |
35-72647 1 month ago |
35-80275 35 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-34923 1 month ago |
70-10140 2 months ago |
91-54905 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-34915 1 month ago |
45-24927 1 month ago |
45-24918 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-19413 1 month ago |
35-74109 1 month ago |
35-74549 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-75602 1 month ago |
37-984 1 month ago |
37-1029 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-34921 1 month ago |
95-22231 3 months ago |
110-54163 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-34919 1 month ago |
57-72214 1 month ago |
76-61644 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-34917 1 month ago |
70-4454 2 months ago |
70-7498 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-34916 1 month ago |
63-74043 2 months ago |
63-74092 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-34911 1 month ago |
42-81013 1 month ago |
42-81036 42 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-34911 1 month ago |
39-3631 1 month ago |
116-65806 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-16058 1 month ago |
31-54877 1 month ago |
47-67394 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-54894 30 days ago |
32-9660 1 month ago |
40-9 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-34915 30 days ago |
124-23959 4 months ago |
147-48073 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-34907 30 days ago |
43-69663 1 month ago |
43-69714 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-79009 29 days ago |
37-60188 1 month ago |
37-60235 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-34892 29 days ago |
39-3177 1 month ago |
39-55055 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-54593 28 days ago |
76-75676 2 months ago |
76-75720 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-2312 28 days ago |
28-2312 28 days ago |
28-2362 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-34900 27 days ago |
34-37768 1 month ago |
34-42528 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-34895 27 days ago |
35-12024 1 month ago |
35-12020 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-10132 27 days ago |
27-10149 27 days ago |
60-40397 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-46182 26 days ago |
26-63538 26 days ago |
26-63583 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-34896 26 days ago |
33-48132 1 month ago |
33-48175 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-34911 25 days ago |
35-56603 1 month ago |
36-31105 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-34909 25 days ago |
32-71420 1 month ago |
33-49628 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-34919 24 days ago |
35-53388 1 month ago |
35-53430 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-34917 24 days ago |
34-59659 1 month ago |
34-59707 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-34916 24 days ago |
33-66246 1 month ago |
33-66291 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-50032 23 days ago |
93-141 3 months ago |
93-121 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-34928 23 days ago |
35-57251 1 month ago |
68-31768 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-34922 23 days ago |
30-59625 30 days ago |
30-66813 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-78032 22 days ago |
22-78032 22 days ago |
79-6116 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-76799 22 days ago |
22-76825 22 days ago |
78-44619 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-74722 22 days ago |
57-59038 1 month ago |
57-63352 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-41198 22 days ago |
40-1867 1 month ago |
81-27556 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-34916 22 days ago |
29-54241 29 days ago |
29-54287 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-61212 21 days ago |
57-76695 1 month ago |
57-76853 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-46907 21 days ago |
23-72110 23 days ago |
70-56983 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-34931 21 days ago |
31-82920 1 month ago |
32-72802 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-34927 21 days ago |
30-23414 30 days ago |
30-23456 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-34926 21 days ago |
30-22771 30 days ago |
30-22813 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-34925 21 days ago |
30-7861 30 days ago |
30-7905 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-34922 21 days ago |
28-75496 28 days ago |
28-75477 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-20010 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-70524 20 days ago |
20-70680 20 days ago |
20-70718 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-67713 20 days ago |
57-9759 1 month ago |
57-9799 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-67675 20 days ago |
89-80366 2 months ago |
89-80412 89 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-34899 20 days ago |
33-50833 1 month ago |
33-50884 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-34895 20 days ago |
29-51942 29 days ago |
29-51986 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-34891 20 days ago |
27-45743 27 days ago |
27-45723 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-34203 20 days ago |
22-14291 22 days ago |
22-14338 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-12079 20 days ago |
20-12089 20 days ago |
20-12125 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-62529 19 days ago |
38-60216 1 month ago |
39-6095 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-47637 19 days ago |
19-47637 19 days ago |
49-29945 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-38217 19 days ago |
19-42768 19 days ago |
19-42805 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-34897 19 days ago |
39-60366 1 month ago |
39-60347 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-34896 19 days ago |
28-31244 28 days ago |
28-31225 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-34893 19 days ago |
31-17109 1 month ago |
31-19816 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-27833 19 days ago |
19-27949 19 days ago |
52-80628 52 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-17844 19 days ago |
31-15941 1 month ago |
63-76578 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-1758 19 days ago |
19-19465 19 days ago |
27-47819 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-71591 18 days ago |
24-74806 24 days ago |
32-78448 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-34925 18 days ago |
25-78474 25 days ago |
27-72505 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-34922 18 days ago |
28-65122 28 days ago |
32-82817 32 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-34916 18 days ago |
28-65901 28 days ago |
28-65944 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-34916 18 days ago |
28-63045 28 days ago |
28-63026 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-7583 18 days ago |
18-7583 18 days ago |
29-46100 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-3926 18 days ago |
35-5318 1 month ago |
35-5360 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-3320 18 days ago |
18-3320 18 days ago |
30-69573 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-70309 17 days ago |
62-15133 2 months ago |
62-46987 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-48011 17 days ago |
48-454 1 month ago |
85-38777 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-47148 17 days ago |
21-20457 21 days ago |
21-61540 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-34922 17 days ago |
32-43584 1 month ago |
38-53748 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 |
16-83560 16 days ago |
109-40686 3 months ago |
109-40736 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-68276 16 days ago |
66-35983 2 months ago |
66-36025 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-62552 16 days ago |
124-59917 4 months ago |
172-25732 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-55237 16 days ago |
16-55257 16 days ago |
66-40269 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-55105 16 days ago |
16-55126 16 days ago |
59-32213 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-34918 16 days ago |
28-61364 28 days ago |
28-61344 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-34682 16 days ago |
124-39297 4 months ago |
190-39276 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 |
15-81744 15 days ago |
16-1134 16 days ago |
16-1156 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-65114 15 days ago |
25-5877 25 days ago |
25-5918 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-62212 15 days ago |
38-48951 1 month ago |
40-49618 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-19869 15 days ago |
15-19892 15 days ago |
28-34517 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-6544 15 days ago |
77-27760 2 months ago |
77-32509 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-6300 15 days ago |
84-43863 2 months ago |
84-48471 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 |
14-84485 14 days ago |
14-84485 14 days ago |
81-62957 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-69835 14 days ago |
19-71554 19 days ago |
45-62555 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-67839 14 days ago |
49-78975 1 month ago |
49-79070 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-66992 14 days ago |
14-68114 14 days ago |
44-82785 44 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-34937 14 days ago |
26-75067 26 days ago |
27-20035 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-34936 14 days ago |
29-70102 29 days ago |
29-73233 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-34930 14 days ago |
26-63185 26 days ago |
26-63232 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-34929 14 days ago |
26-62547 26 days ago |
26-62587 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-34927 14 days ago |
22-76725 22 days ago |
22-78138 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-34923 14 days ago |
22-7749 22 days ago |
22-7730 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-15027 14 days ago |
14-41260 14 days ago |
14-42883 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-9765 14 days ago |
17-5012 17 days ago |
17-5057 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-66609 13 days ago |
13-66609 13 days ago |
13-67799 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-34915 13 days ago |
23-51616 23 days ago |
64-62202 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-34914 13 days ago |
25-45390 25 days ago |
25-55583 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-10485 13 days ago |
25-15480 25 days ago |
25-22756 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 |
12-80923 12 days ago |
13-48315 13 days ago |
67-65853 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-57237 12 days ago |
24-22081 24 days ago |
24-23049 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-49055 12 days ago |
12-53771 12 days ago |
81-80367 81 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-34893 12 days ago |
23-51685 23 days ago |
66-73694 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-34891 12 days ago |
22-78145 22 days ago |
24-54992 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-34889 12 days ago |
26-64375 26 days ago |
26-64632 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-34888 12 days ago |
20-13715 20 days ago |
23-60672 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-14543 12 days ago |
12-19589 12 days ago |
76-76474 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-4198 12 days ago |
68-9843 2 months ago |
68-9887 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-78621 11 days ago |
27-9959 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-77486 11 days ago |
13-22615 13 days ago |
13-38492 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-76441 11 days ago |
29-29960 29 days ago |
29-30003 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-63941 11 days ago |
20-26134 20 days ago |
23-60330 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-34918 11 days ago |
21-19967 21 days ago |
31-65206 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-34916 11 days ago |
25-70392 25 days ago |
25-70433 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-27446 11 days ago |
11-27664 11 days ago |
11-27710 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-63646 10 days ago |
82-22088 2 months ago |
82-36000 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-63567 10 days ago |
92-73503 3 months ago |
92-73483 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-35422 10 days ago |
81-69365 2 months ago |
85-40611 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-34926 10 days ago |
21-39150 21 days ago |
25-24940 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-34923 10 days ago |
17-40794 17 days ago |
25-80454 25 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-34919 10 days ago |
17-48500 17 days ago |
19-32291 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-34919 10 days ago |
18-39197 18 days ago |
18-44514 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-34915 10 days ago |
17-68472 17 days ago |
17-68533 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-30956 10 days ago |
10-30962 10 days ago |
10-31002 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-14786 10 days ago |
13-2107 13 days ago |
13-2147 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-9025 10 days ago |
54-72249 1 month ago |
54-72298 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-73780 9 days ago |
10-72647 10 days ago |
74-40684 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-66207 9 days ago |
9-77826 9 days ago |
45-82412 45 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-63743 9 days ago |
39-47876 1 month ago |
50-71205 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-34925 9 days ago |
16-54869 16 days ago |
25-36154 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-34923 9 days ago |
20-28967 20 days ago |
20-29006 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-34922 9 days ago |
18-61489 18 days ago |
18-61527 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-17853 9 days ago |
9-53339 9 days ago |
9-53364 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-17192 9 days ago |
69-66718 2 months ago |
69-66761 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-13726 9 days ago |
64-4878 2 months ago |
64-4919 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-11393 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-9763 9 days ago |
9-9771 9 days ago |
81-16624 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-1341 9 days ago |
10-37007 10 days ago |
44-11875 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-76327 8 days ago |
33-11214 1 month ago |
82-46386 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-67261 8 days ago |
8-67551 8 days ago |
9-47978 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-57739 8 days ago |
8-57763 8 days ago |
24-32994 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-34919 8 days ago |
91-75668 2 months ago |
91-75649 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-34918 8 days ago |
16-32319 16 days ago |
29-37730 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-34913 8 days ago |
16-61956 16 days ago |
16-61938 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-11627 8 days ago |
26-76698 26 days ago |
26-76737 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-11573 8 days ago |
39-3959 1 month ago |
82-46578 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-969 8 days ago |
8-969 8 days ago |
13-73556 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-65965 7 days ago |
15-3454 15 days ago |
16-60464 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-34925 7 days ago |
15-51155 15 days ago |
21-78446 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-34923 7 days ago |
16-41579 16 days ago |
24-8398 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-34921 7 days ago |
14-56187 14 days ago |
14-57657 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-34919 7 days ago |
16-41812 16 days ago |
16-42254 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-34918 7 days ago |
16-31560 16 days ago |
16-31549 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-34917 7 days ago |
15-83322 15 days ago |
15-83318 15 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-34916 7 days ago |
15-53568 15 days ago |
15-53604 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-34914 7 days ago |
14-60909 14 days ago |
14-60948 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-34913 7 days ago |
14-49091 14 days ago |
14-49127 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-8257 7 days ago |
7-8257 7 days ago |
41-50780 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-6742 7 days ago |
7-6742 7 days ago |
52-41432 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 |
6-84572 6 days ago |
7-929 7 days ago |
8-7390 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 |
6-80976 6 days ago |
6-83508 6 days ago |
10-43089 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-75016 6 days ago |
6-75756 6 days ago |
15-32151 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-74595 6 days ago |
7-81601 7 days ago |
7-81641 7 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-67450 6 days ago |
6-67481 6 days ago |
34-62373 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-66266 6 days ago |
6-67614 6 days ago |
17-68994 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-34912 6 days ago |
13-84885 13 days ago |
63-27856 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-34911 6 days ago |
18-21265 18 days ago |
24-77138 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-34910 6 days ago |
17-69540 17 days ago |
30-39760 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-34908 6 days ago |
14-4175 14 days ago |
19-49638 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-34908 6 days ago |
19-51649 19 days ago |
19-53402 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-34906 6 days ago |
14-78847 14 days ago |
15-1131 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-34905 6 days ago |
14-24675 14 days ago |
14-24711 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-34905 6 days ago |
14-34577 14 days ago |
14-34615 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-16294 6 days ago |
7-60389 7 days ago |
7-60437 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-16123 6 days ago |
7-12611 7 days ago |
7-12650 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-12019 6 days ago |
6-12097 6 days ago |
9-59845 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-2623 6 days ago |
6-4892 6 days ago |
6-4928 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-1370 6 days ago |
6-47832 6 days ago |
8-70791 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 |
5-86003 5 days ago |
28-6058 28 days ago |
28-6096 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-76743 5 days ago |
6-3455 6 days ago |
32-67217 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-70652 5 days ago |
8-4423 8 days ago |
8-4465 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-68039 5 days ago |
11-30117 11 days ago |
11-30154 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-60876 5 days ago |
5-60903 5 days ago |
56-77671 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-57910 5 days ago |
5-57973 5 days ago |
5-57960 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-49367 5 days ago |
5-49431 5 days ago |
5-49412 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-45565 5 days ago |
5-45565 5 days ago |
5-59140 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-43130 5 days ago |
5-43130 5 days ago |
11-53072 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-41614 5 days ago |
5-41614 5 days ago |
20-19739 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-40115 5 days ago |
5-40115 5 days ago |
20-19593 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-38609 5 days ago |
5-38609 5 days ago |
20-7363 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-37539 5 days ago |
5-50119 5 days ago |
5-50163 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-34914 5 days ago |
14-45366 14 days ago |
14-62210 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-34908 5 days ago |
12-86102 12 days ago |
12-86085 12 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-34907 5 days ago |
12-57614 12 days ago |
12-57596 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-11661 5 days ago |
43-85327 1 month ago |
43-85370 43 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-4868 5 days ago |
5-32866 5 days ago |
5-32848 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 |
4-82113 4 days ago |
5-72087 5 days ago |
25-44253 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 |
4-81743 4 days ago |
5-20271 5 days ago |
5-20310 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-79309 4 days ago |
5-82701 5 days ago |
5-82749 5 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-78505 4 days ago |
4-78569 4 days ago |
30-38535 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-76639 4 days ago |
4-76659 4 days ago |
7-29251 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-65444 4 days ago |
16-3655 16 days ago |
110-56107 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-61966 4 days ago |
4-84631 4 days ago |
4-84675 4 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-60785 4 days ago |
4-65789 4 days ago |
74-68103 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-59060 4 days ago |
64-51397 2 months ago |
80-13876 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-58114 4 days ago |
4-68181 4 days ago |
4-68221 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-51885 4 days ago |
4-51904 4 days ago |
17-46089 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-49356 4 days ago |
5-33182 5 days ago |
5-33229 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-49236 4 days ago |
4-50052 4 days ago |
17-65969 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-45986 4 days ago |
4-45986 4 days ago |
4-46030 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-45396 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-41072 4 days ago |
8-40971 8 days ago |
8-60163 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-40180 4 days ago |
5-17249 5 days ago |
5-17288 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-37235 4 days ago |
6-2873 6 days ago |
6-2861 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-36410 4 days ago |
4-36483 4 days ago |
4-36464 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-35911 4 days ago |
4-35926 4 days ago |
4-35963 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-34917 4 days ago |
13-84407 13 days ago |
13-84446 13 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-34916 4 days ago |
13-18842 13 days ago |
13-18878 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-34913 4 days ago |
11-41402 11 days ago |
11-53453 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-33201 4 days ago |
4-33270 4 days ago |
4-33251 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-29268 4 days ago |
4-44663 4 days ago |
4-44707 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-20789 4 days ago |
4-20806 4 days ago |
4-20843 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-9950 4 days ago |
4-11192 4 days ago |
4-11966 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-6989 4 days ago |
4-7202 4 days ago |
4-17627 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 |
3-85737 3 days ago |
24-42864 24 days ago |
29-23290 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 |
3-83516 3 days ago |
11-27428 11 days ago |
27-26791 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-72515 3 days ago |
3-72519 3 days ago |
3-72557 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-70633 3 days ago |
18-2969 18 days ago |
18-2951 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-66969 3 days ago |
33-56492 1 month ago |
47-49326 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-66442 3 days ago |
3-73480 3 days ago |
11-54836 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-66219 3 days ago |
6-71690 6 days ago |
6-71672 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-64177 3 days ago |
3-64185 3 days ago |
3-64229 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-59887 3 days ago |
66-52517 2 months ago |
66-52562 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-57384 3 days ago |
3-68246 3 days ago |
3-68281 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-50499 3 days ago |
4-50833 4 days ago |
4-53220 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-49311 3 days ago |
3-49366 3 days ago |
85-82730 85 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-48997 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-34905 3 days ago |
11-74216 11 days ago |
16-30910 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-34904 3 days ago |
10-45304 10 days ago |
10-47903 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-34902 3 days ago |
10-72232 10 days ago |
12-82694 12 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-34894 3 days ago |
10-57270 10 days ago |
10-57313 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-26379 3 days ago |
3-26455 3 days ago |
3-26436 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-25645 3 days ago |
81-27628 2 months ago |
81-27669 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-16643 3 days ago |
3-17227 3 days ago |
3-17264 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-9924 3 days ago |
3-11359 3 days ago |
3-51981 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-9685 3 days ago |
3-11278 3 days ago |
3-65014 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-5183 3 days ago |
4-59370 4 days ago |
4-60648 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-2963 3 days ago |
3-3622 3 days ago |
3-4681 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-1045 3 days ago |
3-33057 3 days ago |
3-33098 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 |
2-82063 2 days ago |
2-82063 2 days ago |
18-18624 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 |
2-80304 2 days ago |
54-82492 1 month ago |
54-82535 54 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-78055 2 days ago |
9-81712 9 days ago |
10-45199 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-78005 2 days ago |
2-78005 2 days ago |
11-56342 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-75084 2 days ago |
12-2123 12 days ago* |
14-60582 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-70628 2 days ago |
2-70693 2 days ago |
2-70675 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-70451 2 days ago |
4-25508 4 days ago |
51-78990 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-67785 2 days ago |
6-53156 6 days ago |
15-52021 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-67665 2 days ago |
2-77630 2 days ago |
2-77673 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-65847 2 days ago |
2-65847 2 days ago |
2-72687 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-63690 2 days ago |
2-63710 2 days ago |
11-20484 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-60996 2 days ago |
2-61018 2 days ago |
10-76931 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-58639 2 days ago |
2-58640 2 days ago |
2-60785 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-57381 2 days ago |
2-57536 2 days ago |
2-57514 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-57320 2 days ago |
2-72249 2 days ago |
2-78229 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-50757 2 days ago |
15-83442 15 days ago |
15-83478 15 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-50622 2 days ago |
2-50622 2 days ago |
4-255 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-50238 2 days ago |
2-59859 2 days ago |
2-59840 2 days |
29478 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra): roots of charpoly are the eigenvalues/spectrum |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
79/10 |
Mathlib.lean,Mathlib/LinearAlgebra/Eigenspace/Charpoly.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean |
4 |
9 |
['github-actions', 'llllvvuu', 'themathqueen'] |
nobody |
2-49324 2 days ago |
3-58174 3 days ago |
3-58187 3 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-47494 2 days ago |
2-51255 2 days ago |
2-51236 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-47109 2 days ago |
151-51434 4 months ago |
151-51479 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-46946 2 days ago |
5-58397 5 days ago |
5-58385 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-46933 2 days ago |
5-37249 5 days ago |
5-52063 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-46883 2 days ago |
5-36993 5 days ago |
5-36981 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-46849 2 days ago |
4-76226 4 days ago |
5-57569 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-39856 2 days ago |
2-41390 2 days ago |
2-41373 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-39225 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-39169 2 days ago |
2-49232 2 days ago |
10-83876 10 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-34909 2 days ago |
10-47446 10 days ago |
11-54540 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-34908 2 days ago |
10-83400 10 days ago |
10-83381 10 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-34901 2 days ago |
10-302 10 days ago |
10-332 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-34900 2 days ago |
9-77045 9 days ago |
9-77086 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-34900 2 days ago |
10-2767 10 days ago |
10-2748 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-34899 2 days ago |
9-72574 9 days ago |
9-72611 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-34037 2 days ago |
3-6115 3 days ago |
3-6143 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-30863 2 days ago |
2-33318 2 days ago |
2-33316 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-30191 2 days ago |
2-30198 2 days ago |
2-32318 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-25004 2 days ago |
2-33181 2 days ago |
3-54583 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-21604 2 days ago |
10-63258 10 days ago |
10-63248 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-17843 2 days ago |
2-65865 2 days ago |
2-73149 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-16640 2 days ago |
2-34823 2 days ago |
4-56709 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-15963 2 days ago |
2-15963 2 days ago |
2-17370 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-15926 2 days ago |
2-66725 2 days ago |
2-66763 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-9890 2 days ago |
9-55035 9 days ago |
9-55017 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-6402 2 days ago |
2-6402 2 days ago |
9-59560 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-6314 2 days ago |
2-6314 2 days ago |
10-7959 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-5052 2 days ago |
2-5124 2 days ago |
10-57809 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-1419 2 days ago |
5-46553 5 days ago |
5-46535 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-730 2 days ago |
3-58583 3 days ago |
3-58628 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 |
1-85614 1 day ago |
1-85624 1 day ago |
1-85662 1 day |
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 |
1-84643 1 day ago |
1-84652 1 day ago |
1-84689 1 day |
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 |
1-82017 1 day ago |
1-82087 1 day ago |
1-82068 1 day |
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 |
1-81883 1 day ago |
27-2275 27 days ago |
27-2283 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-75151 1 day ago |
1-86198 1 day ago |
1-86250 1 day |
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-74656 1 day ago |
150-1621 4 months ago |
205-48737 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-69923 1 day ago |
2-2842 2 days ago |
2-2891 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-69886 1 day ago |
2-5671 2 days ago |
2-25374 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-69724 1 day ago |
3-15349 3 days ago |
3-15394 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-66147 1 day ago |
1-66159 1 day ago |
1-66203 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-64873 1 day ago |
1-64873 1 day ago |
39-4783 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-62216 1 day ago |
1-62387 1 day ago |
1-62377 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-62174 1 day ago |
1-66384 1 day ago |
36-84078 36 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-62142 1 day ago |
1-70094 1 day ago |
70-29404 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-61851 1 day ago |
1-61851 1 day ago |
16-58425 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-61703 1 day ago |
1-61721 1 day ago |
1-61768 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-61004 1 day ago |
1-61065 1 day ago |
1-64222 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-60593 1 day ago |
41-69637 1 month ago |
42-36774 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-60355 1 day ago |
1-60738 1 day ago |
1-61395 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-58588 1 day ago |
1-58588 1 day ago |
1-58601 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-58103 1 day ago |
2-11227 2 days ago |
168-41174 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-57994 1 day ago |
80-5782 2 months ago |
80-6037 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-57423 1 day ago |
1-64330 1 day ago |
1-64413 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-57300 1 day ago |
28-281 28 days ago |
59-13032 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-55484 1 day ago |
1-62279 1 day ago |
85-62326 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-55177 1 day ago |
1-61900 1 day ago |
8-74244 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-54598 1 day ago |
1-54598 1 day ago |
5-15776 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-52831 1 day ago |
80-55936 2 months ago |
80-55979 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-52038 1 day ago |
1-54114 1 day ago |
1-58045 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-50768 1 day ago |
1-50790 1 day ago |
7-73539 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-47158 1 day ago |
10-11188 10 days ago |
223-86035 223 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-46963 1 day ago |
1-46966 1 day ago |
9-80393 9 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-41219 1 day ago |
1-41219 1 day ago |
1-41342 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-39269 1 day ago |
3-81248 3 days ago |
3-81229 3 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-39173 1 day ago |
3-6486 3 days ago |
3-15297 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-35911 1 day ago |
1-35911 1 day ago |
1-36001 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-34925 1 day ago |
8-39657 8 days ago |
83-67453 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-34923 1 day ago |
9-33043 9 days ago |
39-34110 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-34920 1 day ago |
8-45735 8 days ago |
18-19370 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-34918 1 day ago |
8-52301 8 days ago |
8-59147 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-34916 1 day ago |
8-67956 8 days ago |
10-44495 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-34915 1 day ago |
10-40060 10 days ago |
10-43439 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-34915 1 day ago |
8-75620 8 days ago |
10-74567 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-34912 1 day ago |
10-4291 10 days ago |
10-4272 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-34911 1 day ago |
9-69370 9 days ago |
9-75381 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-34910 1 day ago |
9-62861 9 days ago |
9-75060 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-34908 1 day ago |
8-39702 8 days ago |
8-56608 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-33816 1 day ago |
1-33816 1 day ago |
15-10955 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-30484 1 day ago |
4-37210 4 days ago |
4-37256 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-22893 1 day ago |
39-61300 1 month ago |
54-72620 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-13875 1 day ago |
1-13897 1 day ago |
13-3605 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-7641 1 day ago |
1-19378 1 day ago |
1-19359 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-5138 1 day ago |
1-47450 1 day ago |
1-47811 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-79041 21 hours ago |
0-79069 21 hours ago |
8-55899 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-77846 21 hours ago |
11-25375 11 days ago |
11-29872 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-76139 21 hours ago |
0-76139 21 hours ago |
0-76188 21 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-75776 21 hours ago |
0-81100 22 hours ago |
0-81081 22 hours |
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-74223 20 hours ago |
0-74293 20 hours ago |
0-74274 20 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-73602 20 hours ago |
1-44094 1 day ago |
5-78394 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-71629 19 hours ago |
13-43232 13 days ago |
13-43214 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-70357 19 hours ago |
4-75964 4 days ago |
76-54897 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-70015 19 hours ago |
0-75290 20 hours ago |
31-20025 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-68114 18 hours ago |
0-68299 18 hours ago |
0-68293 18 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-67086 18 hours ago |
0-67086 18 hours ago |
0-67068 18 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-66901 18 hours ago |
11-67785 11 days ago |
75-952 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-66335 18 hours ago |
8-64341 8 days ago |
26-74638 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-66217 18 hours ago |
0-74239 20 hours ago |
0-74284 20 hours |
29600 |
xroblot author:xroblot |
feat(IsPrimitiveRoot): add `adjoin_pair_eq` |
The sub-algebra generated by two roots of unity of order `k₁` and `k₂` resp. is the same as the one
generated by a single root of unity of order `lcm k₁ k₂`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
30/0 |
Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean |
1 |
1 |
['github-actions'] |
nobody |
0-64888 18 hours ago |
0-64899 18 hours ago |
0-64937 18 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-64645 17 hours ago |
0-67059 18 hours ago |
0-67414 18 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-61474 17 hours ago |
0-61537 17 hours ago |
0-61550 17 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-61243 17 hours ago |
0-61262 17 hours ago |
1-43232 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-61130 16 hours ago |
6-40304 6 days ago |
6-40286 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-59205 16 hours ago |
2-45784 2 days ago |
35-39995 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-58818 16 hours ago |
23-63936 23 days ago |
52-71175 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-58359 16 hours ago |
0-58411 16 hours ago |
18-73355 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-58092 16 hours ago |
0-64467 17 hours ago |
0-64953 18 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-58080 16 hours ago |
0-64465 17 hours ago |
0-66756 18 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-55942 15 hours ago |
0-55943 15 hours ago |
10-39895 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-54089 15 hours ago |
29-44366 29 days ago |
29-45826 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-52664 14 hours ago |
12-1708 12 days ago |
26-19468 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-52317 14 hours ago |
0-52335 14 hours ago |
86-53702 86 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 |
6 |
['github-actions', 'kbuzzard'] |
kbuzzard assignee:kbuzzard |
0-51937 14 hours ago |
0-51937 14 hours ago |
57-72863 57 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-50924 14 hours ago |
0-75549 20 hours ago |
0-76882 21 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-50109 13 hours ago |
5-19362 5 days ago |
5-19404 5 days |
29583 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: tidy various files |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
82/118 |
Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Mathlib/Algebra/GroupWithZero/Action/Hom.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Order/Module/Archimedean.lean,Mathlib/Algebra/QuadraticAlgebra.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean,Mathlib/CategoryTheory/Sites/SheafOfTypes.lean,Mathlib/Data/List/Indexes.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/List/Pi.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Factorial/NatCast.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RepresentationTheory/Basic.lean,Mathlib/RingTheory/Adjoin/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/Topology/Order/IsNormal.lean |
32 |
15 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'uniwuni'] |
grunweg assignee:grunweg |
0-49478 13 hours ago |
0-49478 13 hours ago |
1-5705 1 day |
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-49179 13 hours ago |
0-49373 13 hours ago |
0-51973 14 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-46396 12 hours ago |
1-20184 1 day ago |
1-20166 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-46254 12 hours ago |
0-49473 13 hours ago |
12-38267 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-42117 11 hours ago |
0-42278 11 hours ago |
14-70088 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-41301 11 hours ago |
5-47548 5 days ago |
5-47546 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-41142 11 hours ago |
0-67118 18 hours ago |
16-78947 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-40807 11 hours ago |
0-41082 11 hours ago |
0-41120 11 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-38202 10 hours ago |
0-38202 10 hours ago |
6-28518 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-34930 9 hours ago |
7-37675 7 days ago |
7-43246 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-34929 9 hours ago |
10-54588 10 days ago |
10-57634 10 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-34928 9 hours ago |
9-67044 9 days ago |
9-67084 9 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-34928 9 hours ago |
9-50554 9 days ago |
9-50591 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-34927 9 hours ago |
9-4162 9 days ago |
9-4143 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-34926 9 hours ago |
8-7589 8 days ago |
8-7624 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-26053 7 hours ago |
0-26149 7 hours ago |
0-26191 7 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-24964 6 hours ago |
7-45992 7 days ago |
38-21555 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-22044 6 hours ago |
0-22044 6 hours ago |
0-41545 11 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-14332 3 hours ago |
0-14409 3 hours ago |
0-14447 4 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-10668 2 hours ago |
0-54324 15 hours ago |
0-54362 15 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-9290 2 hours ago |
0-9290 2 hours ago |
16-67738 16 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 |
29 |
['CBirkbeck', 'github-actions', 'loefflerd', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
0-2685 44 minutes ago |
8-79688 8 days ago |
9-55291 9 days |