Welcome to the PR triage page! This page is perfect if you intend to look for pull request which seem to have stalled.
Feedback on designing this page or further information to include is very welcome.
These are triage-oriented views, not the main review queue. Updating a PR may remove it from one of these lists, but does not remove it from the review queue unless the PR's status changes out of awaiting review.
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Approval(s) |
Updated |
Last status change |
total time in review |
| 34952 |
joneugster author:joneugster |
feat(scripts/autolabel): use `Cli` and integrate `curl` call into `autolabel` |
- use `Cli` for `lake exe autolabel`
- add arguments `--pr xxx --gh` and `--pr xxx --curl ` to chose between different interaction methods with github
- add `--force` to skip the check whether labels are already present. (note: the current `curl` setup doesn't perform this step and neither does the refactor, so I added a `Todo` to remember this. )
- make CI-workflow simpler and more robust by removing current stdout-parsing of the debug-messages which `autolabel` emits.
### Testing
Make some local changes and commit them. Ensure your local `origin/master` is in sync with `upstream/master` if you are on a fork.
- `lake exe autolabel`: prints the labels which would be applicable
- `lake exe autolabel --pr 34952 --gh --force` adds these labels to this PR using `gh`.
- `lake exe autolabel --pr 34952 --gh` adds these labels to this PR using `gh` if no topic labels are present.
- `lake exe autolabel --pr 34952 --curl ` adds these labels to this PR using `curl`. This requires a github access token for authentication
---
[](https://gitpod.io/from-referrer/)
|
CI |
85/72 |
.github/workflows/add_label_from_diff.yaml,scripts/autolabel.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
69-1261 2 months ago |
52-48270 52 days ago |
85-2189 85 days |
| 33506 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end |
Co-authored-by: Vlad Tsyrklevich
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
---
- [x] depends on: #33249
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
109/1 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean |
4 |
60 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
2 |
67-46617 2 months ago |
12-79271 12 days ago |
30-52772 30 days |
| 36764 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `DirectSum.lequivCongrLeft_lof`: unchanged 🎉
* `AnalyticOnNhd.preimage_mem_codiscreteWithin`: unchanged 🎉
* `mem_permsOfList_of_mem`: unchanged 🎉
* `PNat.mod_le`: unchanged 🎉
* `Computation.map_parallel`: unchanged 🎉
* `Sigma.curry_update`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
11/41 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Sigma/Basic.lean |
6 |
13 |
['chenson2018', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
39-64776 1 month ago |
39-64836 39 days ago |
64-36096 64 days |
| 37055 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `OreLocalization.smul'_char`: unchanged 🎉
* `Equiv.Perm.cycleOf_mem_cycleFactorsFinset_iff`: unchanged 🎉
* `StrictMono.ite'`: unchanged 🎉
* `Mathlib.Meta.NormNum.isInt_ediv`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
10/29 |
Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Tactic/NormNum/DivMod.lean |
4 |
11 |
['chenson2018', 'euprunin', 'github-actions'] |
nobody |
none |
39-62416 1 month ago |
39-62477 39 days ago |
57-59542 57 days |
| 37700 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Maps): add `Iso.induceIso` |
Similar to `induceHom`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
29/0 |
Mathlib/Combinatorics/SimpleGraph/Maps.lean |
1 |
3 |
['github-actions', 'vlad902'] |
nobody |
none |
39-21329 1 month ago |
39-21387 39 days ago |
44-33185 44 days |
| 37865 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): Edge cut of `Graph` |
This PR introduces
- `edgeCut`: A function on set of vertices that returns the set of edges with exactly one end in the set.
- `IsEdgeCut`: A predicate for set of edges that promises it is `edgeCut` of some set.
- `IsBridge`: An edge `e` is a bridge iff it is a singleton edge cut.
- `IsBond`: An edge Set `B` is bond iff it is minimal nonempty edge cut.
---
- [x] depends on: #35879
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
194/0 |
Mathlib/Combinatorics/Graph/Connected/EdgeCut.Lean,Mathlib/Combinatorics/Graph/Subgraph.lean |
2 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
none |
35-19145 1 month ago |
35-36802 35 days ago |
35-36721 35 days |
| 37420 |
artie2000 author:artie2000 |
refactor: change definitions to avoid `ConvexCone` |
Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`.
This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
10/4 |
Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
3 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
3 |
34-48714 1 month ago |
34-48678 34 days ago |
49-68722 49 days |
| 36774 |
euprunin author:euprunin |
chore: replace long terminal `rw […]`:s (≥4 lemmas) with bare `simp`:s |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Finset.lcm_union`: unchanged 🎉
* `Finset.gcd_union`: unchanged 🎉
* `Polynomial.derivative_eval₂_C`: unchanged 🎉
* `Polynomial.expand_pow`: unchanged 🎉
* `Cardinal.mk_real`: unchanged 🎉
* `Real.log_zpow`: unchanged 🎉
* `Matroid.eRank_le_encard_add_eRk_compl`: unchanged 🎉
* `DFinsupp.single_tsub`: unchanged 🎉
* `EReal.inv_neg`: unchanged 🎉
* `Finsupp.toMultiset_map`: unchanged 🎉
* `Finsupp.single_tsub`: unchanged 🎉
* `Multiset.countP_map`: unchanged 🎉
* `Nat.ascFactorial_eq_factorial_mul_choose'`: unchanged 🎉
* `Real.sign_intCast`: unchanged 🎉
* `Real.volume_eball`: unchanged 🎉
* `Real.volume_closedEBall`: unchanged 🎉
* `LFunction_ne_zero_of_not_quadratic_or_ne_one`: 295 ms before, 152 ms after 🎉
* `hasSum_one_div_nat_pow_mul_cos`: unchanged 🎉
* `inv_eq_of_aeval_divX_ne_zero`: unchanged 🎉
* `AlgebraicIndependent.aeval_comp_mvPolynomialOptionEquivPolynomialAdjoin`: unchanged 🎉
* `Ordinal.deriv_mul_eq_opow_omega0_mul`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
22/24 |
Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean |
19 |
2 |
['artie2000', 'euprunin', 'github-actions'] |
nobody |
1 |
34-20985 1 month ago |
64-29511 64 days ago |
64-28992 64 days |
| 38141 |
Jun2M author:Jun2M |
feat(Order/Partition): Partition induced by symmetric, transitive relation |
We introduce a constructor for Partition from a symmetric, transitive relation, with `copy` function baked into the definition.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-order |
41/7 |
Mathlib/Order/Partition/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
33-84494 1 month ago |
33-84561 33 days ago |
33-84042 33 days |
| 38185 |
Jun2M author:Jun2M |
feat(Order/Partition): operations over Frame |
This PR introduces:
* `Partition.induce`: The induce of a partition by a frame element.
* `Partition.disjUnion`: The disjoint union of two partitions.
* `Partition.bind`: The finer partition obtained by family of partitions for each part of the original partition.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-order |
89/11 |
Mathlib/Order/Partition/Basic.lean,Mathlib/Order/SupIndep.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
33-15480 1 month ago |
33-15552 33 days ago |
33-15033 33 days |
| 38245 |
RemyDegenne author:RemyDegenne |
feat: CountableSupClosed |
Define the property for a set of being closed by countable supremum (resp. infimum).
The new file is adapted from the `SupClosed` file, which describes sets closed by binary supremum.
Also use `to_dual` on `SupClosed`.
`CountableInfClosed` will be used in measure theory, for developments related to compact systems used for Kolmogorov's extension theorem and Choquet's capacitability theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order
brownian
|
308/66 |
Mathlib.lean,Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/SupClosed.lean |
3 |
14 |
['RemyDegenne', 'b-mehta', 'github-actions', 'vihdzp'] |
nobody |
none |
31-33266 1 month ago |
31-47516 31 days ago |
31-51721 31 days |
| 32282 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): unoriented angle bisection |
Add lemmas giving unoriented angles involving the incenter and excenters of a triangle as expressions involving dividing angles of the triangle by 2, deduced from oriented bisection lemmas.
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #31205
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32259
- [ ] depends on: #32260
- [ ] depends on: #32270
- [ ] depends on: #32273
- [ ] depends on: #32278
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
98/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
8 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] |
nobody |
1 |
31-1269 1 month ago |
54-25221 54 days ago |
54-25438 54 days |
| 38337 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): supremum |
This PR introduces the union of `Graph`, as `sup`.
Due to compatibility issue, in general, `sup` is not very well-behaved: `SemilatticeSup` is not true. In the case of incompatible edge, unlike `inf` which simply removed such edge, we include it following its incidence in the left graph. This has the benefit of associativity being true in general at the cost of commutativity.
Assuming compatibility or existence of mutual supergraph, which are shown to be equivalent in this PR, everything behaves nicely.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
86/1 |
Mathlib/Combinatorics/Graph/Lattice.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
none |
29-13620 29 days ago |
29-38393 29 days ago |
29-37874 29 days |
| 38356 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Finset): `sSup s ≠ ⊤` in a `CompleteLinearOrder` for a finite set without `⊤` |
---
btw `to_dual` here is blocked on #35213
[](https://gitpod.io/from-referrer/)
|
t-order |
20/0 |
Mathlib/Order/ConditionallyCompleteLattice/Finset.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
28-84738 28 days ago |
28-84813 28 days ago |
28-84294 28 days |
| 38325 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): EndPoint function |
This PR introduces `endPoints`: `Set` of incident vertices, given an edge (in the case of non-edge, return empty).
**Import change**: `Graph/Basic` now imports `Data/Set/Card` to allow reasoning about card of `endPoints`.
[Relavent Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/New.20graph.20definitions/with/588616269)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
|
83/3 |
Mathlib/Combinatorics/Graph/Basic.lean |
1 |
9 |
['Jun2M', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-bors'] |
nobody |
none |
28-5336 28 days ago |
28-14166 28 days ago |
29-69990 29 days |
| 38393 |
staroperator author:staroperator |
refactor(ModelTheory): add typeclasses for algebraic symbols |
`Language.ring` and `Language.presburger` share the same symbols `0`, `1` and `+` and have duplicated instances on `Term` and `realize` simp lemmas. This PR makes these symbols certain typeclasses (similar to [`Language.IsOrdered`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/ModelTheory/Order.html#FirstOrder.Language.IsOrdered)) and removes the duplication. It also adds certain definability lemmas that `fun_prop` can use.
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
332/201 |
Mathlib.lean,Mathlib/ModelTheory/Algebra/Classes.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/ModelTheory/Algebra/Ring/Basic.lean,Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Basic.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean |
7 |
1 |
['github-actions'] |
nobody |
none |
27-79430 27 days ago |
27-79488 27 days ago |
27-80521 27 days |
| 38422 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Maps): `G →g G.map f` |
The existing `SimpleGraph.Embedding.map` takes an embedding and lifts it to a graph embedding `G ↪g G.map f`.
#36130 generalized `SimpleGraph.map` from embeddings to functions, so now we can get a graph homomorphism `G →g G.map f` without requiring that `f` is injective, although we still have to require that it is injective on adjacent vertices (aka a valid coloring).
This adds `Coloring.homMap`, and `Hom.map` which is identical but avoids coloring terminology/spelling.
---
I'd love for suggestions to improve the docstring of `Coloring.homMap`, I'm not sure about it :)
Are the two versions a good idea, or should we just have the coloring one? (we have `{Hom,Embedding,Iso}.comap` but only `{Embedding,Iso}.map`)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
16/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
4 |
['SnirBroshi', 'eric-wieser', 'github-actions'] |
nobody |
none |
26-82027 26 days ago |
27-30804 27 days ago |
27-30342 27 days |
| 38424 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Coloring/VertexColoring): `chromaticNumber ⊤` and other small lemmas |
- Golf `isEmpty_of_colorable_zero` and rename to `Colorable.isEmpty`
- `colorable_one_iff`: `G.Colorable 1 ↔ G = ⊥`
- Combine `chromaticNumber_eq_zero_of_isEmpty`/`isEmpty_of_chromaticNumber_eq_zero` into `chromaticNumber_eq_zero_iff : G.chromaticNumber = 0 ↔ IsEmpty V` and deprecate the `→` side
- `chromaticNumber_top_eq_enat_card`: `chromaticNumber ⊤ = ENat.card V`
- Tag `chromaticNumber_top_eq_top_of_infinite`/`chromaticNumber_eq_zero_of_isEmpty` as `simp`
- Golf `chromaticNumber_eq_one_iff`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
33/26 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
3 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
none |
26-18813 26 days ago |
27-26927 27 days ago |
27-26846 27 days |
| 38498 |
SnirBroshi author:SnirBroshi |
feat(Order/RelIso/Basic): lift a function to an order morphism into `Relation.Map` or from `Function.onFun` |
For an `α`-relation `r` we have:
```
mapRelHom (f : α → β) : r →r Relation.Map r f f
mapRelEmbedding (f : α ↪ β) : r ↪r Relation.Map r f f
mapRelIso (f : α ≃ β) : r ≃r Relation.Map r f f
```
For a `β`-relation `r` we have:
```
onFunRelHom (f : α → β) : r.onFun f →r r
onFunRelEmbedding (f : α ↪ β) : r.onFun f ↪r r
onFunRelIso (f : α ≃ β) : r.onFun f ≃r r
```
---
These are pretty similar to `SimpleGraph.{Embedding/Iso}.map` and `SimpleGraph.{Hom/Embedding/Iso}.comap`, as [`comap`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L117-L118) on graphs is a wrapper around `onFun`, and [`map`](https://github.com/leanprover-community/mathlib4/blob/9268b22206b0425419498769f780a91dee03bcf3/Mathlib/Combinatorics/SimpleGraph/Maps.lean#L57-L58) on graphs is *almost* a wrapper around `Relation.Map`.
btw `@[simps]` is angry at me when I try to use it on the structures that use spread syntax.
[](https://gitpod.io/from-referrer/)
|
t-order |
42/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
25-75380 25 days ago |
25-75455 25 days ago |
25-74936 25 days |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
none |
25-51303 25 days ago |
29-18847 29 days ago |
29-18714 29 days |
| 38222 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Girth): add lemmas about isomorphism and girth |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
19/1 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
6 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
none |
25-34925 25 days ago |
32-9838 32 days ago |
32-9319 32 days |
| 38528 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): some cycle lemmas are true for circuits |
Add `IsCircuit.{not_of_nil,ne_bot,three_le_length}` by using their corresponding `IsCycle` proofs.
Also golfs a bit.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
17/9 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
25-33829 25 days ago |
25-33899 25 days ago |
25-33380 25 days |
| 38531 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Paths): `Walk.map` preserves more properties |
Adds some missing theorems about how `Walk.map` behaves with `IsTrail`/`IsPath`/`IsCircuit`/`IsCycle`.
Summary of what we have now, with the 8 new theorems and 2 renames marked:
```
IsTrail.of_map : (p.map f).IsTrail → p.IsTrail -- new
map_isTrail_iff_of_injective : f.Injective → (p.map f).IsTrail ↔ p.IsTrail
IsTrail.map : f.Injective → p.IsTrail → (p.map f).IsTrail -- renamed from map_isTrail_of_injective
IsPath.of_map : (p.map f).IsPath → p.IsPath
map_isPath_iff_of_injective : f.Injective → (p.map f).IsPath ↔ p.IsPath
IsPath.map : f.Injective f → p.IsPath → (p.map f).IsPath -- renamed from map_isPath_of_injective
IsCircuit.of_map : (p.map f).IsCircuit → p.IsCircuit -- new
map_isCircuit_iff_of_injective : f.Injective → (p.map f).IsCircuit ↔ p.IsCircuit -- new
IsCircuit.map : f.Injective → p.IsCircuit → (p.map f).IsCircuit -- new
IsCycle.of_map : (p.map f).IsCycle → p.IsCycle -- new
map_isCycle_iff_of_injective : f.Injective → (p.map f).IsCycle ↔ p.IsCycle
IsCycle.map : f.Injective → p.IsCycle → (p.map f).IsCycle
mapLe_isTrail : G ≤ G' → (p.mapLe h).IsTrail ↔ p.IsTrail
IsTrail.of_mapLe : G ≤ G' → (p.mapLe h).IsTrail → p.IsTrail
IsTrail.mapLe : G ≤ G' → p.IsTrail → (p.mapLe h).IsTrail
mapLe_isPath : G ≤ G' → (p.mapLe h).IsPath ↔ p.IsPath
IsPath.of_mapLe : G ≤ G' → (p.mapLe h).IsPath → p.IsPath
IsPath.mapLe : G ≤ G' → p.IsPath → (p.mapLe h).IsPath
mapLe_isCircuit : G ≤ G' → (p.mapLe h).IsCircuit ↔ p.IsCircuit -- new
IsCircuit.of_mapLe : G ≤ G' → (p.mapLe h).IsCircuit → p.IsCircuit -- new
IsCircuit.mapLe : G ≤ G' → p.IsCircuit → (p.mapLe h).IsCircuit -- new
mapLe_isCycle : G ≤ G' → (p.mapLe h).IsCycle ↔ p.IsCycle
IsCycle.of_mapLe : G ≤ G' → (p.mapLe h).IsCycle → p.IsCycle
IsCycle.mapLe : G ≤ G' → p.IsCycle → (p.mapLe h).IsCycle
```
---
Also golfs `map_isPath_of_injective`/`IsPath.of_map`/`map_isTrail_iff_of_injective`, they don't need induction.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
47/31 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
24-42487 24 days ago |
25-16567 25 days ago |
25-16048 25 days |
| 38549 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Copy): `Is(Ind)Contained` `completeGraph` lemmas |
- `G ⊑ completeGraph V`
- `G ⊑ completeGraph W ↔ Nonempty (V ↪ W)`
- `completeGraph V ⊴ completeGraph W ↔ Nonempty (V ↪ W)`
- `G ⊴ completeGraph W → G = ⊤`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
12/0 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
24-40404 24 days ago |
24-40473 24 days ago |
24-39954 24 days |
| 38529 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Girth): `egirth ⊤ = 3` when there are at least 3 vertices |
Since `Nontrivial` is not enough, we use the condition `3 ≤ ENat.card α`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
17/0 |
Mathlib/Combinatorics/SimpleGraph/Girth.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
none |
24-40347 24 days ago |
25-31064 25 days ago |
25-30545 25 days |
| 37835 |
YaelDillies author:YaelDillies |
doc(Algebra/Order): update mentions of `OrderedSemiring` and friends |
As of #20676, it was replaced by `IsOrderedRing`.
Not all docs were straightforward to update.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
123/280 |
Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/ULift.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Group/Cone.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval/Set/Monoid.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Algebra/Order/Sub/WithTop.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Nat/Cast/Order/Ring.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/Order/Filter/Germ/OrderedMonoid.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Valuation.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean,Mathlib/Tactic/NormNum/Ineq.lean |
37 |
9 |
['NoahW314', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
24-32283 24 days ago |
24-32308 24 days ago |
39-26923 39 days |
| 38568 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Connectivity/Subgraph): `w.toSubgraph.IsInduced ↔ w.IsChordless` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
6/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
23-73655 23 days ago |
23-73725 23 days ago |
23-73206 23 days |
| 38554 |
YaelDillies author:YaelDillies |
chore(Combinatorics/SimpleGraph): use the auto-param in `loopless` more |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
5/13 |
Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hasse.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Order/Cover.lean |
8 |
6 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
none |
23-20903 23 days ago |
23-53244 23 days ago |
23-54794 23 days |
| 38027 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/Star): define star graphs |
Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334.
---
All lemmas are hand written first, then golfed with the help of Claude Code.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean |
2 |
39 |
['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] |
nobody |
none |
22-79296 22 days ago |
34-79242 34 days ago |
36-76988 36 days |
| 38364 |
openendings author:openendings |
feat: create Order/DirectedCompletePartialOrder/Defs.lean |
Define DirectedCompletePartialOrder and its interaction with iSup and sSup.
---
A DirectedCompletePartialOrder is equivalently:
- a partial order with LUBs of nonempty directed sets;
- what happens when you remove ⊥ from a CompletePartialOrder; or
- a ConditionallyCompletePartialOrder in which every directed set is BddAbove.
Like CPOs, DCPOs are commonly studied in denotational semantics.
Potential applications:
- [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`.
- [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
123/0 |
Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib |
3 |
4 |
['SnirBroshi', 'github-actions', 'openendings'] |
nobody |
none |
22-9159 22 days ago |
27-85679 27 days ago |
28-59986 28 days |
| 37073 |
kim-em author:kim-em |
feat: add wrap_instance% using core's wrapInstance |
This PR adds a new `wrap_instance%` term elaborator that delegates to Lean core's
`wrapInstance` (from https://github.com/leanprover/lean4/pull/12897), and replaces ~53
`fast_instance%` call sites where the replacement is safe.
`wrap_instance%` is a thin wrapper (~15 lines) around `Lean.Meta.wrapInstance`. Like
`fast_instance%`, it reduces instances to constructor applications and reuses canonical
sub-instances. Unlike `fast_instance%`, it works at `instances` transparency and delegates all
normalization logic to core.
The replaced sites cover:
- Equiv/type-alias transfers (WithAbs, WithConv, WithVal, WithLp, TransferInstance)
- Surjective constructors (Con, RingCon quotients, module congruences)
- DFunLike leaf instances (MultilinearMap, ContinuousMultilinearMap, AlternatingMap, Intertwining)
- Quotient instances (LinearAlgebra/Quotient/Defs)
- inferInstanceAs% sites (StandardPart, Presentation/Core)
- Miscellaneous (InfiniteAdeleRing, ZMod)
This PR *doesn't* attempt to replace all `fast_instance%`; it gets more complicated!
🤖 Prepared with Claude Code |
|
88/59 |
Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/WithConv.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RingTheory/Extension/Presentation/Core.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/Algebra/Module/Alternating/Basic.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
16 |
7 |
['JovanGerb', 'github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
none |
21-79820 21 days ago |
21-79847 21 days ago |
24-66436 24 days |
| 38432 |
SnirBroshi author:SnirBroshi |
feat(Logic/Relation): `Map r f g ≤ s ↔ r ≤ s.bicompl f g` |
and the dual `s ≤ Relation.Map r f g ↔ s.bicompl f g ≤ r` which requires `f` and `g` to be bijective.
Adds `Galois{Connection/Insertion/Coinsertion}` for the dual.
The theorems are specialized to `onFun` instead of `bicompl` for when `f = g`.
The `≤` theorems are spelled using `Subrelation` since `≤` is not yet available in this file, and `∀` for the `bicompl` theorems since `Subrelation` only supports homogeneous relations.
A `GaloisConnection` for the iff in the title requires `f`/`g` to be bijective, but then we can get an `OrderIso` which is stronger (see #38499).
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
119/28 |
Mathlib/Logic/Relation.lean,Mathlib/Order/GaloisConnection/Basic.lean |
2 |
3 |
['SnirBroshi', 'github-actions', 'plp127'] |
nobody |
none |
21-66567 21 days ago |
25-73780 25 days ago |
27-8283 27 days |
| 38612 |
SnirBroshi author:SnirBroshi |
feat(Order/SuccPred/CompleteLinearOrder): `sSup s < x` iff theorems when we know if `x` is a successor pre-limit or not |
Adds the following theorems (along with their duals and indexed versions):
```lean
sSup_lt_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → sSup s < x ↔ ∀ a ∈ s, a < x
le_sSup_iff_of_not_isSuccPrelimit : ¬IsSuccPrelimit x → x ≤ sSup s ↔ ∃ a ∈ s, x ≤ a
Order.IsSuccPrelimit.sSup_lt_iff : IsSuccPrelimit x → sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b < a
Order.IsSuccPrelimit.le_sSup_iff : IsSuccPrelimit x → x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a ≤ b
```
They are similar to these existing theorems, but not the same:
```lean
sSup_lt_iff : sSup s < x ↔ ∃ a < x, ∀ b ∈ s, b ≤ a
le_sSup_iff_forall_lt : x ≤ sSup s ↔ ∀ a < x, ∃ b ∈ s, a < b
```
---
[](https://gitpod.io/from-referrer/)
|
t-order |
43/0 |
Mathlib/Order/SuccPred/CompleteLinearOrder.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
none |
21-66368 21 days ago |
22-63282 22 days ago |
22-62763 22 days |
| 38349 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph/Coloring/VertexColoring): rename to `Vertex.lean` |
After #37525 moved `Coloring.lean` to `Coloring/VertexColoring.lean`, a [Zulip](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Coloring.20module.20names/with/583281500) poll decided to avoid duplicating the word "Coloring", so this renames `Coloring/VertexColoring.lean` to `Coloring/Vertex.lean`.
---
I planned to make this move in #33313 but it isn't moving along, so I think it's best to split the renaming.
#37546 adds module deprecation
[](https://gitpod.io/from-referrer/)
|
file-removed
t-combinatorics
|
6/6 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Constructions.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Partition.lean,Mathlib/Combinatorics/SimpleGraph/Sum.lean |
7 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
21-1026 21 days ago |
21-1052 21 days ago |
29-679 29 days |
| 38748 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Basic): `G.edgeSet ⊆ s.sym2 ↔ G.support ⊆ s` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
19/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
20-81830 20 days ago |
20-81902 20 days ago |
20-81383 20 days |
| 37930 |
vlad902 author:vlad902 |
chore(SimpleGraph): move `cycleGraph` to its own file |
PR #34797 re-defined `cycleGraph` independent of `circulantGraph`. Now move the definition of `cycleGraph` to its own file so that the definition can be used without importing the algebra hierarchy.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
173/148 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Circulant.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
20-70337 20 days ago |
20-70360 20 days ago |
20-70228 20 days |
| 37832 |
YaelDillies author:YaelDillies |
chore(Algebra/Order/GroupWithZero): flatten `Unbundled` folder |
The algebraic order classes are unbundled now.
---
More thought is needed to do the same for `Algebra.Order.Monoid` since filenames conflict.
[](https://gitpod.io/from-referrer/)
|
file-removed
t-algebra
t-order
label:t-algebra$ |
20/20 |
Mathlib.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/List.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Bounds.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/GroupWithZero/OrderIso.lean,Mathlib/Algebra/Order/GroupWithZero/Submonoid.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean |
19 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
20-35222 20 days ago |
20-35248 20 days ago |
39-39846 39 days |
| 38747 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Basic): more `neighborSet` and `IsIsolated` lemmas |
---
`neighborSet_mono` moved from `Maps.lean` to `Basic.lean` with a simpler proof
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
72/17 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/StronglyRegular.lean |
4 |
2 |
['github-actions', 'vlad902'] |
nobody |
none |
20-5616 20 days ago |
20-12572 20 days ago |
20-66342 20 days |
| 37870 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph): `Simple` typeclass for `Graph` |
This PR introduces two type classes on `Graph`: `Loopless` and `Simple`.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
93/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Simple.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
19-84555 19 days ago |
19-84579 19 days ago |
39-32093 39 days |
| 38142 |
SnirBroshi author:SnirBroshi |
feat(Order/SuccPred/CompleteLinearOrder): generalize `csSup_mem_of_not_isSuccLimit` |
Given `s.Nonempty` and `BddAbove s` we can conclude `sSup s ∈ s` using either:
- `csSup_mem_of_not_isSuccPrelimit`, given `ConditionallyCompleteLinearOrder` and `¬IsSuccPrelimit (sSup s)`
- `csSup_mem_of_not_isSuccLimit`, given `ConditionallyCompleteLinearOrderBot` and `¬IsSuccLimit (sSup s)`
We generalize both to a theorem that requires `ConditionallyCompleteLinearOrder` and `¬IsSuccLimit (sSup s)`.
This creates 8 theorems that require `¬IsSuccPrelimit` but are now easily proved with the `¬IsSuccLimit` theorems, we replace `csSup_mem_of_not_isSuccPrelimit`/`exists_eq_ciSup_of_not_isSuccPrelimit` with their primed `ConditionallyCompleteLinearOrderBot` theorems, and deprecates the other 6.
Tags a random `to_dual` (in `ConditionallyCompleteLattice/Basic.lean`) to let us `to_dual`ize the new lemmas.
---
~~Should we also deprecate the 8 theorems that require `¬IsSuccPrelimit` and now use `mt`?~~
[](https://gitpod.io/from-referrer/)
|
t-order |
55/42 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/SuccPred/CompleteLinearOrder.lean,Mathlib/SetTheory/Cardinal/Order.lean |
3 |
9 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
none |
18-81252 18 days ago |
18-81276 18 days ago |
33-79163 33 days |
| 38841 |
SnirBroshi author:SnirBroshi |
feat(Mathlib/Order/SuccPred/Limit): more `WithTop` lemmas about `IsMin`/`CovBy`/`IsSuccLimit` |
---
Continues the work from #38244
We should probably also have such lemmas for `WithTopBot`/`WithBotTop`, but that's for another day
[](https://gitpod.io/from-referrer/)
|
t-order |
111/30 |
Mathlib/Order/Cover.lean,Mathlib/Order/SuccPred/Limit.lean,Mathlib/Order/WithBot.lean |
3 |
1 |
['github-actions'] |
nobody |
none |
18-50814 18 days ago |
18-61330 18 days ago |
18-61618 18 days |
| 38316 |
tannerduve author:tannerduve |
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction |
Adds `ContinuousHom.lfp` for endomorphisms on an ωCPO with `⊥`, as the `ωSup` of the iterate chain from `⊥`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `ωSup_iterate_induction`).
For `Part.fix`, adds:
* `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`.
* `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] ⊥`/`iterateChain`.
* `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is ω-Scott continuous.
* `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`.
* `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. |
new-contributor |
114/0 |
Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
nobody |
none |
18-25639 18 days ago |
30-1741 30 days ago |
30-1748 30 days |
| 38589 |
vlad902 author:vlad902 |
feat(SimpleGraph): add universal vertex predicate |
Add the predicate `G.IsUniversal v` to indicate that `v` is a universal vertex, i.e. connected to all other vertices in `G`. This matches the recently added `G.IsIsolated v` predicate for isolated vertices.
Co-authored-by: Justin Lai
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
63/10 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Combinatorics/SimpleGraph/UniversalVerts.lean |
5 |
4 |
['8e7', 'github-actions', 'vlad902'] |
nobody |
none |
17-71759 17 days ago |
23-18080 23 days ago |
23-17561 23 days |
| 38358 |
yuanyi-350 author:yuanyi-350 |
doc(1000.yaml): note more formalised theorems |
---
[](https://gitpod.io/from-referrer/)
|
documentation
maintainer-merge
|
9/2 |
docs/1000.yaml |
1 |
12 |
['YaelDillies', 'github-actions', 'grunweg', 'vihdzp', 'yuanyi-350'] |
nobody |
none |
17-55716 17 days ago |
17-55778 17 days ago |
28-56915 28 days |
| 38890 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Basic): more `WithTop` instances |
Adds the following instances:
```
CompleteLattice α → CompleteLattice (WithTop α)
CompleteLinearOrder α → CompleteLinearOrder (WithBot α)
ConditionallyCompleteLinearOrder α → ConditionallyCompleteLinearOrder (WithTop α)
ConditionallyCompleteLinearOrder α → ConditionallyCompleteLinearOrderBot (WithBot α)
```
and some simp lemmas to help.
---
These `#synth`s all succeed after this PR:
(code)
```lean
variable {α : Type*} [Preorder α]
#synth Preorder αᵒᵈ
#synth Preorder <| WithTop α
#synth Preorder <| WithBot α
#synth Preorder <| WithTopBot α
#synth Preorder <| WithBotTop α
variable {α : Type*} [PartialOrder α]
#synth PartialOrder αᵒᵈ
#synth PartialOrder <| WithTop α
#synth PartialOrder <| WithBot α
#synth PartialOrder <| WithTopBot α
#synth PartialOrder <| WithBotTop α
variable {α : Type*} [LinearOrder α]
#synth LinearOrder αᵒᵈ
#synth LinearOrder <| WithTop α
#synth LinearOrder <| WithBot α
#synth LinearOrder <| WithTopBot α
#synth LinearOrder <| WithBotTop α
variable {α : Type*} [CompleteLattice α]
#synth CompleteLattice αᵒᵈ
#synth CompleteLattice <| WithTop α -- new
#synth CompleteLattice <| WithBot α
#synth CompleteLattice <| WithTopBot α
#synth CompleteLattice <| WithBotTop α
variable {α : Type*} [CompleteLinearOrder α]
#synth CompleteLinearOrder αᵒᵈ
#synth CompleteLinearOrder <| WithTop α
#synth CompleteLinearOrder <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLattice α]
#synth ConditionallyCompleteLattice αᵒᵈ
#synth ConditionallyCompleteLattice <| WithTop α
#synth ConditionallyCompleteLattice <| WithBot α
#synth CompleteLattice <| WithTopBot α
#synth CompleteLattice <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLinearOrder α]
#synth ConditionallyCompleteLinearOrder αᵒᵈ
#synth ConditionallyCompleteLinearOrder <| WithTop α -- new
#synth ConditionallyCompleteLinearOrderBot <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
variable {α : Type*} [ConditionallyCompleteLinearOrderBot α]
#synth ConditionallyCompleteLinearOrder αᵒᵈ
#synth CompleteLinearOrder <| WithTop α
#synth ConditionallyCompleteLinearOrderBot <| WithBot α -- new
#synth CompleteLinearOrder <| WithTopBot α
#synth CompleteLinearOrder <| WithBotTop α
```
[](https://gitpod.io/from-referrer/)
|
t-order |
63/9 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
17-4038 17 days ago |
17-4114 17 days ago |
17-3595 17 days |
| 38871 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph): add parity lemmas for outer and inner vertices |
Adds three lemmas to `SimpleGraph.DegreeSum`:
- `sum_degrees_option_zmod_two`: the handshaking lemma for `Option I` over ZMod 2
- `degree_none_zmod_two_eq_sum`: simp-normal form of the above
- `card_degree_one_option_eq_outer_zmod_two`: under degree bound ≤ 2, count of degree-1 inner vertices equals outer vertex degree mod 2 |
t-combinatorics
new-contributor
|
65/3 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean |
1 |
6 |
['0xTerencePrime', 'SnirBroshi', 'github-actions'] |
nobody |
none |
16-75124 16 days ago |
17-45352 17 days ago |
17-44833 17 days |
| 38897 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity |
Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of
the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the
two endpoints have different colors, then the number of color-changing edges is odd.
This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns
antichains in a power set. This file formalizes the topological/combinatorial parity
statement used as the base case in higher-dimensional Sperner arguments.
## Key declarations
- `SpernerColoring`: type-safe coloring via `Fin (n + 1) → ZMod 2`
- `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2`
- `totalDiff`: telescoping sum of all edge differences
- `diffEdges`: the `Finset` of bichromatic (color-changing) edges
- `sperner_1d`: main theorem — `Odd (diffEdges c).card`
## Design notes
- Using `Fin (n + 1) → ZMod 2` instead of `ℕ → ZMod 2` makes boundary conditions
unrepresentable at the type level, eliminating out-of-bounds cases entirely.
- The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero`
to cancel all interior vertices, avoiding parity case splits.
This is intended as the 1D base case, the approach generalizes to higher-dimensional
Sperner's Lemma in future work.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
133/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
none |
16-66358 16 days ago |
16-76508 16 days ago |
16-75989 16 days |
| 38895 |
emlis42 author:emlis42 |
chore(Algebra/ContinuedFractions): golf |
This PR simplifies some proofs in `Algebra/ContinuedFractions` |
t-algebra
new-contributor
label:t-algebra$ |
39/63 |
Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean |
7 |
2 |
['github-actions'] |
nobody |
none |
15-85474 15 days ago |
16-4285 16 days ago |
16-78469 16 days |
| 36815 |
EtienneC30 author:EtienneC30 |
feat: a measurable space structure on the type of continuous maps |
Endow the type `C(X, Y)` of continuous maps from `X` to `Y` with the Borel sigma-algebra coming from the compact-open topology and show that, under some assumptions on `X` and `Y`, this is equal to the restriction of the product sigma-algebra over `X → Y`.
Provide a measurable equivalence between `{f : X → Y // Continuous f}` and `C(X, Y)`.
Co-authored-by: @RemyDegenne
---
[](https://gitpod.io/from-referrer/)
|
t-topology
brownian
t-measure-probability
|
256/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousMap.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Separation/Regular.lean |
6 |
27 |
['ADedecker', 'EtienneC30', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
15-60471 15 days ago |
15-60511 15 days ago |
55-55342 55 days |
| 38951 |
thomaskwaring author:thomaskwaring |
feat(Order/PrimeSeparator): remove unnecessary hypotheses |
In `mem_ideal_sup_principal`, boundedness and distributivity were unused, and in `prime_ideal_of_disjoint_filter_ideal`, boundedness was only used to produce an element of the filter `F`, which is already nonempty by definition.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
9/19 |
Mathlib/Order/PrimeSeparator.lean |
1 |
2 |
['github-actions'] |
nobody |
none |
15-59049 15 days ago |
15-59136 15 days ago |
15-58617 15 days |
| 38667 |
SnirBroshi author:SnirBroshi |
feat(Order/Hom/Basic): equivalences of `Order{Hom/Embedding/Iso}` |
- `OrderHom`s are equivalent to `RelHom`s of `LE` (unlike `OrderEmbedding`/`OrderIso` they aren't defined using it)
- Congruence equivs for `OrderEmbedding`/`OrderIso` when the two sides are order-isomorphic. This already exists for `OrderHom`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
55/1 |
Mathlib/Order/Hom/Basic.lean |
1 |
3 |
['SnirBroshi', 'dagurtomas', 'github-actions'] |
nobody |
none |
15-9699 15 days ago |
15-9699 15 days ago |
22-6701 22 days |
| 38975 |
ldct author:ldct |
feat(EReal): Add equations for EReal |
Add equational lemmas for the simplifier to simplify `[natural number literal] + ⊤` in `EReal`, and add a test file in `MathlibTest/EReal.lean`.
Without these lemmas, `simp` fails to close many of the goals in `MathlibTest/EReal.lean`. I believe simp should close all of them.
An alternative is to add something like this as a simp lemma, to allow `top_add_of_ne_bot` to make progress, but it's not clear to me that this is desirable as a simp lemma, since it's not equational
```
example {n : ℕ} [n.AtLeastTwo] : (ofNat(n) : EReal) ≠ ⊤ := by
exact Ne.symm (not_eq_of_beq_eq_false rfl)
```
---
[](https://gitpod.io/from-referrer/)
|
t-data |
32/0 |
Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
none |
15-5466 15 days ago |
15-8454 15 days ago |
15-7935 15 days |
| 38557 |
SnirBroshi author:SnirBroshi |
feat(Order/Monotone/Defs): weaken `Preorder` to `LE`/`LT` |
`Monotone`/`Antitone`/`MonotoneOn`/`AntitoneOn` can use any `LE`,
and `StrictMono`/`StrictAnti`/`StrictMonoOn`/`StrictAntiOn` can use any `LT`.
This makes it necessary to add some explicit type params (e.g. `(α := α)`) in some places that use monotone-related theorems (e.g. `Function.monotone_eval`).
---
Currently `OrderEmbedding` and `OrderIso` can use `LE` but `OrderHom` requires `Preorder` because it's defined using `Monotone`. Generalizing `Monotone` and friends will let us fix this oddity. This follows other basic definitions such as `IsMax`/`CovBy`.
[](https://gitpod.io/from-referrer/)
|
t-order |
21/15 |
Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/Order/Interval/Lex.lean,Mathlib/Order/Monotone/Defs.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/Topology/Order/MonotoneConvergence.lean |
7 |
2 |
['JovanGerb', 'github-actions'] |
nobody |
none |
14-58296 14 days ago |
24-1897 24 days ago |
24-4209 24 days |
| 38989 |
grunweg author:grunweg |
chore: remove `(d)simp only []` |
Either remove them (when they were unnecessary), or replace by something more low-level.
---
I'm happy to make them `simp only` instead, if that is preferred.
[](https://gitpod.io/from-referrer/)
|
|
10/17 |
Counterexamples/AharoniKorman.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLogEqCircleAverage.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/ModelTheory/Encoding.lean |
11 |
4 |
['b-mehta', 'github-actions', 'grunweg'] |
nobody |
none |
14-45138 14 days ago |
14-60406 14 days ago |
14-59887 14 days |
| 38979 |
ldct author:ldct |
feat(EReal): simplify nat + ⊤ |
Alternative version of https://github.com/leanprover-community/mathlib4/pull/38975
---
[](https://gitpod.io/from-referrer/)
|
t-data |
28/2 |
Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,MathlibTest/EReal.lean |
3 |
6 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'ldct', 'leanprover-radar'] |
nobody |
none |
14-39981 14 days ago |
14-39747 14 days ago |
14-39358 14 days |
| 37718 |
SabrinaJewson author:SabrinaJewson |
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones |
`{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
366/0 |
Mathlib.lean,Mathlib/Order/Std.lean,MathlibTest/OrderOfStd.lean |
3 |
2 |
['github-actions'] |
nobody |
none |
14-1269 14 days ago |
44-4180 44 days ago |
44-4154 44 days |
| 39004 |
zhuyizheng author:zhuyizheng |
chore(ModelTheory): fix hypo of `realize_liftAt` |
changes the hypo of `realize_liftAt` from the incorrect `(hmn : m + n' ≤ n + 1)` to the correct `(hmn : m ≤ n)`
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
2/2 |
Mathlib/ModelTheory/Semantics.lean |
1 |
3 |
['github-actions', 'plp127', 'zhuyizheng'] |
nobody |
none |
14-210 14 days ago |
14-36339 14 days ago |
14-35820 14 days |
| 38310 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics/Quiver/Schreier): word evaluation and reachability |
Adds word evaluation and reachability results to the Schreier graph API.
* `SchreierGraph.evalWord` : evaluates a word `List (S × Bool)` as an element of the ambient group, where `(s, true)` contributes `ι s` and `(s, false)` contributes `(ι s)⁻¹`.
* `SchreierGraph.evalWord_eq_lift` : agreement with `FreeGroup.lift`.
* `SchreierGraph.evalWord_mem_closure` : every word evaluates into the subgroup generated by `ι`.
* `SchreierGraph.pathFromWord` : a Bool-tagged word yields a path in `Symmetrify (SchreierGraph V ι)` from `x` to `evalWord ι w • x`.
* `SchreierGraph.reachable_iff` : two vertices are connected by a path in the symmetrification iff some element of the subgroup closure carries one to the other.
Follow-up to #36320.
This PR was written with AI assistance (Claude). The code has been reviewed by the author.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
LLM-generated
|
157/0 |
Mathlib/Combinatorics/Quiver/Schreier.lean |
1 |
2 |
['github-actions'] |
nobody |
none |
13-73064 13 days ago |
30-20138 30 days ago |
30-19619 30 days |
| 39023 |
TBUGTB author:TBUGTB |
feat(Algebra/Order): API lemmas on floor and abs |
Co-authored-by: Etienne Marion @EtienneC30
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
brownian
new-contributor
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Ring/Abs.lean |
2 |
3 |
['TBUGTB', 'github-actions'] |
nobody |
none |
13-54790 13 days ago |
13-57979 13 days ago |
13-57460 13 days |
| 39029 |
felixpernegger author:felixpernegger |
chore: remove redundant `unfold`s |
This PR removed roughly (estimated by files I went through) half of the `unfold`'s in mathlib which can be removed such that the proof still works (found by searching `unfold ` in VSCode in manually going through ~600/1100 occurences).
I originally planned to replace all, but I couldn't find any relevant discussion if this is actually a good practice, so to save potentially wasted time, I make this PR now. (similarly with the `clear` tactic)
---
[](https://gitpod.io/from-referrer/)
|
|
63/108 |
Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Functor/FullyFaithful.lean,Mathlib/CategoryTheory/Monoidal/Closed/Functor.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Graph/Delete.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Computability/TuringMachine/PostTuringMachine.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/ChineseRemainder.lean,Mathlib/Data/Nat/Digits/Div.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/PNat/Prime.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Data/Stream/Init.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Data/ZMod/Basic.lean |
44 |
3 |
['felixpernegger', 'github-actions', 'leanprover-radar'] |
nobody |
none |
13-47909 13 days ago |
13-52496 13 days ago |
13-51977 13 days |
| 39059 |
vihdzp author:vihdzp |
feat: `IsBotOneClass (Associates M)` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
11/9 |
Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/RingTheory/ChainOfDivisors.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
13-1369 13 days ago |
13-1445 13 days ago |
13-2952 13 days |
| 39078 |
fpvandoorn author:fpvandoorn |
feat: add lemmas about products over Finset.Iio |
* Mostly useful for `ℕ`
* I added the `Finset.Iic` lemmas by symmetry, but I'm happy to remove them if we think they are redundant.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/0 |
Mathlib/Algebra/Order/BigOperators/Group/LocallyFinite.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
12-45435 12 days ago |
12-45515 12 days ago |
12-44996 12 days |
| 39091 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): add version of `IsGaloisGroup.to_isFractionRing` assuming only `IsIntegral` |
This PR adds a version of `IsGaloisGroup.to_isFractionRing` assuming only `Algebra.IsIntegral A B` (which is weaker than the existing assumption `Finite G`).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
22/9 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/RingTheory/Invariant/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
12-32043 12 days ago |
12-32043 12 days ago |
12-31525 12 days |
| 39074 |
tb65536 author:tb65536 |
feat(RingTheory/RamificationInertia/Ramification): relate `ramificationIdx'` to `Algebra.IsUnramifiedAt` |
This PR relates the new `ramificationIdx'` (which will eventually replace `ramificationIdx`) to `Algebra.IsUnramifiedAt`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
large-import
label:t-algebra$ |
30/0 |
Mathlib/RingTheory/RamificationInertia/Ramification.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
12-22399 12 days ago |
12-38055 12 days ago |
12-37537 12 days |
| 38859 |
SnirBroshi author:SnirBroshi |
feat(Order/CompleteLattice/Basic): tag `iSup_of_empty'` with `@[simp]` |
The theorem says `iSup f = sSup ∅` when the domain of `f` is empty, and dually `iInf f = sInf ∅`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
31/47 |
Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/ENat/Lattice.lean,Mathlib/Data/NNReal/Basic.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/LinearAlgebra/Eigenspace/Pi.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Lift.lean |
14 |
1 |
['github-actions'] |
nobody |
none |
11-67188 11 days ago |
17-57080 17 days ago |
17-60337 17 days |
| 38464 |
xroblot author:xroblot |
feat(FieldTheory/Galois/IsGaloisGroup): generalize mulEquivCongr |
Generalizes `mulEquivCongr` from field extensions to domain extensions. The field version is renamed to `mulEquivCongr'`.
Also adds some simp lemmas.
---
- [x] depends on: #38377 |
t-algebra label:t-algebra$ |
56/15 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
2 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
none |
11-66589 11 days ago |
12-34280 12 days ago |
12-34815 12 days |
| 38328 |
astrainfinita author:astrainfinita |
feat: `OrderSupSet` |
This PR introduces `OrderSupSet` and `OrderInfSet`, which are typeclasses expressing that `sSup` (resp., `sInf`) returns the least upper bound (resp., the greatest lower bound) of a set whenever one exists.
This allows us to prove properties about the `sSup` of specific sets (such as `∅`, singletons, finite sets, and `univ`) without any typeclasses asserting the existence of LUBs. For example, `sSup ∅ = ⊥` holds for any type equipped with `OrderBot` `OrderSupSet`, no longer requiring typeclasses like `ConditionallyCompleteLinearOrderBot`.
For a general set `s`, this gives a uniform way to extend results about `IsLUB s a → motive a` to `motive (sSup s)`, `motive (⨆ i, f i)`, `motive (a ⊔ b)`, etc., which allows proof reuse for basic API such as [`csSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ConditionallyCompleteLattice/Basic.html#csSup_insert), [`iSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#iSup_insert), and [`sSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#sSup_insert) and downstream code like [`csSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#csSup_add), [`sSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#sSup_add), and [`sup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Lattice.html#sup_add).
Furthermore, this allows us to refactor incrementally, reducing the dependency of results about various completeness typeclasses on the specific implementation of `sSup`.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F)
[](https://gitpod.io/from-referrer/)
|
t-order |
156/73 |
Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
7 |
16 |
['JovanGerb', 'astrainfinita', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'openendings', 'vihdzp'] |
nobody |
1 |
11-64945 11 days ago |
11-64984 11 days ago |
17-8773 17 days |
| 38234 |
vihdzp author:vihdzp |
chore: make `IsSuccLimit` a structure |
This lets us name the fields. Note that the `mk_iff` lemma overwrites a recently deprecated theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
40/33 |
Mathlib/Order/SuccPred/InitialSeg.lean,Mathlib/Order/SuccPred/Limit.lean |
2 |
5 |
['github-actions', 'plp127'] |
nobody |
none |
11-62749 11 days ago |
11-62820 11 days ago |
27-50588 27 days |
| 39123 |
SnirBroshi author:SnirBroshi |
chore(Data/Matrix/Basic): mention `mopMatrix` in `transpose{Ring/Alg}Equiv`s docstring and vice versa |
- `RingEquiv.mopMatrix` and `transposeRingEquiv` differ by a `ᵐᵒᵖ` since the latter assumes `CommMagma α` instead of `Mul α`
- `AlgEquiv.mopMatrix` and `transposeAlgEquiv` differ by a `ᵐᵒᵖ` since the latter assumes `CommSemiring α` instead of `Semiring α`
---
Also slightly golfs `RingEquiv.mopMatrix` as a drive-by.
[](https://gitpod.io/from-referrer/)
|
t-data |
18/11 |
Mathlib/Data/Matrix/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
11-23405 11 days ago |
11-23487 11 days ago |
11-22968 11 days |
| 38855 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Indexed): `≤` version of `ciSup_or'` for `ConditionallyCompleteLattice` |
Deprime `ciSup_or'` because there's no `ciSup_or`, and add a `≤` version (and dual) for `ConditionallyCompleteLattice`.
Only `≤` because equality does not hold when `p ≠ q` without `sSup ∅ = ⊥`.
---
`ciSup_or'` can't have a dual because there's no dual to `ConditionallyCompleteLinearOrderBot`.
[](https://gitpod.io/from-referrer/)
|
t-order |
8/1 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
10-61986 10 days ago |
17-83194 17 days ago |
17-82675 17 days |
| 38856 |
SnirBroshi author:SnirBroshi |
feat(Order/ConditionallyCompleteLattice/Indexed): `iSup_iSup_eq_{left/right}` for `ConditionallyCompleteLinearOrderBot` |
and `≤` versions for `ConditionallyCompleteLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
32/9 |
Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
10-61823 10 days ago |
17-76113 17 days ago |
17-75594 17 days |
| 38837 |
kbuzzard author:kbuzzard |
feat: add "higher instance priority" library note |
We add a library note explaining the logic in making instances like `Semiring.toModule` higher priority than the default.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #38704 [only because one of the claims in the note is false without it]
|
|
19/0 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Module/Defs.lean |
4 |
5 |
['github-actions', 'kbuzzard', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
none |
10-21239 10 days ago |
10-21013 10 days ago |
11-7265 11 days |
| 38489 |
Jun2M author:Jun2M |
feat(Topology/Algebra/InfiniteSum): Generalize ENNReal lemmas |
This PR generalizes many theorems in Topology/Algebra/InfiniteSum/ENNReal.lean from `ENNREal` to any type that satisfies a list of order-related instances, mostly
`[CommMonoid α] [CompleteLattice α] [CanonicallyOrderedMul α] [TopologicalSpace α] [SupConvergenceClass α]`
Deprecation of the original `ENNReal` lemmas are done in the next PR: #38193.
Related Zulip thread: [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/588756615)
---
[](https://gitpod.io/from-referrer/)
|
|
261/3 |
Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean |
4 |
7 |
['Jun2M', 'SnirBroshi', 'github-actions', 'wwylele'] |
nobody |
none |
10-12620 10 days ago |
10-12697 10 days ago |
26-2223 26 days |
| 39186 |
kbuzzard author:kbuzzard |
perf(RingTheory/LaurentSeries): add some instances |
Typeclass inference was expensively failing at some point in `LaurentSeries.valuation_compare` without these instances.
---
[](https://gitpod.io/from-referrer/)
Discovered by getting Claude Code to edit Lean's typeclass inference algorithm and then compile lean and mathlib and see what breaks. Found out that typeclass inference is going down a big hole in this file; this fixes the hole.
|
t-ring-theory |
9/0 |
Mathlib/RingTheory/LaurentSeries.lean |
1 |
3 |
['github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
none |
9-56853 9 days ago |
9-58389 9 days ago |
9-57870 9 days |
| 39190 |
tb65536 author:tb65536 |
chore(RingTheory/LocalRing/ResidueField/Fiber): namespace file |
This PR adds an `Ideal` namespace to `Fiber.lean` and adds a deprecation for one declaration that should be in this namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
9/3 |
Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
9-55534 9 days ago |
9-55534 9 days ago |
9-55016 9 days |
| 39157 |
vihdzp author:vihdzp |
feat: `Nat.cast` commutes with addition |
---
[](https://gitpod.io/from-referrer/)
|
|
26/9 |
Mathlib/Data/Nat/Cast/Commute.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean |
2 |
2 |
['github-actions', 'plp127'] |
nobody |
none |
9-40302 9 days ago |
10-15367 10 days ago |
10-14848 10 days |
| 39196 |
tb65536 author:tb65536 |
feat(RingTheory/LocalRing/ResidueField/Fiber): the localization of `Ideal.Fiber` is a quotient |
This PR proves that the localization of `Ideal.Fiber` is a quotient. This will be applied in #39189 to prove the ramification-inertia formula for finite flat extensions.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
48/0 |
Mathlib/RingTheory/LocalRing/ResidueField/Fiber.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
9-38981 9 days ago |
9-38981 9 days ago |
9-38464 9 days |
| 37464 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Minor additions to pointed cones |
Minor additions to pointed cones:
* `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas.
* `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s`
Co-authored by: Artie Khovanov
---
In preparation of #36605.
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
22/16 |
Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
24 |
['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
4 |
9-37498 9 days ago |
11-64310 11 days ago |
48-76816 48 days |
| 37716 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity |
This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring,
$$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$
The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings.
It seems there's some interest in adding this:
https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873
--- |
t-algebra
new-contributor
label:t-algebra$ |
217/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean |
2 |
13 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'slavanaprienko'] |
nobody |
none |
9-19003 9 days ago |
9-18757 9 days ago |
10-56468 10 days |
| 39219 |
WenrongZou author:WenrongZou |
feat(FieldTheory/Finite): add variant theorems for `expand_card` |
Add `MvPolynomial, MvPowerSeries, PowerSeries` version of `FiniteField.expand_card`, which is only for polynomial.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
45/4 |
Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/FiniteField.lean,Mathlib/RingTheory/MvPolynomial/Expand.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/PowerSeries/Expand.lean |
5 |
1 |
['github-actions'] |
nobody |
none |
9-15689 9 days ago |
9-15730 9 days ago |
9-15443 9 days |
| 37951 |
martinwintermath author:martinwintermath |
chore(Geometry/Convex/Cone): rework `PointedCone.dual` to take a cone as input in place of a set |
Rework `PointedCone.dual` to take as input a cone instead of a set. This is done to untangle the functionality of `PointedCone.dual` from `PointedCone.hull` and to align it with the signature of its submodule analogue `Submodule.orthogonalBilin` (partially, with proposed functionality from #34007). See also the discussion here: [#mathlib4 > Reorganizing bilinearity and orthogonality?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Reorganizing.20bilinearity.20and.20orthogonality.3F/with/583882414).
Main changes:
* change signature `dual (s : Set M)` to `dual (C : PointedCone R M)`.
* deprecate `dual_hull` since now obsolete in this form, instead add `mem_dual_hull` in addition to `mem_dual`.
* deprecate all of `dual_empty`, `dual_zero` and `dual_singleton_zero` in favor of only `dual_bot`.
* deprecate `dual_univ` in favor of `dual_top`.
* add notation `R ∙₊ x` in analogy to submodule version `R ∙ x`, for use in new lemma `dual_hull_singleton`.
* deprecate `dual_insert` since now obsolete (use `Submodule.span_insert` instead).
* deprecate `dual_union`, `dual_iUnion` and `dual_sUnion` in favor of `dual_sup`, `dual_sSup` and `dual_iSup`.
* remove `dual_sup` since now obsolete and name has been reused (see above).
* add `dual_sup_ker` and `dual_univ_eq_ker` to align with (proposed) submodule analogue for `Submodule.orthogonalBilin`.
* deprecate `dual_image` in favor of `dual_map`
* add `hull_eq` (cone version of `span_eq`) since used in `basis_coord_mem_dual`.
* adjust doc-strings
Numerous changes to other files have been necessary. The dual-variants for proper cones or inner product spaces have not yet been adapted to cone-inputs, though this should happen eventually. The definition of `DualFG` has been changed to "duals of `FG`-cones" instead of "duals of finite sets" (also getting rid of `Finset` as previously requested).
---
- [x] depends on: #37950
- [x] depends on: #37542
[](https://gitpod.io/from-referrer/)
|
|
227/128 |
Mathlib/Analysis/Convex/Cone/Dual.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/Geometry/Convex/Cone/DualFinite.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
none |
9-12170 9 days ago |
9-12209 9 days ago |
22-17818 22 days |
| 39212 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add `partNums!` and `partDens!` |
This PR adds `partNums!` and `partDens!`, which provide infinite stream representations for the sequences of partial numerators and denominators of a generalized continued fraction. |
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/ContinuedFractions/Basic.lean |
1 |
4 |
['emlis42', 'github-actions', 'grunweg'] |
nobody |
none |
8-83732 8 days ago |
9-30051 9 days ago |
9-29532 9 days |
| 39239 |
alainchmt author:alainchmt |
feat(FieldTheory/Finite): irreducible polynomial divides X^q^n - X iff degree divides n |
---
Add the theorem saying that, for an irreducible polynomial `f` over a finite field `K`, the degree of `f` divides `n` if and only if `f` divides `X ^ (Nat.card K) ^ n - X`. Include auxiliary lemmas.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
34/0 |
Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Minpoly/Field.lean |
2 |
2 |
['github-actions'] |
nobody |
none |
8-55944 8 days ago |
8-56033 8 days ago |
8-55514 8 days |
| 39195 |
linesthatinterlace author:linesthatinterlace |
feat(Logic/Function/Defs): Add dcomp lemmas |
This PR adds API lemmas about `dcomp` that were previously missing.
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
13/0 |
Mathlib/Logic/Function/Defs.lean |
1 |
6 |
['github-actions', 'linesthatinterlace', 'plp127'] |
nobody |
none |
8-45203 8 days ago |
9-46702 9 days ago |
9-46183 9 days |
| 39208 |
urkud author:urkud |
chore(Algebra/Polynomial): golf |
Use existing lemmas instead of reinventing the wheel.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
5/18 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
8-35822 8 days ago |
9-33328 9 days ago |
9-32809 9 days |
| 39230 |
bryangingechen author:bryangingechen |
chore: extract API from #38807 and golf |
I wanted to understand why these two proofs in #38807 were long (and also play around more with the API in this corner of the library) so I walked through them with Claude Opus.
prepared with Claude code
|
t-order
LLM-generated
|
23/37 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/DirSupClosed.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
1 |
8-9566 8 days ago |
8-84202 8 days ago |
8-83683 8 days |
| 39256 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add monotonicity lemma for LanguageOn |
In Symbolic dynamics.
Proof that the language of a set of configurations is monotone with respect to inclusion of configuration sets:
X ⊆ Y → LanguageOn X U ⊆ LanguageOn Y U
The proof is a direct unfolding of definitions: a pattern in the language of X comes from restricting some configuration x ∈ X, and inclusion X ⊆ Y allows the same witness to be used for Y.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
none |
7-64094 7 days ago |
8-38898 8 days ago |
8-38379 8 days |
| 39282 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add union morphism lemma for LanguageOn |
In symbolic dynamics.
This PR proves that taking the language over a finite shape commutes with unions of configuration sets:
$LanguageOn (X \cup Y) U = LanguageOn X U \cup LanguageOn Y U$
The proof is a direct unfolding of definitions: a pattern in the language of $X \cup Y$ comes from restricting a configuration $x ∈ X \cup Y$, and splitting on whether $x \in X$ or $x \in Y$ yields the corresponding inclusion in either $LanguageOn X U$ or $LanguageOn Y U$. The converse direction rebuilds a witness in $X \cup Y$ from either side of the union.
Related to issue #39252 |
t-dynamics
new-contributor
|
15/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
none |
7-63868 7 days ago |
7-63953 7 days ago |
7-63434 7 days |
| 39294 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): prove LanguageOn monotonicity under intersection |
In symbolic dynamics.
This PR proves that taking the language over a finite shape is monotone with respect to intersections of configuration sets:
```math
\mathrm{LanguageOn}(X \cap Y)\, U
\subseteq
\mathrm{LanguageOn}\, X\, U \cap \mathrm{LanguageOn}\, Y\, U
```
The proof is a direct unfolding of definitions: a pattern in the language of `X ∩ Y` comes from restricting a configuration `x ∈ X ∩ Y`. Since such an `x` belongs simultaneously to `X` and `Y`, the same restriction witness gives membership both in `LanguageOn X U` and in `LanguageOn Y U`, yielding membership in their intersection.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
none |
7-55074 7 days ago |
7-55157 7 days ago |
7-54638 7 days |
| 38902 |
xroblot author:xroblot |
feat(FieldTheory/Galois/IsGaloisGroup): add `IsGaloisGroup.of_algEquiv` and `of_ringEquiv` |
Add two constructors for `IsGaloisGroup`:
- `IsGaloisGroup.of_algEquiv`: if `G` is a Galois group on `B/A` and `e : B ≃ₐ[A] B'` is
`G`-equivariant, then `G` is a Galois group on `B'/A`.
- `IsGaloisGroup.of_ringEquiv`: if `G` is a Galois group on `B/A` and `e : A ≃+* A'`
is compatible with the algebra structures, then `G` is a Galois group on `B/A'`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
31/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
7-52432 7 days ago |
7-52472 7 days ago |
13-2960 13 days |
| 39061 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk/Paths): a trail which isn't a path has a cycle subwalk |
- `p.IsPath ↔ ∀ (v : V) (w : G.Walk v v), w.IsSubwalk p → w.Nil`
- `p.IsTrail → (p.IsPath ↔ ∀ (v : V) (w : G.Walk v v), w.IsSubwalk p → ¬w.IsCycle)`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
28/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean |
2 |
3 |
['Rida-Hamadani', 'github-actions'] |
nobody |
none |
7-50575 7 days ago |
13-743 13 days ago |
13-224 13 days |
| 36388 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
73/3 |
Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean |
1 |
19 |
['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
1 |
7-49769 7 days ago |
7-86347 7 days ago |
37-36383 37 days |
| 39158 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Rank): generalize `Matrix.rank`/`LinearMap.rank` to semirings |
- Generalize `Matrix.rank` from `CommRing` to `CommSemiring`
- Generalize `LinearMap.rank` from `AddCommGroup`s over `Ring`s to `AddCommMonoid`s over `Semiring`s (which are the minimum requirements for `Module`)
- Many `Matrix.rank` theorems now require `StrongRankCondition` explicitly (which `CommRing` used to provide)
- `Matrix.cRank` theorems don't need commutativity
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
58/64 |
Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
7-43478 7 days ago |
10-10961 10 days ago |
10-10442 10 days |
| 39095 |
tb65536 author:tb65536 |
feat(FieldTheory/Galois/IsGaloisGroup): `IsGaloisGroup` instance for `FixedPoints.subalgebra` |
This PR generalizes the existing `IsGaloisGroup` instance for `FixedPoints.intermediateField` to `FixedPoints.subalgebra`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
23/3 |
Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/GroupTheory/GroupAction/Defs.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'tb65536'] |
nobody |
none |
7-40684 7 days ago |
11-16194 11 days ago |
12-27934 12 days |
| 39279 |
jayscambler author:jayscambler |
feat(Cryptography/Sigma): Schnorr sigma protocol and signature scheme |
Adds `Mathlib/Cryptography/Sigma/Schnorr.lean`. New file in a new top-level directory; mathlib currently has no `Mathlib/Cryptography/`, so I've taken `Mathlib/Cryptography/Sigma/` as the natural home for sigma-protocol formalizations.
The file proves the three defining properties of Schnorr's identification scheme as a sigma protocol:
- `Schnorr.correct`: completeness. Honest verifier accepts honest signer's transcript.
- `Schnorr.specialSoundness`: from two accepting transcripts sharing the commitment but using different challenges `c, c'`, the witness `x = (s - s') / (c - c')` is recovered. Needs `q` prime so `c - c'` is invertible in `ZMod q`.
- `Schnorr.hvzkAccepts`: the HVZK simulator `g^s · (y^c)⁻¹` always yields accepting transcripts. This is the structural-correctness half of HVZK only; the distributional indistinguishability statement is a separate result and not in this PR.
On top of the sigma protocol there's `Schnorr.Signature.{keyGen, sign, verify, correct}` wrapping it as a Fiat-Shamir signature scheme; `Schnorr.Signature.correct` is a one-line corollary of `Schnorr.correct`.
Two auxiliary lemmas, `Schnorr.gpow_sub` and `Schnorr.gpow_mul`, bridge `ZMod q` arithmetic and group exponentiation under `Fintype.card G = q`. They're local to this file for now because the surrounding `gpow` API is itself cryptography-specific; if a general `ZMod q`-graded group action framework lands in mathlib later, both lemmas would become instances of it.
There's also a small `example` instantiating everything on `Multiplicative (ZMod q)` for `Fact q.Prime` to show the API typechecks. That instantiation is a toy (DLOG is trivial in that group), but it confirms the abstraction is usable.
**AI disclosure**: this PR was a collaboration between myself, Grey Haven's autocontext and Claude Opus 4.7 (Anthropic). I read each line and built locally on current master. (strawberry has three r's) |
new-contributor
LLM-generated
|
352/0 |
Mathlib.lean,Mathlib/Cryptography/Sigma/Schnorr.lean |
2 |
2 |
['github-actions'] |
nobody |
none |
7-33386 7 days ago |
7-33465 7 days ago |
7-33436 7 days |
| 35255 |
vlad902 author:vlad902 |
feat(SimpleGraph): `cycleGraph.IsContained` in every graph with a cycle |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
35/0 |
Mathlib/Combinatorics/SimpleGraph/Circulant.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
none |
7-30026 7 days ago |
22-16498 22 days ago |
22-16926 22 days |
| 39291 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf: change definition of EuclideanDomain class |
This changes the definition of `EuclideanDomain` from
```lean
class EuclideanDomain (R : Type*) extends CommRing R, Nontrivial R where ...
```
to
```lean
class EuclideanDomain (R : Type*) [CommRing R] [Nontrivial R] where ...
```
with the goal to see how this affects performance (type class synthesis in particular).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
slow-typeclass-synthesis
label:t-algebra$ |
35/57 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/EuclideanDomain/Field.lean,Mathlib/Algebra/Order/AbsoluteValue/Euclidean.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Data/ZMod/Coprime.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbsoluteValue.lean,Mathlib/NumberTheory/ClassNumber/Finite.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/Real/GoldenRatio.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/EuclideanDomain.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Ideal/NatInt.lean,Mathlib/RingTheory/Int/Basic.lean,Mathlib/RingTheory/Polynomial/Dickson.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Radical/Basic.lean,Mathlib/RingTheory/ZMod.lean,MathlibTest/instance_diamonds.lean |
25 |
11 |
['MichaelStollBayreuth', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
none |
7-22522 7 days ago |
7-24999 7 days ago |
7-47043 7 days |
| 34855 |
staroperator author:staroperator |
feat(Order): use `to_dual` for `PFilter` |
This PR redefines `PFilter` to get rid of `OrderDual` and uses `to_dual` to translate theorems. The whole file of `PFilter` is now deprecated.
Some changes:
- To align with `Filter`, the order on `PFilter` is changed to the reversed set inclusion. Ultrafilters, the dual notion of maximal ideals, become minimal in this order.
- `to_dual` does not work on `sequenceOfCofinals`. I left `Order.Cofinal` and the Rasiowa–Sikorski lemma not `to_dual`-ized, and we should move them to a separate file later.
- `IsLEChain` is added to tag `to_dual`.
- `IsCoatom.isProper`/`IsCoatom.isMaximal` is deprecated by `Order.Ideal.isProper_of_isCoatom`/`Order.Ideal.isMaximal_of_isProper`, since this result is special to ideals while `IsCoatom` namespace should be for orders in general.
---
- [x] depends on: #34820
---
[](https://gitpod.io/from-referrer/)
|
t-order |
292/242 |
Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanAlgebra/Defs.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/PFilter.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PrimeIdeal.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,Mathlib/RingTheory/IdealFilter/Topology.lean,Mathlib/Tactic/Translate/ToDual.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
none |
7-17807 7 days ago |
7-17585 7 days ago |
19-40378 19 days |
| 37928 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding |
This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`.
`Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`.
`FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`).
Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed.
Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required.
|
new-contributor
maintainer-merge
|
87/67 |
Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean |
2 |
9 |
['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] |
nobody |
1 |
7-4857 7 days ago |
13-55835 13 days ago |
39-35172 39 days |
| 38596 |
JJYYY-JJY author:JJYYY-JJY |
Add basic row-equivalence and echelon-form API for matrices |
This PR adds the first foundational slice of `Mathlib.LinearAlgebra.Matrix.Echelon`, a theorem-oriented API for elementary row operations, row-equivalence, and echelon-form predicates for matrices.
The main additions are:
* elementary row-scaling matrices and their `GL` versions;
* `Matrix.RowEquivalent` for the left action of `GL m R` on rectangular matrices;
* row-zero, pivot, echelon, and reduced-echelon predicates;
* semantic representative predicates `Matrix.IsEchelonFormOf` and `Matrix.IsReducedEchelonFormOf`.
This intentionally stops before row-space characterizations, existence and uniqueness of reduced echelon representatives, and the noncomputable canonical representative `Matrix.rref`; those are planned for later PRs.
Co-authored-by: Joseph Qian
Co-authored-by: Veer Shukla
Co-authored-by: Dhruv Bhatia
Co-authored-by: Zheng Wu <1036819072@qq.com>
---
This update trims the original full row-reduction API in response to reviewer feedback that the PR was too large. It keeps only the foundation needed by later row-reduction and `rref` PRs. |
t-algebra
new-contributor
label:t-algebra$ |
312/6 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
3 |
10 |
['JJYYY-JJY', 'SnirBroshi', 'copilot-pull-request-reviewer', 'dagurtomas', 'github-actions', 'wwylele'] |
nobody |
none |
7-3135 7 days ago |
7-6214 7 days ago |
14-67518 14 days |
| 39341 |
drocta author:drocta |
feat(Algebra/Colimit/DirectLimit): add DirectLimit.(NonUnital)StarAlgebra.(lift/of) maps and associated lemmas |
add the `of` and `lift` maps for `DirectLimit.StarAlgebra` and `DirectLimit.NonUnitalStarAlgebra`, as well as the associated lemmas, `of_f`, `lift_comp_of`, `lift_of`, and `hom_ext` for each. Also make `DirectLimit.NonUnitalAlgebra` only require `[Monoid R]` rather than `[CommSemiring R]`.
---
Use of AI: I again asked ChatGPT for some advice about some things about this code. I can personally vouch for all of the code I'm submitting, and that I understand all of it.
This is the third part of my project towards supporting direct limits of $C^∗$ -algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ).
This PR adds an import of `Mathlib.Algebra.Star.StarAlgHom` (because it needs `StarAlgHom` and `NonUnitalStarAlgHom`) replacing/encompassing the previously added imports of `Mathlib.Algebra.Star.StarRingHom` and `Mathlib.Algebra.Algebra.NonUnitalHom` (added in PR #38308 and #38672 respectively). |
t-algebra
new-contributor
label:t-algebra$ |
100/3 |
Mathlib/Algebra/Colimit/DirectLimit.lean |
1 |
2 |
['github-actions'] |
nobody |
none |
6-85809 6 days ago |
7-2101 7 days ago |
7-1582 7 days |
| 39347 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): refactor of Pattern and shift-invariance of shape languages for subshifts |
## Summary
This PR refactors Pattern.mulShift in Mathlib/Dynamics/SymbolicDynamics/Basic.lean and uses the cleaner definition to prove shift-invariance of the language of a subshift on a finite shape.
## Changes
Pattern.mulShift now returns a Pattern instead of a configuration (more natural).
- Old type: Pattern.mulShift : Pattern A G → G → (G → A)
- New type: Pattern.mulShift : Pattern A G → G → Pattern A G
- The result carries its support (p.support.image (v * ·)) and the
default-outside-support proof, so callers don't have to re-derive them.
The [IsLeftCancelMul G] hypothesis is moved to the lemmas that actually use it.
- The definition Pattern.mulShift itself no longer needs left-cancellation (it only
chooses a preimage noncomputably).
- The hypothesis is now stated on mulShift_config_apply_mul_left_of_mem and
mulOccursInAt_eq_cylinder directly, instead of being a section-level variable.
Renames following the type change.
- mulShift_apply_mul_left_of_mem → mulShift_config_apply_mul_left_of_mem (because we
now write (p.mulShift v).config instead of p.mulShift v).
New @[simp] and @[ext] lemmas for Pattern.
- Pattern.ext: two patterns are equal iff their supports agree and their
configurations agree on the support.
- Pattern.mulShift_support: the support of p.mulShift v is p.support.image (v * ·).
- Pattern.fromConfig_support: the support of fromConfig x U is U.
- Pattern.fromConfig_config_of_mem: on its support, fromConfig x U agrees with x.
New lemma Pattern.fromConfig_mulShift.
For a left inverse g' * g = 1, shifting the pattern fromConfig x U by g equals
fromConfig (mulShift g' x) (U.image (g * ·)).
New theorem MulSubshift.languageOn_image_mulShift.
For a subshift Y and elements g, g' with g * g' = 1 and g' * g = 1:
(fun p => p.mulShift g) '' Y.languageOn U = Y.languageOn (U.image (g * ·))
i.e. the language on the translated shape is exactly the image of the language on U
under the pattern-shift map. This gives a bijection between Y.languageOn U and
Y.languageOn (U.image (g * ·)), with inverse p ↦ p.mulShift g'. Stated for
left-cancellative monoids with an invertible element.
Updated docstrings for Pattern.mulShift and the renamed lemma to reflect the
bundled-Pattern return type and clarify which results need [IsLeftCancelMul G]. |
t-dynamics
new-contributor
|
142/48 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
none |
6-81209 6 days ago |
6-81370 6 days ago |
6-80851 6 days |
| 39218 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): make `p.Nil` the simpNF of `p = nil` and `p.length = 0` |
These are equivalent, and `p.Nil` works even when the endpoints of the walk aren't defeq.
[#graph theory > Deprecate `p = nil` in favor of `p.Nil`?](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Deprecate.20.60p.20.3D.20nil.60.20in.20favor.20of.20.60p.2ENil.60.3F/with/538017334)
The main event is `Walk/Basic.lean`:
- Swapped sides of `nil_iff_eq_nil` to create `eq_nil_iff_nil`, tagged `@[simp]` and deprecated the original
- Changed the RHS of `length_eq_zero_iff` from `p = nil` to `p.Nil`, and generalized to non-closed walks
- Deprecated `nil_iff_length_eq` which is the symmetric iff
- Added `Nil.length_eq_zero` alias
- Untagged `exists_length_eq_zero_iff` with `@[simp]` and added `exists_nil_iff` to replace it
The rest is fixing everything that broke (or uses of now-deprecated lemmas), and:
- [`Walk/Maps`] Added `nil_map_iff` to replace `map_eq_nil_iff` which is the same but with `.Nil` instead of `= nil`
- [`Walk/Decomp`] Added `nil_rotate` to replace `rotate_eq_nil` which is the same but with `.Nil` instead of `= nil`
---
Also renamed `set_walk_*` in `Counting.lean` to follow the naming convention.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
70/54 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Traversal.lean |
10 |
10 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
1 |
6-79917 6 days ago |
8-41308 8 days ago |
8-79353 8 days |
| 37577 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix |
Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges` to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions.
Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems.
Co-authored-by: Iván Renison <85908989+IvanRenison@users.noreply.github.com>
---
Except for a couple of `cycleBypass` ones, I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
112/81 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
5 |
4 |
['YaelDillies', 'github-actions'] |
nobody |
1 |
6-79899 6 days ago |
8-40420 8 days ago |
47-72278 47 days |
| 39352 |
qawbecrdtey author:qawbecrdtey |
chore(Data/Finset/Slice): remove unnecessary import |
---
Remove import which was transitively being imported.
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
0/1 |
Mathlib/Data/Finset/Slice.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
6-67296 6 days ago |
6-67290 6 days ago |
6-66896 6 days |
| 38225 |
kim-em author:kim-em |
ci: block merging PRs with large import increases unless reviewed |
This PR makes the existing `large-import` label into a merge gate. PRs that significantly increase transitive imports (>2% for any modified file) are now blocked from merging until a reviewer adds the `allow-large-import` label.
### Why three labels?
Bors's `block_labels` has no conditional logic — if a label is in the list, merge is blocked unconditionally. We need "blocked unless a reviewer has approved", i.e. `large-import ∧ ¬allow-large-import`. Since bors can't express that, we use a derived label:
| Label | Managed by | Purpose |
|---|---|---|
| `large-import` | `build` job (import analysis) | Factual: this PR increases imports |
| `blocked-by-large-import` | `check-large-import` job | Operational: blocks bors |
| `allow-large-import` | Reviewer | Override: reviewer approves the increase |
Each label is managed by exactly one actor, so there is no label-fighting.
### How it works
1. The existing `build` job adds/removes `large-import` based on import analysis (unchanged).
2. A new `check-large-import` job (in the same workflow) waits for `build` to finish, then:
- If `large-import` is present and `allow-large-import` is absent → adds `blocked-by-large-import`
- Otherwise → removes `blocked-by-large-import`
3. `blocked-by-large-import` is added to `block_labels` in `bors.toml`.
When a reviewer adds `allow-large-import`, the `labeled` event re-triggers the workflow. The heavy `build` job is skipped (guarded by `github.event.action != 'labeled'`), but the lightweight `check-large-import` job runs, sees both labels, and removes `blocked-by-large-import`. Bors can now merge.
### Reviewer workflow
The CI failure message tells the reviewer to consider whether the PR could be improved by splitting files, rearranging material, or creating new intermediate files. If the import increase is reasonable, they add `allow-large-import`.
False positives can be reported on the [mathlib4 Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/large-import.20label).
🤖 Prepared with Claude Code |
CI |
78/2 |
.github/workflows/PR_summary.yml,bors.toml |
2 |
7 |
['SnirBroshi', 'github-actions', 'jcommelin', 'joneugster', 'kim-em'] |
nobody |
none |
6-59319 6 days ago |
30-6018 30 days ago |
30-6117 30 days |
| 39288 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Subgraph): add `Embedding.ofIsInduced` and `IsInduced.map` |
Three additions to the `SimpleGraph.Subgraph` API for induced subgraphs. `Embedding.ofIsInduced` is the canonical embedding of an induced subgraph into its ambient graph, paired with `toHom_ofIsInduced` and `ofIsInduced_apply` lemmas. This is the embedding counterpart of `Subgraph.hom`, which only produces a homomorphism because non-induced subgraphs do not reflect adjacency. `Subgraph.IsInduced.map` then records that the image of an induced subgraph under a graph embedding is induced, strengthened to `IsInduced.map_iff` for the iso case.
---
**Orthogonal pre-requisite of the `Copy` / `InducedCopy` refactor-feat stack.**
Extracted as a prerequisite from #38631 that is otherwise independent of the wider `Copy` / `InducedCopy` refactor-feat stack. |
t-combinatorics |
27/4 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
15 |
['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-bors'] |
nobody |
none |
6-55465 6 days ago |
7-34175 7 days ago |
7-55220 7 days |
| 37413 |
Paul-Lez author:Paul-Lez |
feat(Combinatorics/Enumerative/Composition): add lemma about products of embeddings |
Co-authored-by: Xavier Genereux [xaviergenereux@hotmail.com](mailto:xaviergenereux@hotmail.com)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
4/0 |
Mathlib/Combinatorics/Enumerative/Composition.lean |
1 |
3 |
['github-actions', 'robin-carlier'] |
nobody |
none |
6-35270 6 days ago |
7-33044 7 days ago |
17-61473 17 days |
| 39372 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable` |
- rewrites `eisensteinSeriesSIF_mdifferentiable` to use `UpperHalfPlane.mdifferentiable_iff` directly and conclude from local uniform convergence of the Eisenstein series
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
1/5 |
Mathlib/NumberTheory/ModularForms/EisensteinSeries/MDifferentiable.lean |
1 |
3 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-32484 6 days ago |
6-34218 6 days ago |
6-33699 6 days |
| 39373 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/CongruenceSubgroups` |
- simplifies `Gamma_mem` to a single `simp` proof via `Gamma_mem'` and `SpecialLinearGroup.ext_iff`
- shortens `ModularGroup_T_pow_mem_Gamma` and the `Gamma0` closure proofs with direct `simp`/`simpa` arguments
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/22 |
Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-32483 6 days ago |
6-34216 6 days ago |
6-33697 6 days |
| 39374 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/Derivative` |
- rewrites `normalizedDerivOfComplex_sub` to reuse the additive and negation lemmas instead of reproving the subtraction formula pointwise
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/10 |
Mathlib/NumberTheory/ModularForms/Derivative.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-32277 6 days ago |
6-34213 6 days ago |
6-33694 6 days |
| 39375 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/ModularForms/SlashActions` |
- streamlines `prod_slash_sum_weights` by letting `simp` handle the empty case and removing the redundant singleton split in the inductive step
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
1/5 |
Mathlib/NumberTheory/ModularForms/SlashActions.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-32120 6 days ago |
6-34210 6 days ago |
6-33691 6 days |
| 39376 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/RamificationInertia/Basic` |
- shortens `quotientToQuotientRangePowQuotSucc_surjective` by switching the ideal-factor argument to `irreducible_pow_sup` and `count_normalizedFactors_eq` after isolating the span hypotheses
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/10 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-31948 6 days ago |
6-34208 6 days ago |
6-33689 6 days |
| 39379 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/SmoothNumbers` |
- simplifies the left inverse in `equivProdNatFactoredNumbers` by proving `¬ p ∣ m` once and then using `factorization_pow_self` and `factorization_eq_zero_of_not_dvd`
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
4/8 |
Mathlib/NumberTheory/SmoothNumbers.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-31294 6 days ago |
6-34200 6 days ago |
6-33681 6 days |
| 39377 |
yuanyi-350 author:yuanyi-350 |
refactor(NumberTheory): golf `Mathlib/NumberTheory/Divisors` |
- refactors `properDivisors_eq_singleton_one_iff_prime`, `mem_properDivisors_prime_pow`, and `properDivisors_prime_pow` to use more direct divisor lemmas
- rewrites `image_div_divisors_eq_divisors` via `map_div_left_divisors` and `image_fst_divisorsAntidiagonal`
Extracted from #38144
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
17/42 |
Mathlib/NumberTheory/Divisors.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
6-31078 6 days ago |
6-34205 6 days ago |
6-33686 6 days |
| 39392 |
jayscambler author:jayscambler |
feat(Cryptography): one-time pad and Shannon perfect secrecy |
Adds `Mathlib/Cryptography/OTP.lean`. One-time pad over an arbitrary
finite abelian group `G`:
- `OTP.encrypt k m := m + k`, `OTP.decrypt k c := c - k`.
- `OTP.correct`: `decrypt k (encrypt k m) = m`, by `abel`.
- `OTP.perfect_secrecy`: for any `m₀, m₁`, the distributions of
`encrypt k m₀` and `encrypt k m₁` over uniform `k` are equal;
both reduce to `PMF.uniformOfFintype G`. Proof goes via
`Equiv.addLeft`.
Independent of the Schnorr PR (#39279); no shared definitions. Unlike
everything else likely to live under `Mathlib/Cryptography/`, the
security guarantee here is information-theoretic, not computational.
**AI disclosure**: this PR was a collaboration between myself, Grey
Haven's autocontext and Claude Opus 4.7 (Anthropic). I read each
line and built locally on current master. (strawberry has three r's) |
new-contributor
LLM-generated
|
76/0 |
Mathlib.lean,Mathlib/Cryptography/OTP.lean |
2 |
3 |
['MrBrain295', 'github-actions'] |
nobody |
none |
5-82338 5 days ago |
6-18412 6 days ago |
6-17893 6 days |
| 39402 |
marcelolynch author:marcelolynch |
feat(ci): add Lake cache shadow workflow for master |
Introduces a scheduled, non-blocking pipeline that exercises Lake's built-in artifact cache against mathlib master, tracking the eventual migration off `lake exe cache`
The workflow runs daily on cron and on workflow_dispatch. Jobs:
build_and_stage:
1. Hydrates .lake/build/ via legacy `lake exe cache get`
2. patches the lakefile to enable Lake's artifact cache with three knobs
3. runs an incremental `lake build` to populate Lake's cache from existing artifacts
4. uploads cache artifact for next job.
upload: Downloads the staging artifact and pushes it to the cache bucket via `lake cache put-staged`.
consume:
- `lake cache get` from the cache bucket
- `lake build` against the rehydrated cache, `--rehash` verify. |
CI |
406/0 |
.github/workflows/lake_cache_shadow.yml |
1 |
2 |
['github-actions', 'marcelolynch'] |
nobody |
none |
5-82098 5 days ago |
5-85884 5 days ago |
5-85365 5 days |
| 37623 |
IvanRenison author:IvanRenison |
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` |
Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com>
---
Missing of this theorems noticed by @SnirBroshi in #37598
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
18/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
8 |
['IvanRenison', 'SnirBroshi', 'dagurtomas', 'eric-wieser', 'github-actions'] |
nobody |
1 |
5-57169 5 days ago |
45-30639 45 days ago |
46-53655 46 days |
| 37745 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/AugmentationIdeal): base change for augmentation ideals |
Base change for augmentation ideals
Co-authored with: @mariainesdff
---
- [x] depends on: #37744
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
large-import
label:t-algebra$ |
441/1 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Projection.lean,Mathlib/LinearAlgebra/TensorProduct/RightExactness.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/Order/Disjoint.lean,Mathlib/RingTheory/Ideal/IsAugmentation.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
12 |
18 |
['AntoineChambert-Loir', 'dagurtomas', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
none |
5-51677 5 days ago |
5-51748 5 days ago |
6-25205 6 days |
| 39178 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Measure/PreVariation` |
- refactors `Mathlib/MeasureTheory/Measure/PreVariation` by simplifying `sum_le'` and `sum_le_preVariationFun_of_subset`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
6/20 |
Mathlib/MeasureTheory/Measure/PreVariation.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
5-39796 5 days ago |
9-61540 9 days ago |
9-61021 9 days |
| 39177 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic` |
- refactors `Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic` by shortening `Measure.ext_of_charFunDual`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
1/6 |
Mathlib/MeasureTheory/Measure/CharacteristicFunction/Basic.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
5-39704 5 days ago |
9-61542 9 days ago |
9-61023 9 days |
| 39175 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Integral/CircleTransform` |
- refactors `Mathlib/MeasureTheory/Integral/CircleTransform` by shortening `circleTransformDeriv_periodic`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
1/6 |
Mathlib/MeasureTheory/Integral/CircleTransform.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
5-39664 5 days ago |
9-61547 9 days ago |
9-61028 9 days |
| 39174 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Integral/Asymptotics` |
- refactors `Mathlib/MeasureTheory/Integral/Asymptotics` by simplifying `IsBigO.set_integral_isBigO`
Extracted from #38104
[](https://gitpod.io/from-referrer/)
|
codex
LLM-generated
t-measure-probability
|
6/12 |
Mathlib/MeasureTheory/Integral/Asymptotics.lean |
1 |
2 |
['github-actions', 'yuanyi-350'] |
nobody |
none |
5-39654 5 days ago |
9-61550 9 days ago |
9-61031 9 days |
| 38362 |
vihdzp author:vihdzp |
feat: cofinal subset of regular cardinal is isomorphic to it |
In set theory, one often identifies a cardinal `c` with its initial ordinal `c.ord`, and said ordinal with the lower set `Iio c.ord`. This is particularly pervasive in the theory of club and stationary subsets, where one often sees the hypothesis "let κ be a regular cardinal" in lieu of the more precise wording: that `κ` is an (infinite) well-order, whose order type equals the initial ordinal of its cardinality.
We define a typeclass `IsRegularCardinalOrder` for this assumption. The benefit of using it is that our results won't apply only to `Iio c.ord` for regular `c`, but also to concrete types such as `Nat`, `Cardinal`, or `Ordinal`.
As a proof of concept, we define `Order.enum`, a generalization of both `Nat.nth` and `Ordinal.enumOrd`. A future PR will deprecate the latter.
---
- [x] depends on: #38363
[](https://gitpod.io/from-referrer/)
|
t-set-theory
maintainer-merge
|
127/11 |
Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean |
5 |
12 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1 |
5-37567 5 days ago |
5-57068 5 days ago |
9-15094 9 days |
| 39419 |
tb65536 author:tb65536 |
feat(Dynamics/FixedPoints/Support): define the fixed support of a self-map |
This PR defines the fixed support of a self-map to be the closure of the complement of the set of fixed points. This notion arises in dynamics.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-dynamics
|
79/1 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Defs.lean,Mathlib/Dynamics/FixedPoints/Support.lean |
4 |
1 |
['github-actions'] |
nobody |
none |
5-28878 5 days ago |
5-28878 5 days ago |
5-28360 5 days |
| 39438 |
SnirBroshi author:SnirBroshi |
chore(Order/WellFounded): use `to_dual` |
Creates `argmax`/`argmaxOn` duals to the existing `argmin`/`argminOn`,
and `WellFoundedLT.min`/`WellFoundedGT.max` in order to properly dualize `WellFounded.min_le`.
Some theorems about `WellFounded{LT/GT}` which didn't have a dual before have to be renamed to make room,
e.g. `StrictMono.range_inj` is renamed to `StrictMono.range_inj_of_wellFoundedLT`.
---
This is blocking dualizing things in `ConditionallyCompleteLattice/Basic.lean`.
`WellFounded.min_le` has ~30 usages in ~10 files, so deprecating it should probably happen in a separate PR.
[](https://gitpod.io/from-referrer/)
|
t-order |
80/34 |
Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/WellFounded.lean,Mathlib/SetTheory/Ordinal/Enum.lean |
4 |
5 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
1 |
4-84744 4 days ago |
4-84816 4 days ago |
5-6493 5 days |
| 39106 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Reindex): `AddEquiv` and `RingEquiv` |
We had `Matrix.reindex` bundled as a `LinearEquiv` and an `AlgEquiv`,
and this bundles it as an `AddEquiv` and a `RingEquiv`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
158/43 |
Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
4 |
10 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'themathqueen'] |
nobody |
none |
4-84303 4 days ago |
8-590 8 days ago |
8-22273 8 days |
| 37076 |
ertwro author:ertwro |
feat(Combinatorics/SimpleGraph/Hasse): Hasse diagram is triangle-free |
Add `SimpleGraph.hasse_cliqueFree_three`: the Hasse diagram of a preorder is triangle-free (`CliqueFree 3`).
This is the graph-theoretic formulation of `not_covBy_of_lt_of_lt`: if `a ⋖ b` and `b ⋖ c`, then `¬ a ⋖ c`, so no three elements can be pairwise adjacent in the Hasse diagram.
The proof extracts three vertices from a hypothetical 3-clique, case-splits on the covering directions (8 cases), and closes each by `not_covBy_of_lt_of_lt` (6 transitive cases) or `lt_asymm` (2 cyclic cases).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
11/0 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
21 |
['Rida-Hamadani', 'SnirBroshi', 'ertwro', 'github-actions', 'vlad902'] |
nobody |
1 |
4-72738 4 days ago |
31-76214 31 days ago |
39-85475 39 days |
| 37707 |
MavenRain author:MavenRain |
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor |
Addresses #34962
|
new-contributor
t-combinatorics
|
63/31 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
6 |
['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions'] |
nobody |
none |
4-66061 4 days ago |
4-66133 4 days ago |
4-67254 4 days |
| 39388 |
marcelolynch author:marcelolynch |
chore: remove @[expose] from def-free public sections |
Strip `@[expose]` from `public section` headers in 100 modules where no declaration needs its body visible downstream. A new sweep in the style of #38480
Found using the linter-in-progress: #39387
Relevant Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230 |
|
100/100 |
Mathlib/Algebra/Category/Ring/Small.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Opposite.lean,Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/Field/ULift.lean,Mathlib/Algebra/Field/ZMod.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/NonAssoc/LieAdmissible/Defs.lean,Mathlib/Algebra/Notation/Prod.lean,Mathlib/Algebra/Order/Floor/Div.lean,Mathlib/Algebra/Order/Group/Action/End.lean,Mathlib/Algebra/Order/Group/End.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Ring/Commute.lean,Mathlib/AlgebraicTopology/ModelCategory/Over.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/Normed/Group/Constructions.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/Normed/Operator/Compact/FiniteDimension.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/CategoryTheory/Localization/DerivabilityStructure/OfLocalizedEquivalences.lean,Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Normal.lean,Mathlib/CategoryTheory/Monoidal/Functor/Types.lean,Mathlib/CategoryTheory/Monoidal/Types/Coyoneda.lean,Mathlib/CategoryTheory/Sites/CoversTop/Over.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Finsupp/Pointwise.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/FunLike/Embedding.lean,Mathlib/Data/FunLike/Equiv.lean,Mathlib/Data/Int/Cast/Pi.lean,Mathlib/Data/List/Monad.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/Data/Rat/Cast/OfScientific.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/GroupTheory/GroupAction/Embedding.lean,Mathlib/GroupTheory/IsPerfect.lean,Mathlib/GroupTheory/ResiduallyFinite.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Star.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Semisimple.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Sub.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean,Mathlib/NumberTheory/NumberField/ExistsRamified.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean,Mathlib/Order/Quotient.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean,Mathlib/RingTheory/Flat/IsBaseChange.lean,Mathlib/RingTheory/HopfAlgebra/TensorProduct.lean,Mathlib/RingTheory/Ideal/GoingDown.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Localization/Finiteness.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Polynomial.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/Regular/ProjectiveDimension.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/RingTheory/Smooth/Fiber.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeRightExact.lean,Mathlib/RingTheory/Unramified/LocalRing.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/IsTrivialOn.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/Tactic/Algebra/Lemmas.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/CWComplex/Classical/Subcomplex.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/List.lean,Mathlib/Topology/MetricSpace/Pseudo/Pi.lean |
100 |
6 |
['eric-wieser', 'github-actions', 'grunweg', 'marcelolynch', 'urkud'] |
nobody |
none |
4-45777 4 days ago |
6-23546 6 days ago |
6-23027 6 days |
| 39368 |
gasparattila author:gasparattila |
feat: homogenization of an affine space |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
401/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Homogenization.lean,docs/references.bib |
3 |
15 |
['eric-wieser', 'gasparattila', 'github-actions'] |
nobody |
none |
4-42943 4 days ago |
6-34449 6 days ago |
6-35132 6 days |
| 39110 |
SnirBroshi author:SnirBroshi |
chore(Data/Set): reduce defeq abuse of `Set α = α → Prop` |
These are among the first places that would fail if `Set α` wasn't defeq to `α → Prop`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/20 |
Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Order/BooleanAlgebra/Set.lean |
5 |
24 |
['SnirBroshi', 'Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'themathqueen', 'urkud', 'vihdzp'] |
nobody |
1 |
4-41349 4 days ago |
4-56300 4 days ago |
10-57181 10 days |
| 39457 |
SnirBroshi author:SnirBroshi |
feat(LinearAlgebra/Matrix/Defs): lift more algebraic classes |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
52/4 |
Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean |
3 |
4 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'urkud'] |
nobody |
none |
4-36610 4 days ago |
4-45720 4 days ago |
4-69728 4 days |
| 38551 |
TTony2019 author:TTony2019 |
feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` |
### Summary
We prove that the affine span of a product set equals the product of the affine spans, and that the intrinsic interior of a product set equals the product of the intrinsic interiors.
- `affineSpan_prod_eq`: for `s : Set P₁` and `t : Set P₂`, `affineSpan k (s ×ˢ t) = (affineSpan k s) ×ˢ (affineSpan k t)` as sets.
- `intrinsicInterior_prod_eq`: for `s : Set P` and `t : Set Q`, `intrinsicInterior 𝕜 (s ×ˢ t) = intrinsicInterior 𝕜 s ×ˢ intrinsicInterior 𝕜 t`.
These two theorems are added to `Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean` and `Mathlib/Analysis/Convex/Intrinsic.lean`.
### Collaboration
Co-authored-by: @imathwy |
new-contributor |
144/0 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/Prod.lean |
5 |
22 |
['TTony2019', 'github-actions', 'wwylele'] |
nobody |
none |
4-33261 4 days ago |
21-82027 21 days ago |
24-25381 24 days |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
95/93 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
5 |
47 |
['MJ141592', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2 |
4-29948 4 days ago |
4-31494 4 days ago |
47-4818 47 days |
| 39472 |
NoahW314 author:NoahW314 |
feat(RingTheory/MvPolynomial/Homogeneous): add homogeneous lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
74/2 |
Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/WeightedHomogeneous.lean |
3 |
1 |
['github-actions'] |
nobody |
none |
4-21992 4 days ago |
4-22062 4 days ago |
4-21737 4 days |
| 39474 |
emlis42 author:emlis42 |
feat(Topology/Separation/Hausdorff): add `Filter.limUnder_congr` |
This PR adds `Filter.limUnder_congr` and some lemmas about `limUnder`.
`Filter.limUnder_congr` allows rewriting `limUnder` expressions using equivalences of convergence behavior, without proving the filters actually converge, allowing convergence proofs to be carried out on more convenient expressions latter. |
t-topology
new-contributor
large-import
|
24/1 |
Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Topology/Separation/Hausdorff.lean |
2 |
2 |
['github-actions'] |
nobody |
none |
4-21025 4 days ago |
4-21108 4 days ago |
4-20589 4 days |
| 39479 |
wwylele author:wwylele |
chore(RingTheory/HahnSeries): remove a defeq abuse |
Previously the simp implicitly uses `⟨⟨((↑) : ℕ → Γ),...⟩,...⟩.toFun = (↑)`. This explicitly writes out the intermediate term so the it no longer relies on defeq. Also changed the statement of ofPowerSeries_apply to reuse existing embedding
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
tech debt
|
9/12 |
Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/LaurentSeries.lean |
2 |
1 |
['github-actions'] |
nobody |
none |
4-17582 4 days ago |
4-17658 4 days ago |
4-17247 4 days |
| 39449 |
Paul-Lez author:Paul-Lez |
doc: add library note about scoping simp lemmas with weak keys |
In PR #39262 I noticed that some `simp` lemmas were scoped for a reason that is not immediately obvious, so I figured that adding a library note would be nice in case anyone else runs into this in the future (this pattern is quite common in Mathlib!)
In case it's helpful for review, here are links to a few of the PRs that added this scoping initially:
- #14233
- #15620
- #15631
---
[](https://gitpod.io/from-referrer/)
|
|
71/4 |
Mathlib.lean,Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/CharP/Two.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Ring/BooleanRing.lean,Mathlib/Algebra/Ring/CharZero.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimpLibraryNote.lean |
8 |
1 |
['github-actions'] |
nobody |
none |
4-6895 4 days ago |
4-6963 4 days ago |
4-7016 4 days |
| 38227 |
vihdzp author:vihdzp |
chore(Algebra/Order/Monoid/Unbundled/Basic): golfing + formatting |
We make use of `variable`, fix some weird spacing, and golf many proofs.
The only breaking change is that `mul_lt_iff_lt_one_left'`/`add_lt_iff_neg_left` now takes an explicit argument, matching the theorems surrounding it.
---
Not too fond of the `calc` tactic.
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
233/501 |
Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Data/Real/Archimedean.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
none |
4-514 4 days ago |
4-574 4 days ago |
4-14500 4 days |
| 37720 |
cjrl author:cjrl |
feat(Data/Fintype/Card): existsUnique_notMem_image_of_injective_of_card_succ |
This pull requests adds a small theorem `existsUnique_notMem_image_of_injective_of_card_succ` to `Mathlib/Data/Fintype/Card` that says given an injective map f : α → β such that β has cardinality one more than α, there exists a unique element of β not in the image of f.
This can be viewed as going in the opposite direction of `card_lt_of_injective_of_notMem`.
This little fact is needed for our Latin Square PR #36698.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
t-set-theory
|
19/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/Card.lean |
2 |
10 |
['IvanRenison', 'cjrl', 'dagurtomas', 'ghseeli', 'github-actions'] |
nobody |
none |
3-83041 3 days ago |
3-83041 3 days ago |
41-53378 41 days |
| 39214 |
Hagb author:Hagb |
refactor(Data/Finsupp/MonomialOrder): remove `.wf` (well foundedness) field from `MonomialOrder` |
Many properties still hold without the well-foundedness.
Although Gröbner basis theory requires the monomial order to be well founded for the termination of the division algorithm (formalized in `MonomialOrder.div`), many properties that don't relay on the division or remainder still hold without the well-foundedness.
Even the division algorithm can terminate in some cases where the monomial order isn't well founded. For example, if the divisors set is finite, then the algorithm can terminate w.r.t. `MonomialOrder.lex (σ := Nat)` even though it isn't well founded. Such cases cannot be directly stated if the formalization of monomial order requires well-foundedness.
Deletions:
- MonomialOrder.wf
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
21/13 |
Mathlib/Data/Finsupp/MonomialOrder.lean,Mathlib/Data/Finsupp/MonomialOrder/DegLex.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean |
4 |
4 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
none |
3-78753 3 days ago |
9-28382 9 days ago |
9-27863 9 days |
| 39443 |
justus-springer author:justus-springer |
feat(Data/Set/Image): `nonempty_preimage_iff` |
Basically a converse to `nonempty_of_nonempty_preimage`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
4/0 |
Mathlib/Data/Set/Image.lean |
1 |
4 |
['Paul-Lez', 'github-actions', 'justus-springer', 'urkud'] |
nobody |
none |
3-65142 3 days ago |
5-9919 5 days ago |
5-9400 5 days |
| 38200 |
Parcly-Taxel author:Parcly-Taxel |
feat: Turán numbers and their strict monotonicity |
`strictMonoOn_turanNumber` was initially proved by @Aristotle-Harmonic, then hand-polished.
Co-authored-by: Aristotle (Harmonic) |
t-combinatorics |
45/20 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
1 |
3 |
['Parcly-Taxel', 'github-actions', 'tb65536'] |
nobody |
none |
3-60647 3 days ago |
4-5150 4 days ago |
32-59377 32 days |
| 39231 |
mbkybky author:mbkybky |
chore(RingTheory/PicardGroup): drop `StrongRankCondition` assumptions in two lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
3/6 |
Mathlib/RingTheory/PicardGroup.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
3-50720 3 days ago |
8-70086 8 days ago |
8-78957 8 days |
| 39067 |
mbkybky author:mbkybky |
feat(Algebra/Module): define modules admitting finite free resolutions |
We say that an `R`-module `M` has a finite free resolution if there exists an exact sequence `0 ⟶ Eₙ ⟶ ⋯ ⟶ E₀ ⟶ M ⟶ 0` such that `Eᵢ` are finite free `R`-modules.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
186/0 |
Mathlib.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FiniteFreeResolution/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
none |
3-50676 3 days ago |
9-33954 9 days ago |
12-56428 12 days |
| 39504 |
WenrongZou author:WenrongZou |
feat(MvPowerSeries/Ideal): kernel of map equals map `C` of kernel |
In this PR, we prove that given a ring homomorphism f, suppose that kernel of f is finitely generated, then kernel of map equals map `C` of kernel. (See `ker_map_of_FG`).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
87/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Ideal.lean |
2 |
4 |
['CoolRmal', 'WenrongZou', 'github-actions'] |
nobody |
none |
3-41523 3 days ago |
3-51840 3 days ago |
3-51621 3 days |
| 39511 |
chenson2018 author:chenson2018 |
chore(Topology): remove repeated `grind` from `DenselyOrdered.subsingleton_of_discreteTopology` |
This proof can be rewritten into a single use of `grind` that is almost identical and maybe more clear with the purpose of the rewrites.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
2/3 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
3-34244 3 days ago |
3-34329 3 days ago |
3-33810 3 days |
| 39307 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Copy): introduce `UnlabeledCopy` carrier subtype |
Adds `abbrev UnlabeledCopy A B := {B' : B.Subgraph // Nonempty (A ≃g B'.coe)}` and uses it to replace the previous inline filter-set body of `copyCount G H`. Drops the now unused legacy Finset-image bridge `copyCount_eq_card_image_copyToSubgraph`. Adds `uniqueUnlabeledCopyBot` instance so `copyCount_bot` is a one-liner via `Fintype.card_unique`.
---
**Step 1/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
This PR isolates the `UnlabeledCopy` type introduction and the count's type-form redefinition from the larger rename/convention work in the rest of the stack. Note that resolving the current clash in naming (`Copy` and `UnlabeledCopy` vs `labelledCopyCount` and `copyCount`) is part of #38745.
|
t-combinatorics |
32/29 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
6 |
['FordUniver', 'github-actions', 'mathlib-bors', 'mitchell-horner'] |
nobody |
1 |
3-25896 3 days ago |
3-35180 3 days ago |
7-34635 7 days |
| 39514 |
SnirBroshi author:SnirBroshi |
chore(RingTheory/Polynomial/Basic): golf `degreeLTEquiv` |
Also extracts the `monomial i a ∈ degreeLT R n` proof to a lemma.
---
The semicolons might be a bit excessive, let me know if so.
Also the `right_inv` proof is slower than the previous version, so maybe it should be reverted, but the rest is fine.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
11/32 |
Mathlib/RingTheory/Polynomial/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
3-21321 3 days ago |
3-21607 3 days ago |
3-21496 3 days |
| 38916 |
yuanyi-350 author:yuanyi-350 |
chore(CategoryTheory/CatCommSq): remove an erw |
- rewrites `hInv_hInv` by using `conv_rhs` with `iso_hom_naturality`
- removes the `rw`/`erw` pair around `Functor.comp_map`
Extracted from #38415
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
|
3/2 |
Mathlib/CategoryTheory/CatCommSq.lean |
1 |
2 |
['github-actions', 'loefflerd'] |
nobody |
none |
3-20075 3 days ago |
16-51599 16 days ago |
16-51080 16 days |
| 39223 |
BryceT233 author:BryceT233 |
feat(RingTheory/Extension): surjectivity and kernel of `Cotangent.map` |
This PR adds `Cotangent.map_surjective_of_comap_eq` and `Cotangent.map_ker_of_surjective`, which are adaptations of the existing lemmas `Ideal.mapCotangent_surjective_of_comap_eq` and `Ideal.mapCotangent_ker_of_surjective` to the cotangent space of extensions. Because `Algebra.Extension.Cotangent` uses a type synonym to define the cotangent space of an extension, the results for `Ideal.mapCotangent` could not be used directly and needed to be restated in terms of `Algebra.Extension.Cotangent.map`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
32/0 |
Mathlib/RingTheory/Extension/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
3-8228 3 days ago |
9-12259 9 days ago |
9-11740 9 days |
| 39202 |
FordUniver author:FordUniver |
feat(Analysis/Calculus/Gradient): add toDual_gradient and companions |
Add `toDual_gradient`, `toDual_gradientWithin`, and the composed variants `toDual_comp_gradient`, `toDual_comp_gradientWithin` — the natural inverse direction of the gradient's defining equation `∇ f x := (toDual 𝕜 F).symm (fderiv 𝕜 f x)`. These identify `(toDual 𝕜 F) (∇ f x)` with `fderiv 𝕜 f x` (and the `gradientWithin` and composed forms with the corresponding fderiv versions), making the Riesz isomorphism between the two derivative views explicit. The proofs of `DifferentiableAt.hasGradientAt` and `DifferentiableWithinAt.hasGradientWithinAt` in the same file are simplified to use them.
---
Came up while formalizing the descent lemma for Lipschitz-smooth functions, where being able to switch between `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)` is helpful, which with this PR becomes `toDual_comp_gradient ▸ (toDual ℝ F).isometry.lipschitzWith_iff K`. Also slightly simplifies two call sites in mathlib. |
maintainer-merge |
20/5 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
5 |
['FordUniver', 'Komyyy', 'github-actions'] |
nobody |
1 |
3-5053 3 days ago |
9-38813 9 days ago |
9-38458 9 days |
| 37541 |
EtienneC30 author:EtienneC30 |
feat: another version of the cardinality of the difference |
In mathlib there is `Set.ncard_diff` which states that `(t \ s).ncard = t.ncard - s.ncard` when `s ⊆ t` and `s` is finite. But one way to prove that `s` is finite is by showing that `t` is finite and using the `s ⊆ t` hypothesis, so this PR adds `Set.ncard_diff'` which assumes that `t` is finite instead of `s`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
5/0 |
Mathlib/Data/Set/Card.lean |
1 |
1 |
['github-actions'] |
nobody |
none |
3-1269 3 days ago |
48-43027 48 days ago |
48-42508 48 days |
| 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 |
| 10721 |
urkud author:urkud |
feat(Order/FunLike): define `PointwiseLE` |
- introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`;
- add a generic `DFunLike.orderEmbeddingCoe`
- add `DFunLike.PointwiseLE` instances here and there.
With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`.
---
- [x] depends on: #12983
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-order
t-logic
|
123/50 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean |
13 |
48 |
['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
658-61632 1 year ago |
708-40034 708 days ago |
64-12984 64 days |
| 8788 |
FMLJohn author:FMLJohn |
feat(Algebra/Module/GradeZeroModule): if `A` is a graded semiring and `M` is a graded `A`-module, then each grade of `M` is a module over the 0-th grade of `A`. |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
237/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
6 |
4 |
['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61631 1 year ago |
898-51527 898 days ago |
1-57831 1 day |
| 6777 |
adomani author:adomani |
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) |
Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`.
This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066).
Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary
---
```bash
# First sed command:
# the first captured pattern is `Co*variantClass `
# the second captured pattern is ``
# the third captured pattern is `+` or `*`
# the fourth captured pattern is `<` or `≤`
# a match for `Co*variantClass (· ·) (· ·)` becomes
# `Co*variantClass replaceop replaceop`
# Second sed command: similar to the first, but looks for `(Function.swap (· ·))`
sed -i '
s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g
s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g
s=replaceop+=HAdd.hAdd=g
s=replaceop\*=HMul.hMul=g
s=replaceop<=LT.lt=g
s=replaceop≤=LE.le=g
s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g
s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g
s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g
s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g
s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g
s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g
' $(git ls-files '*.lean')
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
703/678 |
Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean |
81 |
37 |
['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] |
nobody |
658-61630 1 year ago |
933-27127 933 days ago |
35-63136 35 days |
| 7875 |
astrainfinita author:astrainfinita |
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
54/48 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/Ring.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/Topology/ContinuousFunction/ContinuousMapZero.lean,Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
27 |
15 |
['Parcly-Taxel', 'astrainfinita', 'jcommelin', 'leanprover-bot'] |
nobody |
658-61630 1 year ago |
712-78138 712 days ago |
1-47913 1 day |
| 6491 |
eric-wieser author:eric-wieser |
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Hom/GroupAction.lean |
1 |
0 |
[] |
nobody |
658-61629 1 year ago |
930-47629 930 days ago |
83-76369 83 days |
| 10629 |
madvorak author:madvorak |
feat: List.cons_sublist_append_iff_right |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['eric-wieser'] |
nobody |
644-55174 1 year ago |
770-64011 770 days ago |
53-73442 53 days |
| 13791 |
digama0 author:digama0 |
refactor: Primrec and Partrec |
General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
tech debt
|
585/778 |
Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean |
5 |
2 |
['github-actions', 'grunweg'] |
nobody |
640-18019 1 year ago |
704-7605 704 days ago |
1-84718 1 day |
| 11964 |
adamtopaz author:adamtopaz |
feat: The functor of points of a scheme |
We construct the functor of points functor, and prove that it's full and faithful.
---
- [x] depends on: #11947
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
3 |
4 |
['github-actions', 'grunweg'] |
nobody |
640-17878 1 year ago |
768-34819 768 days ago |
0-1223 20 minutes |
| 12418 |
rosborn author:rosborn |
style: replace preimage_val with ↓∩ notation |
---
This is a rough draft of what the new `↓∩` notation would look like within mathlib. I believe this is an improvement in clarity and would like to have `↓∩` as a standard notation (along with `''`, `⁻¹'`, `↑`, etc...). As `↓∩` is specialized for `Set`s, I have only changed `preimage_val` when the left-hand side of `↓∩` is a `Set`.
The introduction of the `↓∩` notation to Data.Set.Image is temporary as it isn't possible to import Data.Set.Subset directly. If we want `↓∩` unscoped, where would be the best place to define it? An option is Data.Set.Defs, but the notation cannot be defined without additional imports as the file does not import `notation3`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
56/61 |
Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Subset.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/Sober.lean |
18 |
3 |
['grunweg', 'rosborn'] |
nobody |
640-17777 1 year ago |
726-27761 726 days ago |
29-50022 29 days |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
639-38931 1 year ago |
674-45153 674 days ago |
56-40668 56 days |
| 10350 |
Shamrock-Frost author:Shamrock-Frost |
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation |
I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
169/3 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
637-41205 1 year ago |
756-32833 756 days ago |
19-74546 19 days |
| 17127 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove global `Quotient.mk` `⟦·⟧` notation |
---
Merge this PR when we are ready to migrate to `QuotLike` API (#16421).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
137/2 |
Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean |
68 |
1 |
['github-actions'] |
nobody |
597-76270 1 year ago |
597-76270 597 days ago |
4-72805 4 days |
| 13156 |
erdOne author:erdOne |
refactor(Algebra/Module/LocalizedModule): Redefine `LocalizedModule` in terms of `OreLocalization`. |
---
- [x] depends on: #13151
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
519/628 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean |
8 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] |
nobody |
583-42152 1 year ago |
583-42152 583 days ago |
51-84473 51 days |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
560-71736 1 year ago |
560-71736 560 days ago |
7-45599 7 days |
| 19212 |
Julian author:Julian |
feat(LinearAlgebra): add a variable_alias for VectorSpace |
Taken directly from the variable_alias docs.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/why.20.5Bvariable_alias.5D.20attribute.20is.20not.20used.20in.20Mathlib.3F
---
This is the first actual variable alias added to mathlib. I haven't reviewed variable_alias fully, but it seems like there's at least 3 ways they could be distributed in Mathlib:
* alongside whatever subfolder they "belong to" (which is what I've tentatively done here)
* In a file called `Aliases` somewhere near the thing they alias (which seems less discoverable to me)
* In a single file, a la `Mathlib.TrainingWheels` (with some less playful name) which is meant to define a bunch of more "friendly" aliases all in one place.
I kind of like the idea of the third thing as a future module but perhaps it can be synthesized if/when there are more aliases? For now as I say I've done the first one, but please let me know if someone prefers something else.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
25/0 |
Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json |
3 |
10 |
['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] |
nobody |
540-48491 1 year ago |
540-48491 540 days ago |
7-68089 7 days |
| 19337 |
zeramorphic author:zeramorphic |
feat(Data/Finsupp): generalise `Finsupp` to any "zero" value |
Remove the explicit dependence of `Finsupp` on `[Zero M]`, instead defining `Finsupp'` (better name pending) to be functions that are equal to a fixed value `z : M` cofinitely often.
This PR is intended to do the initial work of replacing the definition of `Finsupp` with an instantiation of the more general definition, without adding any appropriate API. If accepted, the API development will follow in later PRs.
Issues to consider:
- Naming of `Finsupp'.`
- Where should `Finsupp'` lemmas go? Do they need their own file/folder under `Data/`?
Relevant Zulip threads:
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp.20generalisations
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp-like.20partial.20function
Comments are welcome.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
203/83 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt |
13 |
5 |
['github-actions', 'vihdzp', 'zeramorphic'] |
nobody |
538-24568 1 year ago |
538-24568 538 days ago |
4-60621 4 days |
| 18756 |
astrainfinita author:astrainfinita |
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
50/28 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
526-76637 1 year ago |
526-76637 526 days ago |
31-53021 31 days |
| 16120 |
awainverse author:awainverse |
feat(ModelTheory/Algebra/Ring/Basic): Ring homomorphisms are a `StrongHomClass` for the language of rings |
Adds an `IsAlgebraic` instance to the language of rings
Adds a `StrongHomClass` instance to the type of ring homomorphisms between rings with `CompatibleRing` structures
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
t-logic
label:t-algebra$ |
34/13 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean |
1 |
10 |
['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] |
nobody |
499-6411 1 year ago |
499-6411 499 days ago |
135-29017 135 days |
| 20527 |
trivial1711 author:trivial1711 |
refactor(Topology/UniformSpace/Completion): more descriptive names for `α → Completion α` |
- We rename the various maps `α → Completion α` in order to make their names more consistent.
- Let `α` be a uniform space. We rename the uniformly continuous function `α → Completion α` from `UniformSpace.Completion.coe'` to `UniformSpace.Completion.coe`.
- Let `α` be a uniform additive group. We rename the additive group homomorphism `α →+ Completion α` from `UniformSpace.Completion.toCompl` to `UniformSpace.Completion.coeAddHom`.
- Let `α` be a uniform ring. The ring homomorphism `α →+* Completion α` is called `UniformSpace.Completion.coeRingHom`; its name is unchanged.
- Let `α` be a normed space over a field `𝕜`. We rename the linear isometry `α →ₗᵢ[𝕜] Completion α` from `UniformSpace.Completion.toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ`.
- Let `α` be a normed space over a field `𝕜`. We rename the continuous linear map `α →L[𝕜] Completion α` from `UniformSpace.Completion.toComplL` to `UniformSpace.Completion.coeL`.
- Let `α` be a normed additive group. We rename the norm preserving homomorphism `NormedAddGroupHom α (Completion α)` from `NormedAddCommGroup.toCompl` to `UniformSpace.Completion.coeNormedAddGroupHom`.
- We analogously rename some other theorems.
- We add some trivial theorems (all of which are proved by `rfl`) that state that the functions considered above are equal. We give all of them the `simp` and `norm_cast` attributes.
- We add a new theorem `UniformSpace.Completion.coeAddHom_eq_coe` that states that `UniformSpace.Completion.coeAddHom` and `UniformSpace.Completion.coe` are equal as functions.
- We similarly add a new theorem `UniformSpace.Completion.coeRingHom_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplL` to `UniformSpace.Completion.coeL_eq_coe`.
- We similarly add a new theorem `UniformSpace.Completion.coeNormedAddGroupHom_eq_coe`.
- We change all occurrences of the string `((↑) : α → Completion α)` to `(coe : α → Completion α)` or just `coe`.
- We put the statements of some theorems into simp normal form by using the plain function `coe` rather than the homomorphisms that carry more structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
130/92 |
Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Category/UniformSpace.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/UniformSpace/Completion.lean |
17 |
4 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
492-37443 1 year ago |
492-37443 492 days ago |
6-66637 6 days |
| 18474 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `*WithOne.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-data
label:t-algebra$ |
9/2 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean |
3 |
7 |
['astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
490-24473 1 year ago |
490-24473 490 days ago |
76-66907 76 days |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
477-48730 1 year ago |
477-48730 477 days ago |
27-43617 27 days |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
441-34751 1 year ago |
441-34751 441 days ago |
16-76141 16 days |
| 18470 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `Normed*.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-analysis
label:t-algebra$ |
28/0 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean |
2 |
9 |
['astrainfinita', 'github-actions', 'jcommelin', 'leanprover-bot'] |
nobody |
437-6178 1 year ago |
437-6178 437 days ago |
129-16341 129 days |
| 8767 |
eric-wieser author:eric-wieser |
refactor(Cache): tidy lake-manifest parsing in Cache |
This now respects local copies of Mathlib dependencies (though in practice these invalidate the *online* cache because to point to local copies of Mathlib, the hash for `lakefile.lean` and `lake-manifest.json` is first invalidated).
---
- [x] depends on: #11492
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
49/49 |
Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json |
3 |
8 |
['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
434-5910 1 year ago |
615-58260 615 days ago |
119-35643 119 days |
| 22660 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: follow naming convention around Group.IsNilpotent |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
133/67 |
Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean |
3 |
1 |
['github-actions'] |
nobody |
429-57006 1 year ago |
429-57006 429 days ago |
10-48025 10 days |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
406-43153 1 year ago |
406-43154 406 days ago |
58-6026 58 days |
| 21525 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Prelim) |
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs). In particular, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be crucial in defining the right adjoint to the pullback functor in the development of LCCCs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
338/24 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
3 |
13 |
['b-mehta', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'sinhp'] |
nobody |
406-43151 1 year ago |
406-43153 406 days ago |
36-69400 36 days |
| 16314 |
FR-vdash-bot author:FR-vdash-bot |
chore(Data/Quot): deprecate `ind*'` APIs |
---
- [x] depends on: #16264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
247/287 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean |
65 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
400-68117 1 year ago |
400-68119 400 days ago |
55-52030 55 days |
| 15483 |
FR-vdash-bot author:FR-vdash-bot |
chore(GroupTheory/Coset): reduce defeq abuse |
---
- [x] depends on: #15482
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
114/60 |
Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean |
6 |
14 |
['astrainfinita', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] |
nobody |
400-13010 1 year ago |
648-51340 648 days ago |
4-79214 4 days |
| 16594 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` and remove some instances in algebra hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
240/92 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Util/NoInstances.lean,scripts/noshake.json |
50 |
8 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
400-12786 1 year ago |
604-52333 604 days ago |
14-58900 14 days |
| 23859 |
urkud author:urkud |
feat(Topology/../Order/Field): generalize to `Semifield` |
.. from a linear ordered field to a linear ordered semifield---
- [ ] depends on: #23857
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
245/219 |
Mathlib/Algebra/Order/Group/Pointwise/Interval.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Order/Basic.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
393-56027 1 year ago |
406-66668 406 days ago |
0-265 4 minutes |
| 23810 |
b-reinke author:b-reinke |
chore(Order/Interval): generalize succ/pred lemmas to partial orders |
Many lemmas in `Mathlib/Order/Interval/Set/SuccPred.lean`and `Mathlib/Order/Interval/Finset/SuccPred.lean` also work for partial orders. They are generalized in this PR by introducing different sections for `PartialOrder` and `LinearOrder` assumptions in the respective files.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
|
231/89 |
Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
391-32802 1 year ago |
391-32804 391 days ago |
16-29623 16 days |
| 24285 |
madvorak author:madvorak |
chore(Algebra/*-{Category,Homology}): remove unnecessary universe variables |
Discussions:
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Call.20for.20help.3A.20technical.2F.20organisational.20debt/with/513620128
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Algebra.20and.20.60Type*.60/with/513558902
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible/with/513592993
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
542/916 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/Lie/CartanSubalgebra.lean,Mathlib/Algebra/Lie/Character.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Opposite.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/MinimalAxioms.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Opposite.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean |
182 |
22 |
['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'madvorak', 'mattrobball'] |
nobody |
391-21499 1 year ago |
391-21500 391 days ago |
2-11655 2 days |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
358-28249 11 months ago |
358-28251 358 days ago |
35-30364 35 days |
| 16020 |
adomani author:adomani |
feat: compare PR `olean`s size with `master` |
Adds two CI steps:
* `print the sizes of the oleans` that prints the sizes of all the folders containing `Mathlib` `.olean`s;
* `compare oleans` that compares the sizes of the previous step with the corresponding sizes on `master`.
In the test runs, the two steps have taken at most 3 seconds combined (the first is virtually instantaneous, the second one depends on `curl` to find a job id and on `gh` to retrieve the logs of a previous CI run -- everything else appears to be negligible).
This hopefully helps finding out if some PR is bloating up the `.olean`s.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Error.3A.20No.20space.20left.20on.20device/near/463792355) for a PR of mine that prompted this check.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
120/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
50 |
['Vtec234', 'YaelDillies', 'adomani', 'bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
348-78256 11 months ago |
546-39278 546 days ago |
87-65841 87 days |
| 25340 |
dupuisf author:dupuisf |
chore(Analysis/Convex): move files pertaining to convex/concave functions to their own folder |
This PR creates a new folder under `Analysis/Convex` called `Analysis/Convex/Function`, which includes files that are mostly or entirely about convex/concave functions (as opposed to convex sets).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-convex-geometry
|
4264/4155 |
Mathlib.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Function/Basic.lean,Mathlib/Analysis/Convex/Function/Continuous.lean,Mathlib/Analysis/Convex/Function/Deriv.lean,Mathlib/Analysis/Convex/Function/Extrema.lean,Mathlib/Analysis/Convex/Function/Integral.lean,Mathlib/Analysis/Convex/Function/Jensen.lean,Mathlib/Analysis/Convex/Function/Mul.lean,Mathlib/Analysis/Convex/Function/Piecewise.lean,Mathlib/Analysis/Convex/Function/Quasiconvex.lean,Mathlib/Analysis/Convex/Function/Slope.lean,Mathlib/Analysis/Convex/Function/Strong.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Piecewise.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convex/Strong.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean |
34 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
347-51076 11 months ago |
347-51078 347 days ago |
6-38644 6 days |
| 18441 |
ADedecker author:ADedecker |
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
847/159 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
3 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42817 11 months ago |
567-40716 567 days ago |
0-679 11 minutes |
| 18439 |
ADedecker author:ADedecker |
refactor: use new algebraic filter bases API in `FiniteAdeleRing` |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
699/21 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42815 11 months ago |
567-42359 567 days ago |
0-619 10 minutes |
| 18438 |
ADedecker author:ADedecker |
refactor: adapt `KrullTopology` to the new algebraic filter bases API |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
771/168 |
Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
5 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42814 11 months ago |
567-43001 567 days ago |
0-638 10 minutes |
| 13964 |
pechersky author:pechersky |
feat(Data/DigitExpansion): begin defining variant of reals without rationals |
Based on a de Bruijn 1976 paper.
This file is just the basic definition of a digit expansion. Will be followed up with further constructions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
518/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib |
3 |
11 |
['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] |
dupuisf assignee:dupuisf |
332-25105 10 months ago |
570-51321 570 days ago |
129-57999 129 days |
| 24823 |
eric-wieser author:eric-wieser |
refactor: add `hom` lemmas for the `MonoidalCategory` structure on `ModuleCat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
148/164 |
Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Rep.lean |
11 |
21 |
['101damnations', 'YaelDillies', 'eric-wieser', 'github-actions', 'joelriou', 'kbuzzard', 'leanprover-community-bot-assistant'] |
101damnations assignee:101damnations |
319-76165 10 months ago |
319-76165 319 days ago |
37-56728 37 days |
| 25071 |
erdOne author:erdOne |
feat(EllipticCurve): basic API for singular cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
|
320/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
3 |
35 |
['Multramate', 'acmepjz', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75919 10 months ago |
319-75920 319 days ago |
45-4165 45 days |
| 25988 |
Multramate author:Multramate |
refactor(AlgebraicGeometry/EllipticCurve/*): replace Fin 3 with products |
This PR continues the work from #24593.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24593 |
merge-conflict
t-algebraic-geometry
|
1000/1022 |
Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
6 |
3 |
['Multramate', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75607 10 months ago |
319-75607 319 days ago |
18-21880 18 days |
| 26067 |
mapehe author:mapehe |
feat(Topology/StoneCech): exists_continuous_surjection_from_StoneCech_to_dense_range |
This lemma formalises the following version of the maximality property of the Stone–Čech compactification: If `f : α → β` is a continuous map from a topological space `α` to a Hausdorff space `β` with dense range, then there exists a continuous surjection from `StoneCech α` to `β` extending `f`. In particular, `StoneCech α` is the “largest” compact Hausdorff space into which `α` densely embeds, in the sense that any other such space is a continuous image of it.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
18/0 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
316-56985 10 months ago |
316-56985 316 days ago |
20-8582 20 days |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
289-54247 9 months ago |
319-75916 319 days ago |
38-26044 38 days |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
288-56268 9 months ago |
541-49861 541 days ago |
20-16585 20 days |
| 26200 |
adomani author:adomani |
fix: add label when landrun fails |
Adds the `permission-denied` label on PRs that get blocked by landrun.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
68/8 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
288-5200 9 months ago |
288-5200 288 days ago |
46-52210 46 days |
| 27451 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
27/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
13 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] |
nobody |
282-37703 9 months ago |
282-37704 282 days ago |
17-52359 17 days |
| 27987 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
---
The pullback PR of #26827 and #27451.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
73/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
282-37332 9 months ago |
282-37333 282 days ago |
6-6455 6 days |
| 27003 |
eric-wieser author:eric-wieser |
chore: use `Simp.ResultQ` more often |
Also uses `~q` in place of manual `isDefEq` matching.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
18/22 |
Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/ReduceModChar.lean |
3 |
7 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
280-51956 9 months ago |
280-51957 280 days ago |
32-70098 32 days |
| 25401 |
digama0 author:digama0 |
feat(Util): SuppressSorry option |
See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
342/0 |
Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean |
4 |
15 |
['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
280-6752 9 months ago |
280-6752 280 days ago |
71-27957 71 days |
| 28622 |
alreadydone author:alreadydone |
chore(Mathlib): replace `=>` by `↦` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
51792/51792 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.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/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/Grp/Zero.lean,Mathlib/Algebra/Category/GrpWithZero.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean |
3838 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
274-10232 9 months ago |
274-10233 274 days ago |
0-62065 17 hours |
| 28626 |
alreadydone author:alreadydone |
chore(Archive, Counterexamples): replace => by ↦ |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
288/288 |
Archive/Arithcc.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Examples/PropEncodable.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/Basic.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/GameMultiplication.lean,Counterexamples/Girard.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
54 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
272-39358 8 months ago |
272-39359 272 days ago |
2-47136 2 days |
| 27403 |
MoritzBeroRoos author:MoritzBeroRoos |
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..).
This pr replaces instances of ⬝ where · was probably meant.
All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle.
[Related](https://github.com/leanprover-community/mathlib4/pull/27399)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
195/195 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean |
49 |
5 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
270-72394 8 months ago |
293-48316 293 days ago |
7-54661 7 days |
| 28042 |
kckennylau author:kckennylau |
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements |
---
The pullback PR of #27314 and #27163.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
140/23 |
Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
270-72348 8 months ago |
280-37392 280 days ago |
7-4998 7 days |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
270-34226 8 months ago |
293-48317 293 days ago |
7-62439 7 days |
| 28148 |
kckennylau author:kckennylau |
feat(Matrix): Simproc and Rw-proc for Matrix Transpose |
Co-authored by Aaron Liu.
```lean
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of% 2 3]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
simp only [matrix_transpose]
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
267/8 |
Mathlib.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,MathlibTest/Simproc/Matrix.lean,MathlibTest/matrix.lean,scripts/noshake.json |
8 |
32 |
['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] |
eric-wieser assignee:eric-wieser |
265-77560 8 months ago |
265-77561 265 days ago |
12-78143 12 days |
| 26908 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): alternative ext principle for unitors |
Currently, our infrastructure for left/right unitors for Day convolution of functors `C ⥤ V` do not have satisfactory extensionality principle: the current way to characterize morphisms out of `U ⊛ F` is the default extensionality principle for Day convolution, which characterizes first such functors via functors out of `U ⊠ F`. Left unitors are then obtained using the fact `U ⊠ F` is a left Kan extension of a functor from `PUnit × C` (which is equivalent to `C`) but we did not record on its own this principle.
Using the transitivity of left Kan extensions proved in #26899, we directly exhibit `U ⊛ F` as a left Kan extension of `F ⋙ tensorLeft (𝟙_ V)` along `tensorLeft (𝟙_ C)`. The unit of this Kan extension is composed exactly of the morphisms that appear in the [characterization of left unitors](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/DayConvolution.html#CategoryTheory.MonoidalCategory.DayConvolutionUnit.leftUnitor_hom_unit_app).
We also slightly generalize the instances that express that external products with unitors are left Kan extensions, so that they can be used when taking external products with more complicated functors than currently. This is again useful when chaining extensionality lemmas for morphisms out of terms of the form `(F ⊛ U) ⊛ G`.
We prove a similar thing for right unitors
With this, it should be possible to have a much more satisfactory way of working with Day convolutions: this allows to "elimiinate" units without ending up with terms in an external product.
---
- [ ] depends on: #26899
- [ ] depends on: #26906
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
307/18 |
Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
254-37506 8 months ago |
254-37507 254 days ago |
0-1812 30 minutes |
| 27150 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): constructors for braided and symmetric structure on day convolutions monoidal categories |
Following the pattern in #27119, we give API to construct `BraidedCategory` and `SymmetricCategory` structures on a monoidal
category equipped with a `LawfulDayConvolutionMonoidalCategoryStruct`. To achieve this, we introduce an other type class
`LawfulDayConvolutionBraidedCategoryStruct` that bundles an associator isomorphism that behaves like the one constructed for functors in #27067.
We provide a noncomputable constructor for this typeclass that takes as input fullness of the "realization" functor to a category of functors, and we show that the typeclasses are sufficient to define the desired structures.
---
- [x] depends on: #27067
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
826/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean |
2 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
254-32545 8 months ago |
309-62240 309 days ago |
0-1002 16 minutes |
| 27119 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): constructors for closed monoidal day convolution monoidal structures |
Following the pattern introduced in #26798 and #26820 and using results of #26879, we introduce a typeclass
`LawfulDayConvolutionClosedMonoidalCategoryStruct` that encodes the data needed on a `LawfulDayConvolutionMonoidalCategoryStruct` to define well-behaved internal homs. We give a constructor assuming existence of relevant ends, and prove that this data defines a `MonoidalClosed` instance on the monoidal category structures one can deduce from `LawfulDayConvolutionMonoidalCategoryStruct`.
---
- [x] depends on: #27079
- [x] depends on: #27091
- [x] depends on: #26879
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
900/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean |
2 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
253-46396 8 months ago |
310-67708 310 days ago |
0-1 1 second |
| 28623 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): minor additions and simplification of proofs |
Add new theorems and simplify proofs.
Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`.
For each other 'family' of theorems in the file that is analogous to the above, we do the following
- Simplify proofs where possible, e.g. by appealing to the new theorems
- Complete the family, if any of the corresponding four are missing
- Rename to ensure consistency with the above pattern
---
|
merge-conflict
t-logic
new-contributor
|
83/55 |
Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
12 |
['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
awainverse assignee:awainverse |
253-40257 8 months ago |
253-40258 253 days ago |
10-61840 10 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 |
merge-conflict
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 |
3 |
['ADedecker', 'github-actions', 'mathlib4-merge-conflict-bot'] |
PatrickMassot assignee:PatrickMassot |
247-52501 8 months ago |
247-52502 247 days ago |
87-79752 87 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/)
|
merge-conflict
t-group-theory
|
61/68 |
Mathlib/GroupTheory/Perm/Fin.lean |
1 |
10 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'tb65536'] |
nobody |
238-64098 7 months ago |
238-64099 238 days ago |
20-3817 20 days |
| 21950 |
erdOne author:erdOne |
feat(NumberTheory/Padics): the completion of `ℚ` at a finite place is `ℚ_[p]` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-number-theory
|
253/1 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroMulInt.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
7 |
33 |
['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] |
nobody |
236-39208 7 months ago |
317-39145 317 days ago |
73-10873 73 days |
| 27214 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): Categorical pullback squares |
In this PR, we give the definition and first basic properties of categorical pullback squares.
Using our previous work on `CategoricalPullback`, we define a typeclass `CatPullbackSquare T L R B` that asserts that a given `CatCommSq T L R B` is a "pullback square": this is the data of a chosen adjoint equivalence to the canonical functor from the top left corner of the square to the categorical pulback of its leg. Using this equivalence, be derive a universal property for functors from `X`with values in the top left corner of the square: they are equivalent to `CatCommSqOver R B X`, the category of categorical commutative squares over the cospan `R, B` with top left corner `X`.
We prove some coherence result for this equivalence, most notably an isomorphism that, given `S : CatCommSqOver R B X`, bundles the two commutative triangles formed by the induced functor, and the coherence between the squares that these isomorphisms satisfy: this is conveniently bundled in the data of a single isomorphisms of `CatCommSqOver R B X`.
Finally, we provide a `Prop`-class `IsCatPullbackSquare` that merely asserts the existence (via `Nonempty`) of the relevant data: we show that it is tautotogically equivalent to the propopsition that the canonical functor to the categorical pullback is an equivalence.
---
- [ ] depends on: #26679
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
786/1 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
233-29290 7 months ago |
233-29291 233 days ago |
0-4464 1 hour |
| 26466 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/Augmented): the canonical monoid object in the augmented simplex category |
Show that in the augmented simplex category, `⦋0⦌` is an internal monoid object.
Future work will show that this is in fact the universal monoid object: for any monoidal category `C`, evaluation at `⦋0⦌` induces an equivalence of categories between `Mon_ C` and the category of monoidal functors from `AugmentedSimplexCategory` to `C`. The resulting augmented cosimplicial object one gets from this construction is sometimes called the "monoidal bar construction" attached to a monoid.
This PR was split from #25743.
---
- [ ] depends on: #25743
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
t-category-theory
|
571/111 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Mon_.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean |
6 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
232-48692 7 months ago |
327-55976 327 days ago |
0-1708 28 minutes |
| 26578 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Pullbacks/Categorical/CatCospanTransform): adjunctions of categorical cospans |
We build upon the bicategory-like structure developed in #26447 and #26412 to define the notion of adjunctions of categorical cospans. This is a structure encoding the data of two `CatCospanTransform`s, along with the usual unit and counit morphisms as part of the data, satisfying the usual left and right triangle identities. We provide basic API for these, such as extracting adjunctions between individual components. We also provide a proof that the notion satisfies a "coherence": with our chosen constructor, the forward direction of the structure `CatCommSq` on the left adjoints correspond to the inverse of the square for the right adjoints through `mateEquiv`.
These adjunctions will be used as a substrate for defining equivalences of categorical cospans in a future PR: such an equivalence will be a structure extending a `CatCospanAdjunction` with isomorphisms data on the unit and co-unit (we will however provide alternative constructors in sync with the constructor for equivalences of categories).
---
- [x] depends on: #26447
- [x] depends on: #26547
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
205/0 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean |
1 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
231-51917 7 months ago |
323-61089 323 days ago |
0-625 10 minutes |
| 23621 |
astrainfinita author:astrainfinita |
chore: deprecate `LinearOrderedComm{Monoid, Group}WithZero` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #20676
|
merge-conflict
t-algebra
t-order
label:t-algebra$ |
261/205 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ExtendToLocalization.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValExtension.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json |
44 |
24 |
['YaelDillies', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
kbuzzard assignee:kbuzzard |
228-33632 7 months ago |
399-6005 399 days ago |
5-42380 5 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/)
|
merge-conflict
t-ring-theory
|
172/0 |
Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean |
2 |
14 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] |
nobody |
220-35763 7 months ago |
220-35764 220 days ago |
67-79609 67 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/)
|
merge-conflict
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 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
197-12361 6 months ago |
197-12362 197 days ago |
80-71575 80 days |
| 26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26713
- [x] depends on: #26826
|
merge-conflict
t-algebra
t-number-theory
t-analysis
label:t-algebra$ |
211/27 |
Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
34 |
['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
kbuzzard assignee:kbuzzard |
189-40965 6 months ago |
189-40965 189 days ago |
122-64394 122 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/)
|
merge-conflict
t-algebra
label:t-algebra$ |
74/0 |
Mathlib/RingTheory/Localization/Away/Basic.lean |
1 |
18 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
kim-em assignee:kim-em |
182-63624 6 months ago |
182-63625 182 days ago |
257-28368 257 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 |
merge-conflict
t-topology
|
509/1 |
Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean |
3 |
9 |
['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
urkud assignee:urkud |
182-63452 6 months ago |
182-63453 182 days ago |
177-43034 177 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/)
|
merge-conflict
t-data
|
144/5 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
20 |
['alexkeizer', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao'] |
eric-wieser assignee:eric-wieser |
182-62930 6 months ago |
182-62931 182 days ago |
133-23955 133 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. |
merge-conflict
t-combinatorics
new-contributor
|
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 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
182-62625 6 months ago |
182-62626 182 days ago |
99-64548 99 days |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
6 |
['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
182-62472 6 months ago |
182-62473 182 days ago |
55-54919 55 days |
| 29526 |
llllvvuu author:llllvvuu |
feat: `Multiset.map f` identifies `f` up to permutation |
Motivation: Reason about `Fintype`-indexed families via `Multiset` equality.
Example use case 1:
```lean
theorem Matrix.IsHermitian.cfc_eigenvalues {d : Type*} [Fintype d] [DecidableEq d]
{M : Matrix d d 𝕜} (hM : M.IsHermitian) (f : ℝ → ℝ)
(hcfc : Matrix.IsHermitian (cfc f M) := cfc_predicate f M) :
∃ (e : d ≃ d), hcfc.eigenvalues = f ∘ hM.eigenvalues ∘ e := by
have := hcfc.roots_charpoly_eq_eigenvalues.symm
rw [hM.charpoly_cfc_eq f, Polynomial.roots_prod] at this; swap
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
have he := (Multiset.compTriple_equivOfMapUnivEq this).comp_eq
simp_rw [← Function.comp_def RCLike.ofReal, ← Function.comp_def f, Function.comp_assoc] at he
exact ⟨_, RCLike.ofReal_injective.comp_left he.symm⟩
```
Example use case 2 (on top of https://github.com/leanprover-community/mathlib4/pull/29610):
```lean
theorem LinearMap.Eigenbasis.μ_equiv {ι ι' R G : Type*} [Fintype ι] [Fintype ι']
[CommRing R] [IsDomain R] [AddCommGroup G] [Module R G] [Module.Free R G] [Module.Finite R G]
{f : Module.End R G} (B₁ : f.Eigenbasis ι) (B₂ : f.Eigenbasis ι') :
∃ e : ι ≃ ι', B₁.μ = B₂.μ ∘ e := by
classical
have := congr(Polynomial.roots $(B₁.charpoly_eq.symm.trans B₂.charpoly_eq))
rw [Polynomial.roots_prod, Polynomial.roots_prod] at this; rotate_left
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
exact ⟨Multiset.equivOfMapUnivEq this, (Multiset.compTriple_equivOfMapUnivEq this).comp_eq.symm⟩
```
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
35/0 |
Mathlib/Data/Multiset/Fintype.lean |
1 |
9 |
['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
pechersky assignee:pechersky |
182-62434 6 months ago |
182-62435 182 days ago |
69-23034 69 days |
| 29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
182-61838 6 months ago |
182-61839 182 days ago |
54-82760 54 days |
| 31356 |
adomani author:adomani |
feat: add inspect-like functions |
Produces a tree-like formatting for `Syntax`, `Expr` and `InfoTree`. Especially for the `InfoTree`s, there are *many* parts of it that do not get printed.
For instance, this is how the `InfoTree`s of `set_option linter.missingDocs true` get printed:
```lean
inspectIT
set_option linter.missingDocs true
/-
commandCtx
|-Info.ofCommandInfo: Lean.Elab.Command.elabSetOption, 'set_option…gDocs true'
| |-Info.ofCompletionInfo.CompletionInfo.option 'set_option…issingDocs'
| |-Info.ofOptionInfo: linter.missingDocs, Linter.linter.missingDocs
-/
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
720/0 |
Mathlib.lean,Mathlib/Util/Inspect.lean,MathlibTest/Inspect.lean |
3 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
kim-em assignee:kim-em |
182-56859 6 months ago |
182-56860 182 days ago |
11-61697 11 days |
| 6993 |
jjaassoonn author:jjaassoonn |
feat: lemmas about `AddMonoidAlgebra.{divOf, modOf}` |
---
- [x] depends on: #7582
- [x] depends on: #8975
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
147/3 |
Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/MvPolynomial/CommRing.lean,Mathlib/Data/MvPolynomial/Division.lean |
5 |
42 |
['YaelDillies', 'alreadydone', 'digama0', 'eric-wieser', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
182-35783 6 months ago |
852-40536 852 days ago |
103-330 103 days |
| 9339 |
FMLJohn author:FMLJohn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): given a finitely generated homogeneous ideal of a graded semiring, construct a finite spanning set for the ideal which only contains homogeneous elements |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
402/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
8 |
11 |
['FMLJohn', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
182-35736 6 months ago |
866-40714 866 days ago |
6-63597 6 days |
| 10349 |
Shamrock-Frost author:Shamrock-Frost |
refactor(CategoryTheory/MorphismProperty): some clean-ups |
We make explicit some of the galois connections/closure operators in the existing MorphismProperty file, rewrite some proofs to take advantage of these structures, and change map/inverseImage by (1) swapping their argument order, for consistency with Set.range and Set.preimage and (2) making "map" perform the strict, evil map while "essMap" (previously called map) forms the closure of the image under isomorphisms. Finally we add `IsMultiplicative` instances for isos/epis/monos, with an eye towards constructing the wide subcategory on these classes of maps.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
474/318 |
Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/MorphismProperty.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Order/Closure.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/RelIso/Basic.lean |
8 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
182-35694 6 months ago |
833-4438 833 days ago |
0-418 6 minutes |
| 26890 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): more API for `DayFunctor` |
We provide some lemmas that helps characterizing the monoidal structure on `DayFunctor`, they are special cases of the lemmas for `LawfulDayConvolutionMonoidalCategoryStruct`.
---
- [x] depends on: #26824
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
1372/19 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
4 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
182-35086 6 months ago |
316-60095 316 days ago |
0-517 8 minutes |
| 24016 |
plp127 author:plp127 |
feat: fine uniformity |
Adds the fine uniformity, and proves some properties.
---
- [ ] depends on: #24096 for showing the induced topology is equal on completely regular spaces
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
283/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
176-81853 5 months ago |
399-4203 399 days ago |
2-85308 2 days |
| 26912 |
pechersky author:pechersky |
chore(Algebra/Ring/Subring): simp tag `Subring.smul_def` |
s-multiplying by a subtype is easiest to manipulate when both terms are in the ambient type. Many places that had to use the _def lemma for a rewrite, or to include it in a simp set, no longer have to.
Ported from #25308
---
[](https://gitpod.io/from-referrer/)
I found this being not-simp frustrating when talking about submodules over a valuation subring. |
merge-conflict
t-algebra
label:t-algebra$ |
67/66 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/LinearAlgebra/RootSystem/Irreducible.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean |
25 |
26 |
['artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-radar', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'pechersky'] |
joelriou assignee:joelriou |
156-8237 5 months ago |
177-44186 177 days ago |
63-23787 63 days |
| 33434 |
astrainfinita author:astrainfinita |
chore: redefine `Finsupp.indicator` using `Finsupp.onFinset` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
6/17 |
Mathlib/Data/Finsupp/Indicator.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
133-41176 4 months ago |
41-18332 41 days ago |
5-35275 5 days |
| 33126 |
CoolRmal author:CoolRmal |
feat: function composition preserves boundedness |
This PR adds the following theorem: if the range of a function `g` is bounded above, then `g ∘ f` is bounded above for
all functions `f`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
12/0 |
Mathlib/Order/Bounds/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
124-39089 4 months ago |
124-39090 124 days ago |
27-6197 27 days |
| 29587 |
uniwuni author:uniwuni |
feat(GroupTheory/Finiteness): define finitely generated semigroups |
We define finitely generated semigroups and basics similarly to monoids and groups and prove that semigroups and monoids remain finitely generated when a congruence is quotiented out. This will be important when further developing semigroup theory.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-group-theory
|
259/14 |
Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean |
2 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'uniwuni'] |
dupuisf assignee:dupuisf |
122-50658 4 months ago |
224-55562 224 days ago |
25-78230 25 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. |
merge-conflict
t-data
|
35/0 |
Mathlib/Data/List/Scan.lean |
1 |
15 |
['ShreckYe', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] |
pechersky assignee:pechersky |
118-29882 3 months ago |
191-81327 191 days ago |
74-59834 74 days |
| 16074 |
Rida-Hamadani author:Rida-Hamadani |
feat: combinatorial maps and planar graphs |
We define combinatorial maps, then we define planar graph using combinatorial maps.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
243/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean |
3 |
29 |
['MrBrain295', 'Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] |
kmill assignee:kmill |
109-78857 3 months ago |
319-77081 319 days ago |
72-49525 72 days |
| 9820 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): generalize to homogeneous submodule |
The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to a homogeneous submodules.
So say $R$ is a ring and $M \cong \bigoplus_{i} M_i$ is an $R$-module. Then a homogeneous $R$-submodule of $M$ is an $R$-submodule $N$ such that for all $i$ and $n \in N$, $n_i \in N$. Note that this notion doesn't actually require $R$ to be graded and $M$ is a graded module. But for more interesting lemmas, we do need that $M$ is graded $R$-module. We bake the fact $R$ is graded into the definition of homogeneous submodule, otherwise, `CompleteLattice HomogeneousSubmodule` cannot find the order of synthesis (the proof depends on that $R$ is graded)
All definitions/constructions/theorems have a copy for ideals as well, this is to make sure dot notation still works.
The motivation of this generalization is graded quotient module
---
- [x] depends on:#18728
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
516/185 |
Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/nolints_prime_decls.txt |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
100-56311 3 months ago |
319-79552 319 days ago |
52-59768 52 days |
| 34931 |
eric-wieser author:eric-wieser |
perf: make TensorProduct.lift irreducible with a unification hint |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
6/2 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
7 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
erdOne assignee:erdOne |
97-24331 3 months ago |
97-24332 97 days ago |
5-66655 5 days |
| 33020 |
FormulaRabbit81 author:FormulaRabbit81 |
chore(Topology): Deprecate file |
---
- [x] depends on: #30851 deprecation
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
82/49 |
Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
95-942 3 months ago |
153-74731 153 days ago |
0-14835 4 hours |
| 33281 |
michelsol author:michelsol |
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. |
Add the integral of the derivative of arcsin and its integrability.
---
- [ ] depends on: #33280
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
t-analysis
|
59/0 |
Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
94-56136 3 months ago |
146-23961 146 days ago |
0-2872 47 minutes |
| 34156 |
zcyemi author:zcyemi |
feat(Analysis/Convex/Between): add lemmas on convex combination of mem simplex interior |
---
I add three lemmas of convex combinations preserving membership in the interior of a simplex.
And also open a zulip thread [#mathlib4 > Best place for convex combination and simplex interior](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Best.20place.20for.20convex.20combination.20and.20simplex.20interior/with/568558406)
deps:
- [ ] depends on: #33852 |
t-analysis
merge-conflict
|
170/0 |
Mathlib/Analysis/Convex/Between.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
94-32053 3 months ago |
94-32053 94 days ago |
0-3761 1 hour |
| 32918 |
michelsol author:michelsol |
feat: define `supEdist` and `supDist` |
Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later.
[zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) |
t-topology
new-contributor
merge-conflict
|
75/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean |
2 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] |
nobody |
93-26235 3 months ago |
135-18620 135 days ago |
21-3598 21 days |
| 25980 |
Multramate author:Multramate |
refactor(Algebra/Group/Submonoid/Operations): rename restrict to domRestrict and add restrict |
And update the documentation for consistency |
t-group-theory
merge-conflict
|
145/123 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
14 |
10 |
['Multramate', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
92-6181 3 months ago |
92-6182 92 days ago |
5-9216 5 days |
| 25981 |
Multramate author:Multramate |
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups |
This PR continues the work from #10126.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 |
t-group-theory
large-import
merge-conflict
|
218/144 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
16 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
92-6180 3 months ago |
92-6180 92 days ago |
4-78395 4 days |
| 33795 |
alreadydone author:alreadydone |
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces |
---
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
418/143 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean |
6 |
12 |
['adamtopaz', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
adamtopaz assignee:adamtopaz |
91-70214 3 months ago |
91-70215 91 days ago |
34-21636 34 days |
| 34674 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions |
* Add `WithTop` versions of basic multiplicative order lemmas.
* Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs.
* Fix a typo in the `pos_of_ne_zero` alias name. |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
46/15 |
Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
3 |
5 |
['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
Ruben-VandeVelde assignee:Ruben-VandeVelde |
91-50084 3 months ago |
91-50085 91 days ago |
17-1225 17 days |
| 33746 |
ster-oc author:ster-oc |
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API |
This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
353/145 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
3 |
8 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] |
joelriou assignee:joelriou |
86-66982 2 months ago |
86-66982 86 days ago |
30-23357 30 days |
| 31595 |
astrainfinita author:astrainfinita |
chore: redefine `Ideal.IsPrime` |
Redefine `Ideal.IsPrime` to make it correct for non-commutative cases
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
333/100 |
Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Noetherian.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsPrimary.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Valuation/Basic.lean |
22 |
33 |
['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
83-76544 2 months ago |
52-73200 52 days ago |
59-66521 59 days |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
223/100 |
Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
2 |
21 |
['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
PhoenixIra and vihdzp assignee:PhoenixIra assignee:vihdzp |
82-17316 2 months ago |
82-17316 82 days ago |
44-16098 44 days |
| 26942 |
pechersky author:pechersky |
feat(RingTheory/Valuation/ValueGroupIso): isomorphism of value groups when compatible |
and also to the ValuativeRel's value group
by request from comment in
https://github.com/leanprover-community/mathlib4/pull/26754#issuecomment-3051770901
- [ ] depends on: #26588
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26939
- [x] depends on: #26940
- [x] depends on: #26941 |
merge-conflict
t-ring-theory
t-order
|
299/3 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/RingTheory/Valuation/ValueGroupIso.lean |
6 |
10 |
['faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'pechersky'] |
faenuccio assignee:faenuccio |
79-47897 2 months ago |
279-33307 279 days ago |
10-67838 10 days |
| 14712 |
astrainfinita author:astrainfinita |
perf: change instance priority and order about `OfNat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
49/20 |
Mathlib/Algebra/Group/Nat.lean,Mathlib/Algebra/Group/ZeroOne.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/UInt.lean,Mathlib/NumberTheory/ArithmeticFunction.lean |
9 |
26 |
['MichaelStollBayreuth', 'astrainfinita', 'eric-wieser', 'fpvandoorn', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors'] |
nobody |
75-47002 2 months ago |
650-25172 650 days ago |
20-15089 20 days |
| 17627 |
hrmacbeth author:hrmacbeth |
feat: universal properties of vector bundle constructions |
Characterizations for the smoothness of maps into the total spaces of (1) the direct sum of two vector bundles; (2) the pullback of a vector bundle.
This gap in the library was exposed by #17358.
---
- [x] depends on: #22804
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
|
311/9 |
Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
4 |
26 |
['PatrickMassot', 'fpvandoorn', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
grunweg assignee:grunweg |
75-46990 2 months ago |
335-46729 335 days ago |
91-68302 91 days |
| 35215 |
kim-em author:kim-em |
chore: use @[to_dual] in FixedPoints |
This PR adds `@[to_dual]` annotations to 14 theorems about `lfp` in `Order/FixedPoints.lean`, auto-generating their `gfp` duals and deleting the hand-written versions. Also registers `OrderHom.lfp` as the dual of `OrderHom.gfp` via `attribute [to_dual existing]`.
Auto-generated duals include: `le_gfp`, `gfp_le_fixed`, `gfp_le`, `gfp_le_map`, `map_gfp`, `isFixedPt_gfp`, `map_le_gfp`, `isGreatest_gfp_le`, `isGreatest_gfp`, `gfp_induction`, `map_gfp_comp`, `gfp_gfp`, `map_inf_fixedPoints_le`, `map_sInf_subset_fixedPoints_le`.
[Diff relative to #35208](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-fixed-points)
- [x] depends on: #35208
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
|
249/548 |
Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean |
8 |
11 |
['JovanGerb', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
alexjbest assignee:alexjbest |
74-1265 2 months ago |
61-30666 61 days ago |
24-14816 24 days |
| 36165 |
Parcly-Taxel author:Parcly-Taxel |
chore: deprecate `Nat.strongRec(On)'` |
In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. |
t-data
merge-conflict
|
34/66 |
Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean |
8 |
6 |
['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
73-45596 2 months ago |
61-30656 61 days ago |
15-53464 15 days |
| 35042 |
JovanGerb author:JovanGerb |
chore: remove `meta` form `import Mathlib.Tactic...` |
This PR cleans up some imports of the form `import Mathlib.Tactic...`, by either removing them entirely, or removing the `meta` keyword. It should never be necessary to `meta import` a file from `Mathlib.Tactic`, because the relevant definitions should already have been marked as `meta`.
The motivation is to reduce the amount of files that are `meta` imported when writing e.g. `import Mathlib`, hence reducing the amount of stuff that needs to be loaded. There are more other `meta import`s that need to be removed, but this PR is a good start.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
61/142 |
Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Data/List/ChainOfFn.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ArithMult.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/Choose.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/DeriveCountable.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/Explode.lean,Mathlib/Tactic/Explode/Pretty.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/IrreducibleDef.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Tactic/Order/Graph/Tarjan.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Peel.lean,Mathlib/Tactic/ProdAssoc.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Qify.lean,Mathlib/Tactic/RSuffices.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Common.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/PNat.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TautoSet.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/TagUnfoldBoundary.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CommDiag.lean,Mathlib/Tactic/Widget/CongrM.lean |
107 |
9 |
['JovanGerb', 'dupuisf', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
70-36946 2 months ago |
65-60239 65 days ago |
26-69911 26 days |
| 36495 |
AlexKontorovich author:AlexKontorovich |
chore(Finset/NatDivisors): refactor `card_divisors_mul` and `sum_divisors_mul` to not rely on `ArithmeticFunction` |
`Nat.Coprime.card_divisors_mul` and `Nat.Coprime.sum_divisors_mul` are moved to not rely on `ArithmeticFunction`. See zulip discussion here: [#mathlib4 > Library design question, e.g.`Nat.Coprime.card_divisors_mul` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Library.20design.20question.2C.20e.2Eg.2E.60Nat.2ECoprime.2Ecard_divisors_mul.60/near/577769899)
Co-authored-by: Ziyan Wei and Aayush Rajasekaran
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-number-theory
t-algebra
merge-conflict
label:t-algebra$ |
45/14 |
Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Data/Finset/NatDivisors.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean |
3 |
6 |
['AlexKontorovich', 'arajasek', 'github-actions', 'mathlib-merge-conflicts'] |
riccardobrasca assignee:riccardobrasca |
70-20463 2 months ago |
12-16827 12 days ago |
53-21240 53 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/)
|
merge-conflict
t-order
|
121/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean |
3 |
26 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
nobody |
67-31693 2 months ago |
182-62768 182 days ago |
114-37921 114 days |
| 37530 |
mcdoll author:mcdoll |
fix(Topology/Algebra): fix bad simps and make arguments implicit for `PointwiseConvergenceCLM` |
We delete all `simps` calls in the definitions of operators on `PointwiseConvergenceCLM` and replace them with `apply_apply` lemmas that do not abuse the defeq between `SLₚₜ` and `SL`. This made the linter discover some typeclass duplications, which we remove by restructuring the file.
As a consequence of the new `simp` lemmas, we can remove all `set_option backward.isDefEq.respectTransparency false in` in `Analysis.Distribution.TemperedDistribution`.
Moreover, we make several arguments implicit, which can be inferred in almost all practical situations.
---
[](https://gitpod.io/from-referrer/)
|
not-ready-to-merge
merge-conflict
|
88/69 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean |
2 |
5 |
['github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
31-66936 1 month ago |
31-66937 31 days ago |
14-59669 14 days |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
merge-conflict
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-66935 1 month ago |
31-66936 31 days ago |
15-61521 15 days |
| 37444 |
vihdzp author:vihdzp |
feat: typeclass for zero-dimensional spaces |
---
- [ ] depends on: #37317
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
151/110 |
Mathlib/Topology/Algebra/ClopenNhdofOne.lean,Mathlib/Topology/Category/LightProfinite/Basic.lean,Mathlib/Topology/Category/Profinite/Basic.lean,Mathlib/Topology/Category/Profinite/CofilteredLimit.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/ClopenBox.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/WithTop.lean,Mathlib/Topology/Separation/CompletelyRegular.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Separation/Lemmas.lean,Mathlib/Topology/Separation/Profinite.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean |
13 |
17 |
['ADedecker', 'FernandoChu', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
29-46219 29 days ago |
29-47291 29 days ago |
0-5306 1 hour |
| 38239 |
vihdzp author:vihdzp |
chore(Order/SuccPred/Limit): reorganize sections |
In an effort to keep the file better organized, we move theorems which use `SuccOrder`/`PredOrder` as an assumption to a new section.
No theorems have been changed.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
95/110 |
Mathlib/Order/SuccPred/Limit.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
29-10113 29 days ago |
29-10114 29 days ago |
2-48556 2 days |
| 37461 |
grunweg author:grunweg |
chore: golf using the field tactic |
---
In the spirit of #31314.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
32/43 |
Counterexamples/NowhereDifferentiable.lean,Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/PowerSeries/Exp.lean,Mathlib/Topology/UnitInterval.lean |
20 |
5 |
['github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
27-9817 27 days ago |
27-9818 27 days ago |
22-59925 22 days |
| 37774 |
weisbrja author:weisbrja |
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs |
[#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
merge-conflict
|
6/1 |
Mathlib/Logic/Function/Basic.lean |
1 |
8 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] |
nobody |
23-23445 23 days ago |
23-23446 23 days ago |
19-76858 19 days |
| 36740 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `AlgebraicGeometry.Scheme.isBasis_affineOpens`: unchanged 🎉
* `SimpleGraph.Walk.takeUntil_eq_take`: 263 ms before, 180 ms after 🎉
* `SimpleGraph.Walk.dropUntil_eq_drop`: 382 ms before, 261 ms after 🎉
* `Int.image_Ico_emod`: unchanged 🎉
* `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
7/33 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean |
4 |
8 |
['artie2000', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
21-12908 21 days ago |
21-12909 21 days ago |
43-5868 43 days |
| 37603 |
Parcly-Taxel author:Parcly-Taxel |
refactor: review of `SetSemiring` |
* Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`.
* Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately.
* Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`.
Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. |
maintainer-merge
merge-conflict
|
120/165 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean |
2 |
42 |
['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
nobody |
21-4298 21 days ago |
21-4299 21 days ago |
22-62470 22 days |
| 38329 |
jcommelin author:jcommelin |
chore: tighten down public/exposed API of AlgebraicClosure |
This PR tightens down the API of AlgebraicClosure,
by making few parts of FieldTheory/IsAlgClosed/AlgebraicClosure.lean
public and/or exposed.
We still need to expose the main definition.
It would be great if we can unexpose it in the future.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
73/53 |
Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Norm/Transitivity.lean,Mathlib/RingTheory/Trace/Basic.lean |
9 |
26 |
['eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'riccardobrasca'] |
nobody |
21-4281 21 days ago |
21-4282 21 days ago |
7-41851 7 days |
| 37819 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas |
This is a modification of #34093. See #34093 for details.
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
337/10 |
Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean |
6 |
5 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
19-73906 19 days ago |
19-73906 19 days ago |
22-11204 22 days |
| 37053 |
artie2000 author:artie2000 |
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem |
Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`.
This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
merge-conflict
|
15/12 |
Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
9 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
9-12511 9 days ago |
9-12512 9 days ago |
46-71615 46 days |
| 35217 |
kim-em author:kim-em |
feat: auxiliary lemmas for Artin and braid groups |
This PR adds small lemmas to existing files, in preparation for the Artin groups and braid groups PRs.
- `Commute.mul_pow_eq_one`: for commuting elements with `a ^ m = 1` and `b ^ m = 1`
- `Equiv.Perm.swap_conjugate`: braid relation for adjacent transpositions
- `Equiv.Perm.swap_mul_swap_comm_of_disjoint`: disjoint transpositions commute
- `@[grind =]` attributes on `Perm.mul_apply`, `Perm.one_apply`; new `Perm.pow_add_one_apply`
- `Subgroup.normalClosure_singleton_one`
- `FreeGroup.ofList` and associated lemmas
- `FreeGroup.freeGroupUnitMulEquivInt`
- `PresentedGroup.instUniqueOfIsEmpty`
- `CoxeterMatrix.Aₙ_adjacent`, `CoxeterMatrix.Aₙ_far`
🤖 Prepared with Claude Code |
t-group-theory
LLM-generated
merge-conflict
|
97/2 |
Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
7 |
16 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'themathqueen'] |
thorimur assignee:thorimur |
7-4298 7 days ago |
7-4298 7 days ago |
20-78468 20 days |
| 37553 |
grunweg author:grunweg |
chore: golf using .ne and friends |
ne_of_gt -> .ne'
ne_of_lt -> .ne
le_of_lt -> .le
Drive-by golfs using gcongr and positivity and been split into separate PRs.
---
- [x] depends on: #37462
- [x] depends on: #37715
- [x] depends on: #37554
- [x] depends on: #37845
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
302/321 |
Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Poisson.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Real/ConjExponents.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean |
114 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
7-3797 7 days ago |
7-3797 7 days ago |
13-66876 13 days |
| 39229 |
grunweg author:grunweg |
dev: towards `fun_prop` on manifolds |
---
- [ ] depends on: #39226
Rebased version of #31580. Meant to be a prototype that demonstrate how this could possibly work.
Not functional yet; waiting on cache to continue.
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
305/1 |
Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Tactic/FunProp/Core.lean,MathlibTest/DifferentialGeometry/FunPropM.lean,MathlibTest/fun_prop_dev.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
4-71087 4 days ago |
8-84659 8 days ago |
0-12 12 seconds |
| 38830 |
Jun2M author:Jun2M |
feat(Data/List): Nodup and head & getLast lemmas |
Given a Nodup list:
* If a prefix contains the last element, they are equal
* If a suffix contains the first element, they are equal
* If an infix contains the first element, it is a prefix
* If an infix contains the last element, it is a suffix
* If the first and the last element are the same, it is a singleton
* `countP` is cardinality of the filter of `toFinset`.
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
29/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/List/Nodup.lean |
2 |
7 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-6042 3 days ago |
3-6043 3 days ago |
15-71211 15 days |
| 39287 |
xgenereux author:xgenereux |
feat(Localization/AtPrime/Basic): upgrade `equivQuotMaximalIdeal` to an AlgEquiv |
The definition [IsLocalization.AtPrime.equivQuotMaximalIdealPow](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Localization/AtPrime/Basic.html#IsLocalization.AtPrime.equivQuotMaximalIdealPow) was added in #36783.
The case with `n = 1` is still important and interesting. I have upgraded it to an AlgEquiv using `equivQuotMaximalIdealPow`.
This did break a few small things, because we need to bridge back to a `RingEquiv` in some places. I took the liberty to add some missing `apply` lemmas to ease fixing these proofs.
Disclaimer: I used Claude to suggest the first shot and refined it from there.
María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
45/68 |
Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
3-5910 3 days ago |
3-5911 3 days ago |
4-53165 4 days |
| 39329 |
lecopivo author:lecopivo |
feat(fun_prop): eager application of transition theorems for fun_prop |
For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly
---
This is a change necessary in preparation for making `fun_prop` work for integrability.
-->
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
93/30 |
Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,MathlibTest/FunPropMinimal.lean |
4 |
14 |
['b-mehta', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
2-31505 2 days ago |
4-45453 4 days ago |
1-47071 1 day |
| 37584 |
kennethgoodman author:kennethgoodman |
feat(Data/Nat/Fib): formalize Lamé's theorem |
## Summary
Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory.
**Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`.
### New definitions
- `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs.
### New theorems
- `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count.
- `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input.
- `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`.
### Proof strategy
Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm.
### References
- Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844.
---
### AI usage disclosure
Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps.
---
- [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`)
- [x] no `sorry`
- [x] lines ≤ 100 characters, no trailing whitespace
- [x] `autoImplicit false`
- [x] docstrings on all public declarations |
new-contributor
LLM-generated
t-data
merge-conflict
|
121/0 |
Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml |
5 |
25 |
['euprunin', 'github-actions', 'kennethgoodman', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
TwoFX assignee:TwoFX |
2-20178 2 days ago |
2-20179 2 days ago |
44-66371 44 days |
| 35136 |
joelriou author:joelriou |
feat(AlgebraicGeometry): points of the small étale site |
The main definition in this PR is `Scheme.pointSmallEtale`. Given a morphism `Spec (.of Ω) ⟶ S` where `Ω` is
a separably closed field, we define the corresponding point of the small étale site of `S`. We show that these points form a conservative family.
(This PR also removes the definition `Scheme.geometricFiber` which was not correct.)
Co-authored-by: Christian Merten
---
- [x] depends on: #35141
- [x] depends on: #35175
- [x] depends on: #35240
- [x] depends on: #34976
- [x] depends on: #33958
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
large-import
merge-conflict
|
301/7 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Sites/Etale.lean,Mathlib/AlgebraicGeometry/Sites/EtalePoint.lean,Mathlib/CategoryTheory/Elements.lean,Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Limits/FinallySmall.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean |
11 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-3990 1 hour ago |
0-3991 57 minutes ago |
0-41367 11 hours |
| 38036 |
JovanGerb author:JovanGerb |
feat: `NSMul`/`NPow` type class |
This PR is adds `NSMul`, `NPow`, `ZSMul` and `ZPow` classes for the `nsmul`, `npow`, `zsmul`, `zpow` data fields.
This has a few advantages:
- If you first declare a `SMul` instance, then you don't need to manually write `nsmul := (· • ·)` and `zsmul := (· • ·)` . For `Pow`, the extra benefit is that inferring the instance is preferred over the default field `npowRecAuto`. So this helps avoid accidental diamonds.
- If you first declare a `SMul` instance on a type synonym, then `inferInstanceAs` will infer the `nsmul` field from the `SMul` instance. This makes it easier to avoid diamonds on type synonyms like `Matrix` and `MonoidAlgebra`.
- The not-yet-merged instance diamond linter will be able to detect cases where the `NSMul` and `SMul` classes do not agree.
In the process of making this PR, I have identified two existing `NPow` diamonds:
- In `Mathlib.Algebra.Order.Positive.Field`, there were two conflicting `NPow` instances.
- For `Fin`, there are two conflicting `NPow` instances. I have overwritten the one in core lean with the one from mathlib that is more computationally efficient.
TODO: the same for `QSMul` and `NNQSMul`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
276/273 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Int/Defs.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Positive/Field.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/MinimalAxioms.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/CategoryTheory/Triangulated/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/ZMod/Defs.lean,Mathlib/Data/ZMod/IntUnitsPower.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/ZPow.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/RingTheory/PolynomialLaw/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Translate/ToAdditive.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,MathlibTest/instance_diamonds.lean |
41 |
17 |
['JovanGerb', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
0-3741 1 hour ago |
0-3742 53 minutes ago |
29-38312 29 days |
| 39102 |
yuanyi-350 author:yuanyi-350 |
chore: reduce imports in 50 files |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
70/81 |
Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/Sobolev.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/LocallyConvex/Montel.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/LocallyConvex/SeparatingDual.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/AddTorsorBases.lean,Mathlib/Analysis/Normed/Affine/Convex.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Instances.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Bounded.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/FunctionSeries.lean,Mathlib/Analysis/Normed/Group/Indicator.lean,Mathlib/Analysis/Normed/Group/NullSubmodule.lean,Mathlib/Analysis/Normed/Group/Tannery.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Normed/MulAction.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/PSeriesComplex.lean,Mathlib/Analysis/SpecificLimits/Fibonacci.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/Subadditive.lean,Mathlib/Analysis/SumIntegralComparisons.lean |
48 |
13 |
['JovanGerb', 'YaelDillies', 'bryangingechen', 'github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib-merge-conflicts', 'yuanyi-350'] |
j-loreaux assignee:j-loreaux |
0-3734 1 hour ago |
0-3735 53 minutes ago |
11-63042 11 days |
| 39155 |
mathlib-nolints author:mathlib-nolints |
chore: lake shake --add-public --keep-implied --keep-prefix --fix |
I am happy to shake some imports for you!
**381 files changed** · +406 imports added · -346 imports removed
---
[workflow run for this PR](https://github.com/leanprover-community/mathlib4/actions/runs/26001831423)
[explain.txt](https://github.com/leanprover-community/mathlib4/actions/runs/26001831423/artifacts/7045805363) |
large-import
merge-conflict
|
406/346 |
Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/MonCat/Colimits.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Saturation.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Map.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/MapBijective.lean,Mathlib/Algebra/Homology/HomologicalComplexAbelian.lean,Mathlib/Algebra/Homology/ModelCategory/Injective.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Lie/CartanCriterion.lean,Mathlib/Algebra/LinearRecurrence.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MvPolynomial/Cardinal.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Funext.lean,Mathlib/Algebra/MvPolynomial/Nilpotent.lean,Mathlib/Algebra/NonAssoc/PreLie/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Archimedean/Submonoid.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Order/SuccPred.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Regular/Defs.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/AlgebraicGeometry/Morphisms/SchemeTheoreticallyDominant.lean,Mathlib/AlgebraicGeometry/Morphisms/UniversallyClosed.lean,Mathlib/AlgebraicGeometry/Morphisms/WeaklyEtale.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialComplex/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/AlgebraicTopology/SimplicialSet/Monoidal.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplicesSubcomplex.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/CStarAlgebra/Projection.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Affine.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/LogDeriv.lean,Mathlib/Analysis/Complex/CanonicalDecomposition.lean,Mathlib/Analysis/Complex/Harmonic/Liouville.lean,Mathlib/Analysis/Complex/Harmonic/Poisson.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Manifold.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Approximation.lean,Mathlib/Analysis/Convex/FunctionTopology.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/Normed/Module/Complemented.lean,Mathlib/Analysis/Normed/Module/DoubleDual.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/Adhesive/Subobject.lean,Mathlib/CategoryTheory/CopyDiscardCategory/Widesubcategory.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Jointly.lean,Mathlib/CategoryTheory/Limits/Constructions/WidePullbackOfTerminal.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Terminal.lean,Mathlib/CategoryTheory/Limits/Preserves/SigmaConst.lean,Mathlib/CategoryTheory/Limits/Preserves/Yoneda.lean,Mathlib/CategoryTheory/Limits/Yoneda.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Normal.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon.lean,Mathlib/CategoryTheory/Monoidal/Widesubcategory.lean |
381 |
27 |
['JovanGerb', 'MichaelStollBayreuth', 'bryangingechen', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
0-3733 1 hour ago |
0-3734 53 minutes ago |
5-71867 5 days |
| 39399 |
Brian-Nugent author:Brian-Nugent |
feat(Algebra/CategoryTheory/ModuleCat): Locally Free Sheaves |
This PR gives a definition of locally free sheaves in terms of first defining a predicate IsLocallyFree for [SheafOfModules.LocalGeneratorsData](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.html#SheafOfModules.LocalGeneratorsData).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
merge-conflict
label:t-algebra$ |
207/5 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean |
4 |
11 |
['Brian-Nugent', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
0-3728 1 hour ago |
0-3729 53 minutes ago |
5-61168 5 days |
| 39437 |
ooovi author:ooovi |
feat(Geometry/Convex/ConvexSpace): show that an `AffineMap` `IsAffineMap` |
Show that `Convexity.IsAffineMap` generalises `AffineMap`s between affine spaces.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
merge-conflict
|
24/3 |
Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-3726 1 hour ago |
0-3727 53 minutes ago |
5-8931 5 days |
| 39509 |
mcdoll author:mcdoll |
chore(Topology): add `push/pull_end` tags for CLMs |
Simpsets were introduced in #38359, see also #39508
---
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
2/0 |
Mathlib/Topology/Algebra/Module/LinearMap.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
0-3725 1 hour ago |
0-3726 53 minutes ago |
3-40182 3 days |
| 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 |
| 14563 |
awueth author:awueth |
feat: if-then-else of exclusive or statement |
---
If `¬(P ∧ Q)` then `ite (P ∨ Q) a 1 = (ite P a 1) * (ite Q a 1)`
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Group/Basic.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
643-54022 1 year ago |
674-14604 674 days ago |
6-38745 6 days |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
639-38931 1 year ago |
674-45153 674 days ago |
56-40668 56 days |
| 14669 |
Command-Master author:Command-Master |
feat(Data/Nat/PartENat): add lemmas for PartENat |
Add some missing lemmas for `PartENat`, as well as the additive homomorphism from it to `WithTop Int`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
merge-conflict
|
90/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
4 |
['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
nobody |
626-50821 1 year ago |
677-58343 677 days ago |
0-6775 1 hour |
| 15121 |
Eloitor author:Eloitor |
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
40/0 |
Mathlib/CategoryTheory/EpiMono.lean |
1 |
3 |
['github-actions', 'joelriou', 'mattrobball'] |
nobody |
626-13766 1 year ago |
657-59425 657 days ago |
7-3203 7 days |
| 14242 |
js2357 author:js2357 |
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` |
Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`.
Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib.
- [x] depends on: #14099
- [x] depends on: #14216
- [ ] depends on: #14237
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
269/1 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
603-24825 1 year ago |
691-13772 691 days ago |
0-273 4 minutes |
| 16887 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define conjunctive and disjunctive formulas |
Defines `FirstOrder.Language.BoundedFormula.IsConjunctive` and `FirstOrder.Language.BoundedFormula.IsDisjunctive`.
---
- [ ] depends on: #16885
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
300/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20803 1 year ago |
610-48877 610 days ago |
0-1299 21 minutes |
| 16888 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Define conjunctive and disjunctive normal forms |
Define `FirstOrder.Language.BoundedFormula.IsDNF` and `FirstOrder.Language.BoundedFormula.IsCNF`.
---
- [ ] depends on: #16887
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
415/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20803 1 year ago |
610-48878 610 days ago |
0-1045 17 minutes |
| 16889 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Normal forms |
Defines `FirstOrder.Language.BoundedFormula.toDNF` and `FirstOrder.Language.BoundedFormula.toCNF` - given a quantifier-free formula, these construct a semantically equivalent formula in disjunctive normal form and conjunctive normal form, respectively.
---
- [ ] depends on: #16888
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
525/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20802 1 year ago |
610-44628 610 days ago |
0-613 10 minutes |
| 14619 |
Command-Master author:Command-Master |
chore: Merge `Trunc` to `Squash` |
Remove `Trunc` and use `Squash` instead
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
|
197/211 |
Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Semiquot.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/List.lean |
13 |
3 |
['Command-Master', 'github-actions', 'vihdzp'] |
nobody |
585-67353 1 year ago |
unknown |
0-0 0 seconds |
| 12750 |
Command-Master author:Command-Master |
feat: define Gray code |
---
Define binary reflected gray code, both as a permutation of `Nat` and as a permutation of `BitVec n`, and prove some theorems about them. Additionally, remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
- [ ] depends on: #12751
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-data
new-contributor
merge-conflict
awaiting-author
|
226/0 |
Mathlib.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/GrayCode.lean,Mathlib/Data/Nat/Size.lean |
5 |
5 |
['Rida-Hamadani', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
577-43460 1 year ago |
726-25558 726 days ago |
16-49744 16 days |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
560-71736 1 year ago |
560-71736 560 days ago |
7-45599 7 days |
| 16885 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define literals |
Defines `FirstOrder.Language.BoundedFormula.IsLiteral` and `FirstOrder.Language.BoundedFormula.simpleNot` - an auxiliary operation that takes the negation of a formula and does some simplification.
---
- [x] depends on: #16800
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
148/5 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
20 |
['YaelDillies', 'awainverse', 'github-actions', 'mathlib4-dependent-issues-bot', 'metinersin'] |
nobody |
558-27857 1 year ago |
594-17169 594 days ago |
0-19926 5 hours |
| 13248 |
hcWang942 author:hcWang942 |
feat: basic concepts of auction theory |
## Description
Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas.
This is the very first PR of the project formalizing core concepts and results in auction theory.
Our group is working on more contributions on the formalization of game theory prefix.
Co-authored-by: Ma Jiajun
## Reference
Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B)
---
- [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged
## Current plan for formalization of Game Theory
The current plan for the formalizing of Game Theory include:
#### 1. Auction Theory. 🎉 _(200+ lines, this PR)_
- Essential definitions of Sealed-bid auction, First-price auction and Second-price auction.
- First-price auction has no dominant strategy.
- Second-price auction has dominant strategy. (Second-price auction is DSIC)
#### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard)
- Mechanism design
An allocation rule is implementable if there exists
- Dominant Strategy Incentive Compatible (DSIC) payment rule
- An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid
- Myerson's Lemma
Implementable ⇔ Monotone
In the above case, the DSIC payment rule is unique.
#### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard)
- Equilibrium in zero sum game
- Formalization strategy: via Loomis’s theorem.
#### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard)
#### 5. Brouwer fixed-point theorem. (Work in Progress)
#### 6. More Mechanism design. (Planning)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
204/0 |
Mathlib.lean,Mathlib/GameTheory/Auction/Basic.lean,docs/references.bib |
3 |
148 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'hcWang942', 'tb65536', 'urkud', 'vihdzp'] |
hcWang942 assignee:hcWang942 |
553-66689 1 year ago |
567-52877 567 days ago |
109-82807 109 days |
| 19125 |
yhtq author:yhtq |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings.
- [x] depends on: #18404
- [x] depends on: #19124
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsFractionRing.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'tb65536'] |
nobody |
524-2706 1 year ago |
550-50488 550 days ago |
0-1980 33 minutes |
| 17739 |
Aaron1011 author:Aaron1011 |
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals |
Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
27/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
8 |
['github-actions', 'vihdzp'] |
nobody |
490-24718 1 year ago |
583-16288 583 days ago |
0-4704 1 hour |
| 15711 |
znssong author:znssong |
feat(Combinatorics/SimpleGraph): Some lemmas about walk, cycle and Hamiltonian cycle |
---
These lemmas are separated from the `meow-sister/BondyChvatal` branch and will be needed for the proof of the Bondy-Chvátal theorem.
- [x] depends on: #15536
- [x] depends on: #16294 |
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
407/3 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
4 |
22 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'znssong'] |
nobody |
489-43804 1 year ago |
610-54965 610 days ago |
9-13962 9 days |
| 15720 |
znssong author:znssong |
feat(SimpleGraph): The Bondy-Chvátal theorem |
The proof of the Bondy-Chvátal theorem, with Dirac's theorem and Ore's theorem as its corollary.
- [x] depends on: #15536
- [ ] depends on: #15711
- [ ] depends on: #15578 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
903/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BondyChvatal.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
8 |
3 |
['github-actions', 'grunweg'] |
nobody |
489-43804 1 year ago |
646-61158 646 days ago |
0-1791 29 minutes |
| 18629 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.merge |
This PR adds the formalization of the runtime complexity of the merge function, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15450
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
186/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean |
3 |
2 |
['github-actions', 'trivial1711'] |
nobody |
489-9723 1 year ago |
529-9336 529 days ago |
33-11262 33 days |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
485-57303 1 year ago |
485-57303 485 days ago |
69-35596 69 days |
| 19291 |
PieterCuijpers author:PieterCuijpers |
feat(Algebra/Order/Hom): add quantale homomorphism |
Definition of quantale homomorphisms as functions that are both semigroup homomorphisms and complete lattice homomorphisms.
---
- [x] depends on: #19810
- [x] depends on: #19811
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Quantale.lean,scripts/noshake.json |
3 |
29 |
['PieterCuijpers', 'YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] |
nobody |
484-31382 1 year ago |
489-85183 489 days ago |
29-51482 29 days |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
477-48730 1 year ago |
477-48730 477 days ago |
27-43617 27 days |
| 20248 |
peabrainiac author:peabrainiac |
feat(Topology/Compactness): first-countable locally path-connected spaces are delta-generated |
Shows that all first-countable locally path-connected spaces are delta-generated (so in particular all normed spaces and convex subsets thereof are), and that delta-generated spaces are equivalently generated by the unit interval or standard simplices.
---
- [ ] depends on: #21616
In principle, this should be close to all that's required to show that all simplicial complexes and CW-complexes are delta-generated; I just haven't done it yet because I'm not sure which file to best do it in.
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
new-contributor
merge-conflict
awaiting-author
t-topology
|
1189/813 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Connected/LocPathConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Path.lean |
9 |
22 |
['YaelDillies', 'github-actions', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'peabrainiac'] |
nobody |
465-6040 1 year ago |
471-56957 471 days ago |
39-21495 39 days |
| 19943 |
AlexLoitzl author:AlexLoitzl |
feat(Computability): Add Chomsky Normal Form Grammar and translation |
- Define Chomsky normal form grammars
- Add language-preserving translation between context-free grammars and Chomsky normal form grammars
Co-authored-by: Martin Dvorak martin.dvorak@matfyz.cz
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
3151/0 |
Mathlib.lean,Mathlib/Computability/ChomskyNormalForm/Basic.lean,Mathlib/Computability/ChomskyNormalForm/EmptyElimination.lean,Mathlib/Computability/ChomskyNormalForm/LengthRestriction.lean,Mathlib/Computability/ChomskyNormalForm/TerminalRestriction.lean,Mathlib/Computability/ChomskyNormalForm/Translation.lean,Mathlib/Computability/ChomskyNormalForm/UnitElimination.lean,Mathlib/Computability/ContextFreeGrammar.lean |
8 |
59 |
['AlexLoitzl', 'YaelDillies', 'github-actions', 'kim-em', 'madvorak'] |
nobody |
460-40139 1 year ago |
467-51761 467 days ago |
37-29014 37 days |
| 21501 |
sksgurdldi author:sksgurdldi |
feat(List): add sum_zipWith_eq_finset_sum |
### **Description:**
This PR adds the lemma `List.sum_zipWith_eq_finset_sum` to `Mathlib.Algebra.BigOperators.Group.Finset.Basic`.
#### **Statement:**
The sum of the `zipWith` operation on two lists equals the sum of applying the operation to corresponding elements of the two lists, indexed over the minimum of their lengths.
#### **Formal Statement:**
```lean
lemma sum_zipWith_eq_finset_sum [Inhabited α] [Inhabited β] [AddCommMonoid γ]
{op : α → β → γ}
(l : List α) (m : List β) :
(List.zipWith op l m).sum =
∑ x ∈ (Finset.range (Nat.min l.length m.length)), op (l[x]!) (m[x]!)
```
#### **Remarks:**
- This lemma provides a useful equivalence between `List.zipWith` and summation over a `Finset.range` indexed by `Nat.min l.length m.length`.
- It can be helpful in algebraic manipulations involving list-based summations.
#### **Dependencies:**
No additional dependencies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
43/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
1 |
['github-actions', 'j-loreaux'] |
nobody |
455-8910 1 year ago |
455-8910 455 days ago |
13-33168 13 days |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
441-34751 1 year ago |
441-34751 441 days ago |
16-76141 16 days |
| 15578 |
znssong author:znssong |
feat(Function): Fixed points of function `f` with `f(x) >= x` |
We added some lemmas of fixed points of function `f` with `f(x) >= x`, where `f : α → α` is a function on a finite type `α`. This will be needed in proof of Bondy-Chvátal theorem.
---
See also branch `meow-sister/BondyChvatal`.
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
82/0 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
3 |
32 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'urkud', 'vihdzp', 'znssong'] |
nobody |
433-30577 1 year ago |
616-33806 616 days ago |
29-48368 29 days |
| 21018 |
markimunro author:markimunro |
feat(Data/Matrix): add file with key definitions and theorems about elementary row operations |
Prove that each elementary row operation is equivalent to a multiplication by an elementary matrix, has another row operation which inverts it, and that each elementary matrix has a left inverse.
This is a very large PR and I understand it will take time. This is my first one and will likely have issues but I will be ready to answer questions/fix them as soon as possible.
Co-authored-by: Christopher Lynch
---
[](https://gitpod.io/from-referrer/)
|
t-data
enhancement
new-contributor
merge-conflict
awaiting-author
|
1230/0 |
Mathlib.lean,Mathlib/Data/Matrix/ElementaryRowOperations.lean,Mathlib/Data/Matrix/GaussianElimination.lean,Mathlib/Data/Matrix/GaussianEliminationOld,Mathlib/Data/Matrix/oldnames,et --hard 18533caba32,lean-toolchain |
7 |
17 |
['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] |
nobody |
414-65976 1 year ago |
440-8532 440 days ago |
23-22681 23 days |
| 15212 |
victorliu5296 author:victorliu5296 |
feat: Add fundamental theorem of calculus-2 for Banach spaces |
add the Mean Value Theorem for Banach spaces to the library and include reference for the theorem statement
This theorem states that if `f : X → Y` is differentiable along the line segment from `a` to `b`, then the change in `f` equals the integral of its derivative along this path. This extends the mean value theorem to Banach spaces. This can be used for the eventual proof of the Newton-Kantorovich theorem with 1 constant contained inside the added reference.
Here is the discussion on Zulipchat: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Contributing.20FTC-2.20for.20Banach.20spaces |
t-measure-probability
new-contributor
merge-conflict
awaiting-author
t-analysis
|
60/1 |
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
1 |
3 |
['github-actions', 'hrmacbeth', 'victorliu5296'] |
nobody |
409-60965 1 year ago |
603-38336 603 days ago |
51-85104 51 days |
| 22308 |
plp127 author:plp127 |
feat (Analysis/Convex): Generalize `Convex` lemmas to `StarConvex` |
This PR generalizes many lemmas assuming `Convex 𝕜 s` to assume `StarConvex 𝕜 0 s`.
---
- [x] depends on: #22421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
new-contributor
|
30/18 |
Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean |
4 |
5 |
['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
406-46885 1 year ago |
unknown |
0-0 0 seconds |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
406-43153 1 year ago |
406-43154 406 days ago |
58-6026 58 days |
| 20873 |
vbeffara author:vbeffara |
feat(Topology/Covering): path lifting and homotopy lifting |
This proves the existence and uniqueness of path and homotopy lifts through covering maps.
---
I tried to separate as much of the proof as possible into separate PRs (which are already in Mathlib now), but the proof here relies on a monolithic construction of an explicit lift along a well-chosen subdivision, in `partial_lift`, with associated definitions. Only one standalone lean file added.
An older WIP PR #10084 by Junyan Xu @alreadydone proves similar results using a very similar construction for path lifting, with a different argument to obtain continuity for homotopy lifting.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
281/1 |
Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean |
3 |
9 |
['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] |
nobody |
405-45881 1 year ago |
480-38641 480 days ago |
5-5648 5 days |
| 20313 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Complex/Exponential): prove some useful results about the complex exponential. |
This PR proves two basic results about the complex exponential:
* `abs_exp_mul_I (x : ℂ) : abs (Complex.exp (I * x)) = Real.exp (-x.im)`
* `one_sub_rexp_re_le_abs_one_sub_cexp (x : ℂ) : 1 - Real.exp x.re ≤ Complex.abs (1 - Complex.exp x)`
Both results were proved as part of the sphere packing project. There's a chance they're too specific for mathlib, but I thought they were worth PRing anyway. Would it also be a good idea to tag `abs_exp_mul_I` with `simp`? Feedback/suggestions welcome.
Note: `one_sub_rexp_re_le_abs_one_sub_cexp` was proved by Bhavik Mehta @b-mehta
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
new-contributor
|
167/141 |
Mathlib.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/Data/Complex/Exponential/Defs.lean,Mathlib/Data/Complex/Exponential/Lemmas.lean,Mathlib/Data/Complex/ExponentialBounds.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/Recall.lean,MathlibTest/positivity.lean |
10 |
12 |
['b-mehta', 'github-actions', 'kim-em', 'thefundamentaltheor3m', 'trivial1711'] |
nobody |
398-17079 1 year ago |
481-28326 481 days ago |
8-42257 8 days |
| 20730 |
kuotsanhsu author:kuotsanhsu |
feat(LinearAlgebra/Matrix/SchurTriangulation): prove Schur decomposition/triangulation |
`Matrix.schur_triangulation` shows that a matrix over an algebraically closed field is unitarily similar to an upper triangular matrix
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
317/2 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean,Mathlib/Logic/Equiv/Basic.lean |
4 |
14 |
['eric-wieser', 'github-actions', 'kim-em', 'kuotsanhsu'] |
nobody |
398-13211 1 year ago |
478-4184 478 days ago |
13-56244 13 days |
| 22809 |
b-reinke author:b-reinke |
feat: Category algebras and path algebras |
This PR defines the category algebra of a linear category and path algebras of quivers.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
218/0 |
Mathlib/Algebra/Ring/Assoc.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Combinatorics/Quiver/PathAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
4 |
2 |
['b-reinke', 'github-actions'] |
nobody |
382-64050 1 year ago |
unknown |
0-0 0 seconds |
| 15654 |
TpmKranz author:TpmKranz |
feat(Computability): language-preserving maps between NFA and RE |
Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs
Last chunk of #12648
---
- [ ] depends on: #15651
- [ ] depends on: #15649
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-computability
merge-conflict
awaiting-zulip
|
985/2 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Data/FinEnum/Option.lean,docs/references.bib |
7 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'meithecatte'] |
nobody |
380-10329 1 year ago |
649-33514 649 days ago |
0-179 2 minutes |
| 24008 |
meithecatte author:meithecatte |
chore(EpsilonNFA): replace manual lemmas with @[simps] |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-author
new-contributor
|
2/24 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'urkud'] |
nobody |
374-55908 1 year ago |
374-55908 374 days ago |
27-52316 27 days |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
358-28249 11 months ago |
358-28251 358 days ago |
35-30364 35 days |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
348-202 11 months ago |
731-27855 731 days ago |
9-22045 9 days |
| 20334 |
miguelmarco author:miguelmarco |
feat: allow polyrith to use a local Singular/Sage install |
Try to call a local install of Singular (either standalone or inside Sage) to find the witness for polyrith before trying to call the online sage cell server.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-meta
|
171/48 |
Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py |
2 |
16 |
['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] |
nobody |
340-79155 11 months ago |
479-30736 479 days ago |
27-61498 27 days |
| 25218 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): Tate normal form of elliptic curves |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
awaiting-zulip
new-contributor
|
291/26 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Modular/TateNormalForm.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
5 |
31 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'grunweg', 'kckennylau', 'leanprover-community-bot-assistant'] |
nobody |
319-75916 10 months ago |
352-51033 352 days ago |
6-47693 6 days |
| 10190 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add Augmented Simplex Category |
- Added the definition of the category FinLinOrd of finite linear ordered sets.
- Added the definition of the augmented simplex category `AugmentedSimplexCategory`, and showed it is the Skeleton of FinLinOrd.
- Showed that the category of augmented simplicial objects defined as a comma category is equivalent to the category of functors from `AugmentedSimplexCategory^\op`
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-category-theory
new-contributor
merge-conflict
|
720/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean |
4 |
5 |
['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] |
nobody |
293-48056 9 months ago |
830-40982 830 days ago |
7-63253 7 days |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
289-54247 9 months ago |
319-75916 319 days ago |
38-26044 38 days |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
288-56268 9 months ago |
541-49861 541 days ago |
20-16585 20 days |
| 20671 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Asymptotics/SpecificAsymptotics): Proving that 𝛔ₖ(n) = O(nᵏ⁺¹) |
This PR proves a result about the $\sigma_k(n)$ arithmetic function, namely, that it is $O\left(n^{k+1}\right)$. Main theorem:
`theorem sigma_asymptotic (k : ℕ) : (fun n ↦ (σ k n : ℝ)) =O[atTop] (fun n ↦ (n ^ (k + 1) : ℝ))`
This result was proved as part of the sphere packing project.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
29/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
3 |
['b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
283-59809 9 months ago |
484-34624 484 days ago |
9-59130 9 days |
| 20722 |
ctchou author:ctchou |
feat(Counterexamples): the Vitali set is non-measurable |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-measure-probability
new-contributor
merge-conflict
awaiting-author
|
258/3 |
Counterexamples.lean,Counterexamples/VitaliSetNotMeasurable.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,docs/1000.yaml |
4 |
76 |
['ctchou', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
vihdzp assignee:vihdzp |
277-49493 9 months ago |
491-41463 491 days ago |
0-47663 13 hours |
| 28502 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): avoid unnecessary uses of choice |
Certain proofs are modified to remove a dependence on the axoim of choice
---
- [ ] depends on: #28623
|
blocked-by-other-PR
new-contributor
merge-conflict
awaiting-author
t-logic
|
83/74 |
Mathlib/Logic/Basic.lean |
1 |
7 |
['Ruben-VandeVelde', 'eric-wieser', 'gilesgshaw', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
274-71305 9 months ago |
277-56834 277 days ago |
0-35689 9 hours |
| 19582 |
yu-yama author:yu-yama |
feat(GroupExtension/Abelian): define `OfMulDistribMulAction.equivH2` |
Mainly defines:
- `structure GroupExtension.OfMulDistribMulAction N G [MulDistribMulAction G N]`: group extensions of `G` by `N` where the multiplicative action of `G` on `N` is the conjugation
- `structure GroupExtension.OfMulDistribMulActionWithSection N G [MulDistribMulAction G N]`: group extensions with specific choices of sections
- `def GroupExtension.OfMulDistribMulAction.equivH2`: a bijection between the equivalence classes of group extensions and $H^2 (G, N)$
---
- [x] depends on: #20802 (split PR: contains changes to the `Defs` file)
- [x] depends on: #20998 (split PR: mainly adds the `Basic` file)
- [ ] depends on: #26670 (split PR: adds the first part of the `Abelian` file)
Here is a relevant TODO in Mathlib:
https://github.com/leanprover-community/mathlib4/blob/4e9fa40d7c480937e09cd6e47a591bd6f3b8be42/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean#L46-L48
I would appreciate your comments.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
750/14 |
Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib |
4 |
5 |
['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
272-21413 8 months ago |
494-78372 494 days ago |
43-22586 43 days |
| 27403 |
MoritzBeroRoos author:MoritzBeroRoos |
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..).
This pr replaces instances of ⬝ where · was probably meant.
All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle.
[Related](https://github.com/leanprover-community/mathlib4/pull/27399)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
195/195 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean |
49 |
5 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
270-72394 8 months ago |
293-48316 293 days ago |
7-54661 7 days |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
270-34226 8 months ago |
293-48317 293 days ago |
7-62439 7 days |
| 27479 |
iu-isgood author:iu-isgood |
feat: Abel's Binomial Theorem |
We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
326/0 |
Mathlib/Data/Nat/Choose/AbelBinomial.lean |
1 |
28 |
['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] |
nobody |
270-33987 8 months ago |
299-31684 299 days ago |
0-237 3 minutes |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
254-5355 8 months ago |
254-36458 254 days ago |
73-43082 73 days |
| 28623 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): minor additions and simplification of proofs |
Add new theorems and simplify proofs.
Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`.
For each other 'family' of theorems in the file that is analogous to the above, we do the following
- Simplify proofs where possible, e.g. by appealing to the new theorems
- Complete the family, if any of the corresponding four are missing
- Rename to ensure consistency with the above pattern
---
|
merge-conflict
t-logic
new-contributor
|
83/55 |
Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
12 |
['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
awainverse assignee:awainverse |
253-40257 8 months ago |
253-40258 253 days ago |
10-61840 10 days |
| 25778 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat: Monotonicity of `setIntegral` for nonnegative functions |
This PR makes it easier to prove monotonicity of the Bochner integral on sets for nonnegative functions by removing the stronger assumption required by the general monotonicity lemma that both of the functions being compared must be integrable.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
new-contributor
|
8/0 |
Mathlib/MeasureTheory/Integral/Bochner/Set.lean |
1 |
6 |
['RemyDegenne', 'github-actions', 'sgouezel', 'thefundamentaltheor3m'] |
nobody |
251-35979 8 months ago |
342-43817 342 days ago |
0-11893 3 hours |
| 29588 |
Periecle author:Periecle |
feat(Analysis/Complex/Residue): Implement residue theory for complex functions at isolated singularities |
# Add basic residue theory for complex functions
This PR introduces the residue theory implementation in mathlib.
## Main additions
- **`HasIsolatedSingularityAt f c`**: Predicate for functions with isolated singularities at point `c`
- **`residue f c hf`**: The residue of `f` at isolated singularity `c`, defined via circle integrals
- **Radius independence**: `residue_eq_two_pi_I_inv_smul_circleIntegral` - residue equals normalized circle integral for any valid radius
- **Holomorphic residues**: `residue_of_holomorphic` - functions holomorphic in a neighborhood have zero residue
- **Simple pole formula**: `residue_simple_pole` - for `f(z) = (z-c)⁻¹ * g(z)`, residue equals `g(c)`
## Implementation notes
- Builds on existing circle integral infrastructure in `CauchyIntegral.lean`
- Uses `Classical.choose` to extract witness radius from isolated singularity condition
- Comprehensive documentation with mathematical context and examples
- Establishes foundation for residue theorem, argument principle, and other applications
## Examples included
- `residue(1/z, 0) = 1` (canonical simple pole)
- Radius independence demonstration
- Zero residues for holomorphic functions
This provides the essential building blocks for complex analysis and first step to formalize residue theory. |
awaiting-author
t-analysis
new-contributor
|
383/0 |
Mathlib/Analysis/Complex/Residue/Basic.lean |
1 |
17 |
['Periecle', 'github-actions', 'hrmacbeth', 'llllvvuu', 'loefflerd'] |
nobody |
238-39457 7 months ago |
250-45839 250 days ago |
0-976 16 minutes |
| 26178 |
ppls-nd-prs author:ppls-nd-prs |
feat(CategoryTheory/Limits): Fubini for products |
We show that the product of products is a product indexed by the sigma type.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
17/0 |
Mathlib/CategoryTheory/Limits/Shapes/Products.lean |
1 |
6 |
['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] |
nobody |
233-54501 7 months ago |
334-63901 334 days ago |
0-47665 13 hours |
| 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
awaiting-author
new-contributor
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
36 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
228-20247 7 months ago |
228-20247 228 days ago |
46-25852 46 days |
| 16773 |
arulandu author:arulandu |
feat(Probability/Distributions): formalize Beta distribution |
Formalize Beta distribution, using Gamma distribution as a reference. Added real-valued beta wrapper, in the manner of gamma. Thanks to @EtienneC30 for help with casting real <-> complex.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
|
286/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
3 |
50 |
['EtienneC30', 'arulandu', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
arulandu assignee:arulandu |
222-29552 7 months ago |
612-57101 612 days ago |
1-21124 1 day |
| 30460 |
janithamalith author:janithamalith |
feat(Nat): add lemma nat_card_orbit_mul_card_stabilizer_eq_card_group |
Added a lemma `nat_card_orbit_mul_card_stabilizer_eq_card_group` which is the Nat.card version of MulAction.card_orbit_mul_card_stabilizer_eq_card_group
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-group-theory
new-contributor
|
6/0 |
Mathlib/GroupTheory/GroupAction/CardCommute.lean |
1 |
17 |
['github-actions', 'kckennylau', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
212-39802 7 months ago |
212-39802 212 days ago |
8-8414 8 days |
| 25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
211-3334 6 months ago |
211-3334 211 days ago |
148-3286 148 days |
| 30828 |
DeVilhena-Paulo author:DeVilhena-Paulo |
feat: implementation of `Finmap.merge` |
The main contribution of this pull request is the implementation of a `merge` function for finite maps (`Finmap`). The construction relies on the definition of a `merge` function for association lists (`AList`).
There is also a side (unrelated) contribution on `Mathlib/Data/List/Permutation.lean`: the addition of a theorem about the permutation of a list with a head element (that is, a list of the form `a :: l`).
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
449/3 |
Mathlib/Data/Finmap.lean,Mathlib/Data/List/AList.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean |
4 |
1 |
['github-actions'] |
nobody |
209-26766 6 months ago |
209-26837 209 days ago |
0-80 1 minute |
| 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/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
45/5 |
Mathlib/NumberTheory/ArithmeticFunction.lean |
1 |
19 |
['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'sun123zxy'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
204-59205 6 months ago |
220-33881 220 days ago |
47-58311 47 days |
| 30299 |
franv314 author:franv314 |
feat(Topology/Instances): Cantor set |
Prove that the Cantor set has empty interior and the cardinality of the continuum as discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20few.20results.20about.20the.20Cantor.20set/with/543560670)
Moves:
- Mathlib.Topology.Instances.CantorSet -> Mathlib.Topology.Instances.CantorSet.Basic
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
file-removed
awaiting-author
t-topology
|
355/2 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
4 |
5 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
204-50935 6 months ago |
225-33564 225 days ago |
0-2409 40 minutes |
| 30303 |
franv314 author:franv314 |
chore(Topology/Instances): add deprecated module |
Add deprecated module to moved Cantor set file.
---
- [ ] depends on: #30299
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
|
486/124 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
204-50933 6 months ago |
225-31433 225 days ago |
0-340 5 minutes |
| 29871 |
zach1502 author:zach1502 |
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation |
This PR adds two lemmas formalizing standard Gaussian pivot identities:
* `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`:
After applying the canonical left/right transvection products that clear the last column and row,
the pivot (bottom-right) entry of a matrix is unchanged.
Marked `@[simp]`.
* `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`:
If the pivot entry is nonzero, then the determinant of the matrix factors as
the determinant of the top-left block times the pivot entry, after performing
the canonical transvections.
This is the usual Gauss–pivot determinant identity.
* Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas
are usable by `simp`/`simpa`.
---
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
3 |
['github-actions', 'riccardobrasca', 'zach1502'] |
nobody |
198-50456 6 months ago |
198-50456 198 days ago |
41-53449 41 days |
| 30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
3 |
['b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
197-69986 6 months ago |
197-69986 197 days ago |
31-69826 31 days |
| 26901 |
5hv5hvnk author:5hv5hvnk |
feat: a simproc version of `compute_degree` |
Wrap `compute_degree` in a simproc for use by simp.
Closes #22219.
--- |
awaiting-CI
new-contributor
merge-conflict
awaiting-author
t-meta
|
198/0 |
Mathlib.lean,Mathlib/Tactic/Simproc/PolynomialDegree.lean,MathlibTest/polynomial_degree_simproc.lean |
3 |
19 |
['5hv5hvnk', 'YaelDillies', 'adomani', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
195-30254 6 months ago |
313-47248 313 days ago |
2-71043 2 days |
| 30150 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): to_additive for MonoidalCategory |
Add `AddMonoidalCategory`, the additive version of `MonoidalCategory`.
To get this to work, I needed to _remove_ the `to_additive` attributes in `Discrete.lean`, since existing code relies on the `AddMonoid M → MonoidalCategory M` instance. For now, we simply implement the additive variants by hand instead.
---
As discussed in #28718; I added an `AddMonoidalCategory` struct and tagged `MonoidalCategory` with `to_additive`, along with the lemmas in `Category.lean`.
I think this is the right approach, since under this framework the "correct" additive version of `Discrete.lean` would be mapping an `AddMonoid` to an `AddMonoidalCategory`.
Next steps would be to:
- Make `monoidal_coherence` and `coherence` support `AddMonoidalCategory`
- Add `CocartesianMonoidalCategory` extending `AddMonoidalCategory`
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
new-contributor
merge-conflict
awaiting-zulip
t-meta
|
444/125 |
Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
3 |
22 |
['JovanGerb', 'YaelDillies', 'github-actions', 'imbrem', 'mathlib4-merge-conflict-bot'] |
nobody |
188-79645 6 months ago |
228-58311 228 days ago |
1-160 1 day |
| 15651 |
TpmKranz author:TpmKranz |
feat(Computability/NFA): operations for Thompson's construction |
Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid.
Third chunk of #12648
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
307/5 |
Mathlib/Computability/NFA.lean |
1 |
27 |
['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
184-10377 6 months ago |
603-37765 603 days ago |
45-84611 45 days |
| 15649 |
TpmKranz author:TpmKranz |
feat(Computability): introduce Generalised NFA as bridge to Regular Expression |
Lays the groundwork for a proof of equivalence of NFA and RE, w.r.t. described language. Actual connection to NFA comes later, after the groundwork for the opposite direction has been laid.
Second chunk of #12648
---
- [x] depends on: #15647 [Data.FinEnum.Option unchanged since then]
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
298/0 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib |
5 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'trivial1711'] |
nobody |
183-26618 6 months ago |
528-76548 528 days ago |
23-54870 23 days |
| 5919 |
MithicSpirit author:MithicSpirit |
feat: implement orthogonality for AffineSubspace |
Define `AffineSubspace.orthogonal` and `AffineSubspace.IsOrtho`, as well as develop an API emulating that of `Submodule.orthogonal` and `Submodule.IsOrtho`, respectively. Additionally, provide some relevant lemmas exclusive to affine subspaces, which are mostly to do with the relationship between orthogonality and `AffineSubspace.Parallel`.
Closes #5539
---
Still WIP as I need to add more docstrings as well as notations for the new definitions.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
help-wanted
t-analysis
|
287/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean |
2 |
7 |
['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
MithicSpirit assignee:MithicSpirit |
182-64475 6 months ago |
866-2970 866 days ago |
0-433 7 minutes |
| 13442 |
dignissimus author:dignissimus |
feat: mabel tactic for multiplicative abelian groups |
Mabel tactic for multiplicative abelian groups (#10361)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
modifies-tactic-syntax
awaiting-author
help-wanted
t-meta
|
439/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean |
4 |
11 |
['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
182-64211 6 months ago |
632-56297 632 days ago |
0-16 16 seconds |
| 14237 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
This PR is part 3 out of 4 of a proof of `isDedekindDomain_iff_isDedekindDomainDvr`.
Part 4 is available here: #14242
- [x] depends on: #14099 Part 1
- [x] depends on: #14216 Part 2
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
230/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
3 |
22 |
['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
182-64209 6 months ago |
631-38032 631 days ago |
6-3525 6 days |
| 15224 |
AnthonyBordg author:AnthonyBordg |
feat(CategoryTheory/Sites): covering families and their associated Grothendieck topology |
Define covering families on a category and their associated Grothendieck topology by using the API for `Coverage`.
Give an explicit characterization of the covering sieves of the said topology.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
112/0 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean |
2 |
21 |
['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
182-64080 6 months ago |
658-30311 658 days ago |
1-48443 1 day |
| 17587 |
kmill author:kmill |
feat: Sym2-as-Finset theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
105/3 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/RingTheory/Polynomial/Vieta.lean |
4 |
11 |
['FordUniver', 'YaelDillies', 'github-actions', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
182-63926 6 months ago |
unknown |
0-0 0 seconds |
| 18630 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.mergeSort |
This PR adds the formalization of the runtime complexity of the merge sort algorithm, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15451
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
new-contributor
|
526/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
9 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
182-63924 6 months ago |
561-29327 561 days ago |
0-77273 21 hours |
| 20648 |
anthonyde author:anthonyde |
feat: formalize regular expression -> εNFA |
The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness.
---
- [x] depends on: #20644
- [x] depends on: #20645
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-zulip
new-contributor
|
490/0 |
Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib |
3 |
7 |
['anthonyde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'qawbecrdtey'] |
nobody |
182-63786 6 months ago |
380-10315 380 days ago |
75-77754 75 days |
| 21903 |
yhtq author:yhtq |
feat: add from/toList between `FreeSemigroup` and `List` with relative theorems |
Add from/toList between `FreeSemigroup` and `List` with relative theorems, as well as an incidental definition of lexicographic order on `FreeSemigroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-CI
large-import
merge-conflict
label:t-algebra$ |
169/0 |
Mathlib/Algebra/Free.lean |
1 |
12 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
182-63646 6 months ago |
409-47601 409 days ago |
50-9294 50 days |
| 22159 |
shetzl author:shetzl |
feat: add definition of pushdown automata |
Add the definition of pushdown automata and their two acceptance conditions: acceptance based on empty stack and acceptance based on final state.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Computability/PDA.lean |
2 |
35 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
182-63640 6 months ago |
429-57653 429 days ago |
20-81245 20 days |
| 22302 |
658060 author:658060 |
feat: add `CategoryTheory.Topos.Power` |
This is a continuation of #21281 with the end goal of defining topoi in Mathlib. It introduces the notion of a power object in a category with a subobject classifier, which is a special case of an internal hom.
The definition `HasPowerObjects C` contained in this PR is all that remains before `IsTopos C` can be defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
312/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean |
2 |
3 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
182-63631 6 months ago |
449-11233 449 days ago |
0-1528 25 minutes |
| 22790 |
mhk119 author:mhk119 |
feat: Extend `taylor_mean_remainder_lagrange` to `x < x_0` |
The `taylor_mean_remainder_lagrange` theorem has the assumption that $x_0 < x$. In many applications, we need $x < x_0$ and one cannot use the current version to obtain this (see [zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Taylor's.20theorem)). This PR introduces a set of theorems that push negations through Taylor expansions so that one can extend `taylor_mean_remainder_lagrange` to the case when $x < x_0$. These theorems should also be useful elsewhere since they are quite general. |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
111/1 |
Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/Taylor.lean |
3 |
13 |
['Paul-Lez', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'mhk119'] |
nobody |
182-63618 6 months ago |
410-78735 410 days ago |
23-16830 23 days |
| 24333 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): cycle graph implementation for generic vertex types |
The existing `cycleGraph` implementation under Combinatorics/SimpleGraph/Circulant.lean only operates over `Fin n`. This PR implements a cycle graph implementation over any generic vertex type.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
187/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean |
2 |
42 |
['IvanRenison', 'github-actions', 'mathlib4-merge-conflict-bot', 'vlad902'] |
kmill assignee:kmill |
182-63465 6 months ago |
268-62046 268 days ago |
123-18878 123 days |
| 25739 |
literandltx author:literandltx |
feat(NumberTheory/LegendreSymbol): Add sqrt‐of‐residue theorems for p=4k+3 and p=8k+5 |
Add a new file `QuadraticResidueRoots.lean` under `Mathlib/NumberTheory/LegendreSymbol/` that proves two explicit “square-root of quadratic residue” theorems for primes of the specific form.
- **`exists_sqrt_of_residue_mod4_eq3`** for primes `p = 4*k + 3`
- **`exists_sqrt_of_residue_mod8_eq5`** for primes `p = 8*k + 5`
It also introduces the helper lemmas `euler_criterion_traditional` and `legendreSym.at_two_mod8_eq_5`. Import lines in `Mathlib.lean` and `Mathlib/NumberTheory/LegendreSymbol/Basic.lean` have been updated accordingly.
|
merge-conflict
awaiting-author
t-number-theory
new-contributor
|
217/0 |
Mathlib.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticResidueRoots.lean |
4 |
3 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
literandltx assignee:literandltx |
182-63316 6 months ago |
325-479 324 days ago |
17-63153 17 days |
| 26165 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): add lemma which shows that variation of a `ℝ≥0∞` VectorMeasure is equal to itself |
Add a lemma for the variation of a VectorMeasure which tells that if `μ` is `VectorMeasure X ℝ≥0∞` then ``μ.ennrealVariation = μ`.
Co-authored-by: @yoh-tanimoto
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
merge-conflict
blocked-by-other-PR
new-contributor
|
467/0 |
Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/Order/Partition/Finpartition.lean |
3 |
9 |
['github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'oliver-butterley', 'yoh-tanimoto'] |
nobody |
182-63127 6 months ago |
319-58082 319 days ago |
15-66224 15 days |
| 26300 |
igorkhavkine author:igorkhavkine |
feat(Analysis/Calculus/FDeriv): continuous differentiability from continuous partial derivatives on an open domain in a product space |
If a function `f : E × F → G` is continuously differentiable, then its partial derivatives along `E` and `F` are also continuous. The non-trivial converse implication holds when the partial derivatives are continuous on an open domain, and they can be added together to give the total derivative of `f`. See this [#mathlib4 > Partial derivatives @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives/near/520995477) and the containing thread for some discussion. The PR creates a new import (`Mathlib.Analysis.Calculus.FDeriv.Partial`), where other results about partial derivatives could go in the future.
---
*this is the migration of #25304 to the PR-from-fork workflow*
- [x] depends on: #25564
- [x] depends on: #26273
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
awaiting-author
t-analysis
merge-conflict
|
468/0 |
Mathlib/Analysis/Calculus/FDeriv/Partial.lean |
3 |
23 |
['YaelDillies', 'agjftucker', 'github-actions', 'igorkhavkine', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
182-63104 6 months ago |
279-25094 279 days ago |
44-77029 44 days |
| 26594 |
metakunt author:metakunt |
feat(Algebra/Polynomial/ZMod): Add Polynomial.equiv_of_nat_of_polynomial_zmod |
This adds an explicit bijection between the naturals and $$\mathbb{Z}/n\mathbb{Z}[X]$$ in a canonical way.
---
I feel that some API is missing to make the theorem shorter, I have no idea what lemmas to extract though.
Also I don't know when to use spaces and when not, so I did it best effort.
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
465/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/ZMod.lean |
2 |
3 |
['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
182-62956 6 months ago |
298-20314 298 days ago |
25-5233 25 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/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
401/66 |
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 |
17 |
['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
182-62951 6 months ago |
212-29570 212 days ago |
62-6838 62 days |
| 27155 |
Pjotr5 author:Pjotr5 |
feat: Shearer's bound on the independence number of triangle free graphs |
I added the file IndependenceNumber.lean to the Mathlib.Combinatorics.SimpleGraph.Triangle folder. It contains a proof of a theorem by Shearer on the independence number of triangle-free graphs . I was told this might be useful to add to Mathlib a Zullip thread linked [here](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Convexity.20of.20a.20specific.20function/with/510469526).
I tried to comply as much as I could with the Mathlib style guide, but I realise that there is probably still a significant amount of editing to be done. For one thing: there are probably some lemmas and theorems in there that might be better suited in other files, but since this is my first PR I though I would all put it in one file before starting to edit a bunch of files.
I was also advised to split up the file into multiple smaller PRs, but since everything is basically serving this one proof I could not really find a natural way to do that.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
1266/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean |
2 |
10 |
['Pjotr5', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
182-62914 6 months ago |
270-33223 270 days ago |
39-17587 39 days |
| 27753 |
YunkaiZhang233 author:YunkaiZhang233 |
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways |
---
Completed one of the tasks in TODOs, shown and implemented the details for (X/C)/f ≌ Factorisation f ≌ f/(C/Y).
This is migrated from my previous PR #22390
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
70/1 |
Mathlib/CategoryTheory/Category/Factorisation.lean |
1 |
13 |
['YunkaiZhang233', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
182-62759 6 months ago |
293-33922 293 days ago |
0-3448 57 minutes |
| 27850 |
fyqing author:fyqing |
feat: 0-dimensional manifolds are discrete and countable |
This is the converse direction of the classification of 0-dimensional manifolds. The other direction was shown in #22105.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-differential-geometry
new-contributor
|
80/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean |
2 |
14 |
['fyqing', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'tb65536'] |
grunweg assignee:grunweg |
182-62757 6 months ago |
292-8584 292 days ago |
0-5718 1 hour |
| 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. |
merge-conflict
t-combinatorics
new-contributor
|
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 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
182-62625 6 months ago |
182-62626 182 days ago |
99-64548 99 days |
| 28530 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics/SimplicialComplex/Topology): add standard simplices and geometric realisation (colimit + functoriality) |
Introduce the standard simplex on a finite vertex set and build the geometric realisation |X| of a simplicial complex. Prove that |X| is the colimit of the face diagram δ_X : X.faces ⥤ TopCat, and define the induced map on realisations |φ| : |X| ⟶ |Y| for a simplicial map φ. Show that the abstract map from colimit functoriality agrees with the concrete push-forward of barycentric coordinates. Package these into a functor SimplicialComplexCat ⥤ TopCat.
---
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 lays the groundwork to do this.
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. I would also like to thank our group members Sebastian Kumar, Tom Lindquist and Quang Minh Nguyen for our fruitful discussions.
- [ ] depends on: #28125 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
1826/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Colimit.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Diagram.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Functor.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Map.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/Simplex.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/SimplexMap.lean |
12 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
182-62611 6 months ago |
277-16439 277 days ago |
0-591 9 minutes |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
6 |
['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
182-62472 6 months ago |
182-62473 182 days ago |
55-54919 55 days |
| 29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
182-61838 6 months ago |
182-61839 182 days ago |
54-82760 54 days |
| 14704 |
Command-Master author:Command-Master |
feat(FieldTheory): define typeclass for simple extensions, and prove some properties |
Define `SimpleExtension F K`, which says that `K` is a simple field extension of `F`, and show that together with transcendentality it implies `IsFractionRing F[X] K`.
---
- [x] depends on: #14710
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
120/0 |
Mathlib.lean,Mathlib/FieldTheory/SimpleExtension.lean |
2 |
19 |
['Command-Master', 'acmepjz', 'github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
182-58670 6 months ago |
626-51784 626 days ago |
48-65595 48 days |
| 31590 |
SuccessMoses author:SuccessMoses |
chore: tag `commutatorElement_def` with `simp` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
1/0 |
Mathlib/Algebra/Group/Commutator.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
182-36545 6 months ago |
182-36545 182 days ago |
6-8213 6 days |
| 11021 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add join of augmented SSets |
This pull-request adds the definition of the join of augmented SSets defined as contravariant functors from `WithInitial SimplexCategory` to `Type u`. In addition it shows that the join of two standard augmented SSets is again an augmented SSets.
From this the definition of the join of simplicial sets should follow easily.
To aid the above theory, an api for `WithInitial SimplexCategory` has been created, with the notion of the `join` and `split` (forming a sort of inverse to join) of objects in this category are defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-topology
new-contributor
|
2137/1 |
.gitignore,Mathlib.lean,Mathlib/AlgebraicTopology/Join.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SimplexCategoryWithInitial.lean,Mathlib/AlgebraicTopology/SimplicialSet.lean |
6 |
47 |
['github-actions', 'jcommelin'] |
nobody |
182-35686 6 months ago |
812-3131 812 days ago |
1-20227 1 day |
| 18626 |
hannahfechtner author:hannahfechtner |
feat: define Artin braid groups |
Define the Artin braid group on infinitely many strands. Includes a toGroup function which defines a function out of the braid group to any other group (given a function which satisfies the braid relations)
(more to come in this file; next up: Artin braid groups on finitely many strands)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
91/0 |
Mathlib.lean,Mathlib/GroupTheory/SpecificGroups/BraidGroup/Basic.lean |
2 |
22 |
['github-actions', 'hannahfechtner', 'jcommelin', 'joelriou'] |
nobody |
182-35533 6 months ago |
545-42412 545 days ago |
15-38478 15 days |
| 20029 |
FrederickPu author:FrederickPu |
feat(Tactic/simps): allow for Config attributes to be set directly |
Allow for Config attributes to be set directly when using initialize_simp_projection as per issue #19895
Basically modified initialize_simp_projection so that the user has the option of specifying a tuple of config option values.
Ex:
```
initialize_simp_projection MulEquiv (toFun → apply, invFun → symm_apply) (fullyApplied := false)
```
These config options are then converted into projections.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
t-meta
|
34/4 |
Mathlib/Tactic/Simps/Basic.lean |
1 |
11 |
['FrederickPu', 'YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
182-35470 6 months ago |
518-52719 518 days ago |
0-34081 9 hours |
| 21269 |
658060 author:658060 |
feat(CategoryTheory/Topos): basic definitions and results in topos theory |
This code contains basic definitions and results in topos theory, including the definition of a subobject classifier, power objects, and topoi. It is proved that every topos has exponential objects, i.e. "internal homs". The mathematical content follows chapter IV sections 1-2 of Mac Lane and Moerdijk's text "Sheaves in Geometry and Logic".
---
- [x] depends on: #21281
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
new-contributor
merge-conflict
awaiting-author
|
1269/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean,Mathlib/CategoryTheory/Topos/Exponentials.lean,Mathlib/CategoryTheory/Topos/Power.lean |
5 |
10 |
['658060', 'gio256', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
182-35443 6 months ago |
475-14257 475 days ago |
0-13879 3 hours |
| 23990 |
robertmaxton42 author:robertmaxton42 |
feat(Types.Colimits): Quot is functorial and colimitEquivQuot is natural |
Add `Functor.quotFunctor` to parallel `Functor.sectionsFunctor`, witnessing that `Quot` is functorial; add `colimNatIsoQuotFunctor` to parallel `limNatIsoSectionsFunctor`, witnessing that `colimitEquivQuot` is natural in the diagram $F$.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
33/0 |
Mathlib/CategoryTheory/Limits/Types/Colimits.lean |
1 |
5 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] |
nobody |
182-35326 6 months ago |
394-34261 394 days ago |
8-27136 8 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/)
|
awaiting-author
t-data
new-contributor
|
22/0 |
Mathlib/Data/Rat/Lemmas.lean |
1 |
33 |
['github-actions', 'kim-em', 'mathlib-bors', 'pechersky', 'sinianluoye', 'themathqueen'] |
pechersky assignee:pechersky |
182-35009 6 months ago |
213-58603 213 days ago |
74-56654 74 days |
| 28215 |
5hv5hvnk author:5hv5hvnk |
feat: strong and Weak connectivity for Digraphs |
strong and weak connectivity in Digraphs
---
Should resolve a part of issue #26771
Main additions in the PR:
1. Walks in Digraphs (Walk.lean)
- Basic walk structure with start and end vertices
- Support for walk operations: append, reverse, length
- Support functions: getVert, copy, support
2. Walk Decompositions (WalkDecomp.lean)
- takeUntil and dropUntil functions to split walks
- rotate operation for loop walks
- Theorems relating to walk decomposition properties
3. Subgraphs (subgraph.lean)
- Subgraph structure for digraphs
- Induced and spanning subgraph predicates
- Lattice structure (sup, inf, top, bot)
- Coercion to standalone digraphs
4. Paths (Paths.lean)
- Trail, Path, Circuit, Cycle definitions
- Path structure with no repeating vertices
- Theorems relating different path types
- Basic connectivity definitions (reachable, weakly/strongly connected)
5. Connectivity (Connected.lean)
- Reachability relations and properties
- Strong and weak connectivity definitions
- Connected component types:
- StronglyConnectedComponent
- WeaklyConnectedComponent
- ConnectedComponent
- Component properties and equivalence relations
-->
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
awaiting-author
t-combinatorics
|
1266/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Connected.lean,Mathlib/Combinatorics/Digraph/Paths.lean,Mathlib/Combinatorics/Digraph/Subgraph.lean,Mathlib/Combinatorics/Digraph/Walk.lean,Mathlib/Combinatorics/Digraph/WalkDecomp.lean |
6 |
4 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
182-34988 6 months ago |
270-32570 270 days ago |
12-41939 12 days |
| 29574 |
JarodAlper author:JarodAlper |
feat: regular local rings are domains |
We have added three new files in Mathlib/RingTheory/LocalRing
* EmbeddingDimension.lean
* LocalRingDimension.lean
* RegularLocalRings.lean
We have added two lemmas and an instance in Mathlib/RingTheory/LocalRing/RingHom/Basic.lean
This work was done by Jarod Alper and Brian Nugent.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
910/3 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRing/LocalRingDimension.lean,Mathlib/RingTheory/LocalRing/RegularLocalRings.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,lake-manifest.json |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
182-34877 6 months ago |
249-36132 249 days ago |
1-50449 1 day |
| 28718 |
imbrem author:imbrem |
feat: class for chosen finite coproducts |
Added basic `ChosenFiniteCoproducts` class, and started porting some of the lemmas about `ChosenFiniteProducts` suitably translated
---
This, combined with #20182 modified to use chosen finite coproducts and premonoidal categories (#21488), should be enough for me to formalize strong Elgot categories, and hence a lot of categorical iteration theory for my PhD thesis.
Re-done from #21603 to deal with changes in #24399 and #24390
Eventually, if we really want to harmonize approaches, we could introduce an `AddMonoidalCategory` struct and do the analogous to #24399 and #24390 for additive monoidal structure, but that seems like a massive overcomplication for now. It would allow formalizing fun things like rig categories, though.
- [ ] depends on: #30150 |
blocked-by-other-PR
t-category-theory
new-contributor
merge-conflict
awaiting-author
|
290/0 |
Mathlib.lean,Mathlib/CategoryTheory/ChosenFiniteCoproducts.lean |
2 |
9 |
['YaelDillies', 'github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
182-34789 6 months ago |
272-71343 272 days ago |
0-24930 6 hours |
| 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.
|
awaiting-author
t-measure-probability
new-contributor
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
14 |
['EtienneC30', 'KiringYJ', 'dagurtomas', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
182-21185 6 months ago |
182-21185 182 days ago |
138-3922 138 days |
| 30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
209/0 |
Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
179-43334 5 months ago |
182-61493 182 days ago |
31-61152 31 days |
| 31796 |
dobronx1325 author:dobronx1325 |
feat(Data/Real/EReal): add mul_lt_mul_of_pos_left theorem |
This PR adds the theorem `EReal.mul_lt_mul_of_pos_left`, which states that for a positive real number `a` and extended reals `b < c`, left multiplication by `a` preserves the strict order: `(a : EReal) * b < (a : EReal) * c`.
The theorem complements existing order-preserving properties for addition in `EReal` and extends the algebraic structure for multiplication. The proof uses basic properties of extended reals and order relations.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
23/0 |
Mathlib/Data/EReal/Operations.lean |
1 |
4 |
['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions'] |
nobody |
175-77376 5 months ago |
176-47288 176 days ago |
6-24874 6 days |
| 32169 |
saodimao20 author:saodimao20 |
feat: add convolution_comp_add_right |
This PR adds a lemma `convolution_comp_translation_right` showing that convolution commutes with translation on the right operand. Specifically, it proves that for an additive commutative group $G$, the convolution of a function $f$ with a translated function $x \mapsto g(a + x)$ is equal to the convolution of $f$ and $g$ evaluated at $x + a$.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
14/0 |
Mathlib/Analysis/Convolution.lean |
1 |
3 |
['github-actions', 'urkud'] |
nobody |
173-63756 5 months ago |
173-63756 173 days ago |
0-82278 22 hours |
| 32126 |
nielsvoss author:nielsvoss |
feat(Analysis/Normed/Operator): definition of singular values for linear maps |
This PR defines a generalization of singular values, the approximation numbers, for continuous linear maps between normed vector spaces. It proves basic lemmas about the approximation numbers and shows that for finite-dimensional vector spaces, the approximation numbers coincide with the standard definition of singular values.
See the discussion on Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Singular.20Value.20Decomposition/with/558914024
Co-authored-by: Arnav Mehta
Co-authored-by: Rawad Kansoh
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
331/0 |
Mathlib/Analysis/Normed/Operator/SingularValues.lean |
1 |
2 |
['github-actions', 'nielsvoss'] |
nobody |
173-14897 5 months ago |
unknown |
0-0 0 seconds |
| 31898 |
ntapiam author:ntapiam |
feat(LinearAlgebra/TensorAlgebra): implement HopfAlgebra for TensorAlgebra |
implementation of the natural Hopf algebra structure on the TensorAlgebra |
new-contributor
t-ring-theory
awaiting-author
|
253/0 |
Mathlib.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/FreeAlgebra.lean,Mathlib/RingTheory/Bialgebra/TensorAlgebra.lean,Mathlib/RingTheory/HopfAlgebra/TensorAlgebra.lean |
6 |
64 |
['YaelDillies', 'github-actions', 'kckennylau', 'ntapiam'] |
nobody |
166-35733 5 months ago |
179-2546 179 days ago |
0-33607 9 hours |
| 30525 |
515801431 author:515801431 |
feat(Mathlib/Combinatorics/Enumerative/Polya): Add Polya Counting |
This PR introduces basic definitions and results about colorings under permutation group actions.
A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition:
(g • c) x = c (g⁻¹ • x)
This formalizes the natural action of relabeling the elements of X.
Main definitions
MulAction (Equiv.Perm X) (X → Y):
The action of the permutation group on colorings via precomposition.
coloringEquiv (c₁ c₂ : X → Y) : Prop:
Two colorings are equivalent if they lie in the same orbit under this action, i.e.
∃ f : Equiv.Perm X, f • c₁ = c₂.
Main results
smul_eq_iff_mem_stabilizer:
Characterizes when two group actions on the same coloring are equal, showing that
g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c.
coloringEquiv_equivalence:
Proves that coloringEquiv defines an equivalence relation on X → Y.
orbit_size_eq_index:
Reformulates the orbit–stabilizer theorem in the context of colorings:
|orbit c| = |Perm X| / |stabilizer c|
Motivation
These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. |
t-combinatorics
new-contributor
awaiting-author
merge-conflict
|
113/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean |
2 |
8 |
['IvanRenison', 'alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
166-22495 5 months ago |
174-66038 174 days ago |
39-43570 39 days |
| 31113 |
515801431 author:515801431 |
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` |
---
- [ ] depends on: #30525
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
merge-conflict
|
302/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
166-22371 5 months ago |
175-44797 175 days ago |
16-78251 16 days |
| 24441 |
MrSumato author:MrSumato |
feat(Data/List): add Lyndon-Schutzenberger theorem on list commutativity |
Add Lyndon-Schutzenberger theorem on list commutativity. Included definition for List.repeatSelf that returns list repeated n times.
---
This is my first mathlib PR, so any comments are highly appreciated.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
new-contributor
|
129/1 |
Mathlib.lean,Mathlib/Data/List/Commutativity.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Lemmas.lean |
4 |
38 |
['MrSumato', 'github-actions', 'grunweg', 'madvorak', 'mathlib4-merge-conflict-bot', 'plp127'] |
grunweg assignee:grunweg |
166-17973 5 months ago |
348-44317 348 days ago |
29-59355 29 days |
| 31147 |
daefigueroa author:daefigueroa |
feat(Dynamics): point transitive monoid actions and transitive points |
We define point transitivity for a monoid action on a topological space and define the set of transitive points. We add some basic lemmas and implications between topological transitivity and point transitivity.
---
- [x] depends on: #28001
[](https://gitpod.io/from-referrer/) |
t-dynamics
new-contributor
awaiting-author
|
114/6 |
Mathlib/Dynamics/Transitive.lean |
1 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
163-43206 5 months ago |
163-43206 163 days ago |
18-38983 18 days |
| 31987 |
saodimao20 author:saodimao20 |
feat: add monotonicity and relation lemmas for mgf and cgf |
Add two lemmas about moment-generating and cumulant-generating functions:
- `mgf_mono_in_t_of_nonneg`: For nonnegative random variables, the mgf is monotone in the parameter `t`
- `cgf_zero_of_mgf_one`: The cgf equals zero iff the mgf equals one
These lemmas are useful for studying properties of mgf and cgf in probability theory.
Contributed by sequential-intelligence-lab(SIL), University of Virginia
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
21/0 |
Mathlib/Probability/Moments/Basic.lean |
1 |
5 |
['DavidLedvinka', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
157-35312 5 months ago |
157-35312 157 days ago |
21-31799 21 days |
| 32938 |
0xTerencePrime author:0xTerencePrime |
feat(Order/LocallyFinite): prove DenselyOrdered and LocallyFiniteOrder are incompatible |
## Summary
This PR proves that a nontrivial densely ordered linear order cannot be locally finite.
## Main results
* `not_locallyFiniteOrder`: A densely ordered locally finite linear order must be subsingleton.
* `not_locallyFiniteOrder_of_nontrivial`: The main theorem - incompatibility of the two properties.
Note: This implementation imports `Mathlib.Order.Interval.Set.Infinite` to reuse the existing `Set.Icc_infinite` theorem, ensuring standard library consistency.
## Mathematical content
The key insight is that in a densely ordered type, we can always find a new element between any two distinct elements. This means any nontrivial interval contains infinitely many elements. However, `LocallyFiniteOrder` requires intervals to be finite. This contradiction implies that such a type cannot exist (unless it is trivial).
## Motivation
This resolves a TODO mentioned in #7987 (Data/Finset/LocallyFinite entry).
## Verification
- [x] `lake build Mathlib.Order.LocallyFinite.Basic` passes
- [x] `lake exe runLinter Mathlib.Order.LocallyFinite.Basic` passes
|
t-order
new-contributor
awaiting-author
|
28/0 |
Mathlib/Order/Interval/Finset/Basic.lean |
1 |
10 |
['0xTerencePrime', 'CoolRmal', 'github-actions', 'jcommelin', 'plp127'] |
nobody |
152-58714 5 months ago |
152-58754 152 days ago |
3-22290 3 days |
| 32698 |
farruhx author:farruhx |
feat(List): add aesop / simp annotations to selected lemmas for improved automation |
This PR adds `@[aesop safe]` and `@[simp]` annotations to a set
of List lemmas whose proofs are routine and benefit from standardized
automation. No statements or definitions are changed; only proof annotations
are added.
The lemmas updated in this PR are:
* `or_exists_of_exists_mem_cons`
* `append_subset_of_subset_of_subset`
* `map_subset_iff`
* `append_eq_has_append`
* `append_right_injective`
* `append_left_injective`
* `reverse_surjective`
* `reverse_bijective`
* `mem_getLast?_append_of_mem_getLast?`
* `mem_dropLast_of_mem_of_ne_getLast`
* `idxOf_eq_length_iff`
* `idxOf_append_of_mem`
* `length_eraseP_add_one`
The goal is to make these commonly used lemmas easier for `aesop`-based
automation to resolve, while avoiding any interference with simp-normal-form
lemmas or canonical rewrite rules.
There are no API changes and no new theorems—only improved automation behavior. |
t-data
new-contributor
awaiting-author
|
18/1 |
Mathlib/Data/List/Basic.lean |
1 |
8 |
['artie2000', 'euprunin', 'farruhx', 'github-actions'] |
pechersky assignee:pechersky |
152-7083 5 months ago |
152-7083 152 days ago |
7-31364 7 days |
| 27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
new-contributor
merge-conflict
|
1310/0 |
Archive.lean,Archive/Imo/Imo2025Q1.lean |
2 |
9 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot', 'zhuyizheng'] |
dwrensha assignee:dwrensha |
151-39280 5 months ago |
211-3848 211 days ago |
59-36769 59 days |
| 33218 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define the associated graded ring to filtered ring |
Define the associated graded ring to a filtered ring.
---
- [ ] depends on: #33217
migrated from https://github.com/leanprover-community/mathlib4/pull/26858 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
450/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-71945 4 months ago |
148-77230 148 days ago |
0-132 2 minutes |
| 33219 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define associated graded algebra |
Define the associated graded algebra of a filtered algebra, constructed from a special case of associated graded ring.
---
- [ ] depends on: #33218
migrated from #26859
|
t-ring-theory
new-contributor
blocked-by-other-PR
|
563/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-71837 4 months ago |
148-77004 148 days ago |
0-133 2 minutes |
| 33220 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define associated graded module |
Define the associated graded module to a filtered module.
---
- [ ] depends on: #33218
migrated from #26860
|
t-ring-theory
new-contributor
blocked-by-other-PR
|
669/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-71753 4 months ago |
148-76816 148 days ago |
0-137 2 minutes |
| 33227 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): exact of associated graded exact |
We proved that a chain complex is exact if its associated graded complex is exact.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33226
migrated from #26869 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
728/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69425 4 months ago |
148-69426 148 days ago |
0-1208 20 minutes |
| 33226 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): associated graded exact of exact and strict |
In this file, we define the concept of exhaustive filtrations.
We also prove a AssociatedGradedRingHom sequence is exact iff each GradedPieceHom is exact.
And when a sequence is strict exact, the corresponding AssociatedGradedRingHom sequence is also exact.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33222
migrated from #26868 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
529/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69423 4 months ago |
148-69424 148 days ago |
0-1307 21 minutes |
| 33225 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): filtered module hom |
In this PR we defined the filtered semi-linear map for filtered module and the associated graded module hom.
---
- [ ] depends on: #33220
- [ ] depends on: #33223
migrated from #26867 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
1205/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69422 4 months ago |
148-69423 148 days ago |
0-1805 30 minutes |
| 33224 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered alghom |
In this PR, we define the filtered algebra homomorphisms on algebras and prove some basic properties of
them.
---
- [ ] depends on: #33219
- [ ] depends on: #33223
migrated from #26863 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
1055/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69420 4 months ago |
148-69421 148 days ago |
0-2046 34 minutes |
| 33223 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered ring homomorphism |
In this PR, we define the filtered ring morphisms on rings and prove some basic properties of
them.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33218
- [ ] depends on: #33222
migrated from #26862 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
824/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69417 4 months ago |
148-69420 148 days ago |
0-2257 37 minutes |
| 33222 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered add group hom |
In this file we define filtered hom and the corresponding associated graded hom for abelian groups.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33217
migrated from #26861
|
new-contributor
t-ring-theory
blocked-by-other-PR
|
368/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
148-69416 4 months ago |
148-69417 148 days ago |
0-2249 37 minutes |
| 32264 |
jjtowery author:jjtowery |
feat(Bicategory): add lax slice bicategory |
---
In this PR, I define the lax slice bicategory for a lax functor over an object. I also give the change of slice strict pseudofunctor. These are from Section 7.1 of Johnson & Yau and are essential for their Whitehead theorem for bicategories (lax functor biequivalence iff essentially surjective, essentially full, and fully faithful), which I'd like to prove at some point.
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
527/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LaxSlice.lean |
2 |
12 |
['dagurtomas', 'github-actions', 'jjtowery', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
145-11502 4 months ago |
168-14959 168 days ago |
3-47959 3 days |
| 32960 |
dleijnse author:dleijnse |
feat(FieldTheory): adjoin pth roots |
For a field `k` of exponential characteristic `p` and a subset `S` of `k`, we define the extension of `k` obtained by adjoining all `p`-th roots of elements of `S`. We prove that this is a purely inseparable extension, and provide some basic API.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
131/0 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean |
2 |
13 |
['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar'] |
erdOne assignee:erdOne |
144-28154 4 months ago |
144-28154 144 days ago |
10-12739 10 days |
| 33163 |
Aaron1011 author:Aaron1011 |
feat: prove subgroup of (M -> Z) is finitely generated |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
5/0 |
Mathlib/RingTheory/DedekindDomain/Dvr.lean |
1 |
2 |
['erdOne', 'github-actions'] |
alreadydone assignee:alreadydone |
144-21104 4 months ago |
144-21104 144 days ago |
5-81520 5 days |
| 33133 |
0xTerencePrime author:0xTerencePrime |
feat(Algebra/Group/Center): add Decidable (IsMulCentral a) instance |
This PR adds a `Decidable` instance for `IsMulCentral a`.
### Summary
The structure `IsMulCentral` was missing a `Decidable` instance. This PR provides the instance by leveraging `isMulCentral_iff`, enabling decidability for both multiplicative and additive (via `to_additive`) structures.
### Verification
- `lake build Mathlib.Algebra.Group.Center` passed.
- `lake exe runLinter Mathlib.Algebra.Group.Center` passed. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
7/0 |
Mathlib/Algebra/Group/Center.lean |
1 |
3 |
['github-actions', 'robin-carlier'] |
ocfnash assignee:ocfnash |
138-49295 4 months ago |
138-49295 138 days ago |
12-60805 12 days |
| 33502 |
MrQubo author:MrQubo |
fix(Tactic/ProxyType): Pass params explicitly in proxy_equiv% implementation |
Fix [#mathlib4 > `deriving Fintype` with Prop](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60deriving.20Fintype.60.20with.20Prop/with/566118621)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
WIP
|
12/2 |
Mathlib/Tactic/ProxyType.lean,MathlibTest/DeriveFintype.lean |
2 |
7 |
['MrQubo', 'github-actions', 'kmill'] |
kmill assignee:kmill |
137-16219 4 months ago |
137-16220 137 days ago |
0-60133 16 hours |
| 17176 |
arulandu author:arulandu |
feat: integrals and integrability with .re |
Lemmas for swapping order of .re and integration/integrability.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
please-adopt
|
49/0 |
Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean |
4 |
32 |
['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] |
nobody |
135-19217 4 months ago |
582-66454 582 days ago |
9-73631 9 days |
| 33330 |
michael-novak-math author:michael-novak-math |
feat: add arc-length reparametrization of parametrized curves |
add new definitions of arc-length reparametrization and its corresponding parameter transformation and a theorem establishing the desired properties. |
t-analysis
new-contributor
awaiting-author
merge-conflict
|
311/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/ArcLengthReparametrization.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
57 |
['SnirBroshi', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'michael-novak-math'] |
j-loreaux assignee:j-loreaux |
133-172 4 months ago |
57-61299 57 days ago |
6-69934 6 days |
| 33756 |
dleijnse author:dleijnse |
feat(FieldTheory): root of polynomial with p power coefficients |
This PR proves the results in https://stacks.math.columbia.edu/tag/031V, which gives a criterion for a root of a polynomial over a field `k` of characteristic `p` to be a `p`-th power.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
88/0 |
Mathlib.lean,Mathlib/FieldTheory/PthPowerCoeffPoly.lean |
2 |
1 |
['github-actions'] |
nobody |
132-37717 4 months ago |
unknown |
0-0 0 seconds |
| 33299 |
kingiler author:kingiler |
feat: Add decidable membership for Interval |
Implemented membership and corresponding decidable instance for `Interval`.
Related [#mathlib4 > Proposal: Add decidable membership for Interval](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Add.20decidable.20membership.20for.20Interval/with/565438009).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-order
|
16/1 |
Mathlib/Order/Interval/Basic.lean |
1 |
5 |
['Vierkantor', 'eric-wieser', 'github-actions', 'kingiler'] |
Vierkantor assignee:Vierkantor |
132-29523 4 months ago |
132-29523 132 days ago |
13-42146 13 days |
| 30142 |
shalliso author:shalliso |
feat(Topology/Baire): define IsNonMeagre |
non-meagre sets (also known as "of the second category") are worthy of their own definition and API. This was useful to me for formalizing a result of "automatic continuity", that is, a Baire-measurable homomorphism between Polish groups must be continuous. Simply working with the negation of IsMeagre quickly became cumbersome, and non-meagre sets have an important role in the study of Polish (e.g. locally compact) groups.
From https://github.com/shalliso/automatic_continuity
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
merge-conflict
awaiting-author
|
83/1 |
Mathlib/Topology/Baire/NonMeagre.lean,Mathlib/Topology/GDelta/Basic.lean |
2 |
6 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
131-39207 4 months ago |
131-39208 131 days ago |
98-58846 98 days |
| 32880 |
0xTerencePrime author:0xTerencePrime |
feat(Analysis/Asymptotics): define subpolynomial growth |
## Main definitions
* `Asymptotics.IsSubpolynomial l f g`: A function `f` has subpolynomial growth with respect to `g` along filter `l` if `f = O(1 + ‖g‖^k)` for some natural `k`.
## Main results
* `IsSubpolynomial.const`: Constant functions have subpolynomial growth
* `IsSubpolynomial.id`: Identity has subpolynomial growth
* `IsSubpolynomial.add`: Closure under addition
* `IsSubpolynomial.neg`: Closure under negation
* `IsSubpolynomial.sub`: Closure under subtraction
* `IsSubpolynomial.mul`: Closure under multiplication
* `IsSubpolynomial.pow`: Closure under powers
* `isSubpolynomial_iff_one_add`: Equivalence with `(1 + ‖g‖)^k` formulation
* `IsSubpolynomial.uniform`: Uniform bounds for finite families
## Implementation notes
The definition uses `1 + ‖g‖^k` rather than `(1 + ‖g‖)^k` as the primary form, with the equivalence established in `isSubpolynomial_iff_one_add`. Four private auxiliary lemmas handle the key inequalities needed for closure proofs.
Closes #32658
|
awaiting-author
t-analysis
new-contributor
|
185/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
29 |
['0xTerencePrime', 'ADedecker', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
128-22291 4 months ago |
129-3749 129 days ago |
22-14560 22 days |
| 33948 |
anivegesana author:anivegesana |
feat(Analysis/Normed/Algebra): matrix exponential of nilpotent matrix |
Where the matrix exponential and nilpotent elements are defined, both the matrix exponential and the nilpotent element exponential. I had to add a different theorem for normed space exponential and the matrix exponential since the right instances wouldn't be synthesized. Help with golfing would be appreciated.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
34/0 |
Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean |
2 |
1 |
['github-actions'] |
nobody |
126-73276 4 months ago |
126-73348 126 days ago |
126-72829 126 days |
| 30391 |
rudynicolop author:rudynicolop |
feat(Data/List): list splitting definitions and lemmas |
This PR continues the work from #24395.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 |
t-data
new-contributor
awaiting-author
|
108/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
50 |
['BoltonBailey', 'IlPreteRosso', 'TwoFX', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
TwoFX assignee:TwoFX |
124-40622 4 months ago |
124-49144 124 days ago |
93-10043 93 days |
| 29282 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): HasColimits instance on Grpd |
Show that the category of groupoids has all small colimits, as a coreflective subcategory of `Cat`, which has all small colimits. The right adjoint of the forgetful functor is the core functor `CategoryTheory.Core.functor`.
- [ ] depends on: #29283 [Core of a category as a functor]
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-category-theory
|
140/4 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Colimit.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
122-50702 4 months ago |
259-82486 259 days ago |
0-396 6 minutes |
| 32745 |
LTolDe author:LTolDe |
feat(Topology/Algebra): add MulActionConst.lean |
add Topology/Algebra/MulActionConst.lean
introduce class `ContinuousSMulConst` for a scalar multiplication that is continuous in the first argument, in analogy to `ContinuousConstSMul`
define `MulAction.ball x U` as the set `U • {x}` given `[SMul G X] (x : X) (U : Set G)`
The lemmas shown here will be useful to prove the **Effros Theorem**, see [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-topology
|
117/0 |
Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean |
2 |
8 |
['LTolDe', 'github-actions', 'urkud'] |
nobody |
121-36568 4 months ago |
128-16098 128 days ago |
16-33128 16 days |
| 33478 |
anishrajeev author:anishrajeev |
feat(ModelTheory): define a subset of the topology over complete types |
Define a subset of the Stone Space over a language expanded with countably many constants. Define the proposition to indicate if a language is countable. The subset's density and openness is a future goal to prove (have a branch where it is almost finished), in pursuit of formalizing the proof of the Omitting Types Theorem via properties of Baire spaces.
- [ ] depends on: #32215
- [ ] depends on: #32546 |
t-logic
merge-conflict
new-contributor
blocked-by-other-PR
|
160/1 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
8 |
['NoneMore', 'anishrajeev', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
120-30087 4 months ago |
128-43911 128 days ago |
10-38484 10 days |
| 31092 |
FlAmmmmING author:FlAmmmmING |
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
delegated
label:t-algebra$ |
17/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
20 |
['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
nobody |
118-37587 3 months ago |
118-37587 118 days ago |
54-22055 54 days |
| 34141 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Acyclic): finite trees have at least two degree-one vertices |
Add a lemma showing that a finite tree with at least two vertices has at least two vertices of degree 1.
- Introduce a helper lemma `SimpleGraph.Connected.one_le_degree` for connected graphs on a nontrivial finite type.
- Prove the leaf-count lower bound via the degree-sum identity and a counting argument.
---
|
awaiting-author
new-contributor
t-combinatorics
|
72/2 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
118-33845 3 months ago |
120-15281 120 days ago |
1-23617 1 day |
| 29953 |
slashbade author:slashbade |
feat: add reap for experiment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
40/3 |
Cache/IO.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,lake-manifest.json,lakefile.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
113-26370 3 months ago |
unknown |
0-0 0 seconds |
| 31377 |
CoolRmal author:CoolRmal |
feat: a series of smooth functions that converges (locally) uniformly is smooth |
The main theorem is the proof that an infinite sum of $C^n$ functions on a one-dimensional domain which converges locally uniformly is $C^n$ and related results.
This should be compared with [contDiff_tsum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Calculus/SmoothSeries.html#contDiff_tsum) where the same result is proved for functions on an arbitrary domain but with a slightly stronger convergence assumption.
The main motivation for this PR is the [#mathlib4 > Tychonov's Counterexample for the Heat Equation](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Tychonov's.20Counterexample.20for.20the.20Heat.20Equation/with/547367912).
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
merge-conflict
|
110/18 |
Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean |
5 |
20 |
['CoolRmal', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash', 'sgouezel'] |
ocfnash assignee:ocfnash |
112-15943 3 months ago |
173-32908 173 days ago |
8-14942 8 days |
| 33031 |
chiyunhsu author:chiyunhsu |
feat(Combinatorics/Enumerative/Partition): add combinatorial proof of Euler's partition theorem |
The new file EulerComb.lean contains the combinatorial proof of Euler's partition theorem. The analytic proof of the theorem and its generalization of Glaisher's Theorem has already been formalized in [Glaisher.lean](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Combinatorics/Enumerative/Partition/Glaisher.lean). The generalization of the combinatorial proof from this file to Glaisher's Theorem is within reach.
---
Zulip discussion: [#mathlib4 > Glaisher’s Bijection on integer partitions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Glaisher.E2.80.99s.20Bijection.20on.20integer.20partitions/with/570808111)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-zulip
awaiting-author
|
531/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/EulerComb.lean |
2 |
7 |
['chiyunhsu', 'dagurtomas', 'github-actions', 'tb65536', 'vihdzp'] |
b-mehta assignee:b-mehta |
111-39464 3 months ago |
111-39464 111 days ago |
42-21618 42 days |
| 33817 |
FlAmmmmING author:FlAmmmmING |
fix(Combinatorics/Enumerative/Schroder): fix the definition of `smallSchroder` |
In the previous definition, the small Schröder numbers were defined as
```LaTeX
s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3...
```
, which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
awaiting-author
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
20 |
['FlAmmmmING', 'YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
111-1158 3 months ago |
55-70179 55 days ago |
74-53798 74 days |
| 34130 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
28/1 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'github-actions', 'metakunt', 'vlad902'] |
nobody |
110-61871 3 months ago |
119-45886 119 days ago |
2-6389 2 days |
| 34487 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/SesquilinearForm): add instances for SeparatingLeft, SeparatingRight and Nondegenerate |
Add typeclass instances for `Fact B.SeparatingLeft`, `Fact B.SeparatingRight`, `Fact B.Nondegenerate`:
* inferring `Fact B.flip.SeparatingLeft` from `Fact B.SeparatingRight` and vice versa
* inferring `Fact B.SeparatingLeft` and `Fact B.SeparatingRight` from `Fact B.Nondegenerate`
* inferring `Fact B.SeparatingLeft` and `Fact B.Nondegenerate` for `.id` and `Dual.eval`
* inferring `Fact B.Nondegenerate` from `B.IsPerfPair`
I also updated `PointedCone.dual_univ` to demonstrate the usefulness of these additions. Note that I needed to add an import to `Cone/Dual.lean` which somehow imports cardinals. So I needed to remove cardinals from `assert_not_exists`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
large-import
merge-conflict
label:t-algebra$ |
67/12 |
Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/PerfectPairing/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
2 |
4 |
['github-actions', 'martinwintermath', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
110-48525 3 months ago |
51-34862 51 days ago |
13-75766 13 days |
| 34028 |
floor-licker author:floor-licker |
feat(SimpleGraph): add max-flow/min-cut weak duality |
This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality
inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S.
This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S).
|
t-combinatorics
new-contributor
|
169/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean |
2 |
14 |
['SnirBroshi', 'floor-licker', 'github-actions', 'mathlib-merge-conflicts'] |
kmill assignee:kmill |
110-1165 3 months ago |
61-24694 61 days ago |
61-8543 61 days |
| 32609 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/PiTensorProduct): Relation between nested tensor products and tensor products indexed by dependent sums |
Product tensors in `⨂ j : (Σ i, β i), s j.fst j.snd` can be mapped to
product tensors in `⨂ i, ⨂ b : β i, s i b`. If the outer index type is
finite, the two types are equivalent.
This allows the definition of endomorphisms on PiTensorProducts by
specifying them on disjoint subsets of the index set. Such constructions
are common e.g. in quantum circuits, quantum cellular automata, and
renormalization procedures.
---
WIP.
This PR contains two "requests for comments". Essentially:
* Is a single complex-to-define linear equivalence preferable over
several less complex ones, which might however be of limited interest
by themselves?
* Which trade-offs are appropriate to make things computable?
- [ ] depends on: #32608
- [x] depends on: #32600
- [x] depends on: #32598
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-algebra
label:t-algebra$ |
683/0 |
Mathlib.lean,Mathlib/Data/Sigma/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Nested.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean |
5 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
109-13276 3 months ago |
163-13714 163 days ago |
0-2004 33 minutes |
| 30260 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): added CocartesianMonoidalCategory |
As discussed in #21603 and #28718; this implements chosen finite coproducts on top of `AddMonoidalCategory` as defined in #30150
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
839/125 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Cocartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
5 |
4 |
['github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
108-52107 3 months ago |
227-2676 227 days ago |
0-1234 20 minutes |
| 30258 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): to_additive for proofs using `monoidal` |
Building on #30150, this allows us to use `@[to_additive]` on proofs containing `monoidal`, by tagging the lemmas `monoidal` outputs with `@[to_additive]` as appropriate.
Testing on my branch [`additive-monoidal-coherence`](https://github.com/imbrem/mathlib4/tree/additive-monoidal-coherence) shows that this works.
It is still future work to have either the `monoidal` tactic or a new `add_monoidal` tactic work for `AddMonoidalCategory` instances directly.
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
524/140 |
Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
108-52100 3 months ago |
227-8329 227 days ago |
0-241 4 minutes |
| 32742 |
LTolDe author:LTolDe |
feat(MeasureTheory/Constructions/Polish/Basic): add class SuslinSpace |
add new class `SuslinSpace` for a topological space that is an analytic set in itself
This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-zulip
t-measure-probability
awaiting-author
|
4/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean |
1 |
10 |
['ADedecker', 'LTolDe', 'dagurtomas', 'dupuisf', 'github-actions', 'jcommelin'] |
PatrickMassot assignee:PatrickMassot |
108-51874 3 months ago |
134-36006 134 days ago |
25-76907 25 days |
| 30121 |
idontgetoutmuch author:idontgetoutmuch |
feat(Mathlib/Geometry/Manifold): principal fiber bundle core |
A structure capturing what it means to be a principal fibre bundle.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
227/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean |
2 |
8 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
108-43815 3 months ago |
205-35261 205 days ago |
25-16284 25 days |
| 31102 |
JOSHCLUNE author:JOSHCLUNE |
feat: require LeanHammer |
Experimenting with adding LeanHammer as a mathlib dependency
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-meta
|
61/4 |
Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/Hammer.lean,lake-manifest.json,lakefile.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
108-42582 3 months ago |
202-14721 202 days ago |
0-6852 1 hour |
| 33431 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simple graphs by even cycles |
Add the classical characterization of bipartite simple graphs: a simple graph is bipartite if and only if every cycle has even length.
Previously, mathlib has the definition of `IsBipartite` for `SimpleGraph` and various lemmas about bipartite graphs, but it does not provide this equivalence in a single theorem, so users have to reprove or reassemble it from existing results.
Prove the forward direction by showing a 2-coloring alternates along any walk, so every cycle must have even length. Prove the converse by showing that if an odd cycle exists then no bipartition is possible, hence if all cycles are even the graph admits a bipartition.
|
new-contributor
t-combinatorics
awaiting-author
merge-conflict
|
186/1 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
6 |
['NickAdfor', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
kmill assignee:kmill |
108-42314 3 months ago |
110-43211 110 days ago |
26-3983 26 days |
| 34007 |
martinwintermath author:martinwintermath |
feat(Algebra/Module/Submodule/Dual): dual operator for submodules |
Add new file `Dual.lean` that defines the dual operator for submodules. The main definition is
* `Submodule.dual`: given a bilinear pairing `p` between two modules `M₁` and `M₂` and a submodule `S` in `M₁`, `Submodule.dual p S` is the submodule in `M₂` consisting of all points `y` such that `0 = p x y` for all `x ∈ S`.
For reasons of generality, `p` is actually a general sesqui-bilinear map, that is, of the form
`p : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M`.
This implementation of the `dual` operator for submodules is written to parallel the implementation of `PointedCone.dual`.
Include some additional results:
* theorems that represent the dual as the kernel of a linear map
* theorems for the relation between dual and the `dualAnnihilator` and `dualCoannihilator` of a submodule.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
236/0 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean |
2 |
7 |
['github-actions', 'joelriou', 'martinwintermath', 'mathlib-bors'] |
joelriou assignee:joelriou |
108-38351 3 months ago |
110-20810 110 days ago |
14-81283 14 days |
| 34291 |
YellPika author:YellPika |
feat(Data): a monad for partial computations |
This is the code corresponding to [mathlib4 > A monad for partial computations](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20monad.20for.20partial.20computations/with/569619800). Not currently intended to be merged.
This PR depends on #33941. The only changes relevant to this discussion are in `OmegaPart.lean`, `OmegaProp.lean`, and `Quot.lean`.
# Original Message
Inspired by @**Aaron Liu**'s comments in #**mathlib4>deprecate Mathlib.Data.Nat.PartENat?@538009243** and #**Is there code for X?>Divergence monad@538020049** I made an attempt at constructing a monad for partial computations with a computable `OmegaCompletePartialOrder` instance (neither `Option` nor `Part` support this use case). My solution consists of three parts.
**A computable version of `Quotient.choice`.** As mentioned in #**lean4>Quot.lift for dependent products@467436416** , the "obvious" computational interpretation of `Quotient.choice : (∀i:I, @Quotient (A i) …) → @Quotient (∀i:I, A i)` is not sound. However, we _can_ provide a sound computational interpretation when we restrict `I` to `ℕ`:
```lean
unsafe def Quotient.countableChoice_impl {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.lift₂
(fun z s ↦ ⟦fun | .zero => z | .succ n => s n⟧)
(fun z₁ s₁ z₂ s₂ h₁ h₂ ↦ by
apply sound
rintro ⟨_|n⟩
· apply h₁
· apply h₂)
(f 0)
(countableChoice_impl (fun n ↦ f n.succ))
@[implemented_by Quotient.countableChoice_impl]
def Quotient.countableChoice {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.choice f
```
My justification for the soundness of this implementation comes from the fact that only uses existing (sound and computable) functions + general recursion. The implementation is found [here](https://github.com/YellPika/mathlib4/blob/99d38f164a97c7aa225283ef6016f0279419a994/Mathlib/Data/Quot.lean#L430) (it uses `unquot` instead of recursion for performance reasons, but should be equivalent).
**A type of semi-computable propositions.** Next, I define a type of semi-computable propositions `ΩProp` as a quotient of the type of boolean sequences `(ℕ → Bool) / ≈`, where `p ≈ q ≝ (∃n, p n) ↔ (∃n, q n)`. A sequence is interpreted as "true" if at least one element in the sequence is `true`, and the quotient relation ensures that we cannot observe the difference between different "true" sequences. The `ΩProp` type has a (computable) `OmegaCompletePartialOrder`, and `Quotient.countableChoice` is used in the implementation of `ωSup`.
The implementation of this type is [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaProp.lean).
**A type of semi-computable computations.** Finally, I define the type `ΩPart A` of semi-computable computations returning a value of type `A`. The definition of `ΩPart` is the same as `Part` with `ΩProp` swapped for `Prop`. Again, `ΩPart A` has a (computable) `OmegaCompletePartialOrder` instance. The implementation can be found [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaPart.lean).
This was mainly just a fun experiment and the code is not ready to be (or perhaps should not be) put in mathlib. I thought I should post it here to see if 1) there is any interest or 2) an implementation already exists that has escaped my notice. |
new-contributor
large-import
merge-conflict
|
1157/40 |
Mathlib/Data/OmegaPart.lean,Mathlib/Data/OmegaProp.lean,Mathlib/Data/Quot.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
106-20835 3 months ago |
unknown |
0-0 0 seconds |
| 34053 |
christian-oudard author:christian-oudard |
feat: Add error function (erf) and complementary error function (erfc) |
## Summary
I was doing some finance math and needed the Error Function, so I thought I'd contribute it.
### Main definitions
* `Real.erf`: The error function, defined as `(2/√π) ∫₀ˣ e^(-t²) dt`
* `Real.erfc`: The complementary error function, defined as `1 - erf x`
### Main results
* `Real.erf_zero`: `erf 0 = 0`
* `Real.erf_neg`: `erf` is an odd function: `erf (-x) = -erf x`
* `Real.erf_tendsto_one`: `erf x → 1` as `x → ∞`
* `Real.erf_tendsto_neg_one`: `erf x → -1` as `x → -∞`
* `Real.erf_le_one`: `erf x ≤ 1` for all `x`
* `Real.neg_one_le_erf`: `-1 ≤ erf x` for all `x`
* `Real.deriv_erf`: `deriv erf x = (2/√π) * exp(-x²)`
* `Real.differentiable_erf`: `erf` is differentiable
* `Real.continuous_erf`: `erf` is continuous
* `Real.strictMono_erf`: `erf` is strictly monotone
Also adds `erf` to `docs/overview.yaml` under Special Functions.
---
- [x] Builds successfully
- [x] `lake exe runLinter` passes
- [x] `lake exe mk_all --check` passes |
t-analysis
new-contributor
awaiting-author
|
333/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Erf.lean,docs/overview.yaml |
3 |
18 |
['SnirBroshi', 'christian-oudard', 'github-actions', 'j-loreaux', 'plp127'] |
j-loreaux assignee:j-loreaux |
105-80011 3 months ago |
106-30464 106 days ago |
14-69133 14 days |
| 33601 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG |
---
- [ ] depends on: #33599
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
blocked-by-other-PR
|
941/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
105-57724 3 months ago |
135-41587 135 days ago |
0-412 6 minutes |
| 34726 |
GrigorenkoPV author:GrigorenkoPV |
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 |
---
Merge of https://github.com/leanprover-community/mathlib4/pull/26349
[](https://gitpod.io/from-referrer/)
|
new-contributor |
159/0 |
Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean |
4 |
1 |
['github-actions'] |
nobody |
104-16749 3 months ago |
104-16749 104 days ago |
3-20994 3 days |
| 34394 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): add constructors for linear ordered rings |
Add constructors for ordered rings from `mul_nonneg` / `mul_pos` that derive `ZeroLEOneClass` from a linear order. |
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
31/14 |
Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/RingTheory/HahnSeries/Lex.lean |
2 |
6 |
['Citronhat', 'Vierkantor', 'github-actions', 'leanprover-radar'] |
Vierkantor assignee:Vierkantor |
103-50086 3 months ago |
103-50086 103 days ago |
12-25418 12 days |
| 33493 |
michelsol author:michelsol |
feat(RingTheory/Polynomial): An explicit formula for the Chebyshev polynomials of the first kind |
Adds the following explicit formula on the Chebyshev polynomial of the first kind of order n.
${ T_{n}(x)\ =\ \sum \limits _{k=0}^{\lfloor {\frac {n}{2}}\rfloor } {\binom {n}{2k}} \left(\ X^{2}-1\ \right)^{k}\ X^{n-2k}}$
This explicit formula can be found [here](https://en.wikipedia.org/wiki/Chebyshev_polynomials#Explicit_expressions). There is a proof using complex numbers but it only works if the ring R = ℂ.
The proof here is by induction and works in a commutative ring R.
Mathlib seems to extend the definition of Chebyshev polynomials for $n \in \mathbb{Z}$ but this would make the formula more cumbersome with `n.natAbs` in place of `n`'s, so I expressed it on `n : ℕ` directly.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
51/1 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
8 |
['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] |
chrisflav assignee:chrisflav |
101-86325 3 months ago |
101-86325 101 days ago |
35-16105 35 days |
| 34815 |
Deep0Thinking author:Deep0Thinking |
feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral |
- [x] depends on: #34966
---
Add a proof of **Frullani integral**.
Main theorems:
- `Frullani.integral_Ioi`
- `IntegrableOn.tendsto_integral_Ioi`
- `exists_integral_div_eq_mul_log`
Supporting lemmas:
- `Frullani.comp_mul_left_div`
- `Frullani.intervalIntegrable_div`
- `Frullani.exists_integral_div_eq_mul_log`
- `Ioi_diff_Ioc`
- `ContinuousOn.comp_mul_left_div`, `ContinuousOn.comp_mul_right_div`
- `ContinuousOn.comp_mul_left`, `ContinuousOn.comp_mul_right`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-analysis
awaiting-author
blocked-by-other-PR
|
270/2 |
Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Monoid.lean |
6 |
17 |
['CoolRmal', 'Deep0Thinking', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
101-70040 3 months ago |
25-20090 25 days ago |
11-36072 11 days |
| 26986 |
WangYiran01 author:WangYiran01 |
feat(Partition): add bijection for partitions with max part ≤ r |
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.
Contributed by Yiran Wang.
|
awaiting-author
t-combinatorics
new-contributor
merge-conflict
|
92/0 |
Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Data/Multiset/Lattice.lean |
2 |
20 |
['WangYiran01', 'github-actions', 'jcommelin', 'kckennylau', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
99-34799 3 months ago |
132-57667 132 days ago |
120-67067 120 days |
| 26168 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition |
Add `signedMeasure_totalVariation_eq`: if `μ` is a `SignedMeasure` then variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition.
Co-authored-by: @yoh-tanimoto
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
awaiting-author
merge-conflict
blocked-by-other-PR
new-contributor
|
916/0 |
Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Equiv.lean |
5 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'yoh-tanimoto'] |
nobody |
99-15788 3 months ago |
319-58055 319 days ago |
15-65390 15 days |
| 34722 |
GrigorenkoPV author:GrigorenkoPV |
feat(Data/Finset/RangeDistance): bound distance between elements of `Finset.range` |
---
Rebase of https://github.com/leanprover-community/mathlib4/pull/26347
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
awaiting-author
|
34/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
7 |
['GrigorenkoPV', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-splicebot', 'plp127'] |
pechersky assignee:pechersky |
99-1077 3 months ago |
55-24839 55 days ago |
52-18954 52 days |
| 33969 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): Currently, injectiveSeminorm = projectiveSeminorm |
**WIP / RFC!**
Arguably, `injectiveSeminorm` should be re-defined in Mathlib. See #34137 and [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798261) for context.
In this file, we collect some results about the current definition and a possible alternative.
Contents:
* A theorem `injectiveSeminorm_eq_projectiveSeminorm` formalizing the equality of the current definitions. However, I think it is unlikely that keeping the alternative characterization would be worth the effort. The interesting direction `(L2') ≤ (L1)` follows from `norm_eval_le_projectiveSeminorm` which is still present. The converse direction is [somewhat tautological](https://github.com/leanprover-community/mathlib4/pull/34137). A proof of `(L2) = (L1)` (probably requiring Hahn-Banach) might be more interesting.
* A preliminary implementation of the injective seminorm as commonly understood.
* Sufficient conditions for the multiplicativity property `‖⨂ m i‖_∧ = ∏ ‖m i‖` to hold. This implements a TBD item.
---
Co-authored-by: Davood H. H. Tehrani
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
large-import
merge-conflict
|
774/387 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/LeastReasonable.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean |
8 |
3 |
['github-actions', 'goliath-klein', 'mathlib-merge-conflicts'] |
nobody |
98-18149 3 months ago |
126-33253 126 days ago |
0-23 23 seconds |
| 33233 |
jazzits author:jazzits |
feat(GroupTheory): add chosen group presentations and Tietze transformations (1) and (2) |
Defines a notion of group presentation for G compatible with Mathlib.GroupTheory.PresentedGroup: generators `ι → G` whose range generates G, and relators `rels : Set (FreeGroup ι)` whose normal closure equals the kernel of `FreeGroup ι →* G`. Provides the canonical map `PresentedGroup P.rels →* G` and equivalences showing `PresentedGroup P.rels ≃* G` and invariance under changing presentations.
Also formalizes Tietze moves (1)–(2) as equivalences of PresentedGroups: adding/removing a relator that lies in the normal closure of the others.
TODO: moves (3)–(4) (add/remove generator with a defining relation).
No existing definitions are modified
|
t-group-theory
new-contributor
awaiting-author
|
328/0 |
Mathlib.lean,Mathlib/GroupTheory/Presentation.lean |
2 |
15 |
['github-actions', 'homeowmorphism', 'jazzits', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
97-46682 3 months ago |
142-39229 142 days ago |
5-47944 5 days |
| 34725 |
GrigorenkoPV author:GrigorenkoPV |
feat(RingTheory/RootsOfUnity/LowDegree): quadratic, cubic, quartic, quintic roots of unity |
Closes https://github.com/leanprover-community/mathlib4/pull/25907
---
Merge of https://github.com/leanprover-community/mathlib4/pull/25907
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
awaiting-author
|
247/0 |
Mathlib.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/RingTheory/RootsOfUnity/LowDegree.lean |
4 |
22 |
['GrigorenkoPV', 'LLaurance', 'erdOne', 'github-actions', 'joneugster'] |
nobody |
97-11372 3 months ago |
102-692 102 days ago |
5-38408 5 days |
| 33032 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
merge-conflict
|
832/251 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Auxillary.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Konig.lean,Mathlib/Combinatorics/SimpleGraph/Konig/KonigFin.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
12 |
9 |
['SnirBroshi', 'github-actions', 'ksenono', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
96-81682 3 months ago |
153-64338 153 days ago |
0-136 2 minutes |
| 34159 |
wangying11123 author:wangying11123 |
feat(Geometry/Euclidean/Similarity): Add Triangle similarity on oangle |
Add theorems about triangles similarity on oangle |
t-euclidean-geometry
new-contributor
awaiting-author
|
154/1 |
Mathlib/Geometry/Euclidean/Similarity.lean |
1 |
8 |
['LLaurance', 'github-actions', 'jsm28', 'wangying11123'] |
jsm28 assignee:jsm28 |
96-45449 3 months ago |
97-6278 97 days ago |
7-49555 7 days |
| 33050 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem |
Lemmas missing for the formalisation of the proof of the Gelfond–Schneider theorem
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
WIP
|
238/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart2.lean |
6 |
113 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'mkaratarakis', 'riccardobrasca', 'vihdzp'] |
riccardobrasca assignee:riccardobrasca |
95-27829 3 months ago |
105-47086 105 days ago |
6-26337 6 days |
| 34814 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/ClearUnneeded): add `clear_unneeded` tactic |
---
The simplest version suggested in https://github.com/leanprover-community/mathlib4/issues/25319
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
please-merge-master
awaiting-author
|
94/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ClearUnneeded.lean,Mathlib/Tactic/Common.lean,MathlibTest/ClearUnneeded.lean,scripts/noshake.json |
6 |
12 |
['BoltonBailey', 'GrigorenkoPV', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
95-14893 3 months ago |
103-38266 103 days ago |
2-23785 2 days |
| 34876 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/AssumptionQuestion): add `assumption?` tactic |
---
As requested in #10361
TODO: maybe add some tests?
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
awaiting-author
|
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AssumptionQuestion.lean,Mathlib/Tactic/Common.lean,MathlibTest/AssumptionQuestion.lean,scripts/noshake.json |
6 |
5 |
['GrigorenkoPV', 'SnirBroshi', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
95-13468 3 months ago |
103-36456 103 days ago |
0-83167 23 hours |
| 33217 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define associated graded structure for abelian group |
In this PR we define the associated graded structure for abelian group when given a filtration and only give some basic lemmas about it.
---
migrated from https://github.com/leanprover-community/mathlib4/pull/26857
|
new-contributor
t-ring-theory
awaiting-author
|
144/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
13 |
['Blackfeather007', 'chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'urkud'] |
erdOne assignee:erdOne |
95-1049 3 months ago |
144-15445 144 days ago |
4-58698 4 days |
| 23791 |
SEU-Prime author:SEU-Prime |
Create AmiceTrans.lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-number-theory
new-contributor
|
2963/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Ring/Lemmas2.lean,Mathlib/NumberTheory/Padics/AmiceTrans.lean,Mathlib/NumberTheory/Padics/PSAC.lean,Mathlib/NumberTheory/Padics/PSAC2.lean,Mathlib/NumberTheory/Padics/PSAC3.lean,Mathlib/NumberTheory/Padics/PiGammainPS.lean,Mathlib/NumberTheory/Padics/PsiandVar.lean,Mathlib/RingTheory/AdicCompletion/Lemma.lean,Mathlib/RingTheory/PowerSeries/Comp.lean,Mathlib/Topology/ContinuousMap/ZeroAtBot.lean |
11 |
5 |
['SEU-Prime', 'github-actions', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
95-113 3 months ago |
408-32779 408 days ago |
0-38 38 seconds |
| 33281 |
michelsol author:michelsol |
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. |
Add the integral of the derivative of arcsin and its integrability.
---
- [ ] depends on: #33280
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
t-analysis
|
59/0 |
Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
94-56136 3 months ago |
146-23961 146 days ago |
0-2872 47 minutes |
| 29777 |
yuanyi-350 author:yuanyi-350 |
feat(Functional Analysis): closed Range Theorem |
- [ ] depends on: #29151 [Corollary of Hahn-Banach theorem]
- [ ] depends on: #29776 [refactor ContinuousLinearMap.isOpenMap by separating it into sublemmas]
---
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
new-contributor
awaiting-author
t-analysis
merge-conflict
|
237/25 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/ClosedRange.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
5 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
faenuccio assignee:faenuccio |
94-25321 3 months ago |
244-37097 244 days ago |
0-634 10 minutes |
| 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: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
large-import
t-analysis
merge-conflict
|
70/1 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
3 |
17 |
['faenuccio', 'fpvandoorn', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
94-20944 3 months ago |
241-54772 241 days ago |
20-68757 20 days |
| 32918 |
michelsol author:michelsol |
feat: define `supEdist` and `supDist` |
Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later.
[zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) |
t-topology
new-contributor
merge-conflict
|
75/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean |
2 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] |
nobody |
93-26235 3 months ago |
135-18620 135 days ago |
21-3598 21 days |
| 26413 |
michaellee94 author:michaellee94 |
feat: existence of maximal solutions for ODEs meeting Picard-Lindelöf conditions |
Add existence proof for maximal solution of ODE using Picard-Lindelöf and a uniqueness theorem using Grönwall's lemma.
---
- [x] depends on: #26382
- [x] depends on: #29186
- [ ] depends on: #35043
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-analysis
merge-conflict
|
1300/431 |
Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/UniformTime.lean,docs/1000.yaml,docs/undergrad.yaml |
13 |
95 |
['botbaki-review', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'michaellee94', 'winstonyin'] |
nobody |
92-53770 3 months ago |
324-39556 324 days ago |
0-5139 1 hour |
| 33712 |
wangying11123 author:wangying11123 |
feat(Geometry/Euclidean/Angle/Unoriented/Projection): Add sameray_orthogonalProjection_vsub_of_angle_lt |
Add sameray_orthogonalProjection_vsub_of_angle_lt
`sameray_orthogonalProjection_vsub_of_angle_lt`
When an angle is acute, the vector to the orthogonal projection lies in the same ray as the given direction vector. |
new-contributor
t-euclidean-geometry
awaiting-author
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'j-loreaux'] |
JovanGerb assignee:JovanGerb |
92-36066 3 months ago |
92-36166 92 days ago |
39-6778 39 days |
| 30667 |
FrederickPu author:FrederickPu |
feat(Mathlib/Algebra/Group/Subgroup/Pointwise): subgroup mul |
Title:
feat: pointwise products for subgroups
Description:
showed the point-wise product of disjoint subgroups is equivalent to their Cartesian product. Based on https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/useful.20group.20theory.20lemmas/with/546738566.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Group/Subgroup/Pointwise.lean |
1 |
23 |
['FrederickPu', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] |
nobody |
92-34575 3 months ago |
92-39209 92 days ago |
1-21290 1 day |
| 33793 |
LTolDe author:LTolDe |
feat(MeasureTheory/Constructions/Polish/Basic): add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre |
add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre, the main ingredient for the proof of the **Effros' Theorem**, see [#mathlib4 > Effros Theorem](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/566543328)
introduce definition of a nowhere meagre set
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
37/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean |
3 |
8 |
['MichaelStollBayreuth', 'erdOne', 'github-actions', 'j-loreaux'] |
kex-y assignee:kex-y |
92-30332 3 months ago |
92-30538 92 days ago |
39-9555 39 days |
| 35313 |
LexinonCraft author:LexinonCraft |
feat: IMO 2025 Q4 |
This adds a solution for problem 4 from the International Math Olympiad 2025.
--- |
IMO
new-contributor
awaiting-author
|
631/0 |
Archive.lean,Archive/Imo/Imo2025Q4.lean |
2 |
4 |
['LexinonCraft', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
92-206 3 months ago |
92-206 91 days ago |
3-30421 3 days |
| 33276 |
NicolaBernini author:NicolaBernini |
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-data
merge-conflict
|
17/15 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/NumberTheory/Divisors.lean |
8 |
5 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
kim-em assignee:kim-em |
91-70350 3 months ago |
142-48623 142 days ago |
4-4467 4 days |
| 34674 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions |
* Add `WithTop` versions of basic multiplicative order lemmas.
* Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs.
* Fix a typo in the `pos_of_ne_zero` alias name. |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
46/15 |
Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
3 |
5 |
['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
Ruben-VandeVelde assignee:Ruben-VandeVelde |
91-50084 3 months ago |
91-50085 91 days ago |
17-1225 17 days |
| 28246 |
Sebi-Kumar author:Sebi-Kumar |
feat(AlgebraicTopology/FundamentalGroupoid): the n-sphere is simply connected for n > 1 |
Prove that the `n`-dimensional sphere (i.e., the unit sphere centered at the origin in `(n + 1)`-dimensional real Euclidean space) is a simply connected space for `n > 1`. This proof follows Hatcher's "Algebraic Topology"; we first prove a general lemma about decomposing loops and then exploit the fact that non-surjective loops in the sphere are homotopically trivial.
Note: To get this file to build, I edited `Mathlib/Tactic/Linter/DirectoryDependency.lean` to remove the restrictions on AlgebraicTopology files importing Geometry, NumberTheory, and FieldTheory files. Thank you to those who shared their expertise [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Warning.20that.20AlgebraicTopology.20can't.20import.20SetTheory/with/533833638). As I understand it, this is just a short-term solution, so I would appreciate feedback on what to do about this situation.
Note: I am unsure where exactly the file `SimplyConnectedSphere.lean` should go or whether that is an appropriate name for the file, so feedback there would be appreciated.
---
To provide additional context, this code was written 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.
- [x] depends on: #28208
- [x] depends on: #28198
- [x] depends on: #28185
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
awaiting-author
|
343/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
17 |
['dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
89-47870 3 months ago |
89-47870 89 days ago |
13-72199 13 days |
| 33746 |
ster-oc author:ster-oc |
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API |
This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
353/145 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
3 |
8 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] |
joelriou assignee:joelriou |
86-66982 2 months ago |
86-66982 86 days ago |
30-23357 30 days |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
awaiting-author
merge-conflict
|
396/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
40 |
['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
86-12279 2 months ago |
162-13149 162 days ago |
2-77113 2 days |
| 33257 |
NickAdfor author:NickAdfor |
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) |
Prove bipartite iff all cycles are even
This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length.
Co-authored-by: Nick Adfor
Co-authored-by: Yue Sun
Co-authored-by: Aristotle AI
---
## Main results
- `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem
## Key supporting lemmas
- `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings
- `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity
- `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma
- `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties
## Proof outline
1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color.
2. For cycles (start = end), this forces even length.
3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization.
4. Show this coloring is valid using bypass operations and path properties.
## Technical notes
- Uses `SimpleGraph.Walk` for path/cycle representation
- Handles both `IsPath` and `IsCycle` predicates
- Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks
- Requires `DecidableEq V` for some lemmas
- Uses classical logic for case analysis
## Reviewer notes
- The proof uses induction on walks and case analysis on colorings
- Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations
- All theorems are in the `SimpleGraph` namespace
- The `bipartite_iff_all_cycles_even` theorem provides the complete characterization |
t-combinatorics
new-contributor
awaiting-author
LLM-generated
merge-conflict
|
164/8 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
2 |
80 |
['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'euprunin', 'github-actions', 'kmill', 'mathlib-merge-conflicts', 'mitchell-horner', 'vihdzp', 'vlad902'] |
YaelDillies assignee:YaelDillies |
86-1253 2 months ago |
57-59941 57 days ago |
52-32521 52 days |
| 34419 |
ster-oc author:ster-oc |
feat(RCLike): add `Continuous.re` and similar |
This PR adds dot notation for `re`, `im`, `conj` and `ofReal` for `Continuous`, `LipschitzWith` and `Memℓp`.
Given `hf : Continuous f` it allows to use `hf.re` to express `Continuous (fun x ↦ (f x).re)`, similarly to the usual `hf.add hg`.
I also can add the same features for `Summable` but I am not sure where to place them, suggestions are appreciated!
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
merge-conflict
|
186/41 |
Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/RCLike/Basic.lean |
3 |
15 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'ster-oc'] |
j-loreaux assignee:j-loreaux |
85-24377 2 months ago |
85-24377 85 days ago |
8-29654 8 days |
| 33247 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): dimension of cotangent spaces |
It is shown that the span rank of the maximal ideal of a local ring equals the dimension of the cotangent space
if the maximal ideal is finitely generated.
To avoid unnecessary imports, the original `Mathlib/RingTheory/Nakayama` is now moved to `Mathlib/RingTheory/Nakayama/Basic`.
---
- [ ] depends on: #33359
- [ ] depends on: #33361
- [ ] depends on: #35651
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
t-ring-theory
WIP
blocked-by-other-PR
merge-conflict
|
140/27 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/Nakayama/Basic.lean,Mathlib/RingTheory/Nakayama/SpanRank.lean,Mathlib/RingTheory/Regular/RegularSequence.lean,Mathlib/RingTheory/Support.lean |
10 |
13 |
['erdOne', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sun123zxy'] |
nobody |
85-8615 2 months ago |
144-15763 144 days ago |
3-72713 3 days |
| 34853 |
GrigorenkoPV author:GrigorenkoPV |
feat(Combinatorics/Enumerative/Catalan): ratio of subsequent Catalan numbers |
---
Should I split this into 2 PRs? Otherwise it'll get squashed & be less concise.
UPD: ok, I've opened #34854
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
|
305/195 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Ratio.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
7 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
85-8238 2 months ago |
103-35923 103 days ago |
1-62439 1 day |
| 35735 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): analytical properties and lower bounds for Gelfond-Schneider auxiliary function |
This PR is the third component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem). It connects the algebraically constructed auxiliary function `R(x)` to its analytical properties, establishing the exact order of vanishing and the fundamental lower bound on the norm of its non-zero derivative evaluation.
Following the argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9, equations (4) and (5)), we define the minimal non-vanishing derivative order $r$ and scale the evaluation to an algebraic integer to compute its norm.
1. (`iteratedkDeriv_R_eq_zero` & `order_geq_n`): We verify that the coefficient vector $\eta$ (chosen via Siegel's lemma in the previous PR) forces the first $n$ derivatives of the auxiliary function $R(x)$ to vanish at the points $x \in \{1, 2, \dots, m\}$. Consequently, the analytical order of $R(x)$ at these points is at least $n$.
2. We extract $r$, the exact minimal order of vanishing of $R(x)$ among all points $1 \le l \le m$, and prove that $n \le r$.
3. We define the non-zero algebraic number $\rho = (\log \alpha)^{-r} R^{(r)}(l_0)$.
4. We prove the crucial textbook step that scaling $\rho$ by $c_1^{r+2mq}$ (formalized here as `cρ`) results in an algebraic integer in $\mathcal{O}_K$.
5. Because $c_1^{r+2mq} \rho$ is a non-zero algebraic integer, the absolute value of its norm is at least $1$. We use this to formally prove the strict lower bound on the absolute norm of the unscaled $\rho$: $|N(\rho)| > c_1^{-h(r+2mq)} > c_5^{-r}$.
---
- [ ] depends on: #35734 [optional extra text]
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
blocked-by-other-PR
|
1141/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
84-82096 2 months ago |
85-18152 85 days ago |
0-362 6 minutes |
| 35755 |
Vilin97 author:Vilin97 |
feat(Analysis/ODE): forward Euler method convergence |
WIP
Prove the convergence of the Forward Euler Method. This is the first theorem in most textbooks on numerical analysis for ODEs.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was then iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code (Claude Opus 4.6).
* [ ] depends on: #35753 |
new-contributor
WIP
LLM-generated
merge-conflict
|
297/0 |
Mathlib.lean,Mathlib/Analysis/ODE/EulerMethod.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
4 |
7 |
['Vilin97', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
84-59085 2 months ago |
84-61296 84 days ago |
0-674 11 minutes |
| 20238 |
maemre author:maemre |
feat(Computability/DFA): Closure of regular languages under some set operations |
This shows that regular languages are closed under complement and intersection by constructing DFAs for them.
---
Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
159/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean |
2 |
60 |
['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'mathlib4-merge-conflict-bot', 'meithecatte', 'urkud'] |
nobody |
83-57020 2 months ago |
429-34959 429 days ago |
48-67492 48 days |
| 22361 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): nfa closure properties |
Add the closure properties union, intersection and reversal for NFA.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
218/2 |
Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean |
2 |
91 |
['EtienneC30', 'b-mehta', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
83-57004 2 months ago |
380-38898 380 days ago |
39-60525 39 days |
| 30872 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): NFA closure under concatenation |
This PR proves that regular languages are closed under concatenation via a direct construction on `NFA`s without `εNFA` nor ε-transitions. The main new definitions and results include:
- `M1.concat M2`, the concatenation of `NFA`s `M1` and `M2`, a direct construction without ε-transitions.
- Theorem `accepts_concat : (M1.concat M2).accepts = M1.accepts * M2.accepts`, showing the correctness of the construction.
- Theorem `IsRegular.mul`, showing that regular languages are closed under concatenation.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
67 |
['YaelDillies', 'ctchou', 'eric-wieser', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
nobody |
83-36875 2 months ago |
111-20284 111 days ago |
59-63565 59 days |
| 35746 |
ThomasMoulin-hub author:ThomasMoulin-hub |
feat (Algebra/Endomorphisms): add kernels lemma from the missing undergraduate mathematics in mathlib |
Add helper theorem inside Mathlib.Algebra.Polynomial.Smeval.lean and created a new file Mathlib/RingTheory/Polynomial/KernelDecomposition.lean that implements the kernels lemma from the missing undergraduate mathematics in mathlib list. This file also contains intermediate results needed for the main lemma. |
new-contributor |
75/0 |
Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/RingTheory/Polynomial/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
83-8444 2 months ago |
unknown |
0-0 0 seconds |
| 23929 |
meithecatte author:meithecatte |
feat(Computability/NFA): improve bound on pumping lemma |
---
- [x] depends on: #25321
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-zulip
new-contributor
awaiting-author
|
101/10 |
Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean |
2 |
42 |
['YaelDillies', 'dagurtomas', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] |
nobody |
82-77033 2 months ago |
347-19932 347 days ago |
34-10092 34 days |
| 35128 |
DAE123456 author:DAE123456 |
feat : Define anti_pascal |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
81/0 |
Archive.lean,Archive/Imo/Imo2018Q3.lean |
2 |
5 |
['DAE123456', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
82-74559 2 months ago |
98-42723 98 days ago |
0-1613 26 minutes |
| 8102 |
miguelmarco author:miguelmarco |
feat(Tactic): add `unify_denoms` and `collect_signs` tactics |
This PR adds four new tactics:
- `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators.
- `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive.
- `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one.
Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added.
--- |
please-adopt
new-contributor
merge-conflict
modifies-tactic-syntax
good first issue
t-meta
|
407/0 |
Mathlib.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CollectSigns.lean,Mathlib/Tactic/UnifyDenoms.lean,MathlibTest/unify_denoms.lean,scripts/noshake.json |
7 |
55 |
['Paul-Lez', 'YaelDillies', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'miguelmarco'] |
nobody |
82-41331 2 months ago |
371-23803 371 days ago |
17-14109 17 days |
| 35603 |
2500223210-max author:2500223210-max |
feat(GroupTheory/Frattini): add more theorems |
Add some contents about frattini subgroup into Mathlib GroupTheory Frattini.lean,including
* (convenient lemma)A subgroup contained in all maximal subgroup is contained in
the FRattini subgroup
* A subgroup (say H) has a proper complement (meaning for some proper subgroup K,
K and H generate the whole group)if and only if it is not contained
in the Frattini subgroup.
* A group is cyclic iff its Frattini factor(the quotient group wrt Frattini subgroup)
is cyclic.
* The Frattini factor of a finite p-group is elementary abelian(that is,an abelian
group G with Gᵖ={1})
* A finite p-group has trivial Frattini subgroup iff the group is elementary abelian.
* Burnside theorem of Frattini factor of finite p-group.
---
|
new-contributor
t-group-theory
large-import
awaiting-author
|
764/1 |
Mathlib/GroupTheory/Frattini.lean |
1 |
3 |
['github-actions', 'tb65536'] |
nobody |
82-39012 2 months ago |
82-39012 82 days ago |
5-73876 5 days |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
223/100 |
Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
2 |
21 |
['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
PhoenixIra and vihdzp assignee:PhoenixIra assignee:vihdzp |
82-17316 2 months ago |
82-17316 82 days ago |
44-16098 44 days |
| 35857 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Logic.Equiv.BijectiveBase2): add bijective base-2 numeration |
This PR introduces a formalization of the bijective base-2 numeration system.
Unlike standard binary representation, bijective base-2 avoids the "leading zeros" problem, providing a strict mathematical bijection between natural numbers (`ℕ`) and lists of booleans (`List Bool`).
**Main additions:**
* `Equiv.BijectiveBase2.toBits`: Encodes `ℕ` to `List Bool`.
* `Equiv.BijectiveBase2.ofBits`: Decodes `List Bool` to `ℕ`.
* `equivBijectiveBase2`: The formal `ℕ ≃ List Bool` equivalence.
---
Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540)
Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051)
*(Note: This replaces my previously closed PR to avoid the terminology clash between "Dyadic" and dyadic rationals. The namespace and definitions have been updated accordingly).*
*(Note: Used AI to assist with standardizing proof structures).* |
t-logic
new-contributor
LLM-generated
blocked-by-batt-PR
|
95/0 |
Mathlib.lean,Mathlib/Logic/Equiv/ListNatBijective.lean |
2 |
6 |
['AlexeyMilovanov', 'SnirBroshi', 'github-actions', 'joneugster'] |
nobody |
82-13387 2 months ago |
54-49610 54 days ago |
27-59600 27 days |
| 35376 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifold): orientable manifolds |
---
- [x] depends on: #33189
[](https://gitpod.io/from-referrer/)
|
new-contributor
WIP
t-differential-geometry
merge-conflict
awaiting-author
|
2116/11 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/MoebiusBand.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Topology/Closure.lean |
7 |
8 |
['Rida-Hamadani', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
81-7592 2 months ago |
94-27038 94 days ago |
0-100 1 minute |
| 35734 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): matrix bounds and Siegel's lemma application for Gelfond-Schneider |
This PR is the second component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), establishing the transcendence of $\alpha^\beta$. Building on the algebraic setup from the previous PR #35733, this file establishes analytical bounds on the linear system matrix and applies Siegel's Lemma (Lemma 8.2) to extract a bounded, non-trivial integer solution vector.
We establish the exact upper bounds required to construct the auxiliary integer function $R(x)$.
`c₃` and Matrix Bounds (`house_matrixA_le`)**: We define the bounding constant $c_3$, which aggregates the base bounds $c_2$ and the maximal houses of the algebraic preimages $\alpha', \beta', \gamma'$. Through extensive algebraic manipulation, we formally prove that the house of the entries in our linear system matrix $A$ is strictly bounded by $c_3^n * n^{(n - 1) / 2}$.
Using the bounds established above, we apply `house.exists_ne_zero_int_vec_house_le` (a formalization of Lemma 8.2, p. 490) to guarantee the existence of a non-trivial vector of algebraic integers $\eta$ in the kernel of $A$.
We define the solution bounding constant $c_4$ and prove the textbook bound that the house of our resulting coefficient vector $\eta$ satisfies $\forall k, \|\eta_k\| \leq c_4^n * n^{(n + 1) / 2}$.
- [ ] depends on: #35733
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-number-theory
blocked-by-other-PR
|
872/5 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
80-44522 2 months ago |
85-18737 85 days ago |
0-306 5 minutes |
| 34875 |
banrovegrie author:banrovegrie |
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula |
Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap.
- Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}`
- Add `Matrix.inv_sub_vecMulVec`: subtraction variant
- Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses
## Test plan
- [x] `lake build` passes
- [x] Lines within 100 char limit
- [x] All declarations have docstrings
**Any specific AI usage?**: Used Copilot for review purposes. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean |
2 |
14 |
['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
chrisflav assignee:chrisflav |
80-32150 2 months ago |
35-29239 35 days ago |
69-6728 69 days |
| 26013 |
tsuki8 author:tsuki8 |
feat(Data/Finset/Card,Data/Set/Finite/Basic): TODO needs a better title |
add `card_bijOn` and `finset_subset_preimage_of_finite_image`
Add `card_bijOn`: proves that for a bijection between finsets, their cardinalities are equal
Add `finset_subset_preimage_of_finite_image`: constructs a finset subset preserving image cardinality
Co-authored-by: Junyu Guo
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
15/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean |
2 |
6 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
79-78727 2 months ago |
323-58460 323 days ago |
13-85893 13 days |
| 35805 |
adrianmartir author:adrianmartir |
feat(NumberTheory/Divisors): Add `infinite_setOf_divisors_iff` |
This proves that the set of divisors `{ m | m | n }` of a natural number `n` is infinite if and only if `n` is zero. The first proof draft was by @Aristotle-Harmonic.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
|
10/0 |
Mathlib/NumberTheory/Divisors.lean |
1 |
6 |
['adrianmartir', 'alexjbest', 'github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
79-56053 2 months ago |
56-35393 56 days ago |
27-18698 27 days |
| 35442 |
dhyan-aranha author:dhyan-aranha |
feat: Affine line with doubled origin counter example |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-algebraic-geometry
|
305/0 |
Counterexamples.lean,Counterexamples/AffineLineWithDoubledOrigin.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean |
4 |
21 |
['BryceT233', 'chrisflav', 'dhyan-aranha', 'github-actions'] |
nobody |
79-51657 2 months ago |
92-39662 92 days ago |
0-5488 1 hour |
| 29713 |
jessealama author:jessealama |
feat(Algebra/Homology): add Euler–Poincaré formula |
This PR builds on the generalized Euler characteristic framework from #31121 to prove the Euler-Poincaré formula for chain complexes.
PR #31121 defines the Euler characteristic for general homological complexes. This PR specializes those definitions to ℤ-indexed chain complexes and proves the main Euler-Poincaré theorem.
### Main result (in `EulerPoincare.lean`)
* `ChainComplex.eulerChar_eq_homologyEulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions.
### Supporting lemmas
The file also provides dimension lemmas generalized to arbitrary `HomologicalComplex (ModuleCat k) c` (not just ℤ-indexed chain complexes):
* `HomologicalComplex.dFrom_zero_range` / `dTo_zero_range`: zero range when the target/source object is zero
* `HomologicalComplex.dFrom_range_finrank_eq_d` / `dTo_range_finrank_eq_d`: range of `dFrom`/`dTo` has the same dimension as the underlying differential
* `HomologicalComplex.range_dTo_le_ker_dFrom`: range of `dTo` is contained in the kernel of `dFrom`
---
- [ ] depends on: #38483 (`Antiperiodic.sum_Ico_shift` and bilinear cancellation lemma)
Builds on: #31121
Related to: #29639, #29643, #29646 |
awaiting-author
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
428/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
2 |
26 |
['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
79-46981 2 months ago |
207-62153 207 days ago |
35-45800 35 days |
| 28286 |
bwangpj author:bwangpj |
feat(Geometry/Manifold/ContMDiff): basic lemmas for analytic (`C^ω`) functions |
Add basic lemmas relating `ContMDiff` in the `C^ω` case to being `Analytic` on charts.
This is upstreamed from [https://github.com/girving/ray](https://github.com/girving/ray).
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
36/0 |
Mathlib/Geometry/Manifold/ContMDiff/Defs.lean |
1 |
14 |
['bwangpj', 'girving', 'github-actions', 'grunweg', 'kbuzzard', 'mathlib-merge-conflicts', 'sgouezel'] |
sgouezel assignee:sgouezel |
78-64195 2 months ago |
253-60545 253 days ago |
27-52841 27 days |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
224/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
ocfnash assignee:ocfnash |
77-48425 2 months ago |
30-8277 30 days ago |
82-19320 82 days |
| 34940 |
michaellee94 author:michaellee94 |
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
awaiting-author
merge-conflict
|
536/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Topology/Constructions/Graph.lean |
5 |
80 |
['botbaki-review', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'michaellee94', 'ocfnash'] |
ocfnash assignee:ocfnash |
76-34455 2 months ago |
78-14650 78 days ago |
15-5284 15 days |
| 35193 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Closeds): implement category of closed sets in topological spaces |
I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it.
Based on work of @kim-em
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
please-adopt
merge-conflict
awaiting-author
|
385/0 |
Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean |
2 |
24 |
['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
76-33601 2 months ago |
61-33674 61 days ago |
17-64811 17 days |
| 35332 |
yisiox author:yisiox |
feat(Computability): regular expressions match a regular language |
This PR adds a proof that the language matched by a regular expression is a regular language.
This is achieved by the following constructions and proofs of their correctness
- A DFA `epsilon` which accepts the empty language
- A DFA `char (a : α)` which accepts the language containing only a single symbol
- An Epsilon-NFA `concat (M₁ : εNFA α σ₁) (M₂ : εNFA α σ₂)` which accepts the concatenation of the languages of two Epsilon-NFAs
- An Epsilon-NFA `kstar (M : εNFA α σ)` which accepts the Kleene star of a language of an Epsilon-NFA
The following theorems on closure are added
- `IsRegular.zero`
- `IsRegular.one`
- `IsRegular.top`
- `IsRegular.singleton`
- `IsRegular.mul`
- `IsRegular.kstar`
which demonstrates
- `IsRegular.matches`
---
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
|
475/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean |
2 |
2 |
['github-actions'] |
nobody |
76-23562 2 months ago |
unknown |
0-0 0 seconds |
| 35834 |
homeowmorphism author:homeowmorphism |
feat(Mathlib/GroupTheory/PresentedGroup): every group has a presentation |
We show that every group has a presentation defined by taking the free group with all of the group elements as the generators, and defining the relations as the kernel of the induced subjective homomorphism from that free group to the group itself.
Use of AI: This has been vibe-coded with GPT-Codex-5.3, was updated through review, and was double-checked by the author.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-group-theory
large-import
awaiting-author
LLM-generated
|
29/1 |
Mathlib/GroupTheory/PresentedGroup.lean |
1 |
15 |
['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
76-13776 2 months ago |
76-13776 76 days ago |
4-30613 4 days |
| 36210 |
vbeffara author:vbeffara |
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor |
A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph.
This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean |
3 |
8 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] |
b-mehta assignee:b-mehta |
76-6132 2 months ago |
22-34795 22 days ago |
53-33900 53 days |
| 35569 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` |
This PR:
* Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas.
* Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean.
No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files.
The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done.
This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633).
---
- [ ] depends on: #35567
- [ ] depends on: #35568
Deprecations:
- injectiveSeminorm
- dualSeminorms_bounded
- injectiveSeminorm_apply
- norm_eval_le_injectiveSeminorm
- injectiveSeminorm_le_projectiveSeminorm
- injectiveSeminorm_tprod_le
Preliminary work toward a reimplementation is at #33969.
I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module.
Co-authored-by: Davood H. T. Tehrani
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
blocked-by-other-PR
|
290/366 |
Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean |
3 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
75-52546 2 months ago |
33-59864 33 days ago |
50-27661 50 days |
| 14313 |
grhkm21 author:grhkm21 |
feat(RepresentationTheory/FdRep): FdRep is a full subcategory of Rep |
```
/-- Equivalence between `FDRep` and the full subcategory of finite dimensional `Rep`. -/
def equivFiniteDimensional :
FDRep k G ≌ FullSubcategory (fun V : Rep k G ↦ FiniteDimensional k V)
``` |
merge-conflict
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
47/8 |
Mathlib/RepresentationTheory/FDRep.lean |
1 |
21 |
['fpvandoorn', 'github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] |
nobody |
75-47021 2 months ago |
668-13045 668 days ago |
4-83177 4 days |
| 33592 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
This PR picks up https://github.com/leanprover-community/mathlib4/pull/15895 and resolves the failing lemma by redefining Good symbols.
---
I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599
This is my first contribution please let me know of any changes I should outline.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-computability
new-contributor
|
160/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
34 |
['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] |
nobody |
75-35989 2 months ago |
124-64516 124 days ago |
10-68503 10 days |
| 35144 |
daniel-carranza author:daniel-carranza |
feat(CategoryTheory/Enriched): tensor product of enriched categories |
For a braided monoidal category `V`, defines the tensor product of `V`-categories `C` and `D`, and shows that the type of `V`-functors out of the tensor product `C \times D` is equivalent to the type of "enriched bifunctors" `EnrichedBifunctor V C D`.
---
This work originates from infinity-cosmos project, where it is used to formalize the notion of cotensors in an enriched category. There are some additional coherence lemmas in a braided monoidal category which have been added.
Currently, line 209 violates the style guideline that terminal simp calls should not be squeezed. When I tried to replace this with a single `simp`, I get an error message: `maximum recursion depth has been reached`. Any suggestions (either with this or anything else) are greatly appreciated - thank you!
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
infinity-cosmos
awaiting-author
|
333/0 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/TensorProductCategory.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean |
3 |
12 |
['daniel-carranza', 'emilyriehl', 'github-actions', 'joelriou', 'robin-carlier'] |
nobody |
75-31696 2 months ago |
98-20791 98 days ago |
0-145 2 minutes |
| 34236 |
homeowmorphism author:homeowmorphism |
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups |
Formulation of finitely presented groups
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups
We define the notion of `IsFinitelyPresented` with equivalent datatype notions, what it means for a subgroup to be finitely generated in the normal closure, and some instances of finitely presented groups.
This started as an ItaLean2025 project. The related Zulip thread is here: https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Finitely.20Presented.20Groups/with/567565752.
Use of AI:
* Aristotle was used for giving a preliminary proof of some statements as this is my first contribution and I wanted to understand how to prove things; they have since been changed.
* GPT-5.2 was used to generate some of the proof sub-statements for efficiency once the mathematical blueprints of the proofs have been worked out.
* GPT-5.3 was used to rapidly refactor the code. Human review by PR author in-progress, but got to a point where it would be good to get external input.
* GPT-5.4 was used to refactor the variables. Human PR author then rewrote the whole thing.
---
- [x] depends on: #34580
- [x] depends on: #34624
- [x] depends on: #35033
- [x] depends on: #35029
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
merge-conflict
blocked-by-other-PR
|
459/3 |
Mathlib.lean,Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
5 |
72 |
['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'grunweg', 'homeowmorphism', 'kbuzzard', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
75-29982 2 months ago |
62-12875 62 days ago |
0-4650 1 hour |
| 27226 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Add Subgraph.inclusion_edge_apply_coe and inclusion_edgeSet_apply_coe |
This PR continues the work from #25248.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25248 |
awaiting-author
t-combinatorics
new-contributor
merge-conflict
|
14/0 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
4 |
['b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'xcloudyunx'] |
b-mehta assignee:b-mehta |
75-23089 2 months ago |
282-3235 282 days ago |
25-83942 25 days |
| 33688 |
Citronhat author:Citronhat |
feat(PMF): add expectation lemmas for Poisson PMF |
This PR adds some basic results about the Poisson distribution, its `PMF`, and its expectation.
**New lemmas:**
* `poissonPMF_apply` — an unfolding lemma for `poissonPMF`.
* `poissonPMFReal_mul_eq_succ_mul` — the standard recursion identity for the Poisson mass function.
* `poissonPMFReal_hasSum_nmul` — shows that `fun n ↦ poissonPMFReal r n * n` has sum `r`.
* `poissonPMF_tsum_nmul` — the corresponding identity at the level of the `PMF`.
* `poissonPMF_coe_tsum_nmul` — the same result after coercion to `ℝ`.
Both `ℝ`-valued and `ℝ≥0∞`-valued formulations are included so that these results can be used conveniently in both Lebesgue and Bochner integration contexts. |
new-contributor
t-measure-probability
awaiting-author
merge-conflict
|
21/0 |
Mathlib/Probability/Distributions/Poisson.lean |
1 |
11 |
['Citronhat', 'DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
urkud assignee:urkud |
75-5069 2 months ago |
86-19718 86 days ago |
47-76876 47 days |
| 34005 |
MSpill author:MSpill |
feat: inverse function theorem for manifolds (concrete version) |
Proves the inverse function theorem for manifolds: given manifolds $M, N$ and a $C^n$ map $f : M \to N$ whose differential is a linear isomorphism at $p \in M$, then $f$ is a local diffeomorphism at $p$, provided that both $p$ and its image are interior points. The proof proceeds in 4 main steps:
1. Define composition of partial diffeomorphisms
2. Show that the extended chart at an interior point can be restricted to an open set on which it is a partial diffeomorphism, viewing the model vector space as a manifold modelled on itself trivially
3. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces
4. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds.
------
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
merge-conflict
|
232/3 |
Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
1 |
12 |
['MSpill', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
75-4824 2 months ago |
125-30337 125 days ago |
0-1082 18 minutes |
| 34830 |
parabamoghv author:parabamoghv |
feat(CategoryTheory/Monoidal): add definition of categorical groups |
This PR defines of categorical groups, also known as coherent 2-groups, in mathlib.
Motivation:
Categorical groups are well-studied structures in monoidal category theory, but are not currently available in mathlib. The definitions in this PR follow the existing design patterns used for Category, MonoidalCategory, and BraidedCategory.
This PR focuses on setting up the core structure and notation. Basic lemmas and further developments will be provided in a subsequent PR.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
WIP
merge-conflict
|
163/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/CategoricalGroups/Basic.lean |
2 |
27 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
74-79944 2 months ago |
89-61984 89 days ago |
5-13145 5 days |
| 36313 |
SproutSeeds author:SproutSeeds |
feat(Inversion): cobounded tendsto near center |
Part of #5939
Add `tendsto_inversion_nhdsNE_center_cobounded` in `Mathlib/Geometry/Euclidean/Inversion/Basic.lean`, proving `Tendsto (inversion c R) (𝓝[≠] c) (Bornology.cobounded P)` for `R ≠ 0`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
awaiting-author
|
42/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
11 |
['SproutSeeds', 'euprunin', 'github-actions', 'jsm28', 'kbuzzard', 'ocfnash'] |
jsm28 assignee:jsm28 |
74-54659 2 months ago |
57-51598 57 days ago |
6-36700 6 days |
| 35733 |
mkaratarakis author:mkaratarakis |
feat: Algebraic setup and matrix coefficients for Gelfond-Schneider theorem |
This PR introduces the foundational algebraic setup and coefficient bounds required for the proof of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), which establishes that for algebraic numbers $\alpha \neq 0, 1$ and irrational algebraic $\beta$, the number $\alpha^\beta$ is transcendental.
Following the contradiction argument presented in Loo-Keng Hua's "Introduction to Number Theory" (Chapter 17.9, 490 -493) Gelfond's Proof), this file constructs the common number field $K$ and sets up the scaled algebraic integers for the auxiliary linear system. This system will later be solved via Siegel's lemma (Lemma 8.2, 490, Hua).
This PR is essentially the first half of page 490 in the book.
The proof proceeds by assuming $\gamma = \alpha^\beta$ is algebraic, meaning $\alpha$, $\beta$, and $\gamma$ all lie in an algebraic field $K$ of degree $h$.
1. Bundles the common number field $K$, the complex embeddings, and the algebraic preimages $\alpha', \beta', \gamma'$, alongside the core hypotheses of the theorem.
2. Defines the field degree $h = [K : \mathbb{Q}]$, and bounds $m = 2h + 2$ and $n = q^2 / (2m)$ to control the dimensions of the linear system.
3. Defines $c_1$, a natural number chosen so that $c_1 \alpha$, $c_1 \beta$, and $c_1 \gamma$ are algebraic integers in $K$. We prove numerous bounding and integrality lemmas (`isIntegral_c₁α`, `isInt_β_bound`, etc.).
4. Formalizes the core algebraic coefficients $(a+b\beta)^k \alpha^{al} \gamma^{bl}$ which appear in the evaluation of the derivatives of the auxiliary function $R(x)$.
5. By scaling the system by $c_1^{n-1+2mq}$, we successfully restrict the entries of our linear system matrix `A` entirely to the ring of integers $\mathcal{O}_K$, preparing it for the application of Siegel's lemma.
6. House Bounds (`c₂`) : Establishes the foundational base integer $c_2$ to bound the absolute values of the conjugates (houses) of our coefficients.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
|
416/0 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean |
2 |
19 |
['MichaelStollBayreuth', 'github-actions', 'mkaratarakis', 'tb65536'] |
tb65536 assignee:tb65536 |
74-53563 2 months ago |
13-28974 13 days ago |
44-79123 44 days |
| 36323 |
SproutSeeds author:SproutSeeds |
feat(Inversion): discontinuity and center/global fderiv formulas |
Part of #5939
Adds the discontinuity-at-center lemma for inversion and derives the center/global `fderiv` formulas from it.
This draft currently builds on the preceding cobounded-tendsto lemma from #36313 while that earlier slice is under review.
Scope is limited to `Mathlib/Geometry/Euclidean/Inversion/Calculus.lean`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
|
65/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean |
2 |
2 |
['github-actions'] |
nobody |
74-30870 2 months ago |
unknown |
0-0 0 seconds |
| 36326 |
Arnav-panjla author:Arnav-panjla |
Feat/gaussian schwartz map |
feat(Analysis/SpecialFunctions/Gaussian): define the Gaussian as a Schwartz function in 1D
Define the Gaussian function `x ↦ exp (-x^2)` as a `SchwartzMap` in the one-dimensional case.
The proof establishes the Schwartz decay conditions by showing that polynomially
weighted expressions of the form `(1 + x^2)^m * exp (-x^2)` are bounded. This
allows the Gaussian to be packaged using the `SchwartzMap` API.
During the implementation a few adjustments were required to match the current
Mathlib API. In particular:
* replace the non-existent `IsBigO.mul_right` with `IsBigO.of_bound` applied to the
full product `(1 + x^2)^m * exp (-x^2)`
* fix `mem_cocompact` usage by replacing `(hh_tendsto.eventually ...).mem_cocompact`
with `mem_cocompact.mp (hh_tendsto ...)`
* adjust the `hb_bound` step using `gcongr` with exact bounds so that both goals close
* remove the unused declaration `hf_nonpos`
* register the required import in `Mathlib.lean`
This implements the one-dimensional case mentioned in the issue. The generalization
to Gaussians associated with arbitrary positive-definite bilinear forms can be
added in a follow-up PR.
Closes #33072 |
t-analysis
new-contributor
|
235/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/SchwartzMap.lean |
2 |
4 |
['CoolRmal', 'github-actions'] |
nobody |
74-24197 2 months ago |
74-27608 74 days ago |
74-27089 74 days |
| 35951 |
parabamoghv author:parabamoghv |
feat(CategoryTheory/Monoidal): evaluation coevaluation isomorphisms |
This PR adds four features to rigid categories:
1. `coevaluation_evaluation` and `evaluation_coevaluation` as isomorphism equalities: Using `IsIso` instances for the `evaluation` and `coevaluation` morphisms, we promote the morphism equalities to isomorphism equalities.
2. `ExactPairing Y X` from `ExactPairing X Y`: Using an exact pairing and `IsIso` instances for both `evaluation` and `coevaluation`, we swap the exact pairing by inverting the evaluation and coevaluation morphisms. Any suggestions for the definition name are welcome. Right now it is `ExactPairing.Symm`. The second choice was `ExactPairing.Swap`.
3. `HasLeftDual X` from `HasRightDual X`: Using a `HasRightDual X` instance and relevant `IsIso` instances, we construct a left dual. Similar construction for the other way.
4. `LeftDual` isomorphic to `RightDual`: Using relevant `IsIso` instances, we provide the isomorphism from the left dual of an object to the right dual. This can be achieved in two ways: either by using `leftDualIso` or using `rightDualIso`. We will prove in a subsequent PR that both these isomorphisms are equal.
Motivation: This is part of an effort to formalize CategoricalGroups, which can be defined as right rigid groupoids. The approach is motivated by the discussion in [#34830](https://github.com/leanprover-community/mathlib4/pull/34830).
Any comments or suggestions are welcome, especially about the naming.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
45/0 |
Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean |
1 |
18 |
['dagurtomas', 'github-actions', 'joelriou', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
73-59376 2 months ago |
62-26911 62 days ago |
7-83579 7 days |
| 35069 |
A-M-Berns author:A-M-Berns |
feat(Geometry/Polygon): simple polygons and boundary map |
This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution.
- [x] depends on: #34598
---
|
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
eric-wieser assignee:eric-wieser |
72-75777 2 months ago |
84-27123 84 days ago |
86-60890 86 days |
| 33668 |
Citronhat author:Citronhat |
feat(PMF): add lintegral formulas for PMF |
This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function:
- `PMF.lintegral_eq_tsum`
- `PMF.lintegral_eq_sum`
These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability.
In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. |
t-measure-probability
new-contributor
awaiting-author
merge-conflict
|
14/5 |
Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
1 |
3 |
['DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
72-17999 2 months ago |
78-52742 78 days ago |
55-73479 55 days |
| 35317 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem (Part 5/5) |
If a function `R : ℂ → ℂ` factors as `R z = (z - z₀) ^ r * R₁ z`, where `R₁` is analytic everywhere, then for any `k ≤ r`, there exists an everywhere analytic function `R₂ : ℂ → ℂ` such that the `k`-th iterated derivative of `R` is given by `deriv^[k] R z = (z - z₀) ^ (r - k) * (r! / (r - k)! * R₁ z + (z - z₀) * R₂ z)`.
This lemma is necessary for the proof of the Gelfond-Schneider theorem in subsequent PRs.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
t-analysis
awaiting-author
|
62/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
25 |
['MichaelStollBayreuth', 'github-actions', 'loefflerd', 'mkaratarakis'] |
loefflerd assignee:loefflerd |
72-15964 2 months ago |
50-14157 50 days ago |
26-7106 26 days |
| 36387 |
FrankieeW author:FrankieeW |
feat(NumberTheory/QuadraticField): parameter uniqueness for quadratic fields |
## Summary
Prove that every quadratic field `ℚ(√d)` can be normalized to have a squarefree integer parameter, and that this parameter is unique.
## Main Results
- `Qsqrtd.rescale`: rescaling isomorphism `ℚ(√d) ≃ₐ[ℚ] ℚ(√(a²d))` for `a ≠ 0`
- `Qsqrtd_iso_int_param`: every `ℚ(√d)` is isomorphic to one with an integer parameter
- `Qsqrtd_iso_squarefree_int_param`: every `ℚ(√d)` is isomorphic to one with a squarefree integer parameter
- `Qsqrtd.param_unique`: if `ℚ(√d₁) ≃ₐ[ℚ] ℚ(√d₂)` with both `d₁, d₂` squarefree and `≠ 1`, then `d₁ = d₂`
## Helper Lemmas
- `squarefree_eq_of_rat_sq_mul`: if `d₁ = d₂ · r²` with both squarefree, then `d₁ = d₂`
- `int_dvd_of_ratio_square`: if `d₁/d₂` is a rational square and `d₂` is squarefree, then `d₂ ∣ d₁`
- `not_isSquare_neg_one_rat`: `-1` is not a square in `ℚ`
---
- [ ] depends on: #36347 |
WIP
t-number-theory
blocked-by-other-PR
new-contributor
large-import
LLM-generated
|
400/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean |
4 |
4 |
['FrankieeW', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
71-81006 2 months ago |
72-75276 72 days ago |
0-2 2 seconds |
| 35058 |
GrigorenkoPV author:GrigorenkoPV |
chore: move tendsto_{floor,ceil}_at{Top,Bot} |
Moves:
- Topology.Algebra.Order.Floor.tendsto_floor_atTop -> Order.Filter.AtTopBot.Floor.tendsto_floor_atTop
- Topology.Algebra.Order.Floor.tendsto_floor_atBot -> Order.Filter.AtTopBot.Floor.tendsto_floor_atBot
- Topology.Algebra.Order.Floor.tendsto_ceil_atTop -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atTop
- Topology.Algebra.Order.Floor.tendsto_ceil_atBot -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atBot
---
Tracked in #7987
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
awaiting-author
|
22/25 |
Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
2 |
3 |
['GrigorenkoPV', 'github-actions', 'j-loreaux'] |
nobody |
71-9827 2 months ago |
71-9827 71 days ago |
27-45743 27 days |
| 31670 |
edwin1729 author:edwin1729 |
feat(Topology/Order): Scott Topology is Sober over Algebraic DCPO |
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) here
(2/2) PR to prove result in Stone Duality. Here we prove that Scott Topologies over Algebraic DCPOs are sober.
- [ ] depends on: #31662
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
new-contributor
merge-conflict
|
510/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
71-7709 2 months ago |
unknown |
0-0 0 seconds |
| 35812 |
khwilson author:khwilson |
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis |
Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`).
Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof.
Co-authored-by: Yaël Dillies
---
- [x] depends on #37738
- [x] depends on #37740
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
|
392/33 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/Basis/Fin.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean |
6 |
32 |
['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
71-1264 2 months ago |
43-78172 43 days ago |
36-18181 36 days |
| 36463 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Data.Nat.Bits): add Nat.ofBits and prove bits_injective |
This PR introduces `Nat.ofBitsList` for `List Bool` and provides the missing proofs that the standard binary representation `Nat.bits` is injective (`Nat.bits_injective`) and possesses a right inverse for normalized lists (`Nat.bits_ofBitsList`).
`ofBitsList` is implemented as an `abbrev` using `foldr` (keeping it transparent to tactics like `simp`). It serves as the exact left inverse to `bits`. Furthermore, `bits_ofBitsList` establishes that `bits` and `ofBitsList` form a bijection between `ℕ` and the set of lists with no trailing `false` values.
This avoids the name collision with `Nat.ofBits` from `Batteries` and aligns with previous Zulip discussions (see [here](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration)) regarding the utility of having a complete list-based API for `Nat.bits` in the library.
CC: @linesthatinterlace
- Adds `Nat.ofBitsList` (as an `abbrev`)
- Adds `Nat.ofBitsList_bits` (left inverse property)
- Adds `Nat.bits_injective`
- Adds `Nat.ofBitsList_eq_zero_iff` (helper lemma for lists without trailing zeros)
- Adds `Nat.bits_ofBitsList` (right inverse property)
---
Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540)
Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051) |
t-data
new-contributor
awaiting-author
blocked-by-batt-PR
|
68/1 |
Mathlib/Data/Nat/Bits.lean |
1 |
5 |
['github-actions', 'joneugster', 'linesthatinterlace'] |
nobody |
70-79345 2 months ago |
61-31265 61 days ago |
9-58085 9 days |
| 35684 |
spitters author:spitters |
feat(CategoryTheory/MarkovCategory): Kleisli PMF is a Markov category |
Add `Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean` showing that `KleisliCat PMF` is a `MarkovCategory`.
Uses `Prod` as tensor and `PUnit` as unit; reuses Mathlib's existing `KleisliCat`, `LawfulMonad PMF`, and `MarkovCategory` infrastructure.
Builds the full instance stack:
MonoidalCategory → BraidedCategory → SymmetricCategory →
CopyDiscardCategory → MarkovCategory
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
merge-conflict
|
323/1 |
Mathlib.lean,Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
6 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'spitters'] |
nobody |
70-69225 2 months ago |
83-15070 83 days ago |
2-36419 2 days |
| 35738 |
GrigorenkoPV author:GrigorenkoPV |
perf: remove some `aesop`s and `grind`s |
---
Needs benchmarking. After that I can split it into several smaller portions, if needed.
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
merge-conflict
|
236/92 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Logic/Equiv/Prod.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/SupIndep.lean |
8 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'vihdzp'] |
nobody |
70-69224 2 months ago |
84-50904 84 days ago |
0-45583 12 hours |
| 36487 |
samueloettl author:samueloettl |
feat(Dynamics): Ergodicity characterization |
---
- [ ] depends on: #35402
- [x] depends on: #35451
This is a work in progress for a characterization of ergodicity via a Birkhoff Average.
Coarse Feedback is very encouraged.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
large-import
blocked-by-other-PR
|
421/1 |
Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/Ergodic/OnAverageIndependent.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
70-34062 2 months ago |
70-34081 70 days ago |
0-163 2 minutes |
| 36503 |
Mrigna01 author:Mrigna01 |
Add false theorem test file |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
135/0 |
Mathlib/FalseBench/FalseTheorems.lean |
1 |
3 |
['github-actions'] |
nobody |
70-6107 2 months ago |
70-6197 70 days ago |
70-5678 70 days |
| 14603 |
awueth author:awueth |
feat: degree is invariant under graph isomorphism |
---
Mathlib has the definition `SimpleGraph.Iso.mapNeighborSet` which is an equivalence between neighbor sets induced by an isomorphism. Would it be beneficial to add the same equivalence for `neighborFinset`?
[](https://gitpod.io/from-referrer/)
|
WIP
t-combinatorics
new-contributor
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean |
1 |
12 |
['SnirBroshi', 'awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] |
nobody |
69-73905 2 months ago |
646-34344 646 days ago |
31-44440 31 days |
| 33599 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): closure under union |
---
This PR picks up https://github.com/leanprover-community/mathlib4/pull/13514 and resolves the outstanding errors.
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-computability
new-contributor
|
498/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
69-57342 2 months ago |
124-66201 124 days ago |
10-65787 10 days |
| 9605 |
davikrehalt author:davikrehalt |
feat(Data/Finset & List): Add Lemmas for Sorting and Filtering |
This PR includes several useful lemmas to the Data/Finset and Data/List modules in Lean's mathlib:
1. `toFinset_filter` (List): Shows that filtering commutes with toFinset.
2. `toFinset_is_singleton_implies_replicate` (List): Shows a list with a singleton toFinset is a List.replicate.
3. `filter_sort_commute` (Finset): Sorting and filtering can be interchanged in Finsets.
4. `Sorted.filter` (List): A sorted list stays sorted after filtering.
5. `Sorted.append_largest` (List): Appending the largest element keeps a list sorted.
6. `sort_monotone_map` (Finset): Relates sorting of a Finset after mapping to sorting of a list.
7. `sort_insert_largest` (Finset): Sorting a Finset with an inserted largest element.
8. `sort_range` (Finset): Sorting a range in a Finset equals the corresponding range list.
9. ~~`filter_eval_true` (List): Filtering a list with a predicate always true keeps the list unchanged.~~
10. ~~`filter_eval_false` (List): Filtering with an always-false predicate gives an empty list.~~
11. ~~`pairwise_concat` (List): Iff condition for Pairwise relation in concatenated lists (similar to pairwise_join).~~
12. `list_map_toFinset` (Finset): toFinset commutes with map under injection
---
- [x] depends on: #15952
This is my first PR to mathlib, so I'm not too familiar with etiquette's and more specifically there are two proofs in the PR which uses aesop, and I am not sure if it's frowned upon. I kept the aesop in there for now as I couldn't construct very short proofs otherwise. The sort_range function proof was suggested in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Computing.20Finset.20sort.20of.20Finset.20range/near/410346731 by Ruben Van de Velde. Thanks for your time for improving this PR. |
please-adopt
t-data
new-contributor
merge-conflict
awaiting-author
|
71/0 |
Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean |
4 |
30 |
['YaelDillies', 'davikrehalt', 'eric-wieser', 'github-actions', 'jcommelin', 'urkud', 'vihdzp'] |
nobody |
69-56798 2 months ago |
849-28286 849 days ago |
12-48883 12 days |
| 35652 |
dennj author:dennj |
feat(LinearAlgebra/Matrix): add `Matrix.mul_eq_smul_one_symm` |
Adds three lemmas:
- IsLeftRegular.mul_eq_of_comm (Algebra/Group/Defs.lean): if a is left-regular, a * b = c, and c commutes with a, then b * a = c. Generalises IsLeftRegular.mul_eq_one_symm from the c = 1 case.
- IsRightRegular.mul_eq_of_comm: symmetric version.
- mul_eq_smul_one_symm (Algebra/Group/Action/Defs.lean): scalar variant of mul_eq_one_symm. For a monoid β with a compatible scalar action by α, if a * b = c • 1 and a is left-regular, then b * a = c • 1. Proven in one line via IsLeftRegular.mul_eq_of_comm, since c • 1 is central thanks to IsScalarTower α β β and SMulCommClass α β β.
The additive analogues are produced by to_additive.
The general mul_eq_of_comm helpers capture the underlying pattern: "a left/right-regular element can be cancelled when the conclusion commutes with it" and are reusable beyond this PR's specialisation.
Human made PR |
t-algebra
new-contributor
LLM-generated
awaiting-author
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Defs.lean |
1 |
7 |
['dagurtomas', 'dennj', 'eric-wieser', 'github-actions', 'grunweg'] |
ocfnash assignee:ocfnash |
69-37041 2 months ago |
17-6444 17 days ago |
24-65258 24 days |
| 36587 |
yhx-12243 author:yhx-12243 |
feat(Algebra/GCDMonoid): Distributive lattice structure for Associates in GCDMonoid |
Add a distributive lattice structure for `Associates α` in `GCDMonoid`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
60/3 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/DistribLattice.lean |
2 |
2 |
['github-actions'] |
nobody |
68-65619 2 months ago |
65-36194 65 days ago |
3-29502 3 days |
| 35662 |
FrankieeW author:FrankieeW |
feat(NumberTheory/Zsqrtd): add Archimedean instance via le_arch |
This PR follows a suggestion made in #35606 , #35481
- add `Zsqrtd.le_arch_smul` in `Mathlib/NumberTheory/Zsqrtd/Basic.lean`
- use it to provide `instance : Archimedean (ℤ√d)` in the `Nonsquare` section
- refactor the proof using symmetry to reduce duplication while keeping checks clean
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
merge-conflict
LLM-generated
|
46/4 |
Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean |
2 |
13 |
['FrankieeW', 'MichaelStollBayreuth', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
68-65355 2 months ago |
71-43471 71 days ago |
15-50475 15 days |
| 36103 |
SnkXyx author:SnkXyx |
feat(Algebra/MvPolynomial/CharacteristicSet): add Characteristic Set |
This PR adds some definitions and theorems of Characteristic Set Method (also known as Wu's Method).
Definitions:
* `MvPolynomial.mainDegree`
* `MvPolynomial.initialOf`
* `MvPolynomial.reducedTo`
* `TriangulatedSet`
* `MvPolynomial.pseudo`
* `MvPolynomial.setPseudo`
* `MvPolynomial.isRemainder`
* `MvPolynomial.isSetRemainder`
* `AscendingSetTheory`
* `TriangulatedSet.isAscendingSet`
* `HasBasicSet`
* `TriangulatedSet.isCharacteristicSet`
* `MvPolynomial.List.characteristicSet`
* `MvPolynomial.List.zeroDecomposition`
Main Theorems:
* `MvPolynomial.initialOf_mul_eq`: $init_i(p \cdot q) = init_i(p) \cdot init_i(q)$ if there is no zero divisors in the coefficient ring.
* `TriangulatedSet.instWellFoundedLT`: The set of Triangulated Sets is well-founded under the lexicographic ordering.
* `MvPolynomial.pseudo_remainder_isRemainder`: The remainder $r$ of $g$ by $f$ is reduced with respect to $f$ and satisfies $init(f)^s \cdot g = q \cdot f + r$ for some $s \in \mathbb{N}$ and $q \in R[X_{\sigma}]$.
* `MvPolynomial.setPseudo_remainder_isSetRemainder`: The remainder $r$ of $g$ by a set $S$ is reduced with respect to $S$ and satisfies $(\prod S_i^{e_i}) \cdot g = \sum q_i \cdot S_i + r$ for some sequences $\{e_i\}$ and $\{q_i\}$.
* `MvPolynomial.setPseudo_remainder_eq_zero_of_mem`: The remainder of $p$ by a set $S$ is $0$ if $p \in S$.
* `MvPolynomial.List.basicSet_append_lt_of_exists_reducedToSet`: Appending an element which is reduced w.r.t. the basic set of list strictly decreases the order.
* `MvPolynomial.List.characteristicSet_isCharacteristicSet`: The computed Characteristic Set $CS$ satisfies the key algebraic property (pseudo-remainder of input polynomials is 0) and the geometric property ( $Zero(PS) \subseteq Zero(CS)$ ).
* `MvPolynomial.List.vanishingSet_eq_zeroDecomposition_union`: The zero set of a polynomial system $PS$ can be decomposed into a finite union of "quasi-varieties" defined by triangular sets:
$Zero(PS) = \bigcup_{CS \in \mathcal{ZD}} Zero(CS / \text{InitialProd}(CS))$
The PR is upstreamized from [github.com/WuProver/lean_characteristic_set](https://github.com/WuProver/lean_characteristic_set)
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #36386
- [x] depends on: #37791
|
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
4085/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/AscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/CharacteristicSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Initial.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/MainDegree.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Order.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/PseudoDivision.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/Reduce.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/StandardAscendingSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/TriangularSet.lean,Mathlib/Algebra/MvPolynomial/CharacteristicSet/WeakAscendingSet.lean,docs/references.bib |
14 |
20 |
['Hagb', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
68-57274 2 months ago |
12-57505 12 days ago |
17-47376 17 days |
| 36529 |
idontgetoutmuch author:idontgetoutmuch |
Connection 1 form scribbles |
Some thoughts on connection 1-forms - not meant to be ever merged but here for convenience of discussion
|
new-contributor
t-differential-geometry
|
496/52 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/Algebra/FundamentalVectorField.lean,Mathlib/Geometry/Manifold/IntegralCurve/Compact.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
5 |
2 |
['github-actions'] |
nobody |
68-46280 2 months ago |
unknown |
0-0 0 seconds |
| 36119 |
Ruizsolveall author:Ruizsolveall |
feat(Topology/Covering): fundamental group of the circle is ℤ |
- Proves that the fundamental group of the circle `π₁(S¹, 0)` is isomorphic to `ℤ`, via covering space theory.
- Constructs the winding number map `nLoop : ℤ → Path 0 0` on `AddCircle 1`, and proves it is surjective (`nLoop_surjective`), injective (`nLoop_homotopic_iff`), and additive (`nLoop_add`).
- Assembles these into the group isomorphism `windingNumberIso : Multiplicative ℤ ≃* FundamentalGroup (AddCircle 1) 0`.
## Approach
Uses the covering map `ℝ → AddCircle 1` and unique path lifting to establish the bijection between homotopy classes of loops and integers (winding numbers). Homotopy invariance of lifted endpoints gives injectivity; surjectivity follows from lifting arbitrary loops. Additivity uses path concatenation of lifts in the simply connected total space `ℝ`.
## AI disclosure
I used Claude (Anthropic) to write the PR description, code comments, and to help refine code style. The proof strategy and all Lean code are my own. I understand and can vouch for all the code in this PR. |
t-topology
new-contributor
awaiting-author
LLM-generated
|
236/0 |
Mathlib.lean,Mathlib/Topology/Covering/FundamentalGroupCircle.lean |
2 |
26 |
['Ruizsolveall', 'SnirBroshi', 'b-mehta', 'dagurtomas', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
68-27582 2 months ago |
69-20114 69 days ago |
8-31258 8 days |
| 36347 |
FrankieeW author:FrankieeW |
feat(NumberTheory/QuadraticField): define quadratic number fields as QuadraticAlgebra ℚ d 0 |
Define `Qsqrtd d` as `QuadraticAlgebra ℚ d 0`, representing the quadratic number field `ℚ(√d)`. Prove trace and norm results, show `Qsqrtd d` is a number field and a quadratic extension when `d` is not a perfect square, and prove that `ℚ(√0)` and `ℚ(√1)` are not fields. Include `IsQuadraticField` as a predicate for quadratic extensions of `ℚ`, and bridge lemmas connecting squarefree integer parameters to the non-square condition.
This PR is part of a series upstreaming the [QuadraticNumberFields](https://github.com/FrankieeW/QuadraticNumberFields) project.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/quadratic.20number.20fields)
---
### PRs
- #36347 (this PR)
- #36387
---
|
t-number-theory
new-contributor
large-import
awaiting-author
LLM-generated
|
191/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean |
4 |
29 |
['FrankieeW', 'eric-wieser', 'github-actions', 'riccardobrasca', 'tb65536', 'wwylele'] |
tb65536 assignee:tb65536 |
68-1249 2 months ago |
65-37644 65 days ago |
7-9258 7 days |
| 35651 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): `Submodule.map` definition of cotangent spaces |
This PR adds an alternative definition of the cotangent space as an image under the R-module quotient map.
---
Split from PR #33247
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
47/20 |
Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
2 |
20 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'sun123zxy'] |
chrisflav assignee:chrisflav |
67-44693 2 months ago |
65-26392 65 days ago |
16-12398 16 days |
| 22314 |
shetzl author:shetzl |
feat: add leftmost derivations for context-free grammars |
Leftmost derivations are often easier to reason about than arbitrary derivations. This PR adds leftmost variants of Rewrites, Produces and Derives to the existing definition of context-free grammars and proves that a string of terminals can be derived iff it can be leftmost derived.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
383/0 |
Mathlib.lean,Mathlib/Computability/LeftmostDerivation.lean |
2 |
55 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
67-31748 2 months ago |
376-55044 376 days ago |
72-2714 72 days |
| 31610 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): Kleene star closure for Regular Languages via NFA |
This PR constructs a Kleene star closure for non-epsilon NFAs, and proves that regular languages are closed under Kleene star. The NFA construction is `NFA.kstar`. The main theorems are:
- `NFA.accepts_kstar`: demonstrates that `M.kstar` accepts the Kleene star closure of the language of `M`.
- `IsRegular.kstar`: demonstrates that regular languages are closed under Kleene star.
There is an onging zulip discussion about regular languages in Mathlib: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/with/553759136
This discussion is also tracked at #24205.
Furthermore, the construction and proofs in this PR are heavily inspired by @TpmKranz from his #15651. #15651 supersedes this PR, so if it is accepted then this PR is not needed.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
awaiting-CI
|
405/7 |
Mathlib/Computability/NFA.lean |
1 |
16 |
['YaelDillies', 'ctchou', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
67-31647 2 months ago |
126-24029 126 days ago |
43-77831 43 days |
| 36757 |
alok author:alok |
feat(Order/Filter): add Filter.IsFree and Filter.IsNonprincipal |
## Summary
Adds two filter predicates and their basic API:
- **`Filter.IsFree`**: no point belongs to every set (`f.ker = ∅`), equivalently `f ≤ cofinite`
- **`Filter.IsNonprincipal`**: not equal to `𝓟 s` for any set `s`
Every free `NeBot` filter is non-principal (`IsFree.isNonprincipal`), but the converse fails for general filters (e.g. `𝓝 x` in a non-discrete T₁ space is non-principal but not free). For ultrafilters the two notions coincide (`Ultrafilter.isNonprincipal_iff_isFree`).
On finite types, no `NeBot` filter is free (`not_isFree_of_neBot`).
## Test plan
- [x] `lake build Mathlib.Order.Filter.Cofinite` passes
- [x] `lake build Mathlib.Order.Filter.Ultrafilter.Basic` passes
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-order
new-contributor
|
98/1 |
Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
64-78318 2 months ago |
64-76918 64 days ago |
0-3928 1 hour |
| 36825 |
danlyng author:danlyng |
feat(MeasureTheory/Integral/IntegralEqImproper): add Iic variants of nonneg/nonpos derivative integrability and FTC-2 |
Add the `Iic` counterparts of the existing `Ioi` results for automatic integrability of derivatives on semi-infinite intervals and the corresponding corollaries computing the integral value. Additionally, apply minor fixes to existing docstrings.
New declarations:
- `integrableOn_Iic_deriv_of_nonneg` / `integrableOn_Iic_deriv_of_nonneg'`
- `integrableOn_Iic_deriv_of_nonpos` / `integrableOn_Iic_deriv_of_nonpos'`
- `integral_Iic_of_hasDerivAt_of_nonneg` / `integral_Iic_of_hasDerivAt_of_nonneg'`
- `integral_Iic_of_hasDerivAt_of_nonpos` / `integral_Iic_of_hasDerivAt_of_nonpos'`
These mirror `integrableOn_Ioi_deriv_of_nonneg`, `integrableOn_Ioi_deriv_of_nonpos`, `integral_Ioi_of_hasDerivAt_of_nonneg`, `integral_Ioi_of_hasDerivAt_of_nonpos` and their primed variants. |
t-measure-probability
new-contributor
awaiting-author
|
107/9 |
Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean |
1 |
7 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
60-42048 1 month ago |
60-42048 60 days ago |
2-67942 2 days |
| 36719 |
NoneMore author:NoneMore |
feat(ModelTheory): add `PartialType` for first-order theories |
This PR adds the definitions of partial types over theories and over parameter sets, and proves several equivalent characterizations.
---
- [ ] depends on: #36667
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-logic
new-contributor
|
468/0 |
Mathlib.lean,Mathlib/ModelTheory/PartialTypes.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
5 |
['NoneMore', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] |
nobody |
56-60923 1 month ago |
65-60277 65 days ago |
0-322 5 minutes |
| 37101 |
fsefzig author:fsefzig |
feat: definition of kummer polynomials and prove that AdjoinRoot (KummerPolynomial n s) is etale |
This defines the Kummer polynomial ` KummerPolynomial n s := X^n - s` over a ring R and constructs the following instances for `AdjoinRoot (KummerPolynomial n s)`:
· Faithfullyflat
· SmoothOfRelativeDimension 0
· Etale |
t-ring-theory
new-contributor
awaiting-author
|
345/0 |
Mathlib.lean,Mathlib/RingTheory/AdjoinRootKummer.lean |
2 |
24 |
['acmepjz', 'chrisflav', 'fsefzig', 'github-actions', 'vihdzp'] |
nobody |
49-26507 1 month ago |
unknown |
0-0 0 seconds |
| 37585 |
cascone26 author:cascone26 |
feat: formal statements of Robin's and Lagarias' inequalities equivalent to RH |
## Summary
This PR adds `Mathlib/NumberTheory/LSeries/RobinInequality.lean`, which contains formal Lean 4 statements of two classical equivalences of the Riemann Hypothesis:
**Robin's theorem (1984):** RH ↔ σ₁(n) < e^γ · n · ln(ln(n)) for all n > 5040
**Lagarias' theorem (2002):** RH ↔ σ₁(n) ≤ H_n + exp(H_n) · ln(H_n) for all n ≥ 1
### New declarations
- `robinBound (n : ℕ) : ℝ` — the Robin bound e^γ · n · ln(ln(n))
- `lagariasBound (n : ℕ) : ℝ` — the Lagarias bound H_n + exp(H_n) · ln(H_n)
- `robin_iff_RH : RiemannHypothesis ↔ ∀ n > 5040, σ₁(n) < robinBound n`
- `lagarias_iff_RH : RiemannHypothesis ↔ ∀ n ≥ 1, σ₁(n) ≤ lagariasBound n`
### Status
The **statements** are complete and use existing Mathlib primitives:
- `ArithmeticFunction.sigma` for σ₁
- `Real.eulerMascheroniConstant` for γ
- `harmonic` for H_n (with ℚ → ℝ coercion)
- `RiemannHypothesis` from `Mathlib.NumberTheory.LSeries.RiemannZeta`
The **proofs** are currently `sorry`. The Robin direction (RH → inequality) requires analytic number theory following Robin's original 1984 paper. The converse uses Gronwall's theorem on superior highly composite numbers. Both are substantial Mathlib projects in their own right.
This PR establishes the formal statements as a foundation for future proof work. These equivalences are not currently formalized anywhere in Mathlib.
### References
- G. Robin, *Grandes valeurs de la fonction somme des diviseurs et hypothèse de Riemann*, J. Math. Pures Appl. **63** (1984), 187–213.
- J. Lagarias, *An elementary problem equivalent to the Riemann hypothesis*, Amer. Math. Monthly **109** (2002), 534–543.
### Note on `sorry`
I'm aware Mathlib does not merge `sorry`-laden PRs in general. I'm submitting this as a draft to:
1. Get feedback on whether the statement formulation is idiomatic
2. Establish that these statements don't already exist in Mathlib under a different name
3. Invite collaboration on completing the proofs |
t-number-theory
new-contributor
|
98/0 |
Mathlib/NumberTheory/LSeries/RobinInequality.lean |
1 |
2 |
['github-actions'] |
nobody |
47-71672 1 month ago |
unknown |
0-0 0 seconds |
| 36937 |
Yaohua-Leo author:Yaohua-Leo |
feat(Algebra/Jordan): add first linearization lemmas for IsCommJordan |
[](https://gitpod.io/from-referrer/)
AI assistance disclosure: I used AI assistance for CI/debugging and module-structure fixes in this PR. The mathematical content and main lemmas were written by me, with help from @pelicanhere.
This PR adds a new file `Mathlib/Algebra/Jordan/Linearization.lean` containing linearization lemmas for the commutative Jordan identity.
Main declarations:
* `IsCommJordan.four_nsmul_associator_mul_add`
* `IsCommJordan.associator_mul_add`
These lemmas formalize a first linearization of the commutative Jordan identity using `associator`, following McCrimmon, Proposition 1.8.5.
---
I put these lemmas in a separate file because I expect follow-up linearization lemmas to belong naturally in the same place.
I am also happy to rename declarations or move the file if reviewers would prefer. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
60/0 |
Mathlib.lean,Mathlib/Algebra/Jordan/Linearization.lean |
2 |
6 |
['Yaohua-Leo', 'github-actions', 'grunweg', 'ocfnash'] |
ocfnash assignee:ocfnash |
47-51019 1 month ago |
47-51019 47 days ago |
13-10710 13 days |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds `unaryPrefix` (a self-delimiting $1^n 0$ code) and `prefixPair` to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefix`**: A prefix-free unary encoding for $\mathbb{N}$, distinct from the existing `unaryEncodeNat`.
* **`unaryPrefix_append_inj`**: A basic cancellation lemma that allows unique extraction of a unary prefix from a concatenated list.
* **`prefixPair`**: A self-delimiting pairing function for boolean lists, defined as $\text{unaryPrefix } |x| \frown x \frown y$.
* **`prefixPair_inj`**: A concise proof of pair injectivity leveraging the new prefix lemmas.
|
t-computability
new-contributor
awaiting-author
|
56/1 |
Mathlib/Computability/Encoding.lean |
1 |
2 |
['Komyyy', 'github-actions'] |
Komyyy assignee:Komyyy |
46-78440 1 month ago |
46-78440 46 days ago |
16-42277 16 days |
| 37644 |
matthunz author:matthunz |
feat(Order/Causal): add `Causal` ordering for stream functions |
Adds `Causal` ordering for stream functions and related theorems:
```lean
def Causal (f : Stream' α → Stream' β) : Prop :=
∀ (x y : Stream' α) (t : ℕ), (∀ s, s ≤ t → x s = y s) → f x t = f y t
```
A stream function is causal if the output at time `t` depends only on inputs up to time `t`. Causal stream functions are commonly used in signal processing, reactive systems, and semantics of stateful computations, where outputs cannot depend on future inputs.
## Future work
- Mealy machines: define Mealy machines as causal stream functions with state, and relate them to standard automata-theoretic constructions.
- Feedback and delay operators: formalize feedback loops and delayed composition, enabling modeling of stateful and recursive stream definitions.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
79/0 |
Mathlib.lean,Mathlib/Order/Causal/Basic.lean,Mathlib/Order/Causal/Defs.lean |
3 |
2 |
['github-actions'] |
nobody |
46-17503 1 month ago |
unknown |
0-0 0 seconds |
| 37695 |
Morten-Ness author:Morten-Ness |
refactor(GroupTheory/Complement): simplify complement proofs |
Simplifies the proofs of:
- `Subgroup.IsComplement'.symm`
- `Subgroup.isComplement_singleton_left`
- `Subgroup.isComplement_singleton_right`
No API changes.
AI assistance: I used Codex/LLM suggestions as a starting point, then manually checked the proofs, and verified the final version locally.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
awaiting-author
|
15/17 |
Mathlib/GroupTheory/Complement.lean |
1 |
4 |
['github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
43-59193 1 month ago |
43-59193 43 days ago |
0-68801 19 hours |
| 37489 |
michael-novak-math author:michael-novak-math |
feat: add the fundamental theorem of plane curves |
We add to the PlaneCurves file created in PR #36731 a classical result in the subject of differential geometry of plane curves: the fundamental theorem of plane curves.
---------
- [ ] depends on: #36731 |
new-contributor
t-differential-geometry
t-analysis
blocked-by-other-PR
|
651/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
5 |
['github-actions', 'mathlib-dependent-issues', 'michael-novak-math'] |
nobody |
43-49773 1 month ago |
49-34629 49 days ago |
0-13581 3 hours |
| 37281 |
AltSoKoly author:AltSoKoly |
Update EdgeConnectivity.lean |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
123/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Data/Int/GCD.lean |
2 |
5 |
['github-actions', 'grunweg', 'themathqueen'] |
nobody |
42-38384 1 month ago |
54-29147 54 days ago |
0-432 7 minutes |
| 37111 |
tannerduve author:tannerduve |
feat(Computability): add Nat.PrimrecIn and PrimrecIn |
- Add `Nat.PrimrecIn`: primitive recursive functions relative to a set of oracles
- Add `PrimrecIn`: lifts `Nat.PrimrecIn` to `Primcodable` types
A `PrimrecIn` version of `RecursiveIn.iff_nat` (i.e., `PrimrecIn O (f : ℕ → ℕ) ↔ Nat.PrimrecIn O f`) is left as future work as it requires proving `Nat.PrimrecIn O Nat.pred`, which needs additional API for `Nat.PrimrecIn`.
---
Split out from #34937 as requested in review.
- [x] depends on: #37061 |
t-computability
new-contributor
awaiting-author
|
24/0 |
Mathlib/Computability/RecursiveIn.lean |
1 |
14 |
['Komyyy', 'bryangingechen', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tannerduve'] |
nobody |
40-16897 1 month ago |
41-29756 41 days ago |
1-79421 1 day |
| 36763 |
alok author:alok |
refactor(Order/Filter/Germ): partial sections for Filter.Product |
## Summary
- Refactor `Filter.Product` from total functions to partial sections (`Product.Section`) with filter-large domains
- Adapt the model-theoretic `Prestructure` and Łoś's theorem proofs to partial sections
- Add `Germ ↔ Product` bridge equivalence for constant families
## Motivation
The current `Filter.Product` is a quotient of total functions `(a : α) → ε a` by eventual equality. This requires all fibers to be inhabited, which is not the mathematically correct construction. The ultraproduct should only require a section defined on a filter-large set.
The new `Product.Section` structure carries:
- A domain `dom : Set α` with `dom ∈ l`
- A dependent section `val : (a : dom) → ε a`
Two sections are equivalent if they agree on some filter-large common domain. This matches the standard mathematical construction and enables proper ultraproducts where some fibers may be empty.
## Changes
### `Mathlib/Order/Filter/Germ/Basic.lean`
- New `Product.Section` structure (partial section with filter-large domain)
- `productSetoid` redefined over `Product.Section`
- `Product.ofTotal` embeds total sections; `eq_iff_ofTotal` characterizes equality
### `Mathlib/ModelTheory/Ultraproducts.lean`
- `sectionStructure`: first-order structure on partial sections (funMap restricts to domain intersection, RelMap checks on common domain)
- `setoidPrestructure` adapted with full proofs of `fun_equiv` and `rel_equiv`
- `funMap_cast`, `boundedFormula_realize_cast` (rel case), `all` quantifier case all reproved for partial sections
- Łoś's theorem statement unchanged; `sentence_realize` still has the same API
### `Mathlib/Order/Filter/Germ/Product.lean` (new)
- `Germ.toProduct` / `Product.toGerm`: round-trip between germs and constant-family products
- `Germ.prodEquiv`: equivalence for inhabited constant families (backward compat)
## Test plan
- [x] `lake build` passes (7607/7607 modules)
- [x] All linter warnings resolved
- [x] `Mathlib.ModelTheory.Satisfiability` (uses `Filter.Product` + `sentence_realize`) still compiles
- [x] `Mathlib.Analysis.Real.Hyperreal` still compiles
---
Context: [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Nonstandard.20Analysis/near/513178715) — Violeta Hernández asked for fixing the ultraproduct definition as the first step after #33650 deprecated the old hyperreal machinery.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
new-contributor
merge-conflict
|
278/49 |
Mathlib.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Filter/Germ/Product.lean |
4 |
5 |
['alok', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
40-10941 1 month ago |
unknown |
0-0 0 seconds |
| 37954 |
jdhart81 author:jdhart81 |
feat(Data/ENNReal/Inv): add ENNReal.div_mul_div_cancel |
Proves a / b * (b / c) = a / c for b ≠ 0, b ≠ ∞ in ENNReal. Proof via mul_div_assoc and existing div_mul_cancel.
AI Disclosure: This PR was developed with assistance from an LLM (Claude, Anthropic) for proof exploration and text drafting. The proof was compiled and verified locally by the contributor, who understands the mathematical content. This lemma is extracted from a larger formalization of information-theoretic bounds (Zenodo DOI: 10.5281/zenodo.19317983).
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
5/0 |
Mathlib/Data/ENNReal/Inv.lean |
1 |
2 |
['github-actions'] |
nobody |
38-39756 1 month ago |
38-39754 38 days ago |
0-75 1 minute |
| 36770 |
Xmask19 author:Xmask19 |
feat: invariance of domain via Brouwer's fixed point theorem |
Continuous and injective maps from Rn to Rn are open mappings. This is shown given Brouwer's fixed point theorem. The specific version of Brouwer's theorem assumed is that a continuous map from the closed unit ball to itself has a fixed point. It is used to show a lemma in this proof. Then assuming that invariance of domain isn't true gives a contradiction with this lemma.
---
My supervisor has code for studying topological manifolds which relies on invariance of domain that can be found here: https://github.com/stevensivek/TopologicalManifolds and is planned to be submitted to Mathlib.
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
617/5 |
Mathlib.lean,Mathlib/AlgebraicTopology/InvarianceOfDomain.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order.lean |
5 |
2 |
['github-actions'] |
nobody |
35-24018 1 month ago |
35-23994 35 days ago |
0-6926 1 hour |
| 38050 |
WilliamCoram author:WilliamCoram |
feat: Define Newton polygons |
In this file we construct a method to define newton polygons using a Stream' of `Step`'s which correspond to what you would obtain via the 'algorithm' of rotating half-planes as described in Gouvea's p-adic numbers.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
620/0 |
Mathlib.lean,Mathlib/NumberTheory/NewtonPolygon.lean |
2 |
3 |
['github-actions', 'jcommelin'] |
nobody |
35-14064 1 month ago |
unknown |
0-0 0 seconds |
| 38113 |
robo7179 author:robo7179 |
feat(SimpleGraph/PerfectGraph): add lemma graph is perfect iff all su… |
Perfect graph theorem , discussion on zulip thread: [#graph theory > Second Order Monadic Logic](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775)
- [ ] depends on: #37680
- [ ] depends on: #37598 |
t-combinatorics
new-contributor
blocked-by-other-PR
|
54/0 |
Mathlib/Combinatorics/SimpleGraph/PerfectGraph.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
34-48783 1 month ago |
34-50142 34 days ago |
0-69 1 minute |
| 37938 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Probability/Posterior): Posterior PMFs and Various Lemmas |
Upstreaming the probability lemmas needed in https://github.com/leanprover/cslib/pull/464. |
t-measure-probability
new-contributor
awaiting-author
|
130/0 |
Mathlib.lean,Mathlib/Probability/ProbabilityMassFunction/Posterior.lean |
2 |
6 |
['EtienneC30', 'SamuelSchlesinger', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
34-10126 1 month ago |
35-43567 35 days ago |
0-4092 1 hour |
| 38139 |
sidbedi author:sidbedi |
chore(Algebra/MvPolynomial/Variables): golf MvPolynomial.vars_0 to rfl |
---
The classical qualifier and explicit rewrite chain are unnecessary — the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
1/2 |
Mathlib/Algebra/MvPolynomial/Variables.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
33-54586 1 month ago |
33-54586 33 days ago |
0-34567 9 hours |
| 38140 |
sidbedi author:sidbedi |
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl |
---
cases F is unnecessary, the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
1/2 |
Mathlib/Data/Analysis/Filter.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
33-54542 1 month ago |
33-54542 33 days ago |
0-34488 9 hours |
| 36731 |
michael-novak-math author:michael-novak-math |
feat: Frénet moving frame and Frénet equation for plane curves |
We define the curvature function, normal vector function and the Frénet moving frame for plane curve.
We also prove the Frénet equations for plane curves.
A separate PR (#37489) will prove the fundamental theorem of plane curves. |
new-contributor
t-differential-geometry
t-analysis
awaiting-author
|
321/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
114 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] |
nobody |
33-48523 1 month ago |
46-26146 46 days ago |
12-40134 12 days |
| 37683 |
SabrinaJewson author:SabrinaJewson |
feat(Order/OrdContinuous): every map between complete lattices that preserves sSup is a left adjoint of some Galois connection |
It is already proven that the left side of a Galois connection is left-continuous; this provides the converse.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-order
|
90/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
33-29150 1 month ago |
44-84442 44 days ago |
0-1447 24 minutes |
| 37684 |
SabrinaJewson author:SabrinaJewson |
feat(Topology/Order): provide lemmas linking topological continuity to order continuity |
All the hard work is already done, but this just fills in a couple convenient missing pieces.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-topology
|
106/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/Monotone.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
33-29139 1 month ago |
44-84443 44 days ago |
0-1299 21 minutes |
| 37376 |
NoneMore author:NoneMore |
feat(Topology/CantorBendixson): add iterated derived sets and perfect kernel |
Define the transfinite iteration of the relative derived-set operator via `gfpApprox` and introduce the perfect kernel of a set.
---
AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex. Some proofs were structurally simplified using the `/golf` command from Lean 4 Skills. I reviewed the resulting code and documentation and can vouch for all submitted content.
- [ ] depends on: #37374
- [x] depends on: #37375
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
t-topology
|
249/0 |
Mathlib.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean,Mathlib/Topology/CantorBendixson.lean,Mathlib/Topology/DerivedSet.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
33-29108 1 month ago |
51-36840 51 days ago |
0-832 13 minutes |
| 38154 |
ybenmeur author:ybenmeur |
add subsingleton case to ExpChar |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
113/49 |
Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/FieldTheory/PurelyInseparable/Exponent.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/SeparableDegree.lean,Mathlib/RingTheory/Trace/Basic.lean |
15 |
2 |
['github-actions'] |
nobody |
32-36908 1 month ago |
unknown |
0-0 0 seconds |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
merge-conflict
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-66935 1 month ago |
31-66936 31 days ago |
15-61521 15 days |
| 38270 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): The Tangent Functor on `MfldCat` |
A simple motivating example for PR #38223. We define the `tangentFunctor : MfldCat 𝕜 (n + 1) ⥤ MfldCat 𝕜 n` which takes any manifold to its tangent bundle and any smooth map to its pushforward.
This is a standard construction in differential geometry. See: J. Lee, Smooth Manifolds, pg. 75
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
320/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/TangentFunctor.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
30-79991 1 month ago |
unknown |
0-0 0 seconds |
| 38053 |
ntapiam author:ntapiam |
feat(Analysis/Controls): add Control functions |
Add Control functions
----
This PR adds Control functions in the sense of rough paths theory (see e.g. [Friz-Victoir, Section 1.2.1](https://page.math.tu-berlin.de/~friz/master4_May6th.pdf)).
They are related to p-variation norms which are the goal of #38055.
I've shown most results in the above reference though those relating to 1-variation are still a work in progress.
I had to add a few statements about convex functions in order to work over NNReal instead or Real, but I am not sure this is the best way to do it. The reason is that I've defined controls as taking values in NNReal (as they should).
In particular there is
```lean4
theorem nnreal_of_real {f : ℝ≥0 → ℝ≥0}
(hf : ConvexOn ℝ (Set.Ici 0) fun x : ℝ => (f x.toNNReal : ℝ)) : ConvexOn ℝ≥0 ⊤ f
```
which I didn't know where to put. It probably holds in more generality but I didn't check.
I have also included two versions of Controls, one global and one restricted to a set. I tried to follow Mathlib conventions as best as I could but perhaps that could be improved as well.
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
571/1 |
Mathlib.lean,Mathlib/Analysis/Controls/BoundedVariation.lean,Mathlib/Analysis/Controls/ControlOn.lean,Mathlib/Analysis/Controls/Defs.lean,Mathlib/Analysis/Convex/Function.lean,docs/references.bib |
6 |
4 |
['github-actions', 'ntapiam'] |
nobody |
30-49039 1 month ago |
36-14222 36 days ago |
0-52 52 seconds |
| 37964 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Floor): weaken assumptions on theorems about `FloorRing` |
This PR weakens as much assumptions as possible on theorems about `FloorSemiring` and `FloorRing`. Mainly, `IsOrderedRing` and `IsStrictOrderedRing` are weakened to just `IsOrderedAddMonoid` or removed completely from the assumptions on the theorems.
Most theorems can be generalized as is or only requires a minor modification of replacing lemmas about casting naturals/integers preserving order (the likes of `Nat.cast_le`, `Int.cast_lt`, etc.) with the corresponding version for `FloorRing`. Some other lemmas require modification in the proofs, but these changes shorten the proofs. The new proof of the theorem `Int.mul_cast_floor_div_cancel_of_pos` requires an extra import.
The assumption `IsOrderedAddMonoid` is required on lemmas that involve comparison + addition, and `IsOrderedRing` is required only on lemmas that involve comparison + multiplication of two non-integer elements.
---
- [ ] depends on: #37714
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
349/266 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
29-3590 29 days ago |
38-4958 38 days ago |
0-3854 1 hour |
| 37279 |
imalinowskip author:imalinowskip |
feat(Probability): multivariate CLT (and Cramèr-Wold) |
---
- [x] depends on: #36208
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
large-import
|
500/1 |
Mathlib.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/CramerWold.lean |
3 |
10 |
['EtienneC30', 'github-actions', 'imalinowskip', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
28-18583 28 days ago |
41-43669 41 days ago |
5-65208 5 days |
| 38399 |
openendings author:openendings |
feat: OrderHom.instOrderSupSet for LawfulSup |
Currently we have `instance [CompleteLattice β] : SupSet (α →o β)`.
We replace this with a mere `LawfulSup` assumption such as #38328, .
TODO:
- [ ] construct an `OrderSupSet` instance instead of `SupSet`
---
WIP
- [ ] depends on: #38328 [or other `LawfulSup`]
(based on master in case something else needs this)
[](https://gitpod.io/from-referrer/)
|
WIP
t-order
new-contributor
blocked-by-other-PR
|
26/0 |
Mathlib/Order/Hom/Order.lean |
1 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'openendings'] |
nobody |
27-68891 27 days ago |
27-71735 27 days ago |
0-106 1 minute |
| 38388 |
supermanG author:supermanG |
feat(Combinatorics/SimpleGraph): add ballFinset with basic identities |
Introduces `SimpleGraph.ballFinset`, the `Finset` companion to `SimpleGraph.ball` (#36443) on graphs with a `Fintype` vertex set, together with the basic identities `mem_ballFinset`, `ballFinset_zero`, and `ballFinset_one`.
`SimpleGraph.ball` is the *open* metric ball `{u | edist u c < r}` and is indexed by `ℕ∞`; `ballFinset` is typed `ℕ → Finset V` for ergonomics at cardinality-facing call sites. The classical closed-ball cardinality at radius `r`, `|{u | edist u c ≤ r}|`, corresponds to `|ballFinset v (r + 1)|` in this setup.
Opened as draft so CI can run before pinging maintainers.
---
First-time Mathlib contribution — happy to adjust naming, file placement, or docstring style to match house conventions. Follow-up PRs will add cardinality envelopes (sphere cardinality, geometric-series bound, polynomial bound). |
t-combinatorics
new-contributor
LLM-generated
|
68/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BallCardinality.lean |
2 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
27-34941 27 days ago |
unknown |
0-0 0 seconds |
| 36853 |
matthunz author:matthunz |
feat(CategoryTheory/Monoidal/Braded/Traced): add `TracedCategory` class |
Adds a `TracedCategory` class following [A. Joyal and R. Street and D. R. Verity, *Traced monoidal categories*](https://www.cambridge.org/core/journals/mathematical-proceedings-of-the-cambridge-philosophical-society/article/abs/traced-monoidal-categories/2BE85628D269D9FABAB41B6364E117C8#article):
```lean
/-- A traced symmetric monoidal category. -/
class TracedCategory
(C : Type u)
[Category.{v} C]
[MonoidalCategory.{v} C]
[SymmetricCategory.{v} C] where
/-- The trace operator. -/
trace : ∀ {A B : C} (W : C), (A ⊗ W ⟶ B ⊗ W) → (A ⟶ B)
/-- Left tightening: sliding a morphism past the trace on the left. -/
trace_naturality_left : ∀ {A A' B : C} (W : C) (f : A' ⟶ A) (g : A ⊗ W ⟶ B ⊗ W),
trace W (f ▷ W ≫ g) = f ≫ trace W g := by cat_disch
/-- Right tightening: sliding a morphism past the trace on the right. -/
trace_naturality_right : ∀ {A B B' : C} (W : C) (f : A ⊗ W ⟶ B ⊗ W) (g : B ⟶ B'),
trace W (f ≫ g ▷ W) = trace W f ≫ g := by cat_disch
/-- Sliding: an endomorphism on the feedback wire slides past the trace. -/
trace_dinaturality : ∀ {A B W : C} (f : A ⊗ W ⟶ B ⊗ W) (h : W ⟶ W),
trace W (f ≫ B ◁ h) = trace W (A ◁ h ≫ f) := by cat_disch
/-- Superposing: trace commutes with left tensoring by a bystander object. -/
trace_superposing : ∀ {A B : C} (C' W : C) (f : A ⊗ W ⟶ B ⊗ W),
C' ◁ trace W f = trace W ((α_ C' A W).hom ≫ C' ◁ f ≫ (α_ C' B W).inv) := by cat_disch
/-- Vanishing I: trace over the tensor unit is the morphism itself (up to unitors). -/
trace_vanishing_one : ∀ {A B : C} (f : A ⊗ 𝟙_ C ⟶ B ⊗ 𝟙_ C),
trace (𝟙_ C) f = (ρ_ A).inv ≫ f ≫ (ρ_ B).hom := by cat_disch
/-- Vanishing II: trace over a tensor product equals iterated trace. -/
trace_vanishing_two : ∀ {A B X Y : C} (f : A ⊗ (X ⊗ Y) ⟶ B ⊗ (X ⊗ Y)),
trace (X ⊗ Y) f = trace X (trace Y ((α_ A X Y).hom ≫ f ≫ (α_ B X Y).inv)) := by cat_disch
/-- Yanking: the trace of the braiding is the identity. -/
trace_yanking : ∀ (W : C), trace W (β_ W W).hom = 𝟙 W := by cat_disch
```
## Motivation
`TracedCategory` can be used for denoting things like electric circuits, which require a traced symmetric monoidal category for the wire graph network.
## Future work
- `instance [CompactClosedCategory C] : TracedCategory C`
- possible notation such as `Tr_[W] f`
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
merge-conflict
|
237/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Braided/Traced.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Traced.lean,docs/references.bib |
4 |
5 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'matthunz'] |
nobody |
26-29040 26 days ago |
62-18603 62 days ago |
0-25956 7 hours |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
25-51303 25 days ago |
29-18847 29 days ago |
29-18714 29 days |
| 38546 |
yhx-12243 author:yhx-12243 |
fix: universe issue in injective module |
Change the definition of
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type v⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
into
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type u⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
to make it agree with `Module.Baer` and real mathematical definition, **without universe issues**.
Since the criterion `Module.Flat` also uses `Type u` on testing modules.
See discussions in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Universe.20issue.20about.20injective.20module .
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-zulip
label:t-algebra$ |
57/43 |
Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RingTheory/Flat/Tensor.lean,Mathlib/RingTheory/LocalProperties/Injective.lean |
6 |
5 |
['github-actions', 'grunweg', 'mathlib-bors', 'wwylele'] |
nobody |
24-15738 24 days ago |
24-15749 24 days ago |
0-26133 7 hours |
| 36850 |
whocares-abt author:whocares-abt |
feat(Combinatorics/SimpleGraph/Acyclic): deleting leaves from a tree gives a tree |
Added theorem stating Deleting a leaf from a tree produces a tree. |
t-combinatorics
new-contributor
awaiting-author
|
5/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['YaelDillies', 'github-actions', 'vlad902'] |
YaelDillies assignee:YaelDillies |
23-60318 23 days ago |
23-60428 23 days ago |
38-73648 38 days |
| 37774 |
weisbrja author:weisbrja |
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs |
[#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
merge-conflict
|
6/1 |
Mathlib/Logic/Function/Basic.lean |
1 |
8 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] |
nobody |
23-23445 23 days ago |
23-23446 23 days ago |
19-76858 19 days |
| 37445 |
edwin1729 author:edwin1729 |
feat(Topology/Order): set of compact elements, generating basic opens contained in a `Locale.PT`, is directed |
This is (2/4) PRs culminating in a proof that "Scott Topologies over Algebraic DCPOs are Sober". In this PR we prove properties of a certain set of compact elements, w.r.t a `Locale.PT`.
A `Locale.PT` can be thought of as a set of `Opens`. Precisely it is a Frame homomorphism from `Opens _` to `Prop` so we are essentially choosing certain `Opens` to form our set and this set has additional properties. Namely it is a completely prime filter: if the supremum of some Opens is contained than atleast one of the Opens must be contained.
Take some `Locale.PT`, `x`. In this PR, we prove that the set of compact elements generating basic opens (compact elements generate topological basis see #31662) contained in `x` is directed.
This set of compact elements defined above is important in subsequent parts of the proof since it fully determines `x`.
- [ ] depends on: #31662
---
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
new-contributor
merge-conflict
|
296/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
23-6367 23 days ago |
50-30845 50 days ago |
0-463 7 minutes |
| 37556 |
edwin1729 author:edwin1729 |
feat(Topology/Order): Locale.localePointOfSpacePoint if we have a Scott Topology from an Algebraic DCPO |
(3/4) in a series of PRs proving that "Scott Topologies over Algebraic DCPOs are Sober"
We prove here that the unit of the adjunction from `TopCat` to `Locale` defined in `Topology/Order/Category/FrameAdjunction.lean` is a surjective mapping, under the following condition:
The underlying TopologicalSpace must be a Scott Topology generated with an underlying Algebraic DCPO structure.
- [ ] depends on: #37445
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
blocked-by-other-PR
merge-conflict
|
393/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
23-6366 23 days ago |
48-30866 48 days ago |
0-1300 21 minutes |
| 38027 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/Star): define star graphs |
Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334.
---
All lemmas are hand written first, then golfed with the help of Claude Code.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean |
2 |
39 |
['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] |
nobody |
22-79296 22 days ago |
34-79242 34 days ago |
36-76988 36 days |
| 38560 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): `MfldCat` is a `CartesianMonoidalCategory` |
We prove that the category `MfldCat` of C^n manifolds is a Cartesian monoidal category, and also derive the `BraidedCategory` instance. This PR introduces a new file `Geometry/Manifold/Category/MfldCat/CartesianMonoidal` closely mirroring the structure of `Algebra/Category/Grp/CartesianMonoidal.lean`
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
281/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/CartesianMonoidal.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
22-66012 22 days ago |
unknown |
0-0 0 seconds |
| 38364 |
openendings author:openendings |
feat: create Order/DirectedCompletePartialOrder/Defs.lean |
Define DirectedCompletePartialOrder and its interaction with iSup and sSup.
---
A DirectedCompletePartialOrder is equivalently:
- a partial order with LUBs of nonempty directed sets;
- what happens when you remove ⊥ from a CompletePartialOrder; or
- a ConditionallyCompletePartialOrder in which every directed set is BddAbove.
Like CPOs, DCPOs are commonly studied in denotational semantics.
Potential applications:
- [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`.
- [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
123/0 |
Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib |
3 |
4 |
['SnirBroshi', 'github-actions', 'openendings'] |
nobody |
22-9159 22 days ago |
27-85679 27 days ago |
28-59986 28 days |
| 37814 |
sglasman author:sglasman |
feat: Equivalence between HopfAlgCat R and Hopf (ModuleCat R) |
This PR resolves a TODO by demonstrating an equivalence of categories between two models of the category of Hopf algebras over a commutative ring R, that of Hopf objects in the module category of R and that of types with a `HopfAlgebra R` instance.
---
AI declaration: I consulted with Claude on proof strategies. The proofs were ultimately written by me.
|
new-contributor
large-import
t-category-theory
WIP
|
214/4 |
Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean |
2 |
5 |
['dagurtomas', 'github-actions', 'robin-carlier', 'sglasman'] |
kim-em assignee:kim-em |
21-70530 21 days ago |
27-32993 27 days ago |
14-69757 14 days |
| 36667 |
NoneMore author:NoneMore |
feat(ModelTheory): add `exClosure` definition for first-order formulas |
Prepare for moving realizations between elementarily equivalent structures.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
37/0 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
21-401 21 days ago |
66-71886 66 days ago |
66-71367 66 days |
| 37682 |
SabrinaJewson author:SabrinaJewson |
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ |
`LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction).
If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib).
This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions.
`LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491)
---
- [x] depends on: #37735
- [x] depends on: #37772
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
52/38 |
Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean |
3 |
10 |
['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
21-395 21 days ago |
41-9293 41 days ago |
43-5883 43 days |
| 38635 |
Fieldnote-Echo author:Fieldnote-Echo |
chore(scripts): handle simple to_additive deprecations |
Closes #38550.
This updates `scripts/add_deprecations.sh` so that, when a renamed declaration is near an existing `@[to_additive]` attribute, the script also emits the additive deprecation alias in the common default-name case.
For example, `foo_mul -> bar_mul` now produces:
```lean
@[deprecated (since := "...")]
alias foo_add := bar_add
@[to_additive existing, deprecated (since := "...")]
alias foo_mul := bar_mul
```
This is intentionally conservative and text-based, matching the existing script. It handles common name translations such as mul/add, prod/sum, one/zero, inv/neg, and div/sub, and skips cases that look like they need less common to_additive name generation.
Tested with a local six-case fixture and a scratch Lean file confirming that the generated alias form compiles and produces deprecation warnings for both names.
I opened this as draft because I still count as a new contributor under the LLM-assisted PR policy. I have one merged mathlib PR (#36443), and this is a one-file script patch that I reviewed/tested manually. I'll leave it as draft unless a maintainer gives it the green light to flip ready.
I used Claude assistance while drafting and testing the patch. I reviewed the final diff manually and tested the generated Lean form locally. |
CI
new-contributor
|
121/10 |
scripts/add_deprecations.sh |
1 |
4 |
['Fieldnote-Echo', 'SnirBroshi', 'github-actions'] |
kim-em assignee:kim-em |
20-71625 20 days ago |
unknown |
0-0 0 seconds |
| 38390 |
mortarsanjaya author:mortarsanjaya |
feat(Data/Nat/Cast/Order/Basic): introduce new class `IsMonotoneNatCast` |
The class says that `Nat.cast` is monotone in an `AddMonoidWithOne`. Basically, we use this class when we only care about comparing the elements of a monoid that comes from the `Nat`s (so we do not have to care about the compatibility between the additive structure of the monoid and its order structure).
---
Other than that, I'm also reorganizing some section naming, and I change the proof of the `Nontrivial` instance at the bottom to using `NeZero.nontrivial`.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
28/18 |
Mathlib/Data/Nat/Cast/Order/Basic.lean |
1 |
7 |
['github-actions', 'leanprover-radar', 'mathlib-bors', 'mortarsanjaya', 'vihdzp'] |
nobody |
20-10328 20 days ago |
20-10329 20 days ago |
7-85443 7 days |
| 37819 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas |
This is a modification of #34093. See #34093 for details.
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
337/10 |
Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean |
6 |
5 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
19-73906 19 days ago |
19-73906 19 days ago |
22-11204 22 days |
| 38056 |
Deicyde author:Deicyde |
feat: topological vector bundle homomorphisms |
This PR implements topological vector bundle morphisms.
- [ ] depends on: #38023
- [ ] depends on: #37946
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
merge-conflict
|
805/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/FiberBundle/Trivialization.lean,Mathlib/Topology/VectorBundle/Basic.lean,Mathlib/Topology/VectorBundle/Morphism.lean |
5 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
19-19751 19 days ago |
unknown |
0-0 0 seconds |
| 38316 |
tannerduve author:tannerduve |
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction |
Adds `ContinuousHom.lfp` for endomorphisms on an ωCPO with `⊥`, as the `ωSup` of the iterate chain from `⊥`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `ωSup_iterate_induction`).
For `Part.fix`, adds:
* `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`.
* `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] ⊥`/`iterateChain`.
* `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is ω-Scott continuous.
* `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`.
* `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. |
new-contributor |
114/0 |
Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
nobody |
18-25639 18 days ago |
30-1741 30 days ago |
30-1748 30 days |
| 38871 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph): add parity lemmas for outer and inner vertices |
Adds three lemmas to `SimpleGraph.DegreeSum`:
- `sum_degrees_option_zmod_two`: the handshaking lemma for `Option I` over ZMod 2
- `degree_none_zmod_two_eq_sum`: simp-normal form of the above
- `card_degree_one_option_eq_outer_zmod_two`: under degree bound ≤ 2, count of degree-1 inner vertices equals outer vertex degree mod 2 |
t-combinatorics
new-contributor
|
65/3 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean |
1 |
6 |
['0xTerencePrime', 'SnirBroshi', 'github-actions'] |
nobody |
16-75124 16 days ago |
17-45352 17 days ago |
17-44833 17 days |
| 38897 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity |
Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of
the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the
two endpoints have different colors, then the number of color-changing edges is odd.
This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns
antichains in a power set. This file formalizes the topological/combinatorial parity
statement used as the base case in higher-dimensional Sperner arguments.
## Key declarations
- `SpernerColoring`: type-safe coloring via `Fin (n + 1) → ZMod 2`
- `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2`
- `totalDiff`: telescoping sum of all edge differences
- `diffEdges`: the `Finset` of bichromatic (color-changing) edges
- `sperner_1d`: main theorem — `Odd (diffEdges c).card`
## Design notes
- Using `Fin (n + 1) → ZMod 2` instead of `ℕ → ZMod 2` makes boundary conditions
unrepresentable at the type level, eliminating out-of-bounds cases entirely.
- The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero`
to cancel all interior vertices, avoiding parity case splits.
This is intended as the 1D base case, the approach generalizes to higher-dimensional
Sperner's Lemma in future work.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
133/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
16-66358 16 days ago |
16-76508 16 days ago |
16-75989 16 days |
| 38750 |
openendings author:openendings |
feat(Data/Nat): add padicValNat_add_eq_min |
Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including
- padicValNat_eq_of_dvd_of_not_dvd
- padicValNat_add_of_gt
- padicValNat_add_eq_min
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
36/0 |
Mathlib/Data/Nat/MaxPowDiv.lean |
1 |
7 |
['Ruben-VandeVelde', 'github-actions', 'openendings'] |
nobody |
16-63383 16 days ago |
17-2479 17 days ago |
3-62762 3 days |
| 38049 |
WilliamCoram author:WilliamCoram |
feat: lemmas towards showing gaussNorm on MvPowerSeries is an absolute value |
We prove lemmas: ``gaussNorm_mul_le`` and ``gaussNorm_le_mul`` which will allow us to show it is an absolute value on Mv restricted power series.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
144/1 |
Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
1 |
4 |
['WilliamCoram', 'github-actions'] |
alreadydone assignee:alreadydone |
16-563 16 days ago |
36-29908 36 days ago |
36-29389 36 days |
| 38895 |
emlis42 author:emlis42 |
chore(Algebra/ContinuedFractions): golf |
This PR simplifies some proofs in `Algebra/ContinuedFractions` |
t-algebra
new-contributor
label:t-algebra$ |
39/63 |
Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/ConvergentsEquiv.lean |
7 |
2 |
['github-actions'] |
nobody |
15-85474 15 days ago |
16-4285 16 days ago |
16-78469 16 days |
| 37714 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Floor/Defs): `Nat.cast` is strictly monotone in `FloorSemiring` and `FloorRing` |
As title says, and without the `IsOrderedRing` assumption.
Other than that, I removed the `IsOrderedRing` assumption from pretty much all the lemmas in `Algebra/Order/Floor/Defs` that could possibly have this assumption removed, and reduced some `IsStrictOrderedRing` assumptions to `IsOrderedRing` + `Nontrivial`.
Due to strict monotonicity, we can also provide `CharZero` instance on `FloorSemiring` and `FloorRing`. Thus we can remove the `NeZero` and `Nontrivial` instances on them.
The changes on `/Ring` and `/Semiring` are trivial changes due to some lemmas not requiring an `IsOrderedRing` instance anymore.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
96/39 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean |
5 |
24 |
['dagurtomas', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mortarsanjaya'] |
eric-wieser assignee:eric-wieser |
15-71268 15 days ago |
19-47039 19 days ago |
43-46010 43 days |
| 37062 |
tannerduve author:tannerduve |
feat(Computability): Turing join and semilattice structure on Turing degrees |
## Summary
- Add `Partrec.kronecker` (equality test) and `Partrec.join` (disjoint union by parity) in `Partrec.lean`
- Prove `Nat.RecursiveIn` is closed under computable conditionals (`cond_const`, `cond`)
- Show each component reduces to the join (`left_le_join`, `right_le_join`) and the join is the least upper bound (`join_le`)
- Establish `SemilatticeSup` instance on `TuringDegree` |
t-computability
new-contributor
large-import
|
311/15 |
Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean |
3 |
7 |
['Komyyy', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] |
Komyyy assignee:Komyyy |
15-71176 15 days ago |
37-36170 37 days ago |
38-11545 38 days |
| 38170 |
maddycrim author:maddycrim |
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma |
From FLT Project
Main Definitions:
`Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Module/FinitePresentation.lean |
1 |
17 |
['chrisflav', 'github-actions', 'maddycrim', 'themathqueen', 'vlad902'] |
nobody |
15-61714 15 days ago |
15-61714 15 days ago |
17-43852 17 days |
| 38951 |
thomaskwaring author:thomaskwaring |
feat(Order/PrimeSeparator): remove unnecessary hypotheses |
In `mem_ideal_sup_principal`, boundedness and distributivity were unused, and in `prime_ideal_of_disjoint_filter_ideal`, boundedness was only used to produce an element of the filter `F`, which is already nonempty by definition.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
9/19 |
Mathlib/Order/PrimeSeparator.lean |
1 |
2 |
['github-actions'] |
nobody |
15-59049 15 days ago |
15-59136 15 days ago |
15-58617 15 days |
| 36896 |
PieterCuijpers author:PieterCuijpers |
feat (Algebra/Order/Quantale): isMulLeftsided, isMulRightsided, isMulTwosided and strict versions |
* Adding definitions of quantale elements being leftsided, rightsided, and twosided, and strict versions
Should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them?
I have a few basic theorems I would like to include on these notions, but invite suggestions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
81/1 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
5 |
['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions'] |
mariainesdff assignee:mariainesdff |
15-42859 15 days ago |
22-35114 22 days ago |
39-18222 39 days |
| 38669 |
dannyply author:dannyply |
feat(Topology/Algebra/PontryaginDual): prove compact monoids have discrete duals |
Proves that the Pontryagin dual of a compact monoid is discrete. As a consequence, it also adds the corresponding finite-type instances for compact discrete monoids.
This upstreams a result first added downstream in [`YaelDillies/APAP`](https://github.com/YaelDillies/APAP), where this fact was needed to close a `sorry`. The proof separates the trivial character from all the others using the right half of the circle and adds a few reusable `Circle` helper lemmas near the existing related API.
The original APAP proof was AI-assisted and then reviewed/rewritten during downstream review. For this PR, I used Codex to help adapt the APAP proof to mathlib and to refactor the supporting lemmas.
---
[](https://gitpod.io/from-referrer/) |
t-topology
new-contributor
awaiting-author
|
130/16 |
Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Topology/Algebra/PontryaginDual.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
3 |
27 |
['dannyply', 'github-actions', 'j-loreaux', 'tb65536'] |
j-loreaux assignee:j-loreaux |
15-27944 15 days ago |
21-28846 21 days ago |
0-75079 20 hours |
| 38973 |
hyeoniuwu author:hyeoniuwu |
feat(Computability): define (single oracle) turing reducibility, relate it to RecursiveIn and prove basic jump theorems |
feat(Computability): define (single oracle) Turing reducibility, relate it to RecursiveIn and prove basic jump theorems
Defines Turing reducibility and the jump operator, with total functions (from naturals to naturals) as oracles.
Defines codes for basic primitive recursive functions, and the evaluation function.
Proves basic reducibility arguments, such as `K0_eq_K` asserting that K0 of an oracle is Turing equivalent to K of an oracle.
Our reducibility is related back to `RecursiveIn` as is currently defined in Mathlib via the theorem `SingleReducibleIff`.
This is part of a larger repository where more advanced theorems such as KP54 have been proven. (https://github.com/hyeoniuwu/CiL)
Co-authored-by: Tanner Duve
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
|
4988/0 |
Mathlib/Computability/SingleOracle/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/CovRec.lean,Mathlib/Computability/SingleOracle/Constructions/Dovetail.lean,Mathlib/Computability/SingleOracle/Constructions/Eval.lean,Mathlib/Computability/SingleOracle/Constructions/Eval_Aux.lean,Mathlib/Computability/SingleOracle/Constructions/List.lean,Mathlib/Computability/SingleOracle/Constructions/Meta.lean,Mathlib/Computability/SingleOracle/Constructions/Option.lean,Mathlib/Computability/SingleOracle/Constructions/Primitive.lean,Mathlib/Computability/SingleOracle/Encoding.lean,Mathlib/Computability/SingleOracle/Jump.lean,Mathlib/Computability/SingleOracle/Oracle.lean,Mathlib/Computability/SingleOracle/Order.lean,Mathlib/Computability/SingleOracle/RecursiveIn.lean,Mathlib/Computability/SingleOracle/Reducibilities.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Tactic/Attr/Register.lean,Mathlib/Tactic/Computability/Basic.lean |
19 |
3 |
['github-actions', 'grunweg'] |
nobody |
15-14191 15 days ago |
unknown |
0-0 0 seconds |
| 37456 |
Robertboy18 author:Robertboy18 |
feat(LinearAlgebra/AffineSpace): add parallel form of Desargues's theorem |
This PR adds an affine parallel form of Desargues's theorem, corresponding to entry `87` of the Lean community “100 theorems” list and following the related Rocq/Coq affine-geometry statement.
**Main changes**
- New file `Mathlib/LinearAlgebra/AffineSpace/Desargues.lean` with `parallel_third_side_of_perspective`.
- Add the corresponding `public import` to `Mathlib.lean`.
- Update `docs/100.yaml` entry `87` with a note that this is the parallel affine form.
**Proof idea**
The proof compares side vectors using `exists_eq_smul_of_parallel` for the two given pairs of parallel sides. The shared comparison along `SA` forces the same scalar, which gives parallelism of the third pair of sides.
Tests: `lake build Mathlib.LinearAlgebra.AffineSpace.Desargues`
AI disclosure: GPT-5.2 Pro was used for assistance with web search/background details about the theorem and for finding useful existing Mathlib lemmas. The theorem statement and Lean formalization were written and checked by hand.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
LLM-generated
label:t-algebra$ |
133/0 |
Mathlib.lean,Mathlib/LinearAlgebra/AffineSpace/Desargues.lean |
2 |
17 |
['Robertboy18', 'SnirBroshi', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
eric-wieser assignee:eric-wieser |
15-10829 15 days ago |
41-38977 41 days ago |
8-72313 8 days |
| 38792 |
openendings author:openendings |
wip, chore: rename Directed -> Predirected [please-adopt] |
This **incomplete** PR renames `Directed` to `Predirected`.
As [discussed in Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20complete.20partial.20order.20and.20domain.20theory.20formalization/near/592156927), `Directed` misleadingly mismatches the literature. (The literature says a directed set is nonempty, and we do not.)
#### f19d3e79 Rename Directed -> Predirected (class + namespace)
Automated changes:
- LSP code action renaming `Directed` to `Predirected`
- with the affected 69 files open in [lean.nvim](https://github.com/julian/lean.nvim), a series of commands roughly equivalent to
```nvim
:bufdo :silent %s/\(theorem \|lemma \|to_dual \)Directed\>/\1Predirected/ge
:bufdo :silent %s/\\./Predirected./ge
:bufdo :w
```
EDIT: manual changes
- one `namespace Directed` replaced.
### Corners cut:
- line-length linting has **not** been resolved.
- no snake-cased `directed` has been renamed.
- only tested via `lake build --old`, plus maybe ten minutes of `lake build` before I (@openendings ) got bored and wanted my CPU back.
---
WIP
please-adopt
t-order
[](https://gitpod.io/from-referrer/)
|
please-adopt
new-contributor
WIP
merge-conflict
|
196/195 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Strict.lean,Mathlib/Analysis/InnerProductSpace/Orthonormal.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/Data/Finset/Order.lean,Mathlib/Data/Fintype/Order.lean,Mathlib/Data/Set/Accumulate.lean,Mathlib/Data/Set/Dissipate.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Set/UnionLift.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Sub.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/ModelTheory/Syntax.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/CompletePartialOrder.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Indexed.lean,Mathlib/Order/Directed.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Lift.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Kernel/Indep.lean,Mathlib/Probability/Independence/ZeroOne.lean,Mathlib/Probability/Kernel/Disintegration/CDFToKernel.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Category/TopCat/Limits/Konig.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Compactness/CompactSystem.lean,Mathlib/Topology/Compactness/CountablyCompact.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Separation/Hausdorff.lean,Mathlib/Topology/Separation/Profinite.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
69 |
7 |
['github-actions', 'kbuzzard', 'mathlib-merge-conflicts', 'openendings'] |
nobody |
15-6218 15 days ago |
unknown |
0-0 0 seconds |
| 38960 |
ajhendel author:ajhendel |
chore: remove ℕ+ interval_cases workaround in ADEInequality |
`interval_cases` now supports `ℕ+`, so the manual `Finset.mem_Iio`/`Finset.mem_Ico` + `conv` + `fin_cases` workaround (marked with a porting note) is no longer needed.
Replaces three 3-4 line workaround blocks with `interval_cases p`/`q`/`r`. |
t-number-theory
new-contributor
awaiting-CI
|
3/10 |
Mathlib/NumberTheory/ADEInequality.lean |
1 |
2 |
['github-actions'] |
nobody |
14-45410 14 days ago |
15-46342 15 days ago |
0-105 1 minute |
| 37718 |
SabrinaJewson author:SabrinaJewson |
feat(Order): add conversions from `Std` order typeclasses to Mathlib ones |
`{Preorder, PartialOrder, LinearOrder}.ofStd` exist to facilitate convenient translation from `Std` order typeclasses to Mathlib ones.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
366/0 |
Mathlib.lean,Mathlib/Order/Std.lean,MathlibTest/OrderOfStd.lean |
3 |
2 |
['github-actions'] |
nobody |
14-1269 14 days ago |
44-4180 44 days ago |
44-4154 44 days |
| 38310 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics/Quiver/Schreier): word evaluation and reachability |
Adds word evaluation and reachability results to the Schreier graph API.
* `SchreierGraph.evalWord` : evaluates a word `List (S × Bool)` as an element of the ambient group, where `(s, true)` contributes `ι s` and `(s, false)` contributes `(ι s)⁻¹`.
* `SchreierGraph.evalWord_eq_lift` : agreement with `FreeGroup.lift`.
* `SchreierGraph.evalWord_mem_closure` : every word evaluates into the subgroup generated by `ι`.
* `SchreierGraph.pathFromWord` : a Bool-tagged word yields a path in `Symmetrify (SchreierGraph V ι)` from `x` to `evalWord ι w • x`.
* `SchreierGraph.reachable_iff` : two vertices are connected by a path in the symmetrification iff some element of the subgroup closure carries one to the other.
Follow-up to #36320.
This PR was written with AI assistance (Claude). The code has been reviewed by the author.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
LLM-generated
|
157/0 |
Mathlib/Combinatorics/Quiver/Schreier.lean |
1 |
2 |
['github-actions'] |
nobody |
13-73064 13 days ago |
30-20138 30 days ago |
30-19619 30 days |
| 39023 |
TBUGTB author:TBUGTB |
feat(Algebra/Order): API lemmas on floor and abs |
Co-authored-by: Etienne Marion @EtienneC30
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
brownian
new-contributor
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Ring/Abs.lean |
2 |
3 |
['TBUGTB', 'github-actions'] |
nobody |
13-54790 13 days ago |
13-57979 13 days ago |
13-57460 13 days |
| 38374 |
idontgetoutmuch author:idontgetoutmuch |
Principal Bundles, Connection 1-forms and the Frame Bundle |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
2017/0 |
Mathlib/Geometry/Manifold/Algebra/FakeFormII.lean,Mathlib/Geometry/Manifold/Algebra/PrincipalGBundle.lean,Mathlib/Geometry/Manifold/Algebra/SmoothLieExp.lean |
3 |
2 |
['github-actions'] |
nobody |
13-44007 13 days ago |
unknown |
0-0 0 seconds |
| 38194 |
ryanncode author:ryanncode |
feat(LinearAlgebra/BilinearForm): add indefinite metrics |
Add the `IndefiniteMetric` structure to support vector spaces equipped with a non-degenerate, symmetric, indefinite bilinear form.
Provide the algebraic foundation for indefinite inner product spaces by formalizing the metric via `LinearMap.BilinForm` and extracting its associated quadratic form without enforcing the `IsPosSemidef` typeclass.
Previously, mathlib required strictly positive-definite metrics to instantiate inner product spaces (`InnerProductSpace`), which prevented the formalization of indefinite geometries without causing typeclass inference failures. Bridge this gap by isolating the symmetric bilinear form from topological and positivity constraints, allowing the library to handle generalized indefinite metric spaces safely.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
47/0 |
Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/IndefiniteMetric.lean |
2 |
4 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
13-36332 13 days ago |
13-36332 13 days ago |
15-56169 15 days |
| 38527 |
archiebrowne author:archiebrowne |
feat(Analysis/Calculus): continuously differentiable actions |
define the class `ContDiffSMul 𝕜 M X n` which asserts that the map `(c, x) ↦ c • x` is `n` times continuously differentiable on `M × X`.
Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction.
|
t-differential-geometry
new-contributor
|
317/24 |
Mathlib.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/ContDiffMulAction.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean |
6 |
11 |
['archiebrowne', 'github-actions', 'grunweg', 'peabrainiac'] |
PatrickMassot and grunweg assignee:grunweg assignee:PatrickMassot |
13-17051 13 days ago |
13-17126 13 days ago |
21-2516 21 days |
| 39048 |
AydenLamp author:AydenLamp |
feat(Algebra/Group/Defs): add positive natural exponentiation for semigroups |
Introduce exponentiation for semigroups with positive natural exponents. This serves as a foundation for future results on Green’s relations and Rees matrix constructions in semigroups.
---
Co-authored-by: Howard Straubing
Soleil Repple
Nathan Hart-Hodgson
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
106/0 |
Mathlib.lean,Mathlib/Algebra/Group/SemigroupPow.lean |
2 |
7 |
['ScottCarnahan', 'github-actions', 'wwylele'] |
nobody |
12-58181 12 days ago |
13-15752 13 days ago |
0-115 1 minute |
| 38476 |
agusakov author:agusakov |
refactor(Combinatorics/Digraph): add vertex sets |
---
Adopting #33466
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
381/50 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
16 |
['Shreyas4991', 'YaelDillies', 'agusakov', 'github-actions'] |
nobody |
12-47525 12 days ago |
21-66066 21 days ago |
3-33232 3 days |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
We define `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, following the pattern of `TopCat` in
`Mathlib.Topology.Category.TopCat.Basic`. We also implement `HasForget₂ (MfldCat 𝕜 n) TopCat`—the forgetful functor into the category of topological spaces. For more discussion see the Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
224/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
57 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] |
kim-em assignee:kim-em |
12-16021 12 days ago |
12-19445 12 days ago |
25-69042 25 days |
| 37190 |
cjrl author:cjrl |
feat(Combinatorics): Set-Valued Pigeonhole Principle |
This PR contributes two theorems to combinatorics:
- `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle.
- `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle.
The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
38/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean |
2 |
16 |
['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] |
b-mehta assignee:b-mehta |
12-416 12 days ago |
38-20912 38 days ago |
53-77592 53 days |
| 38309 |
ntapiam author:ntapiam |
feat(Algebra/NonAssoc): dendriform algebras |
Define dendriform semirings and algebras
---
This PR introduces dendriform structures such as dendriform semirings
and algebras, and proves basic facts linking them to their pre-Lie
counterparts.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
270/0 |
Mathlib.lean,Mathlib/Algebra/NonAssoc/Dendriform/Defs.lean,docs/references.bib |
3 |
5 |
['dagurtomas', 'github-actions', 'ntapiam'] |
ocfnash assignee:ocfnash |
12-406 12 days ago |
12-52584 12 days ago |
27-57362 27 days |
| 38373 |
Nicola9Falciola author:Nicola9Falciola |
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty |
Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
3/0 |
Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean |
1 |
7 |
['Nicola9Falciola', 'SnirBroshi', 'github-actions'] |
ocfnash assignee:ocfnash |
12-398 12 days ago |
27-42541 27 days ago |
28-30463 28 days |
| 37932 |
idontgetoutmuch author:idontgetoutmuch |
feat: Exponential map of Lie group is smooth |
We construct the exponential map `expLie : g → G` for a Lie group `G` and prove that it
is smooth. The main reference is:
* Eckhard Meinrenken, *Lie Groups and Lie Algebras*, Lecture Notes, University of Toronto.
Available at https://www.math.toronto.edu/mein/teaching/LectureNotes/lie.pdf
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-differential-geometry
awaiting-author
|
392/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Algebra/SmoothLieExp.lean |
2 |
31 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'wwylele'] |
nobody |
11-56091 11 days ago |
32-60249 32 days ago |
0-973 16 minutes |
| 39108 |
idontgetoutmuch author:idontgetoutmuch |
feat(Geometry/Manifold/GroupLieAlgebra): Add mfderiv_mul_left_mul and left-translate for integral curves |
Add the following:
`mfderiv_mul_left_mul`: the derivative of left-multiplication satisfies a chain rule:
$$d(L_{g \cdot h})_x = d(L_g)_{h \cdot x} \circ d(L_h)_x$$
`mulInvariantVectorField_mul`: the vector field at the translated point is the push forward of the vector field:
$$V(g \cdot h) = d(L_g)_h(V(h))$$
`IsMIntegralCurve.left_translate`: using these, if $\gamma$ is an integral curve of $V$, then so is $t \mapsto g \bullet \gamma(t)$ for any $g \in G$, since:
$$\frac{d}{dt}(g \bullet \gamma(t)) = d(L_g)_{\gamma(t)}\left(\frac{d\gamma}{dt}(t)\right) = d(L_g)_{\gamma(t)}(V(\gamma(t))) = V(g \bullet \gamma(t))$$
I argue (*) all the time with LLMs so this PR will certainly have had some input from them. Is that enough of a disclosure?
(*) Like Lewis Carroll:
In my youth said the sage I took to the law and argued each case with wife
And the muscular strength that it gave to my jaw has lasted the rest of my life
|
t-differential-geometry
new-contributor
awaiting-author
LLM-generated
|
73/0 |
Mathlib/Geometry/Manifold/GroupLieAlgebra.lean |
1 |
8 |
['github-actions', 'grunweg'] |
nobody |
11-26581 11 days ago |
11-26646 11 days ago |
0-37992 10 hours |
| 38595 |
openendings author:openendings |
chore(CategoryTheory): remove defeq abuse in Monad/Kleisli.lean |
Currently most of Kleisli.lean uses defeq abuse to perform deep rewrites equivalent to `Kleisli.of_mk`, `Kleisli.mk_of`, etc.
This PR removes all backward.isDefEq.respectTransparency from the file. Additionally:
- Add `theorem Kleisli.comp`, encoding `Kleisli.category.map_comp` in the base category.
- Add `theorem Cokleisli.comp`, encoding `category.map_comp` in the base category.
- Make `C` implicit in `Monad.unit_naturality` and `Monad.mu_naturality`.
- Make `C` implicit in `Comonad.counit_naturality` and `Comonad.delta_naturality`.
---
- ~~I would greatly appreciate advice ([e.g. via Zulip](https://leanprover.zulipchat.com/#user/1060393)) on tackling the remainder of this file: the defeqs mostly appear in morally `simp`/`calc` proofs that look horrid in `refine` style.
I can supply more rfl theorems like `of_mk` and `mk_of` (and hope to do so in subsequent PRs), but don't know how to use them for a deep type rewrite.~~
[](https://gitpod.io/from-referrer/) |
t-category-theory
new-contributor
awaiting-author
WIP
|
95/28 |
Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/CategoryTheory/Monad/Kleisli.lean,MathlibTest/CategoryTheory/Monad.lean |
3 |
22 |
['dagurtomas', 'github-actions', 'joelriou', 'openendings'] |
nobody |
10-84734 10 days ago |
22-79524 22 days ago |
0-4425 1 hour |
| 39151 |
anovickis author:anovickis |
feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup |
Adds `ContinuousInv` and `IsTopologicalGroup` instances for `Matrix.specialUnitaryGroup n 𝕜`.
The unitary group `Matrix.unitaryGroup n α` already inherits these via the `unitaryGroup ≡ unitary R` abbrev + existing instances on `unitary R` (in `Mathlib/Topology/Algebra/Star/Unitary.lean`). However, `specialUnitaryGroup` is the sub-Submonoid `unitaryGroup ⊓ MonoidHom.mker detMonoidHom` — it does not auto-inherit those instances since it is not literally an alias of `unitary R`.
### New declarations
- `instance Matrix.specialUnitaryGroup.instContinuousInv` — proven via `Matrix.star_eq_inv` + `continuous_star`
- `instance Matrix.specialUnitaryGroup.instIsTopologicalGroup` — combining `ContinuousMul` (from Submonoid structure) + `ContinuousInv`
Both placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean` (the natural neighborhood for matrix-specific topological structure on (special) unitary groups).
### Motivation
These instances enable using `specialUnitaryGroup` as a topological group in homogeneous-space constructions (e.g., `SU(3) ⧸ T = F₂` flag manifolds). They complement #39146 (CompactSpace instances for the same groups) — together giving the standard 'compact topological group' typeclass set on `specialUnitaryGroup`.
### Verification
\`\`\`lean
example : ContinuousInv (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
example : IsTopologicalGroup (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
\`\`\`
Both fail on master without this PR; both succeed after. |
t-analysis
new-contributor
awaiting-author
|
30/0 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'wwylele'] |
nobody |
10-15705 10 days ago |
10-15705 10 days ago |
0-3921 1 hour |
| 39191 |
m13683320924-hue author:m13683320924-hue |
feat: define Asymptotics.IsSubpolynomial |
This PR defines `Asymptotics.IsSubpolynomial l f g`, meaning that `f` is asymptotically bounded by `1 + ‖g‖ ^ k` for some `k : ℕ`.
It also adds basic closure lemmas for constants, addition, multiplication, and natural powers.
Towards #32658.
The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean.
---
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
|
259/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
3 |
['github-actions'] |
nobody |
9-41663 9 days ago |
9-52624 9 days ago |
0-344 5 minutes |
| 34054 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas |
This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s.
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
please-merge-master
awaiting-author
|
231/0 |
Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
2 |
29 |
['Vierkantor', 'YellPika', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
9-36415 9 days ago |
89-17666 89 days ago |
16-66871 16 days |
| 39213 |
m13683320924-hue author:m13683320924-hue |
feat: define maximal cliques and independent sets |
This PR adds explicit predicates for maximal cliques and maximal independent sets:
- `SimpleGraph.IsMaximalClique`
- `SimpleGraph.IsMaximalIndepSet`
It also adds conversion lemmas to and from the existing `Maximal G.IsClique` and `Maximal G.IsIndepSet` formulations, plus basic complement and maximum-to-maximal lemmas.
Towards #34962.
The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean.
---
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
60/22 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
9-21070 9 days ago |
9-28899 9 days ago |
0-389 6 minutes |
| 37716 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity |
This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring,
$$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$
The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings.
It seems there's some interest in adding this:
https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873
--- |
t-algebra
new-contributor
label:t-algebra$ |
217/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean |
2 |
13 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'slavanaprienko'] |
nobody |
9-19003 9 days ago |
9-18757 9 days ago |
10-56468 10 days |
| 32608 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/PiTensorProduct): API for PiTensorProducts indexed by sets |
This PR addresses a TODO item in LinearAlgebra/PiTensorProduct.lean:
* API for the various ways ι can be split into subsets; connect this
with the binary tensor product
-- specifically by describing tensors of type ⨂ (i : S), M i, for S : Set ι.
Our primary motivation is to formalise the notion of "restricted tensor
products". This will be the content of a follow-up PR.
Beyond that, the Set API is natural in contexts where the index type has
an independent interpretation. An example is quantum physics, where ι
ranges over distinguishable degrees of freedom, and where its is common
practice to annotate objects by the set of indices they are defined on.
---
Stub file with preliminary definition of the restricted tensor product as a direct limit of tensors indexed by finite subsets of an index type:
https://github.com/PrParadoxy/mathlib4/blob/restricted-stub/Mathlib/LinearAlgebra/PiTensorProduct/Restricted.lean
---
- [x] depends on: #32598
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-zulip
t-algebra
WIP
label:t-algebra$ |
300/2 |
Mathlib.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean |
3 |
31 |
['PrParadoxy', 'dagurtomas', 'eric-wieser', 'github-actions', 'goliath-klein', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
9-18249 9 days ago |
149-28971 149 days ago |
10-66980 10 days |
| 37625 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors |
This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`.
New results:
- `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants
- `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors
- `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors
--- |
t-algebra
new-contributor
ready-to-merge
label:t-algebra$ |
105/1 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
28 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-bors', 'slavanaprienko', 'wwylele'] |
nobody |
9-16508 9 days ago |
9-73083 9 days ago |
37-17965 37 days |
| 37299 |
XC0R author:XC0R |
feat(NumberTheory): Chebyshev's lower bound on primorial |
## Summary
Prove `primorial(n) ≥ 2^(n/2)` for all `n ≥ 2` (Chebyshev's 1852 lower bound). This is the lower bound complement to `primorial_le_four_pow`. Addresses the TODO at `Chebyshev.lean` line 50: "Prove Chebyshev's lower bound."
### New file: `Mathlib/NumberTheory/PrimorialLowerBound.lean`
**Main theorems:**
- `two_pow_le_primorial`: `2 ^ n ≤ primorial (2 * n)` for `n ≥ 29`
- `two_pow_div_two_le_primorial`: `2 ^ (n / 2) ≤ primorial n` for `n ≥ 2`
**Key intermediates:**
- `centralBinom_le_pow_mul_primorial`: `C(2n,n) ≤ (2n)^{π(√(2n)+1)} * primorial(2n)`
- `eight_mul_sq_add_le_two_pow`: `8u² + 16u + 8 ≤ 2^u` for `u ≥ 10`
### Proof technique
Central binomial decomposition: from `four_pow_lt_mul_centralBinom` and `factorization_choose_le_log`, bound `C(2n,n)` above by `(2n)^{π(√(2n)+1)} * primorial(2n)`. Rearranging gives `primorial(2n) ≥ 2^n` for `n ≥ 29`. Base cases by `norm_num` + `decide`, large `n` analytically via `√n` factoring.
### AI disclosure
Claude (Anthropic) was used as a coding assistant for Lean tactic exploration, file structuring, and CI debugging. All proof strategy, mathematical content, and final code have been reviewed and are understood by the author. |
t-number-theory
new-contributor
awaiting-author
|
226/2 |
Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Primorial.lean |
2 |
53 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
9-10254 9 days ago |
40-22357 40 days ago |
13-62238 13 days |
| 38348 |
mirajcs author:mirajcs |
feat(Geometry/Curve): add Frenet–Serret framework |
---
This PR introduces a basic formalization of smooth parametrized curves in `ℝ³`
(`EuclideanSpace ℝ (Fin 3)`) together with the Frenet frame and partial proofs
of the Frenet–Serret formulas.
Main contributions:
* Define `ParametrizedDifferentiableCurve` as a smooth map on an open interval.
* Define arc length and arc-length parametrization.
* Define geometric quantities:
- curvature `κ(t) = ‖α''(t)‖`
- tangent, normal, and binormal vector fields
- torsion via `‖B'(t)‖`
* Introduce the `FrenetFrame` structure.
* Prove key Frenet–Serret formulas:
- `T' = κ • N`
- `B' = -τ • N`
- `N' = -κ • T + τ • B`
The implementation relies on existing analysis and inner product space
infrastructure, as well as properties of the cross product in `ℝ³`.
Some intermediate lemmas about orthogonality and cross-product identities
are included.
At present, some results assume nonvanishing curvature/torsion and include
auxiliary hypotheses about derivatives. These can be streamlined in future work.
This development is intended as a foundation for further formalization of
classical differential geometry (curves and surfaces).
---
|
new-contributor
t-differential-geometry
awaiting-author
|
525/0 |
Mathlib.lean,Mathlib/Geometry/Curves/Basic.lean,Mathlib/Geometry/Curves/FrenetFrame.lean |
3 |
18 |
['bryangingechen', 'github-actions', 'mathlib-merge-conflicts', 'mirajcs', 'ocfnash', 'vihdzp', 'wwylele'] |
ocfnash assignee:ocfnash |
9-7652 9 days ago |
22-30744 22 days ago |
6-55291 6 days |
| 39162 |
anovickis author:anovickis |
feat(Topology/PartitionOfUnity): add pointwise_decomposition_finsum + companions |
Add three short lemmas to `Mathlib/Topology/PartitionOfUnity.lean` extending the existing `PartitionOfUnity` API:
- `pointwise_decomposition_finsum` — for `f : X → ℝ` and `x ∈ s`, `f x = ∑ᶠ i, ρ i x · f x`. This is the pointwise step that lifts to integral linearity in measure-theoretic PoU integration: `∫_s f dμ = ∑ᶠ i, ∫_s (ρ i · f) dμ`.
- `one_minus_sum_nonneg` — `0 ≤ 1 - ∑ᶠ i, ρ i x`. Direct rearrangement of the existing `sum_le_one` field; useful as a complement-mass remainder bound in chart-by-chart estimates.
- `abs_le_one` — `|ρ i x| ≤ 1`. Combines the existing `nonneg` and `le_one`; convenience for absolute-value bounds.
All three are short proofs using existing structure fields (`sum_eq_one`, `sum_le_one`, `nonneg`, `le_one`).
These came up while writing chart-by-chart Stokes-on-manifold estimates where one wants to decompose `∫_M f` into chart-supported pieces using a partition of unity. The pointwise identity is the obvious first step; the other two are complementary algebraic bounds that show up in remainder estimates.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-topology
new-contributor
LLM-generated
|
27/0 |
Mathlib/Topology/PartitionOfUnity.lean |
1 |
2 |
['github-actions'] |
urkud assignee:urkud |
9-371 9 days ago |
9-82692 9 days ago |
9-82173 9 days |
| 39212 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add `partNums!` and `partDens!` |
This PR adds `partNums!` and `partDens!`, which provide infinite stream representations for the sequences of partial numerators and denominators of a generalized continued fraction. |
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/ContinuedFractions/Basic.lean |
1 |
4 |
['emlis42', 'github-actions', 'grunweg'] |
nobody |
8-83732 8 days ago |
9-30051 9 days ago |
9-29532 9 days |
| 39232 |
jerwaynejones author:jerwaynejones |
feat(Analysis/Complex): residue theorem for rectangular contours |
Adds `Mathlib/Analysis/Complex/RectangleResidue.lean` (644 LoC), filling the gap between Cauchy–Goursat for rectangles (`Complex.integral_boundary_rect_eq_zero_of_differentiable_on_off_countable`) and the Cauchy integral formula for circles. The file proves the residue formula for rectangular boundary integrals together with a rotated principal log branch needed to evaluate the left-edge integral that crosses the standard cut.
## Why
Mathlib has Cauchy–Goursat for rectangles and the Cauchy integral formula for circles, but no residue theorem for rectangular contours. This file fills that gap. It was extracted from a downstream Lean 4 formalization project (a conditional proof of Goldbach's conjecture, where contour shifting on rectangles arises naturally in Perron's formula).
## Main results
- **`Complex.hasDerivAt_log_neg`** — the rotated logarithm `log_neg z := log (-z) + I * π` has derivative `z⁻¹` on the rotated slit plane `{z | -z ∈ slitPlane}` (cut on the positive real axis).
- **`Complex.boundaryIntegral_inv_sub_eq_two_pi_I`** — for `ρ` strictly inside the rectangle `[z, w]`, `∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi`.
- **`Complex.boundaryIntegral_eq_residue_sum`** — parametric residue theorem for a sum of simple poles plus a holomorphic remainder, packaged as `Complex.RectangleResidueData`.
- **`Complex.boundaryIntegral_single_pole`** — the one-pole specialization.
## Structure
The development proceeds in five stages:
1. A notation `Complex.boundaryIntegral` for the oriented boundary integral over `[z, w]`, with a Cauchy–Goursat wrapper and additivity/scaling lemmas.
2. A rotated principal logarithm `Complex.log_neg z := log (-z) + I * π` with cut on the *positive* real axis, plus its derivative and corner-comparison identities with the standard `Complex.log`.
3. Explicit FTC-based evaluations of the four edge integrals of `(s − ρ)⁻¹`.
4. A closed-form residue boundary integral `∮_{∂[z,w]} (s − ρ)⁻¹ ds = 2πi` for `ρ` strictly inside the rectangle.
5. A parametric residue theorem for sums of simple poles plus a holomorphic remainder, packaged as `Complex.RectangleResidueData`.
## References
- L. Ahlfors, *Complex Analysis* (3rd ed.), §4.5.
- E. Stein and R. Shakarchi, *Complex Analysis*, Ch. 2 §3 Thm 3.1.
## Status
Draft while CI verifies the build against current `master` — the file was developed against `v4.28.0` and cherry-picked forward 2942 commits, so import surface changes are possible. Once CI is green I will flip to ready-for-review.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-analysis
new-contributor
|
644/0 |
Mathlib.lean,Mathlib/Analysis/Complex/RectangleResidue.lean |
2 |
2 |
['github-actions'] |
nobody |
8-68124 8 days ago |
unknown |
0-0 0 seconds |
| 38334 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/TreeDecomp): define tree decompositions |
Add definition for tree decompositions on simple graphs. Define the tree width of a simple graph and prove basic statements and conversions.
```lean
structure TreeDecomp (G : SimpleGraph V) where
/-- The type of bags in the tree. -/
W : Type u
/-- The set of vertices in each bag. -/
𝓧 : W → Finset V
/-- The graph adjacency relation of bags. -/
T : SimpleGraph W
/-- T must be a tree. -/
isTree : IsTree T
/-- All vertices in G must appear in some bag. -/
vertexCover : ∀ v : V, ∃ w : W, v ∈ 𝓧 w
/-- For any edge (u, v) in G, there is a bag containing both u and v. -/
edgeCover ⦃u v : V⦄ : G.Adj u v → ∃ w : W, u ∈ 𝓧 w ∧ v ∈ 𝓧 w
/-- For any vertex v in G, the set of bags that contain v is preconnected. -/
connectedBags : ∀ v : V, (T.induce ({w | v ∈ 𝓧 w})).Preconnected
```
AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed.
---
- [ ] depends on: #38027
[](https://gitpod.io/from-referrer/)
|
new-contributor
help-wanted
blocked-by-other-PR
t-combinatorics
LLM-generated
WIP
|
396/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
3 |
5 |
['8e7', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
8-65553 8 days ago |
29-45875 29 days ago |
0-356 5 minutes |
| 39239 |
alainchmt author:alainchmt |
feat(FieldTheory/Finite): irreducible polynomial divides X^q^n - X iff degree divides n |
---
Add the theorem saying that, for an irreducible polynomial `f` over a finite field `K`, the degree of `f` divides `n` if and only if `f` divides `X ^ (Nat.card K) ^ n - X`. Include auxiliary lemmas.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
34/0 |
Mathlib/FieldTheory/Finite/Extension.lean,Mathlib/FieldTheory/Minpoly/Field.lean |
2 |
2 |
['github-actions'] |
nobody |
8-55944 8 days ago |
8-56033 8 days ago |
8-55514 8 days |
| 39164 |
allenhaozhu author:allenhaozhu |
feat(Probability/Distance): add total variation distance `tvDist` |
Add `MeasureTheory.tvDist : Measure α → Measure α → ℝ≥0∞`, the total variation distance between two measures, defined via the truncated subtraction `μ - ν` already in `Mathlib.MeasureTheory.Measure.Sub`. Add four basic lemmas (`tvDist_self`, `tvDist_comm`, `tvDist_nonneg`, `tvDist_le_one`) and a bridge lemma `tvDist_eq_signedMeasure_totalVariation` connecting `tvDist` to the existing `MeasureTheory.SignedMeasure.totalVariation` for finite measures.
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-measure-probability
new-contributor
LLM-generated
awaiting-author
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distance/TotalVariation.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
8-47548 8 days ago |
9-57182 9 days ago |
0-2707 45 minutes |
| 39165 |
allenhaozhu author:allenhaozhu |
feat(Probability/Moments): add IsSubExponential class |
Add `ProbabilityTheory.IsSubExponential X μ ν b`, the sub-exponential random variable class: `mgf X μ s ≤ exp (s²ν/2)` for `|s| < 1/b`. Mirror the structure of the existing `Mathlib/Probability/Moments/SubGaussian.lean`. Include constructor lemmas (`IsSubExponential.const`, `mono_b`, `mono_nu`) and a tail bound derived through Mathlib's `measure_ge_le_exp_mul_mgf`.
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-measure-probability
new-contributor
LLM-generated
awaiting-author
|
257/0 |
Mathlib.lean,Mathlib/Probability/Moments/SubExponential.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
8-47547 8 days ago |
9-57190 9 days ago |
0-2698 44 minutes |
| 39168 |
allenhaozhu author:allenhaozhu |
feat(Analysis/Convex/Subgradient): add subgradient characterization for |·| and ℓ¹ |
Add `Convex.IsAbsSubgradient x g`, the predicate that `g` is a subgradient of `|·|` at `x`. Prove the standard characterization: the only subgradient at `x > 0` is `1`; at `x < 0` it is `-1`; at `x = 0` the subgradients are exactly `[-1, 1]`. Add `IsL1Subgradient`, the componentwise lift to `Fin n → ℝ` used by ℓ¹-regularized estimation (Lasso KKT).
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-analysis
new-contributor
LLM-generated
awaiting-author
|
231/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Subgradient/Abs.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
8-47545 8 days ago |
9-57275 9 days ago |
0-2608 43 minutes |
| 38887 |
Rosario-Leonardi-CT author:Rosario-Leonardi-CT |
feat(Analysis/Fourier/ZMod): add dft_star_comp |
Adds `ZMod.dft_star_comp`, expressing that `𝓕 (star ∘ Φ) k = star (𝓕 Φ (-k))`, the discrete analogue of the Fourier transform's interaction with complex conjugation, complementing the existing `dft_comp_neg`.
---
AI disclosure: lemma statement and proof drafted with assistance from Claude Code; verified by the Lean compiler with no `sorry` and standard axioms only (`propext`, `Classical.choice`, `Quot.sound`). |
t-analysis
new-contributor
awaiting-author
|
9/0 |
Mathlib/Analysis/Fourier/ZMod.lean |
1 |
8 |
['Rosario-Leonardi-CT', 'github-actions', 'wwylele'] |
j-loreaux assignee:j-loreaux |
8-32543 8 days ago |
12-26361 12 days ago |
5-6447 5 days |
| 35672 |
dennj author:dennj |
feat(RingTheory/Polynomial/Cyclotomic): vanishing sums and fiber equidistribution at primitive roots |
## Summary
Building on `sum_eq_zero_iff_forall_eq` from #34592, this PR adds:
- cyclotomic_dvd_of_aeval_eq_zero, exists_int_smul_cyclotomic_of_natDegree_le_totient — integer polynomials vanishing at a primitive n-th root are divisible by cyclotomic n ℤ, and (for degree ≤ φ(n)) integer multiples of it.
- sum_eq_zero_iff_forall_eq and its ℤ / ZMod p variants — vanishing iff all coefficients equal.
- sum_fiber_eq_sum_fiber_of_sum_weighted_pow_eq_zero, card_fiber_eq_card_div_of_sum_pow_eq_zero — fiber equidistribution.
- cyclotomic_prime_coeff — the formula (cyclotomic p R).coeff i = if i < p then 1 else 0, generalising existing coeff_zero/coeff_one lemmas.
-
References: [deLauneyFlannery2011, Lemma 2.8.5] (underlying ℚ/ℕ fact) and [armario2024, Lemma 7 and Theorem 3] (ℤ statement and the fiber-counting application).
Theorems imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory
Human made PR with LLM used for documentation and proof golfing |
t-ring-theory
new-contributor
LLM-generated
|
128/2 |
Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Roots.lean,docs/references.bib |
3 |
6 |
['dennj', 'github-actions', 'grunweg', 'ocfnash'] |
ocfnash assignee:ocfnash |
8-28526 8 days ago |
15-18867 15 days ago |
33-32458 33 days |
| 39146 |
anovickis author:anovickis |
feat(Analysis/CStarAlgebra/Matrix): CompactSpace instances for unitaryGroup and specialUnitaryGroup |
Adds `CompactSpace` instances (and supporting `IsClosed` / `IsCompact` lemmas) for the matrix unitary and special unitary groups.
The compactness follows from Heine-Borel applied to the entrywise sup norm: every unitary matrix has all entries bounded by `1` (via the existing `entry_norm_bound_of_unitary` lemma), and `Matrix n n 𝕜` is finite-dimensional, so `closed + bounded ⇒ compact`.
### New declarations
- `isClosed_unitaryGroup`, `isCompact_unitaryGroup`
- `instance Matrix.unitaryGroup.instCompactSpace`
- `isClosed_specialUnitaryGroup`, `isCompact_specialUnitaryGroup`
- `instance Matrix.specialUnitaryGroup.instCompactSpace`
All placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean`, so the `Matrix.Norms.Elementwise` scope used for the bound is already in scope.
### Motivation
These instances enable downstream constructions of compact matrix Lie groups such as flag manifolds (e.g. SU(3)/T = F₂), where the quotient inherits compactness for free via `Quotient.compactSpace`. They also fill an obvious gap in the matrix-group API: `unitary R` is known to be closed, but compactness for `Matrix.unitaryGroup` was not previously available as an instance.
Claude Code / Anthropic was used for generating the code, Verification was done with lake build, each lemma reviewed. Proofs came out of F2 mass gap lean library - so compile verified |
t-analysis
new-contributor
awaiting-author
|
52/0 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean |
1 |
11 |
['anovickis', 'github-actions', 'j-loreaux', 'wwylele'] |
nobody |
7-72891 7 days ago |
10-16336 10 days ago |
0-7559 2 hours |
| 39256 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add monotonicity lemma for LanguageOn |
In Symbolic dynamics.
Proof that the language of a set of configurations is monotone with respect to inclusion of configuration sets:
X ⊆ Y → LanguageOn X U ⊆ LanguageOn Y U
The proof is a direct unfolding of definitions: a pattern in the language of X comes from restricting some configuration x ∈ X, and inclusion X ⊆ Y allows the same witness to be used for Y.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
7-64094 7 days ago |
8-38898 8 days ago |
8-38379 8 days |
| 39282 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): add union morphism lemma for LanguageOn |
In symbolic dynamics.
This PR proves that taking the language over a finite shape commutes with unions of configuration sets:
$LanguageOn (X \cup Y) U = LanguageOn X U \cup LanguageOn Y U$
The proof is a direct unfolding of definitions: a pattern in the language of $X \cup Y$ comes from restricting a configuration $x ∈ X \cup Y$, and splitting on whether $x \in X$ or $x \in Y$ yields the corresponding inclusion in either $LanguageOn X U$ or $LanguageOn Y U$. The converse direction rebuilds a witness in $X \cup Y$ from either side of the union.
Related to issue #39252 |
t-dynamics
new-contributor
|
15/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
7-63868 7 days ago |
7-63953 7 days ago |
7-63434 7 days |
| 39294 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): prove LanguageOn monotonicity under intersection |
In symbolic dynamics.
This PR proves that taking the language over a finite shape is monotone with respect to intersections of configuration sets:
```math
\mathrm{LanguageOn}(X \cap Y)\, U
\subseteq
\mathrm{LanguageOn}\, X\, U \cap \mathrm{LanguageOn}\, Y\, U
```
The proof is a direct unfolding of definitions: a pattern in the language of `X ∩ Y` comes from restricting a configuration `x ∈ X ∩ Y`. Since such an `x` belongs simultaneously to `X` and `Y`, the same restriction witness gives membership both in `LanguageOn X U` and in `LanguageOn Y U`, yielding membership in their intersection.
Related to issue #39252 |
t-dynamics
new-contributor
|
9/1 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
7-55074 7 days ago |
7-55157 7 days ago |
7-54638 7 days |
| 38606 |
dennj author:dennj |
feat: preparation for Vanishing Sum of Roots of Unity |
Adds the Mathlib API extensions needed for an upcoming formalization of the Lam-style classification theorem for vanishing sums of roots of unity.
* Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean
+ `exists_eq_const_of_sum_smul_eq_zero_of_sum_eq_zero_of_linearIndependent`: if `∑ vᵢ = 0` and the first `n-1` of `n` vectors are linearly independent, every linear relation has constant coefficients.
* Mathlib/RingTheory/Radical/NatInt.lean
+ `Nat.totient_eq_div_radical_mul_totient_radical`: Euler's totient splits as `φ(n) = (n / rad n) * φ(rad n)`.
* Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean
+ `IsPrimitiveRoot.sum_range_pow_mul_div_eq_zero_of_dvd`: the `d` evenly-spaced powers of a primitive `k`-th root sum to zero, for `d ∣ k` and `1 < d`.
* Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean (new)
+ `IsPrimitiveRoot.linearDisjoint_adjoin_pow_of_coprime`: cyclotomic subfields of coprime orders are linearly disjoint over `ℚ`.
* Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean (new)
+ `IsPrimitiveRoot.coeffs_eq_of_sum_pow_eq_zero_prime_coprime`: in the cyclotomic field of order `p * m` with `p` prime coprime to `m`, any `ℚ⟮ζ^p⟯`-linear relation among powers of `ζ^m` has all coefficients equal.
---
I need these as preparation to start formalizing the theorem:
Let k be a positive integer. If a finite family of complex k-th roots of unity sums to zero, then the size of the family is a non-negative integer combination of the prime divisors of k.
---
Human-made PR with AI used for golfing and documentation |
new-contributor |
219/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean,Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean,Mathlib/RingTheory/Radical/Totient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
7-36034 7 days ago |
7-14203 7 days ago |
8-31594 8 days |
| 39279 |
jayscambler author:jayscambler |
feat(Cryptography/Sigma): Schnorr sigma protocol and signature scheme |
Adds `Mathlib/Cryptography/Sigma/Schnorr.lean`. New file in a new top-level directory; mathlib currently has no `Mathlib/Cryptography/`, so I've taken `Mathlib/Cryptography/Sigma/` as the natural home for sigma-protocol formalizations.
The file proves the three defining properties of Schnorr's identification scheme as a sigma protocol:
- `Schnorr.correct`: completeness. Honest verifier accepts honest signer's transcript.
- `Schnorr.specialSoundness`: from two accepting transcripts sharing the commitment but using different challenges `c, c'`, the witness `x = (s - s') / (c - c')` is recovered. Needs `q` prime so `c - c'` is invertible in `ZMod q`.
- `Schnorr.hvzkAccepts`: the HVZK simulator `g^s · (y^c)⁻¹` always yields accepting transcripts. This is the structural-correctness half of HVZK only; the distributional indistinguishability statement is a separate result and not in this PR.
On top of the sigma protocol there's `Schnorr.Signature.{keyGen, sign, verify, correct}` wrapping it as a Fiat-Shamir signature scheme; `Schnorr.Signature.correct` is a one-line corollary of `Schnorr.correct`.
Two auxiliary lemmas, `Schnorr.gpow_sub` and `Schnorr.gpow_mul`, bridge `ZMod q` arithmetic and group exponentiation under `Fintype.card G = q`. They're local to this file for now because the surrounding `gpow` API is itself cryptography-specific; if a general `ZMod q`-graded group action framework lands in mathlib later, both lemmas would become instances of it.
There's also a small `example` instantiating everything on `Multiplicative (ZMod q)` for `Fact q.Prime` to show the API typechecks. That instantiation is a toy (DLOG is trivial in that group), but it confirms the abstraction is usable.
**AI disclosure**: this PR was a collaboration between myself, Grey Haven's autocontext and Claude Opus 4.7 (Anthropic). I read each line and built locally on current master. (strawberry has three r's) |
new-contributor
LLM-generated
|
352/0 |
Mathlib.lean,Mathlib/Cryptography/Sigma/Schnorr.lean |
2 |
2 |
['github-actions'] |
nobody |
7-33386 7 days ago |
7-33465 7 days ago |
7-33436 7 days |
| 38114 |
javgomzar author:javgomzar |
feat(FinitelyPresentedGroup): add finite groups instance |
Add IsFinitelyPresented instance for finite groups.
Co-authored-by: Hang Lu Su , Thomas Browning
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
large-import
|
31/2 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean |
2 |
33 |
['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
mattrobball assignee:mattrobball |
7-24996 7 days ago |
7-25032 7 days ago |
30-22250 30 days |
| 31662 |
edwin1729 author:edwin1729 |
feat(Topology/Order): topological basis of scott topology on Complete… |
…PartialOrder
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR.
(2/5) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober.
The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
This first PR proves two prerequisites, namely:
- the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- [x] depends on: #33061
**The next PR is here:** #31670
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
|
165/1 |
Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
5 |
99 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
7-23897 7 days ago |
15-25333 15 days ago |
64-31147 64 days |
| 35753 |
Vilin97 author:Vilin97 |
feat(Topology/Algebra/Order): regular grid helpers and piecewise linear interpolation |
Make API for piecewise linear interpolation on regular grids. I need these to for ODE time-stepping methods, like forward Euler, and later Runge–Kutta methods.
Follow-up PR: #35755 (forward Euler method convergence).
I don't know if these numerical analysis ODE-solving methods even belong in mathlib. If someone could advise me on it, I would appreciate it.
---
The initial proof was produced by [Aristotle](https://aristotle.harmonic.fun). The code was iteratively refined (factoring out lemmas, golfing, simplifying proofs) using Claude Code.
- [ ] depends on: #38091 |
t-topology
new-contributor
LLM-generated
maintainer-merge
|
201/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/PiecewiseLinear.lean |
2 |
59 |
['Vilin97', 'YanYablonovskiy', 'adomani', 'botbaki-review', 'copilot-pull-request-reviewer', 'dagurtomas', 'eric-wieser', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues', 'wwylele'] |
j-loreaux assignee:j-loreaux |
7-20046 7 days ago |
19-11988 19 days ago |
51-60549 51 days |
| 37928 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding |
This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`.
`Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`.
`FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`).
Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed.
Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required.
|
new-contributor
maintainer-merge
|
87/67 |
Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean |
2 |
9 |
['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] |
nobody |
7-4857 7 days ago |
13-55835 13 days ago |
39-35172 39 days |
| 38596 |
JJYYY-JJY author:JJYYY-JJY |
Add basic row-equivalence and echelon-form API for matrices |
This PR adds the first foundational slice of `Mathlib.LinearAlgebra.Matrix.Echelon`, a theorem-oriented API for elementary row operations, row-equivalence, and echelon-form predicates for matrices.
The main additions are:
* elementary row-scaling matrices and their `GL` versions;
* `Matrix.RowEquivalent` for the left action of `GL m R` on rectangular matrices;
* row-zero, pivot, echelon, and reduced-echelon predicates;
* semantic representative predicates `Matrix.IsEchelonFormOf` and `Matrix.IsReducedEchelonFormOf`.
This intentionally stops before row-space characterizations, existence and uniqueness of reduced echelon representatives, and the noncomputable canonical representative `Matrix.rref`; those are planned for later PRs.
Co-authored-by: Joseph Qian
Co-authored-by: Veer Shukla
Co-authored-by: Dhruv Bhatia
Co-authored-by: Zheng Wu <1036819072@qq.com>
---
This update trims the original full row-reduction API in response to reviewer feedback that the PR was too large. It keeps only the foundation needed by later row-reduction and `rref` PRs. |
t-algebra
new-contributor
label:t-algebra$ |
312/6 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean |
3 |
10 |
['JJYYY-JJY', 'SnirBroshi', 'copilot-pull-request-reviewer', 'dagurtomas', 'github-actions', 'wwylele'] |
nobody |
7-3135 7 days ago |
7-6214 7 days ago |
14-67518 14 days |
| 36698 |
ghseeli author:ghseeli |
feat(Combinatorics/Enumerative): Latin squares |
This PR defines Latin rectangles and Latin squares and proves an extension theorem using Hall's Marriage Theorem.
## Main results
- `group_to_cayley_table`: every finite group `G` yields a `LatinSquare G G`.
- `latin_rectangle_extends_one_row`: a (non-square) `LatinRectangle` extends to a `LatinRectangle`
with one more row. This is an application of **Hall's Marriage Theorem**, `hallMatchingsOn.nonempty`.
- `latin_rectangle_extends_to_latin_square`: a `LatinRectangle` extends to a `LatinSquare`.
This is included in a new file `Combinatorics/Enumerative/LatinSquare.lean`.
---
- [ ] depends on: #37190
- [ ] depends on: #37720
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
blocked-by-other-PR
|
638/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/LatinSquare.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Fintype/Card.lean,docs/references.bib |
6 |
78 |
['SnirBroshi', 'cjrl', 'eric-wieser', 'ghseeli', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
7-2467 7 days ago |
47-25087 47 days ago |
16-40743 16 days |
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Approval(s) |
Updated |
Last status change |
total time in review |
| 12608 |
eric-wieser author:eric-wieser |
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-meta
label:t-algebra$ |
118/2 |
Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DefaultFieldLinter.lean,scripts/noshake.json,test/default_field_linter.lean |
6 |
12 |
['YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions'] |
nobody |
1 |
658-61634 1 year ago |
748-7653 748 days ago |
0-84 1 minute |
| 8519 |
eric-wieser author:eric-wieser |
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` |
This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments.
While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants.
---
- [x] depends on: #8571
- [x] depends on: #8584
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
53/50 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
3 |
28 |
['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] |
nobody |
1 |
658-61631 1 year ago |
898-26994 898 days ago |
5-6524 5 days |
| 9146 |
laughinggas author:laughinggas |
feat(Data/ZMod/Defs): Topological structure on `ZMod` |
Added a discrete topology structure to `ZMod n` for all `n`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-topology
label:t-algebra$ |
55/3 |
Mathlib.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Instances/ZMod.lean,Mathlib/Topology/Maps.lean |
5 |
61 |
['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'laughinggas', 'mo271', 'urkud'] |
nobody |
1 |
658-61631 1 year ago |
865-19722 865 days ago |
7-11053 7 days |
| 6777 |
adomani author:adomani |
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) |
Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`.
This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066).
Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary
---
```bash
# First sed command:
# the first captured pattern is `Co*variantClass `
# the second captured pattern is ``
# the third captured pattern is `+` or `*`
# the fourth captured pattern is `<` or `≤`
# a match for `Co*variantClass (· ·) (· ·)` becomes
# `Co*variantClass replaceop replaceop`
# Second sed command: similar to the first, but looks for `(Function.swap (· ·))`
sed -i '
s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g
s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g
s=replaceop+=HAdd.hAdd=g
s=replaceop\*=HMul.hMul=g
s=replaceop<=LT.lt=g
s=replaceop≤=LE.le=g
s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g
s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g
s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g
s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g
s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g
s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g
' $(git ls-files '*.lean')
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
703/678 |
Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean |
81 |
37 |
['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] |
nobody |
1 |
658-61630 1 year ago |
933-27127 933 days ago |
35-63136 35 days |
| 6403 |
astrainfinita author:astrainfinita |
chore: change instance priorities of `Ordered*` hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
merge-conflict
slow-typeclass-synthesis
awaiting-author
label:t-algebra$ |
253/79 |
Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/RingTheory/HahnSeries.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
18 |
39 |
['Vierkantor', 'astrainfinita', 'digama0', 'eric-wieser', 'j-loreaux', 'leanprover-bot'] |
nobody |
1 |
658-61629 1 year ago |
903-14371 903 days ago |
13-18399 13 days |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
1 |
639-38931 1 year ago |
674-45153 674 days ago |
56-40668 56 days |
| 15448 |
urkud author:urkud |
chore(*): deprecate `Option.elim'` |
Use `Option.elim` instead.
---
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
tech debt
|
54/50 |
Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean |
17 |
12 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
nobody |
1 |
639-27984 1 year ago |
648-74146 648 days ago |
7-18420 7 days |
| 13514 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): closure under union |
- [ ] depends on: #15895
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
blocked-by-other-PR
|
448/4 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
50 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] |
nobody |
1 |
564-54788 1 year ago |
642-28769 642 days ago |
72-28417 72 days |
| 12133 |
ADedecker author:ADedecker |
feat: generalize instIsLowerProd to arbitrary products |
Also change a bit the proof of the product case to match my own taste, feel free to tell if you prefer the old one.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
t-order
|
34/14 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean |
2 |
13 |
['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] |
nobody |
2 |
551-60836 1 year ago |
702-56472 702 days ago |
63-69226 63 days |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
1 |
485-57303 1 year ago |
485-57303 485 days ago |
69-35596 69 days |
| 2605 |
eric-wieser author:eric-wieser |
chore: better error message in linarith |
On this mwe:
```lean
import Mathlib.Tactic.Linarith
example (s : Set ℕ) (h : s = s) : 0 ≤ 1 :=
by linarith
```
this now indicates where the internal error is coming from.
Is there a better way of chaining errors than this?
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
12/1 |
Mathlib/Tactic/Linarith/Preprocessing.lean |
1 |
3 |
['Vierkantor', 'harahu', 'kim-em', 'mo271'] |
nobody |
1 |
475-39323 1 year ago |
1122-70862 1122 days ago |
51-42225 51 days |
| 19425 |
hrmacbeth author:hrmacbeth |
perf: gcongr forward-reasoning adjustment |
This PR changes the "forward-reasoning" component of `gcongr`, rendering it more efficient, particularly in problems with a large number of variables/hypotheses in the context.
Previously `gcongr` attempted to match *every* `LocalDecl` against *every* node in the parse tree using *each* of the five implemented `@[gcongr_forward]` mini-tactics: matching directly, matching after applying `symm`, matching after applying `le_of_lt`, etc etc.
The new algorithm filters out the non-Prop `LocalDecl`s, and also adjusts the `@[gcongr_forward]` extensions so that, rather than re-apply the relevant lemmas (`symm`, `le_of_lt`, etc) at every node in the parse tree, the lemmas are applied in advance to the `LocalDecl`s and the result (if successful) stored.
The performance effect on mathlib as a whole is miniscule, but it speeds up the profiler's count of "tactic execution of Mathlib.Tactic.GCongr" in the newly-added test from 257 ms to 47 ms, and has a similar effect on real-life examples in an analysis project of mine.
Co-authored-by: Mario Carneiro
---
[](https://gitpod.io/from-referrer/)
(Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) |
merge-conflict
awaiting-author
|
130/59 |
Mathlib/Order/Lattice.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,MathlibTest/GCongr/inequalities.lean |
4 |
17 |
['Vierkantor', 'github-actions', 'hrmacbeth', 'leanprover-bot', 'leanprover-community-bot-assistant'] |
Vierkantor assignee:Vierkantor |
1 |
405-55685 1 year ago |
538-44102 538 days ago |
1-41769 1 day |
| 19315 |
quangvdao author:quangvdao |
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple |
This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas.
I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`.
---
- [x] depends on: #20361
- [x] depends on: #20771
- [x] depends on: #20770
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
193/16 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt |
6 |
44 |
['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
1 |
379-12290 1 year ago |
456-37313 456 days ago |
43-80684 43 days |
| 21276 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Substructures): define equivalences between equal substructures |
Define first-order equivalences between equal substructures, and prove related properties.
---
This is some preparatory work for #18876
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
62/0 |
Mathlib/ModelTheory/Substructures.lean |
1 |
19 |
['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] |
nobody |
1 |
376-30364 1 year ago |
376-30364 376 days ago |
46-55730 46 days |
| 25401 |
digama0 author:digama0 |
feat(Util): SuppressSorry option |
See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
342/0 |
Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean |
4 |
15 |
['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
1 |
280-6752 9 months ago |
280-6752 280 days ago |
71-27957 71 days |
| 26078 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves |
---
Split from #25218.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
44/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean |
1 |
12 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'dagurtomas', 'github-actions', 'kckennylau'] |
nobody |
1 |
272-36368 8 months ago |
272-36368 272 days ago |
64-11252 64 days |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
1 |
254-5355 8 months ago |
254-36458 254 days ago |
73-43082 73 days |
| 27937 |
madvorak author:madvorak |
feat(Logic/Basic): `congr_heq₂` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
6/0 |
Mathlib/Logic/Basic.lean |
1 |
8 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'madvorak', 'vihdzp'] |
fpvandoorn assignee:fpvandoorn |
1 |
245-55694 8 months ago |
271-56479 271 days ago |
17-62644 17 days |
| 21950 |
erdOne author:erdOne |
feat(NumberTheory/Padics): the completion of `ℚ` at a finite place is `ℚ_[p]` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-number-theory
|
253/1 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroMulInt.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
7 |
33 |
['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] |
nobody |
1 |
236-39208 7 months ago |
317-39145 317 days ago |
73-10873 73 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 |
awaiting-author
t-data
|
360/0 |
MathlibTest/Junk.lean |
1 |
17 |
['SnirBroshi', 'Timeroot', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'madvorak', 'pechersky', 'vihdzp'] |
pechersky assignee:pechersky |
2 |
232-82935 7 months ago |
232-82935 232 days ago |
48-67789 48 days |
| 27302 |
tristan-f-r author:tristan-f-r |
feat(Fintype/Quotient): finLiftOn₂ |
The combination of [`Quotient.finLiftOn`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fintype/Quotient.html#Quotient.finLiftOn) and [`liftOn₂`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Quotient.liftOn%E2%82%82).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
|
19/0 |
Mathlib/Data/Fintype/Quotient.lean |
1 |
12 |
['github-actions', 'kckennylau', 'pechersky', 'tristan-f-r', 'vihdzp'] |
pechersky assignee:pechersky |
2 |
216-73695 7 months ago |
216-73695 216 days ago |
6-5358 6 days |
| 28925 |
grunweg author:grunweg |
chore: remove `linear_combination'` tactic |
When `linear_combination` was refactored in #15899, the old code was kept as the `linear_combination'` tactic, for easier migration. The consensus of the zulip discussion ([#mathlib4 > Narrowing the scope of `linear_combination` @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Narrowing.20the.20scope.20of.20.60linear_combination.60/near/470237816)) was to wait, and "revisit this once people have experienced the various tactics in practice".
One year later, the old tactic has almost no uses: it is unused in mathlib; [searching on github](https://github.com/search?q=linear_combination%27%20path%3A*.lean&type=code) yields 37 hits --- all of which are in various forks of mathlib. Thus, removing this tactic seems appropriate.
---
Do not merge before the zulip discussion has concluded!
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
awaiting-zulip
|
0/564 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LinearCombination'.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/linear_combination'.lean |
5 |
4 |
['euprunin', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
1 |
216-68771 7 months ago |
268-14168 268 days ago |
0-1 1 second |
| 28737 |
astrainfinita author:astrainfinita |
refactor: deprecate `MulEquivClass` |
This PR continues the work from #18806.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18806 |
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
67/77 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/Group/Equiv/Defs.lean,Mathlib/Algebra/Group/Irreducible/Lemmas.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Units/Equiv.lean,Mathlib/Algebra/GroupWithZero/Equiv.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Ring/Divisibility/Basic.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Star/MonoidHom.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/Topology/Algebra/ContinuousMonoidHom.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
26 |
20 |
['Vierkantor', 'alreadydone', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
1 |
204-59253 6 months ago |
268-19426 268 days ago |
2-39213 2 days |
| 27180 |
ADedecker author:ADedecker |
feat: quotient of a monoid with zero by a multiplicative congruence |
---
My motivation is getting a more conceptual construction of [ValuativeRel.ValueGroupWithZero](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/ValuativeRel.html#ValuativeRel.ValueGroupWithZero), but I think this is of independent interest.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
delegated
label:t-algebra$ |
141/26 |
Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean |
5 |
32 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
1 |
201-42509 6 months ago |
280-58044 280 days ago |
28-12053 28 days |
| 9352 |
chenyili0818 author:chenyili0818 |
feat: arithmetic lemmas for `gradient` |
This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties
Co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
404/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Gradient/Lemmas.lean |
2 |
31 |
['chenyili0818', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sgouezel', 'winstonyin'] |
nobody |
1 |
182-64347 6 months ago |
820-42796 820 days ago |
52-1358 52 days |
| 11890 |
adomani author:adomani |
feat: the terminal refine linter |
A linter that warns on usages of `refine` and `refine'` as a finishing tactic.
See this [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Usage.20of.20refine').
### Conclusion of the experiment
Systematic replacements of terminal `refine` with `exact` leads to an overall slow-down.
---
- [ ] depends on: #15616 (disable the linter in downstream projects)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
77/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TerminalRefineLinter.lean |
3 |
15 |
['adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
1 |
182-64216 6 months ago |
645-12322 645 days ago |
18-28993 18 days |
| 20924 |
tomaz1502 author:tomaz1502 |
feat(Computability/QueryComplexity): Oracle-based computation |
This PR adds the types and lemmas for oracle-based computation. In this model, computations are run on a monad which also counts the number of oracle queries executed. With it, it becomes possible to reason about the upper bound of the query complexity of algorithms. In the future, we could extend this work to include the necessary bits from information theory and probability to also reason about lower bounds on query complexity, like the work in https://github.com/girving/debate.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2318629.20runtime.20complexity.20of.20sorting.20a.20list
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
|
305/0 |
Mathlib.lean,Mathlib/Computability/QueryComplexity/Basic.lean,Mathlib/Computability/QueryComplexity/Defs.lean |
3 |
60 |
['eric-wieser', 'girving', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao', 'tomaz1502'] |
nobody |
1 |
182-63782 6 months ago |
451-85077 451 days ago |
27-32630 27 days |
| 21624 |
sinhp author:sinhp |
feat(CategoryTheory): The (closed) monoidal structure on the product category of families of (closed) monoidal categories |
Given a family of closed monoidal categories, we show that the product of these categories
is a closed monoidal category with the pointwise monoidal structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
144/0 |
Mathlib.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Pi/MonoidalClosed.lean |
4 |
20 |
['TwoFX', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
1 |
182-63772 6 months ago |
407-78014 407 days ago |
50-48893 50 days |
| 22159 |
shetzl author:shetzl |
feat: add definition of pushdown automata |
Add the definition of pushdown automata and their two acceptance conditions: acceptance based on empty stack and acceptance based on final state.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Computability/PDA.lean |
2 |
35 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
1 |
182-63640 6 months ago |
429-57653 429 days ago |
20-81245 20 days |
| 22919 |
plp127 author:plp127 |
feat(Data/Fintype/Pi): Make `Fintype` instance for `RelHom`s computable |
Makes the `Fintype` instance for rel homs computable.
See this [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Classical.20vs.20constructive.20logic.20in.20computation/near/496220816) message.
---
- [x] depends on: #24748
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
178/44 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Pi.lean |
5 |
31 |
['IvanRenison', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
1 |
182-63614 6 months ago |
356-76885 356 days ago |
71-41637 71 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/)
|
merge-conflict
t-data
|
144/5 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
20 |
['alexkeizer', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao'] |
eric-wieser assignee:eric-wieser |
1 |
182-62930 6 months ago |
182-62931 182 days ago |
133-23955 133 days |
| 27163 |
pechersky author:pechersky |
feat(Topology/ValuativeRel): of and to basis of compatible valuations |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #30262 |
t-number-theory
t-algebra
merge-conflict
awaiting-author
t-topology
label:t-algebra$ |
229/62 |
Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
73 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky', 'smmercuri'] |
alreadydone assignee:alreadydone |
1 |
182-62913 6 months ago |
184-8304 184 days ago |
84-31691 84 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/)
|
merge-conflict
t-topology
t-order
large-import
|
81/2 |
Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean |
3 |
13 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
PatrickMassot assignee:PatrickMassot |
1 |
182-62618 6 months ago |
187-30896 187 days ago |
93-41632 93 days |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
6 |
['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
1 |
182-62472 6 months ago |
182-62473 182 days ago |
55-54919 55 days |
| 11800 |
JADekker author:JADekker |
feat: KappaLindelöf spaces |
Define KappaLindelöf spaces by following the first one-third of the API for Lindelöf spaces. The remainder will be added in a future PR.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-topology
awaiting-zulip
|
301/2 |
Mathlib.lean,Mathlib/Topology/Compactness/KappaLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean |
3 |
38 |
['ADedecker', 'JADekker', 'PatrickMassot', 'StevenClontz', 'adomani', 'github-actions', 'grunweg', 'kim-em', 'urkud'] |
nobody |
1 |
182-35652 6 months ago |
657-55934 657 days ago |
123-25636 123 days |
| 26310 |
kckennylau author:kckennylau |
feat: binary forms |
This PR provides the basic definition of binary forms, which are homogeneous polynomials in two variables.
---
- [ ] depends on: #26312
- [ ] depends on: #26313
- [ ] depends on: #26314
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
73/0 |
Mathlib.lean,Mathlib/RingTheory/MvPolynomial/BinaryForm.lean |
2 |
14 |
['MichaelStollBayreuth', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
1 |
182-35064 6 months ago |
274-32085 274 days ago |
57-1096 57 days |
| 24514 |
b-mehta author:b-mehta |
chore(Int/GCD): use fuel in xgcd |
Modify the definition of xgcd to use fuel recursion, to allow it to be reduced in the kernel. As a consequence, this means the evaluation of field operations in ZMod p become provable by `rfl` and `decide`.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/opaque.20recursion.20definitions.20break.20mergeSort.20decidability
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
merge-conflict
|
44/22 |
Mathlib/Data/Int/GCD.lean |
1 |
6 |
['astrainfinita', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'nomeata', 'urkud'] |
nobody |
1 |
174-50872 5 months ago |
326-4350 326 days ago |
58-34020 58 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/)
|
awaiting-author
t-order
merge-conflict
|
8/2 |
Mathlib/Order/SuccPred/Basic.lean |
1 |
4 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
1 |
165-84001 5 months ago |
243-13309 243 days ago |
44-13238 44 days |
| 26912 |
pechersky author:pechersky |
chore(Algebra/Ring/Subring): simp tag `Subring.smul_def` |
s-multiplying by a subtype is easiest to manipulate when both terms are in the ambient type. Many places that had to use the _def lemma for a rewrite, or to include it in a simp set, no longer have to.
Ported from #25308
---
[](https://gitpod.io/from-referrer/)
I found this being not-simp frustrating when talking about submodules over a valuation subring. |
merge-conflict
t-algebra
label:t-algebra$ |
67/66 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/LinearAlgebra/RootSystem/Irreducible.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean |
25 |
26 |
['artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-radar', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'pechersky'] |
joelriou assignee:joelriou |
1 |
156-8237 5 months ago |
177-44186 177 days ago |
63-23787 63 days |
| 32889 |
artie2000 author:artie2000 |
feat(Algebra): forgetful lemmas for `map` and `comap` on substructures |
* Standardise the form of forgetful lemmas for `map` and `comap` (ie, `(co)map_toSubfoo`)
* Add missing lemmas of this form
* Mark all such lemmas as `simp`
---
- [x] depends on: #21031
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
blocked-by-other-PR
label:t-algebra$ |
72/17 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/Subalgebra.lean |
6 |
30 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
1 |
144-40610 4 months ago |
154-15157 154 days ago |
2-56660 2 days |
| 33381 |
urkud author:urkud |
feat: add a version of the Schwarz lemma |
Add a version of the Schwarz lemma that is midway between the original lemma
and Pick's version.
Use it to show that a function that is separately holomorphic on a polydisc
and is bounded on this polydisc must be continuous on it.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #33368
- [x] depends on: #33362 |
t-analysis
blocked-by-other-PR
merge-conflict
|
475/91 |
Mathlib.lean,Mathlib/Analysis/Complex/Schwarz.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/Complex/UnitDisc/Schwarz.lean,Mathlib/Analysis/Complex/UnitDisc/Shift.lean |
5 |
22 |
['girving', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
1 |
140-71043 4 months ago |
142-39523 142 days ago |
0-947 15 minutes |
| 17176 |
arulandu author:arulandu |
feat: integrals and integrability with .re |
Lemmas for swapping order of .re and integration/integrability.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
please-adopt
|
49/0 |
Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean |
4 |
32 |
['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] |
nobody |
1 |
135-19217 4 months ago |
582-66454 582 days ago |
9-73631 9 days |
| 25905 |
mans0954 author:mans0954 |
feat(RingTheory/Polynomial/SmallDegreeVieta): polynomial versions of results in Algebra.QuadraticDiscriminant |
This PR continues the work from #25605.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25605 |
merge-conflict
t-ring-theory
please-adopt
|
77/8 |
Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
2 |
47 |
['chrisflav', 'github-actions', 'kckennylau', 'mans0954', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
chrisflav assignee:chrisflav |
1 |
130-8110 4 months ago |
256-36489 256 days ago |
82-4874 82 days |
| 12934 |
grunweg author:grunweg |
chore: replace more uses of > or ≥ by < or ≤ |
These were flagged by the linter in https://github.com/leanprover-community/mathlib4/pull/12879: it is easy to simple avoid > or ≥ in hypotheses or haves.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
|
41/42 |
Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Tactic/Linarith/Datatypes.lean,test/cancel_denoms.lean,test/congr.lean,test/interval_cases.lean,test/observe.lean |
15 |
12 |
['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'jcommelin', 'urkud'] |
nobody |
1 |
128-75925 4 months ago |
733-45350 733 days ago |
1-73101 1 day |
| 32880 |
0xTerencePrime author:0xTerencePrime |
feat(Analysis/Asymptotics): define subpolynomial growth |
## Main definitions
* `Asymptotics.IsSubpolynomial l f g`: A function `f` has subpolynomial growth with respect to `g` along filter `l` if `f = O(1 + ‖g‖^k)` for some natural `k`.
## Main results
* `IsSubpolynomial.const`: Constant functions have subpolynomial growth
* `IsSubpolynomial.id`: Identity has subpolynomial growth
* `IsSubpolynomial.add`: Closure under addition
* `IsSubpolynomial.neg`: Closure under negation
* `IsSubpolynomial.sub`: Closure under subtraction
* `IsSubpolynomial.mul`: Closure under multiplication
* `IsSubpolynomial.pow`: Closure under powers
* `isSubpolynomial_iff_one_add`: Equivalence with `(1 + ‖g‖)^k` formulation
* `IsSubpolynomial.uniform`: Uniform bounds for finite families
## Implementation notes
The definition uses `1 + ‖g‖^k` rather than `(1 + ‖g‖)^k` as the primary form, with the equivalence established in `isSubpolynomial_iff_one_add`. Four private auxiliary lemmas handle the key inequalities needed for closure proofs.
Closes #32658
|
awaiting-author
t-analysis
new-contributor
|
185/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
29 |
['0xTerencePrime', 'ADedecker', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
1 |
128-22291 4 months ago |
129-3749 129 days ago |
22-14560 22 days |
| 29610 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra): define LinearMap.Eigenbasis |
Some theorems are left TODO for follow-up work.
The definition is from @eric-wieser ([#Is there code for X? > diagonalizable linear maps @ 💬](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/diagonalizable.20linear.20maps/near/539163222)).
Co-authored-by: Aristotle Harmonic
---
- [x] depends on: #29420 (golfs some `[Nontrivial R]` assumptions)
- [x] depends on: #29791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
label:t-algebra$ |
455/5 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/LinearAlgebra/Eigenbasis.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/Order/CompleteLattice/Basic.lean |
5 |
31 |
['github-actions', 'joelriou', 'kckennylau', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
1 |
126-27934 4 months ago |
182-61870 182 days ago |
20-33900 20 days |
| 20719 |
gio256 author:gio256 |
feat(AlgebraicTopology): delaborators for truncated simplicial notations |
We add delaborators for the following notations, introduced in #20688:
- `⦋m⦌ₙ`, which denotes the `m`-dimensional simplex in the `n`-truncated simplex category.
- `X _⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated simplicial object `X`.
- `X ^⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated cosimplicial object `X`.
If `pp.proofs` is set to `true`, we also pretty-print the proof `p : m ≤ n` for all three notations as `⦋m, p⦌ₙ`, `X _⦋m, p⦌ₙ`, and `X ^⦋m, p⦌ₙ`, respectively.
Credit to @kmill for one piece of code and much metaprogramming inspiration.
---
- [x] depends on: #20688
- [x] depends on: #23018
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
infinity-cosmos
t-meta
please-adopt
will-close-soon
|
525/33 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimplexCategory.lean,Mathlib/Util/Superscript.lean,MathlibTest/SimplexCategory.lean,MathlibTest/SimplicialObject.lean,MathlibTest/superscript.lean,scripts/noshake.json |
11 |
24 |
['eric-wieser', 'gio256', 'github-actions', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
1 |
124-38876 4 months ago |
304-16016 304 days ago |
88-84229 88 days |
| 28796 |
grunweg author:grunweg |
feat: immersions are smooth |
The conventional textbook definition demands that an immersion be smooth.
When asking for the immersion to have local slice charts (as we do), this implies smoothness automatically.
---
- [x] depends on: #28701
- [x] depends on: #28793
- [x] depends on: #30356
- [x] depends on: #28853 (for simplicity)
- [x] depends on: #36816
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
awaiting-author
merge-conflict
|
192/21 |
Mathlib/Geometry/Manifold/ContMDiff/Atlas.lean,Mathlib/Geometry/Manifold/Immersion.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,Mathlib/Geometry/Manifold/SmoothEmbedding.lean |
6 |
57 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
PatrickMassot assignee:PatrickMassot |
1 |
122-26850 4 months ago |
125-27704 125 days ago |
0-1863 31 minutes |
| 21476 |
grunweg author:grunweg |
feat(lint-style): enable running on downstream projects |
Enable lint-style to run on downstream projects, by making the following modifications:
- allow passing an explicit list of libraries to lint: if nothing is passed, it lints `Mathlib`, `Archive` and `Counterexamples` (as before); otherwise, it lints precisely the passed modules
- only check init imports, undocumented scripts and the errors from `lint-style.py` when linting Mathlib
- make the style exceptions file configurable and optional: using the `nolints-file` flag, the exceptions file can be configured. If the flag is omitted, we try to find a file at `scripts/nolints-style.txt` --- and otherwise proceed with no style exceptions.
This means mathlib can continue unchanged, and downstream projects can either add an explicit exceptions file, or proceed without any exceptions.
After this PR, one should be able to run lint-style on a downstream project by `lake exe lint-style ProjectName`.
Prompted by [this zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/lint-style.20for.20downstream.20libraries).
---
- [x] depends on: #24570
- [x] depends on: #24953
(I did not test the last part.)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
please-adopt
|
58/19 |
Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean |
2 |
21 |
['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
1 |
117-58611 3 months ago |
369-32944 369 days ago |
43-17409 43 days |
| 34273 |
gasparattila author:gasparattila |
feat(Topology/Sets): finite sets are dense in `(Nonempty)Compacts` |
---
- [x] depends on: #34266
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
182/0 |
Mathlib/Topology/Sets/VietorisTopology.lean |
2 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
ADedecker assignee:ADedecker |
1 |
112-42702 3 months ago |
57-30644 57 days ago |
57-31375 57 days |
| 34092 |
staroperator author:staroperator |
feat(SetTheory/ZFC): properties of `ZFSet.omega` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
awaiting-author
|
77/10 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean |
3 |
31 |
['Komyyy', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
1 |
111-23116 3 months ago |
23-61248 23 days ago |
99-2887 99 days |
| 34633 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define the Zarankiewicz function |
Defines the Zarankiewicz function $z(m, n; s, t)$ in terms of bipartite graphs.
---
- [x] depends on: #34632
This comes from splitting up #25841 into smaller PRs.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
blocked-by-other-PR
|
247/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
4 |
30 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mitchell-horner'] |
nobody |
1 |
108-77469 3 months ago |
10-4658 10 days ago |
55-22350 55 days |
| 34271 |
gasparattila author:gasparattila |
feat(Topology/Sets): second-countability of `(Nonempty)Compacts` |
---
- [x] depends on: #34266
- [x] depends on: #34268
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
|
308/93 |
Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/Sets/VietorisTopology.lean |
5 |
9 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'scholzhannah'] |
urkud assignee:urkud |
1 |
108-12607 3 months ago |
12-17434 12 days ago |
49-25818 49 days |
| 33493 |
michelsol author:michelsol |
feat(RingTheory/Polynomial): An explicit formula for the Chebyshev polynomials of the first kind |
Adds the following explicit formula on the Chebyshev polynomial of the first kind of order n.
${ T_{n}(x)\ =\ \sum \limits _{k=0}^{\lfloor {\frac {n}{2}}\rfloor } {\binom {n}{2k}} \left(\ X^{2}-1\ \right)^{k}\ X^{n-2k}}$
This explicit formula can be found [here](https://en.wikipedia.org/wiki/Chebyshev_polynomials#Explicit_expressions). There is a proof using complex numbers but it only works if the ring R = ℂ.
The proof here is by induction and works in a commutative ring R.
Mathlib seems to extend the definition of Chebyshev polynomials for $n \in \mathbb{Z}$ but this would make the formula more cumbersome with `n.natAbs` in place of `n`'s, so I expressed it on `n : ℕ` directly.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
51/1 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
8 |
['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] |
chrisflav assignee:chrisflav |
1 |
101-86325 3 months ago |
101-86325 101 days ago |
35-16105 35 days |
| 31141 |
peabrainiac author:peabrainiac |
feat(Analysis/Calculus): parametric integrals over smooth functions are smooth |
Show that for any smooth function `f : H × ℝ → E`, the parametric integral `fun x ↦ ∫ t in a..b, f (x, t) ∂μ` is smooth too.
The argument proceeds inductively, using the fact that derivatives of parametric integrals can themselves be computed as parametric integrals. The necessary lemmas on derivatives of parametric integrals already existed, but took some work to apply due to their generality; we state some convenient special cases.
---
- [x] depends on: #31077
[](https://gitpod.io/from-referrer/)
|
t-analysis
awaiting-author
maintainer-merge
|
470/12 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/ParametricIntervalIntegral.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/Topology/NhdsWithin.lean,Mathlib/Topology/Separation/Regular.lean |
5 |
36 |
['fpvandoorn', 'github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'peabrainiac', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
1 |
98-50230 3 months ago |
98-50230 98 days ago |
33-85043 33 days |
| 11500 |
mcdoll author:mcdoll |
refactor(Topology/Algebra/Module/WeakDual): Clean up |
- Move `Dual` and `dualPairing` lower in the import-hierachy
- deduplicate `dualPairing`
- Bundle continuity statements to `CLM`s.
- Make `WeakDual` and `WeakSpace` reducible
- Remove `refine'` in favor of `refine`
---
Cleaning up `Analysis/NormedSpace/WeakDual` will be done in a second PR
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
227/179 |
Mathlib.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/NormedSpace/Dual.lean,Mathlib/Analysis/NormedSpace/WeakDual.lean,Mathlib/Analysis/VonNeumannAlgebra/Basic.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/Topology/Algebra/Module/CharacterSpace.lean,Mathlib/Topology/Algebra/Module/Dual.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,docs/overview.yaml,docs/undergrad.yaml |
15 |
16 |
['ADedecker', 'grunweg', 'j-loreaux', 'kkytola', 'mathlib-bors', 'mcdoll', 'urkud'] |
nobody |
2 |
94-39878 3 months ago |
743-39078 743 days ago |
46-5571 46 days |
| 35134 |
fpvandoorn author:fpvandoorn |
feat(translate): print constant names with hover info |
Part of #34846.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
awaiting-author
merge-conflict
|
46/28 |
Mathlib/Tactic/Translate/Core.lean,MathlibTest/toAdditive.lean |
2 |
6 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
1 |
94-31798 3 months ago |
96-24254 96 days ago |
2-13760 2 days |
| 24965 |
erdOne author:erdOne |
refactor: Make `IsLocalHom` take unbundled map |
Under the current definition, `IsLocalHom f` and `IsLocalHom f.toMonoidHom` are not defeq, which causes quite some annoyances. We also have a consensus to not use `*HomClass` in definitions. As a result, we change `IsLocalHom` to take an unbundled function instead of a funlike.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
merge-conflict
label:t-algebra$ |
18/9 |
Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean |
5 |
15 |
['adomani', 'alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
mattrobball assignee:mattrobball |
1 |
92-6309 3 months ago |
183-58478 183 days ago |
24-84527 24 days |
| 31892 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Sphere/PolePolar): poles and polars |
Define poles and polars for spheres in Euclidean affine spaces, and set up some basic API, including in particular La Hire's theorem (`p₁` lies on the polar of `p₂` if and only if `p₂` lies on the polar of `p₁`).
Poles and polars are actually meaningful for any quadric in a projective space over any field, but I think it's reasonable to set up this theory for spheres in the Euclidean context and potentially link it in future to more general projective geometry.
---
- [ ] depends on: #31891
- [ ] depends on: #32296
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry
blocked-by-other-PR
|
424/7 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Sphere/PolePolar.lean |
4 |
4 |
['Parcly-Taxel', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1 |
91-43870 3 months ago |
54-25210 54 days ago |
54-25451 54 days |
| 35524 |
grunweg author:grunweg |
feat: text-based linter against \t followed by tactic mode |
Wait for the zulip discussion to converge. **If** there is consensus in favour of this change, summarise the motivation here.
[zulip discuss](https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/proposal.3A.20no.20more.20use.20of.20.60.E2.96.B8.60.20in.20Mathlib.3F/with/574680826)
---
There are currently 80 remaining exceptions in mathlib: ideally, these would get fixed before merging this.
Works best when combined with #35523.
[](https://gitpod.io/from-referrer/)
|
t-linter
awaiting-zulip
merge-conflict
|
23/2 |
Mathlib/Tactic/Linter/TextBased.lean |
1 |
5 |
['github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1 |
89-33267 3 months ago |
90-56039 90 days ago |
0-3308 55 minutes |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
awaiting-author
merge-conflict
|
396/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
40 |
['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
1 |
86-12279 2 months ago |
162-13149 162 days ago |
2-77113 2 days |
| 35494 |
Timeroot author:Timeroot |
feat(Topology/Perfect): simp frontier_singleton |
Add simp lemma
```
theorem frontier_singleton {X : Type*} [TopologicalSpace X] [T1Space X]
[PerfectSpace X] (p : X) : frontier {p} = {p}
```
---
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
|
4/0 |
Mathlib/Topology/Perfect.lean |
1 |
4 |
['Timeroot', 'github-actions', 'urkud', 'vihdzp'] |
urkud assignee:urkud |
1 |
85-35456 2 months ago |
85-80992 85 days ago |
5-41003 5 days |
| 30872 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): NFA closure under concatenation |
This PR proves that regular languages are closed under concatenation via a direct construction on `NFA`s without `εNFA` nor ε-transitions. The main new definitions and results include:
- `M1.concat M2`, the concatenation of `NFA`s `M1` and `M2`, a direct construction without ε-transitions.
- Theorem `accepts_concat : (M1.concat M2).accepts = M1.accepts * M2.accepts`, showing the correctness of the construction.
- Theorem `IsRegular.mul`, showing that regular languages are closed under concatenation.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
67 |
['YaelDillies', 'ctchou', 'eric-wieser', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
nobody |
2 |
83-36875 2 months ago |
111-20284 111 days ago |
59-63565 59 days |
| 34932 |
erdOne author:erdOne |
feat(AlgebraicGeometry): formally etale morphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
merge-conflict
delegated
|
163/12 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyEtale.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/RingHom/Etale.lean |
5 |
17 |
['chrisflav', 'erdOne', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
1 |
82-86145 2 months ago |
85-8234 85 days ago |
11-40391 11 days |
| 35423 |
Rob23oba author:Rob23oba |
feat: add congruence lemmas for `Function.update` and `Pi.single` |
Adds `simp` congruence lemmas to `Function.update` and `Pi.single` that are specialized for the non-dependent case. See also [#mathlib4 > Simp fails to apply with `Function.update`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Simp.20fails.20to.20apply.20with.20.60Function.2Eupdate.60/with/573889929).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
29/6 |
Mathlib/Algebra/Notation/Pi/Basic.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/Topology/Algebra/InfiniteSum/Basic.lean |
5 |
11 |
['Rob23oba', 'eric-wieser', 'github-actions', 'joelriou', 'joneugster', 'loefflerd', 'mathlib-merge-conflicts'] |
joelriou assignee:joelriou |
1 |
82-7022 2 months ago |
56-68101 56 days ago |
36-20932 36 days |
| 34875 |
banrovegrie author:banrovegrie |
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula |
Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap.
- Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}`
- Add `Matrix.inv_sub_vecMulVec`: subtraction variant
- Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses
## Test plan
- [x] `lake build` passes
- [x] Lines within 100 char limit
- [x] All declarations have docstrings
**Any specific AI usage?**: Used Copilot for review purposes. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean |
2 |
14 |
['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
chrisflav assignee:chrisflav |
1 |
80-32150 2 months ago |
35-29239 35 days ago |
69-6728 69 days |
| 28685 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the minimal-degree version of the Erdős-Stone theorem |
Proves the minimal degree-version of the Erdős-Stone theorem:
If `G` has a minimal degree of at least `(1 - 1 / r + o(1)) * card V`, then `G` contains a copy of a `completeEquipartiteGraph` in `r + 1` parts each of size `t`.
The double-counting construction from the proof is available in `namespace ErdosStone`.
---
- [x] depends on: #25843
- [x] depends on: #27597
- [x] depends on: #27599
- [x] depends on: #28443
- [x] depends on: #28445
- [x] depends on: #28446
- [x] depends on: #28447
This is the first of several pull requests towards the full Erdős-Stone(-Simonovits) theorem, hence the name of the file.
[](https://gitpod.io/from-referrer/) |
t-combinatorics
maintainer-merge
|
323/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
2 |
19 |
['YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'robin-carlier'] |
b-mehta assignee:b-mehta |
1 |
79-67144 2 months ago |
17-1406 17 days ago |
77-9629 77 days |
| 34015 |
erdOne author:erdOne |
feat(AlgebraicGeometry): category of schemes affine over a base |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
delegated
awaiting-author
|
466/11 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AffineOver.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/RelativeGluing.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Sites/Hypercover/Subcanonical.lean |
7 |
52 |
['chrisflav', 'dagurtomas', 'erdOne', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
chrisflav assignee:chrisflav |
1 |
78-34219 2 months ago |
10-59762 10 days ago |
40-35668 40 days |
| 30431 |
kckennylau author:kckennylau |
feat(RingTheory): a homogeneous submodule is the span of its homogeneous elements |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
22/0 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean |
2 |
9 |
['alreadydone', 'github-actions', 'kckennylau', 'mariainesdff', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
1 |
76-20598 2 months ago |
198-39360 198 days ago |
23-21820 23 days |
| 32989 |
kim-em author:kim-em |
fix(Tactic/Simps): skip @[defeq] inference for non-exposed definitions |
This PR makes `@[simps]` check whether the source definition's body is exposed before calling `inferDefEqAttr`. When the body is not exposed, we skip the `@[defeq]` inference to avoid validation errors.
Without this fix, using `@[simps]` on a definition that is not `@[expose]`d produces an error like:
```
Theorem Foo_bar has a `rfl`-proof and was thus inferred to be `@[defeq]`, but validating that attribute failed:
Not a definitional equality: the left-hand side ... is not definitionally equal to the right-hand side ...
Note: This theorem is exported from the current module. This requires that all definitions that need to be unfolded to prove this theorem must be exposed.
```
The fix checks `(← getEnv).setExporting true |>.find? cfg.srcDeclName |>.any (·.hasValue)` to determine if the definition body is visible in the public scope, and only calls `inferDefEqAttr` if it is.
🤖 Prepared with Claude Code |
t-meta
awaiting-author
LLM-generated
please-adopt
merge-conflict
|
51/3 |
Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Tactic/Simps/Basic.lean,MathlibTest/SimpsModule.lean |
4 |
17 |
['JovanGerb', 'Vierkantor', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts'] |
nobody |
1 |
75-55407 2 months ago |
97-68475 97 days ago |
37-18737 37 days |
| 17627 |
hrmacbeth author:hrmacbeth |
feat: universal properties of vector bundle constructions |
Characterizations for the smoothness of maps into the total spaces of (1) the direct sum of two vector bundles; (2) the pullback of a vector bundle.
This gap in the library was exposed by #17358.
---
- [x] depends on: #22804
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
|
311/9 |
Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
4 |
26 |
['PatrickMassot', 'fpvandoorn', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
grunweg assignee:grunweg |
1 |
75-46990 2 months ago |
335-46729 335 days ago |
91-68302 91 days |
| 19275 |
eric-wieser author:eric-wieser |
fix: if nolint files change, do a full rebuild |
Otherwise CI will succeed when removing entries from the file, but fail later when someone changes something unrelated.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
8/0 |
lakefile.lean |
1 |
22 |
['YaelDillies', 'adomani', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
1 |
75-46973 2 months ago |
547-1208 547 days ago |
0-214 3 minutes |
| 33592 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
This PR picks up https://github.com/leanprover-community/mathlib4/pull/15895 and resolves the failing lemma by redefining Good symbols.
---
I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599
This is my first contribution please let me know of any changes I should outline.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-computability
new-contributor
|
160/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
34 |
['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] |
nobody |
1 |
75-35989 2 months ago |
124-64516 124 days ago |
10-68503 10 days |
| 35215 |
kim-em author:kim-em |
chore: use @[to_dual] in FixedPoints |
This PR adds `@[to_dual]` annotations to 14 theorems about `lfp` in `Order/FixedPoints.lean`, auto-generating their `gfp` duals and deleting the hand-written versions. Also registers `OrderHom.lfp` as the dual of `OrderHom.gfp` via `attribute [to_dual existing]`.
Auto-generated duals include: `le_gfp`, `gfp_le_fixed`, `gfp_le`, `gfp_le_map`, `map_gfp`, `isFixedPt_gfp`, `map_le_gfp`, `isGreatest_gfp_le`, `isGreatest_gfp`, `gfp_induction`, `map_gfp_comp`, `gfp_gfp`, `map_inf_fixedPoints_le`, `map_sInf_subset_fixedPoints_le`.
[Diff relative to #35208](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-fixed-points)
- [x] depends on: #35208
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
|
249/548 |
Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean |
8 |
11 |
['JovanGerb', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
alexjbest assignee:alexjbest |
1 |
74-1265 2 months ago |
61-30666 61 days ago |
24-14816 24 days |
| 36165 |
Parcly-Taxel author:Parcly-Taxel |
chore: deprecate `Nat.strongRec(On)'` |
In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. |
t-data
merge-conflict
|
34/66 |
Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean |
8 |
6 |
['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
1 |
73-45596 2 months ago |
61-30656 61 days ago |
15-53464 15 days |
| 31135 |
kckennylau author:kckennylau |
feat(RingTheory): is localization iff is localization on saturation |
In this PR we show that `A` is a localization of `R` on the submonoid `S` iff it is so on the saturation of `S`.
Crucially, the saturation of `S` is precisely the elements that become a unit in `A`.
---
- [x] depends on: #31132
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
delegated
|
53/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Saturation.lean |
2 |
15 |
['alreadydone', 'chrisflav', 'github-actions', 'kckennylau', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
chrisflav assignee:chrisflav |
1 |
71-1270 2 months ago |
43-54805 43 days ago |
32-67213 32 days |
| 35295 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): `dropLast` of a cycle is a path |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
13/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
14 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
YaelDillies assignee:YaelDillies |
1 |
68-37831 2 months ago |
41-63312 41 days ago |
34-53762 34 days |
| 33506 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): construct a cycle of two distinct paths with same start and end |
Co-authored-by: Vlad Tsyrklevich
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
---
- [x] depends on: #33249
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
109/1 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Nodup.lean |
4 |
60 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
2 |
67-46617 2 months ago |
12-79271 12 days ago |
30-52772 30 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/)
|
merge-conflict
t-order
|
121/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean |
3 |
26 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
nobody |
1 |
67-31693 2 months ago |
182-62768 182 days ago |
114-37921 114 days |
| 36706 |
kim-em author:kim-em |
feat(Tactic/FastInstance): warn when a synthesized sub-instance has leaky binder types |
This PR adds a warning to `fast_instance%` and `inferInstanceAs%` when they encounter a synthesized sub-instance that has leaky data-field binder types.
When `fast_instance%` recursively normalizes a class instance, it uses `trySynthInstance` to find canonical sub-instances. If a found sub-instance is not canonical at instances transparency (i.e., its internal lambda binder types reference an unexpanded type alias instead of the target carrier), the tool now emits a warning:
```
fast_instance%: 'leakySub' (for
SubClass MyNat) has leaky data-field binder types, which may cause `isDefEq` failures at
instances transparency (e.g. in `grind`). Consider redefining it with `fast_instance%` or
`inferInstanceAs%`.
To suppress: `set_option Elab.fast_instance.warnLeakySubInstances false`
```
The leakiness check uses `withDisabledInstance` to temporarily evict the sub-instance from the discrimination tree (preventing trivial self-match via `trySynthInstance`), then compares against the canonical form at instances transparency. A `warnLeaky` parameter propagates through recursive calls to prevent nested warnings.
The warning is suppressed via `set_option Elab.fast_instance.warnLeakySubInstances false`.
- [ ] depends on: #36701
🤖 Prepared with Claude Code |
t-meta
blocked-by-other-PR
large-import
LLM-generated
merge-conflict
|
415/21 |
Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/Init.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/Tactic/DefEqAbuse.lean,Mathlib/Tactic/FastInstance.lean,MathlibTest/CheckInstance.lean,MathlibTest/DefEqAbuse.lean,MathlibTest/InferInstanceAsPercent.lean |
11 |
7 |
['Vierkantor', 'eric-wieser', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
1 |
54-16301 1 month ago |
65-80406 65 days ago |
0-1003 16 minutes |
| 37111 |
tannerduve author:tannerduve |
feat(Computability): add Nat.PrimrecIn and PrimrecIn |
- Add `Nat.PrimrecIn`: primitive recursive functions relative to a set of oracles
- Add `PrimrecIn`: lifts `Nat.PrimrecIn` to `Primcodable` types
A `PrimrecIn` version of `RecursiveIn.iff_nat` (i.e., `PrimrecIn O (f : ℕ → ℕ) ↔ Nat.PrimrecIn O f`) is left as future work as it requires proving `Nat.PrimrecIn O Nat.pred`, which needs additional API for `Nat.PrimrecIn`.
---
Split out from #34937 as requested in review.
- [x] depends on: #37061 |
t-computability
new-contributor
awaiting-author
|
24/0 |
Mathlib/Computability/RecursiveIn.lean |
1 |
14 |
['Komyyy', 'bryangingechen', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tannerduve'] |
nobody |
1 |
40-16897 1 month ago |
41-29756 41 days ago |
1-79421 1 day |
| 37247 |
yuma-mizuno author:yuma-mizuno |
feat(GroupTheory/MonoidLocalization): add prime transport lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-author
|
75/7 |
Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
3 |
6 |
['github-actions', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
1 |
34-56950 1 month ago |
34-56950 34 days ago |
20-41780 20 days |
| 37420 |
artie2000 author:artie2000 |
refactor: change definitions to avoid `ConvexCone` |
Change the definitions of `PointedCone.positive` and `PointedCone.closure` to avoid mentioning `ConvexCone`.
This PR is part of a series deprecating `ConvexCone`: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/with/582738985
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
10/4 |
Mathlib/Analysis/Convex/Cone/Closure.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
3 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
3 |
34-48714 1 month ago |
34-48678 34 days ago |
49-68722 49 days |
| 36774 |
euprunin author:euprunin |
chore: replace long terminal `rw […]`:s (≥4 lemmas) with bare `simp`:s |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Finset.lcm_union`: unchanged 🎉
* `Finset.gcd_union`: unchanged 🎉
* `Polynomial.derivative_eval₂_C`: unchanged 🎉
* `Polynomial.expand_pow`: unchanged 🎉
* `Cardinal.mk_real`: unchanged 🎉
* `Real.log_zpow`: unchanged 🎉
* `Matroid.eRank_le_encard_add_eRk_compl`: unchanged 🎉
* `DFinsupp.single_tsub`: unchanged 🎉
* `EReal.inv_neg`: unchanged 🎉
* `Finsupp.toMultiset_map`: unchanged 🎉
* `Finsupp.single_tsub`: unchanged 🎉
* `Multiset.countP_map`: unchanged 🎉
* `Nat.ascFactorial_eq_factorial_mul_choose'`: unchanged 🎉
* `Real.sign_intCast`: unchanged 🎉
* `Real.volume_eball`: unchanged 🎉
* `Real.volume_closedEBall`: unchanged 🎉
* `LFunction_ne_zero_of_not_quadratic_or_ne_one`: 295 ms before, 152 ms after 🎉
* `hasSum_one_div_nat_pow_mul_cos`: unchanged 🎉
* `inv_eq_of_aeval_divX_ne_zero`: unchanged 🎉
* `AlgebraicIndependent.aeval_comp_mvPolynomialOptionEquivPolynomialAdjoin`: unchanged 🎉
* `Ordinal.deriv_mul_eq_opow_omega0_mul`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
|
22/24 |
Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean |
19 |
2 |
['artie2000', 'euprunin', 'github-actions'] |
nobody |
1 |
34-20985 1 month ago |
64-29511 64 days ago |
64-28992 64 days |
| 32282 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Incenter): unoriented angle bisection |
Add lemmas giving unoriented angles involving the incenter and excenters of a triangle as expressions involving dividing angles of the triangle by 2, deduced from oriented bisection lemmas.
---
- [ ] depends on: #30981
- [ ] depends on: #30982
- [ ] depends on: #31205
- [ ] depends on: #32019
- [ ] depends on: #32021
- [ ] depends on: #32259
- [ ] depends on: #32260
- [ ] depends on: #32270
- [ ] depends on: #32273
- [ ] depends on: #32278
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
98/0 |
Mathlib/Geometry/Euclidean/Angle/Incenter.lean |
1 |
8 |
['github-actions', 'jsm28', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'wwylele'] |
nobody |
1 |
31-1269 1 month ago |
54-25221 54 days ago |
54-25438 54 days |
| 37939 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Order/Completion): embed a linear order into a dense and complete linear order |
The aim of the PR is to prove the following theorem that will be used as an input to [Sion.DMCompletion.exists_isSaddlePointOn](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sion.html#Sion.DMCompletion.exists_isSaddlePointOn) :
*If `β` is any linear order, then there exists a complete and dense linear order `γ` together with a continuous embedding `ι : β ↪o γ` (for the order topologies on `β` and `γ`).*
Meanwhile, the PR also records various instances about dense orders and lemmas regarding the Dedekind MacNeille completion and lexicographic orders.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
206/3 |
Mathlib.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Order/Completion.lean,Mathlib/Topology/Order/Completion.lean,Mathlib/Topology/Sion.lean |
5 |
52 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
vihdzp assignee:vihdzp |
1 |
28-13390 28 days ago |
28-34121 28 days ago |
31-33301 31 days |
| 37346 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `✅️ SimpleGraph.Walk.IsPath.getVert_injOn`: unchanged 🎉
* `✅️ SimpleGraph.Walk.length_bypass_le`: unchanged 🎉
* `✅️ Rat.floor_intCast_div_natCast`: unchanged 🎉
* `✅️ InnerProductGeometry.norm_eq_of_angle_sub_eq_angle_sub_rev_of_angle_ne_pi`: unchanged 🎉
* `✅️ padicNorm.zero_of_padicNorm_eq_zero`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
awaiting-zulip
|
7/45 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean |
4 |
22 |
['FernandoChu', 'bryangingechen', 'chenson2018', 'euprunin', 'faenuccio', 'github-actions', 'grunweg'] |
nobody |
1 |
21-47962 21 days ago |
21-47993 21 days ago |
30-49603 30 days |
| 36740 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `AlgebraicGeometry.Scheme.isBasis_affineOpens`: unchanged 🎉
* `SimpleGraph.Walk.takeUntil_eq_take`: 263 ms before, 180 ms after 🎉
* `SimpleGraph.Walk.dropUntil_eq_drop`: 382 ms before, 261 ms after 🎉
* `Int.image_Ico_emod`: unchanged 🎉
* `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
7/33 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean |
4 |
8 |
['artie2000', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
1 |
21-12908 21 days ago |
21-12909 21 days ago |
43-5868 43 days |
| 37603 |
Parcly-Taxel author:Parcly-Taxel |
refactor: review of `SetSemiring` |
* Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`.
* Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately.
* Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`.
Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. |
maintainer-merge
merge-conflict
|
120/165 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean |
2 |
42 |
['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
nobody |
1 |
21-4298 21 days ago |
21-4299 21 days ago |
22-62470 22 days |
| 37342 |
vasnesterov author:vasnesterov |
feat(Tactic/ComputeAsymptotics/Multiseries): non-primitive corecursion for Seq: more `FriendlyOperation` API |
This is a continuation of #35072.
This PR adds more API about friendly operations:
* `FriendlyOperation.coind`: a coinductive principle for proving that operation is friendly
* `FriendlyOperationClass.eq_of_bisim`: a generalisation of `Seq.eq_of_bisim'` for proving two sequences are equal.
---
- [x] depends on: #35072
This is a part of the `compute_asymptotics` tactic (#28291).
[](https://gitpod.io/from-referrer/)
|
t-data
t-meta
awaiting-author
|
161/0 |
Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean |
1 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues'] |
joneugster assignee:joneugster |
1 |
19-56426 19 days ago |
19-56426 19 days ago |
28-74243 28 days |
| 37562 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add several lemmas about when `Walk.bypass` and `Walk.cycleBypass` do nothing |
Co-authored-by: Vlad Tsyrklevich
---
- [ ] depends on: #37577
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
blocked-by-other-PR
|
160/79 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
4 |
8 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
1 |
17-11185 17 days ago |
17-11186 17 days ago |
0-1043 17 minutes |
| 38170 |
maddycrim author:maddycrim |
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma |
From FLT Project
Main Definitions:
`Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Module/FinitePresentation.lean |
1 |
17 |
['chrisflav', 'github-actions', 'maddycrim', 'themathqueen', 'vlad902'] |
nobody |
1 |
15-61714 15 days ago |
15-61714 15 days ago |
17-43852 17 days |
| 36686 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `List.prod_map_ite`: unchanged 🎉
* `Path.Homotopy.trans_assoc_reparam`: 2938 ms before, 717 ms after 🎉
* `SimplexCategory.δ_comp_δ`: 522 ms before, 316 ms after 🎉
* `Finsupp.ext_iff'`: unchanged 🎉
* `Computation.bind_assoc`: unchanged 🎉
* `Set.piecewise_insert`: unchanged 🎉
* `ZMod.valMinAbs_mem_Ioc`: unchanged 🎉
* `Matrix.det_eq_of_forall_row_eq_smul_add_pred_aux`: 2141 ms before, 2004 ms after 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author |
11/50 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Set/Piecewise.lean,Mathlib/Data/ZMod/ValMinAbs.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean |
8 |
14 |
['artie2000', 'chenson2018', 'dagurtomas', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'ooovi'] |
dagurtomas assignee:dagurtomas |
2 |
15-18968 15 days ago |
15-18971 15 days ago |
49-23305 49 days |
| 37955 |
artie2000 author:artie2000 |
feat(Algebra/Polynomial): lemmas about `modByMonic` |
* Add various small lemmas about `Polynomial.modByMonic`
* Remove unneccesary commutativity assumption on `Polynomial.aeval_eq_zero_of_dvd_aeval_eq_zero` by proving `Polynomial.aeval_dvd`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
label:t-algebra$ |
20/6 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/FieldTheory/Minpoly/Basic.lean,Mathlib/RingTheory/Polynomial/IsIntegral.lean |
5 |
4 |
['github-actions', 'mathlib-bors', 'ocfnash'] |
ocfnash assignee:ocfnash |
1 |
14-17536 14 days ago |
14-17536 14 days ago |
24-18920 24 days |
| 38873 |
yuanyi-350 author:yuanyi-350 |
refactor(MeasureTheory): golf `Mathlib/MeasureTheory/Constructions/BorelSpace/Real` |
- rewrites `measurable_const_mul` by splitting off the `c = 0` case and proving the nonzero case via `measurable_of_continuousOn_compl_singleton`
- replaces the ad hoc case analysis on `⊥`, `⊤`, and real coefficients with a direct continuity argument for multiplication on `EReal`
Extracted from #38104
[](https://gitpod.io/from-referrer/) |
codex
LLM-generated
t-measure-probability
|
5/19 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean |
1 |
3 |
['LorenzoLuccioli', 'github-actions', 'yuanyi-350'] |
kex-y assignee:kex-y |
1 |
13-70874 13 days ago |
14-3784 14 days ago |
17-14374 17 days |
| 38702 |
jcommelin author:jcommelin |
chore(Data/Real): encapsulate real numbers |
This PR:
* hides the definition of the real numbers
* preserves defeqs when casting `Nat`, `Int`, `Rat`, into the reals
* preserves the defeq `x - y = x + (-y)` for `x y : Real`
* removes a bunch of technical debt
* adjusts imports in the library, where files relied on getting access to Cauchy sequences transitively via importing the reals.
---
[](https://gitpod.io/from-referrer/)
|
delegated |
235/256 |
Archive/Imo/Imo2013Q5.lean,Counterexamples/SeminormLatticeNotDistrib.lean,Mathlib.lean,Mathlib/Analysis/Complex/Norm.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Real/Cauchy.lean,Mathlib/Data/Real/Sign.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/SelbergSieve.lean,Mathlib/Topology/Algebra/Ring/Real.lean,Mathlib/Topology/Instances/Real/Lemmas.lean,Mathlib/Topology/MetricSpace/CauSeqFilter.lean,Mathlib/Topology/UniformSpace/CompareReals.lean,Mathlib/Topology/UniformSpace/Real.lean,MathlibTest/Complex.lean,MathlibTest/Quaternion.lean,MathlibTest/Real.lean,MathlibTest/peel.lean |
26 |
31 |
['JovanGerb', 'Kha', 'YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'riccardobrasca', 'sgouezel', 'wkrozowski'] |
nobody |
1 |
13-45153 13 days ago |
21-47503 21 days ago |
0-2637 43 minutes |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
We define `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, following the pattern of `TopCat` in
`Mathlib.Topology.Category.TopCat.Basic`. We also implement `HasForget₂ (MfldCat 𝕜 n) TopCat`—the forgetful functor into the category of topological spaces. For more discussion see the Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
224/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
57 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'peabrainiac'] |
kim-em assignee:kim-em |
1 |
12-16021 12 days ago |
12-19445 12 days ago |
25-69042 25 days |
| 38943 |
felixpernegger author:felixpernegger |
feat(Topology/CWComplex/Classical): discrete spaces are CW complexes |
as well as some useful lemmas
This is partly based on code by @scholzhannah
I think this is notable to include, since it is pretty much the only (easy) "topological" sufficient condition for something being a CW complex there is.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
89/3 |
Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/DiscreteSubset.lean |
2 |
28 |
['felixpernegger', 'github-actions', 'scholzhannah'] |
PatrickMassot assignee:PatrickMassot |
1 |
12-395 12 days ago |
14-57649 14 days ago |
15-71167 15 days |
| 38328 |
astrainfinita author:astrainfinita |
feat: `OrderSupSet` |
This PR introduces `OrderSupSet` and `OrderInfSet`, which are typeclasses expressing that `sSup` (resp., `sInf`) returns the least upper bound (resp., the greatest lower bound) of a set whenever one exists.
This allows us to prove properties about the `sSup` of specific sets (such as `∅`, singletons, finite sets, and `univ`) without any typeclasses asserting the existence of LUBs. For example, `sSup ∅ = ⊥` holds for any type equipped with `OrderBot` `OrderSupSet`, no longer requiring typeclasses like `ConditionallyCompleteLinearOrderBot`.
For a general set `s`, this gives a uniform way to extend results about `IsLUB s a → motive a` to `motive (sSup s)`, `motive (⨆ i, f i)`, `motive (a ⊔ b)`, etc., which allows proof reuse for basic API such as [`csSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ConditionallyCompleteLattice/Basic.html#csSup_insert), [`iSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#iSup_insert), and [`sSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#sSup_insert) and downstream code like [`csSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#csSup_add), [`sSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#sSup_add), and [`sup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Lattice.html#sup_add).
Furthermore, this allows us to refactor incrementally, reducing the dependency of results about various completeness typeclasses on the specific implementation of `sSup`.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F)
[](https://gitpod.io/from-referrer/)
|
t-order |
156/73 |
Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
7 |
16 |
['JovanGerb', 'astrainfinita', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'openendings', 'vihdzp'] |
nobody |
1 |
11-64945 11 days ago |
11-64984 11 days ago |
17-8773 17 days |
| 37464 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Minor additions to pointed cones |
Minor additions to pointed cones:
* `PointedCone.ofSubmodule_le_ofSubmodule` and `PointedCone.ofSubmodule_lt_ofSubmodule`. These are not made simp lemmas, instead the underlying `Submodule.restrictScalars_le` and `Submodule.restrictScalars_lt` have been changed into simp lemmas.
* `PointedCone.hull_le_span` as a short form of `Submodule.span_le_restrictScalars R≥0 R s`
Co-authored by: Artie Khovanov
---
In preparation of #36605.
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
|
22/16 |
Mathlib/Algebra/Module/Submodule/RestrictScalars.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
24 |
['YaelDillies', 'artie2000', 'github-actions', 'justus-springer', 'martinwintermath', 'mathlib-merge-conflicts', 'ooovi', 'vihdzp'] |
nobody |
4 |
9-37498 9 days ago |
11-64310 11 days ago |
48-76816 48 days |
| 37053 |
artie2000 author:artie2000 |
refactor(Analysis/Convex/Cone): use `PointedCone` in Riesz extension theorem |
Change the statement of the Riesz extension theorem to take a `PointedCone` rather than a `ConvexCone`.
This PR is part of a series replacing `ConvexCone` with `PointedCone`. https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Replacing.20.60ConvexCone.60.20with.20.60PointedCone.60/near/581184307
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
maintainer-merge
merge-conflict
|
15/12 |
Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean |
2 |
9 |
['YaelDillies', 'artie2000', 'github-actions', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
1 |
9-12511 9 days ago |
9-12512 9 days ago |
46-71615 46 days |
| 36605 |
martinwintermath author:martinwintermath |
feat(Geometry/Convex/Cone): Add lemmas about interaction of hull, span and negation |
Prove lemmas about the interaction of hull, span and negation.
Main additions:
* `PointedCone.toSubmodule` that produces a submodule with the same support given that `-C = C`. Also the corresponding `CanLift`
* `PointedCone.hull_neg_pair_eq_span_singleton` proving `hull R {-x, x} = R ∙ x` (simp lemma)
* `PointedCone.span_eq_hull_neg_sup_hull` proving `span R s = hull R (-s) ⊔ hull R s`
* `PointedCone.mem_span` proving `x ∈ span R C ↔ ∃ p, n ∈ C, x = p - n`
Considerations: there are several ways to express that a convex cone is a submodule:
* `-C = C`
* `-C ≤ C` or `C ≤ -C`
* `C = span R C`
* `C = C.lineal`
The consensus was that the the first option is the most direct way to express this property, which then allows to lift to a submodule.
Co-authored by: Olivia Röhrig, Kilian Rueß, Artie Khovanov
---
- [ ] depends on: #37464
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-convex-geometry
|
90/12 |
Mathlib/Geometry/Convex/Cone/Pointed.lean |
1 |
53 |
['artie2000', 'github-actions', 'martinwintermath', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1 |
9-12432 9 days ago |
50-8554 50 days ago |
17-402 17 days |
| 39230 |
bryangingechen author:bryangingechen |
chore: extract API from #38807 and golf |
I wanted to understand why these two proofs in #38807 were long (and also play around more with the API in this corner of the library) so I walked through them with Claude Opus.
prepared with Claude code
|
t-order
LLM-generated
|
23/37 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/DirSupClosed.lean |
2 |
2 |
['github-actions', 'vihdzp'] |
nobody |
1 |
8-9566 8 days ago |
8-84202 8 days ago |
8-83683 8 days |
| 36202 |
vihdzp author:vihdzp |
feat: more theorems on the Cantor normal form |
We also remove some redundant assumptions.
Used in the CGT repo.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
68/17 |
Mathlib/SetTheory/Ordinal/CantorNormalForm.lean |
1 |
21 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
1 |
7-57888 7 days ago |
56-57437 56 days ago |
75-48879 75 days |
| 36388 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/AdjMatrix): submatrices and homomorphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
73/3 |
Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean |
1 |
19 |
['SnirBroshi', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
1 |
7-49769 7 days ago |
7-86347 7 days ago |
37-36383 37 days |
| 38114 |
javgomzar author:javgomzar |
feat(FinitelyPresentedGroup): add finite groups instance |
Add IsFinitelyPresented instance for finite groups.
Co-authored-by: Hang Lu Su , Thomas Browning
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
large-import
|
31/2 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean |
2 |
33 |
['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
mattrobball assignee:mattrobball |
1 |
7-24996 7 days ago |
7-25032 7 days ago |
30-22250 30 days |
| 37928 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability.Encoding): unbundle Γ and remove FinEncoding |
This PR unbundles the alphabet `Γ` from the `Encoding` structure and completely removes `FinEncoding`.
`Encoding`: The alphabet `Γ` is now an explicit parameter: `structure Encoding (α : Type u) (Γ : Type v)`.
`FinEncoding`: Removed. Finiteness is now handled via standard typeclasses (e.g., `[Fintype Γ] (e : Encoding α Γ)`).
Combinators: Functions like `finEncodingPair` are simplified to `encodingPair`, dropping the `fin` prefix and `[Fintype]` requirements where no longer needed.
Downstream: Mechanically updated `Mathlib.Computability` and `Mathlib.ModelTheory` to pass the explicit `Γ` and use `[Fintype Γ]` where `FinEncoding` was previously required.
|
new-contributor
maintainer-merge
|
87/67 |
Mathlib/Computability/Encoding.lean,Mathlib/ModelTheory/Encoding.lean |
2 |
9 |
['AlexeyMilovanov', 'dagurtomas', 'github-actions', 'vihdzp'] |
nobody |
1 |
7-4857 7 days ago |
13-55835 13 days ago |
39-35172 39 days |
| 39218 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): make `p.Nil` the simpNF of `p = nil` and `p.length = 0` |
These are equivalent, and `p.Nil` works even when the endpoints of the walk aren't defeq.
[#graph theory > Deprecate `p = nil` in favor of `p.Nil`?](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Deprecate.20.60p.20.3D.20nil.60.20in.20favor.20of.20.60p.2ENil.60.3F/with/538017334)
The main event is `Walk/Basic.lean`:
- Swapped sides of `nil_iff_eq_nil` to create `eq_nil_iff_nil`, tagged `@[simp]` and deprecated the original
- Changed the RHS of `length_eq_zero_iff` from `p = nil` to `p.Nil`, and generalized to non-closed walks
- Deprecated `nil_iff_length_eq` which is the symmetric iff
- Added `Nil.length_eq_zero` alias
- Untagged `exists_length_eq_zero_iff` with `@[simp]` and added `exists_nil_iff` to replace it
The rest is fixing everything that broke (or uses of now-deprecated lemmas), and:
- [`Walk/Maps`] Added `nil_map_iff` to replace `map_eq_nil_iff` which is the same but with `.Nil` instead of `= nil`
- [`Walk/Decomp`] Added `nil_rotate` to replace `rotate_eq_nil` which is the same but with `.Nil` instead of `= nil`
---
Also renamed `set_walk_*` in `Counting.lean` to follow the naming convention.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
70/54 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Counting.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Traversal.lean |
10 |
10 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
1 |
6-79917 6 days ago |
8-41308 8 days ago |
8-79353 8 days |
| 37577 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): upgrade subset theorems to sublist/prefix/suffix |
Upgrades theorems about `p.support ⊆ q.support` / `p.darts ⊆ q.darts` / `p.edges ⊆ q.edges` to `List.IsInfix`/`List.IsSuffix`/`List.Sublist`, which imply the subset versions.
Also adds `cycleBypass` sublist lemmas that were missing, and golfs `length_bypass_le` and `bypass_eq_self_of_length_le` using the new sublist theorems.
Co-authored-by: Iván Renison <85908989+IvanRenison@users.noreply.github.com>
---
Except for a couple of `cycleBypass` ones, I did not add such theorems where there was no subset theorem to begin with (e.g. `(p.take n).darts <+: p.darts`), as they are usually not worth stating since they're trivial and simp proves them.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
112/81 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
5 |
4 |
['YaelDillies', 'github-actions'] |
nobody |
1 |
6-79899 6 days ago |
8-40420 8 days ago |
47-72278 47 days |
| 36743 |
Jun2M author:Jun2M |
feat(Combinatorics/GraphLike): introduce `GraphLike` typeclass |
Per discussion at ([#graph theory > HasAdj](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/HasAdj/with/575843445)), This PR introduces the `GraphLike` typeclass to capture the notions like `dart` and `walk` across various graph objects, such as `SimpleGraph`, `Graph`, and `Digraph`.
The goal is that by abstracting these core components into a typeclass, we can prove these results once for all graph-like structures rather than duplicating them across different graph types.
### Main definitions
* `GraphLike V D E Gr`: A typeclass parameterized by a vertex type `V`, dart type `D` and a graph type `Gr` (with `V`, `D` & `E` as an `outParam`).
* `GraphLike.verts : Set V`: The set of vertices of the graph.
* `GraphLike.darts : Set D`: The set of darts of the graph.
* `GraphLike.edges : Set E`: The set of edges of the graph.
* `GraphLike.Adj : V → V → Prop`: The adjacency relation, defined by default as `∃ d ∈ darts, fst d = u ∧ snd d = v`.
---
This PR generalises #35776 to also unify `Graph`.
PRs depending on this PR are
#39047 (graphLike with no multi edges) => #39050 (Digraph is graphLike)
||
V
#36829 (undirected graphLike) => #39053 (Graph is graphLike) & #39054 (Simplegraph is graphLike)
||
V
#36756 (def of walk on GraphLike) => #36971 (change Simplegraph to use GraphLike walk)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
104/0 |
Mathlib.lean,Mathlib/Combinatorics/GraphLike/Basic.lean |
2 |
78 |
['IvanRenison', 'Jun2M', 'SnirBroshi', 'YaelDillies', 'github-actions', 'lauramonk', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
1 |
6-74919 6 days ago |
12-32071 12 days ago |
63-29968 63 days |
| 34440 |
grunweg author:grunweg |
feat: linter for name components in uppercase |
Per the naming convention, these are errors (unless they are an abbreviation).
Mathlib has *many* violations at the moment: for this reason, we add this as an environment linter
and automatically add all current exceptions. Once these have been fixed, converting to a syntax linter
is desirable.
Until then, track the number of such exceptions as technical debt.
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20linter/with/570617527)
Note to self: wait for CI, then do a final nolints update. and try to implement the follow-up soon
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
awaiting-author
merge-conflict
please-adopt
|
1018/9 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/DoubleUnderscore.lean,MathlibTest/HashLint.lean,MathlibTest/Lint.lean,MathlibTest/LintStyle.lean,scripts/nolints.json,scripts/technical-debt-metrics.sh |
7 |
27 |
['Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
1 |
6-63690 6 days ago |
91-59052 91 days ago |
13-82065 13 days |
| 39064 |
kim-em author:kim-em |
feat: make showLinter detect tactics that assign metavariables |
This PR removes a short-circuit in `showLinter` that suppressed the
linter whenever the syntactic goal was unchanged by a `show` tactic.
A `show` invocation can still have side-effects on the metavariable
context — tactic elaboration may assign metavariables while leaving
the goal type unchanged — so the existing `instantiateMVars`-based
diff check should run unconditionally. The fast path for the genuine
no-op case is preserved: if `before` and `after` types still match
after `instantiateMVars`, the linter doesn't fire.
This was discovered while adapting Mathlib to nightly-2026-05-03 in
https://github.com/leanprover-community/mathlib4-nightly-testing/pull/215
and is being extracted here so it can land independently of that bump.
🤖 Prepared with Claude Code |
t-linter
delegated
|
1/1 |
Mathlib/Tactic/Linter/Style.lean |
1 |
3 |
['adomani', 'github-actions', 'joneugster', 'mathlib-bors'] |
thorimur assignee:thorimur |
1 |
6-43323 6 days ago |
6-43324 6 days ago |
6-25575 6 days |
| 36155 |
grunweg author:grunweg |
feat: custom elaborators for TangentSpace and tangentMap(Within) |
And use these to golf the differential geometry files a bit further.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-meta
awaiting-author
|
85/30 |
Mathlib/Geometry/Manifold/ContMDiffMFDeriv.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/MFDeriv/Tangent.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Topology/FiberBundle/Constructions.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean |
8 |
7 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'ocfnash'] |
JovanGerb assignee:JovanGerb |
1 |
6-38038 6 days ago |
6-38038 6 days ago |
69-16913 69 days |
| 38983 |
kebekus author:kebekus |
feat: Invariance of `meromorphic in normal form` under composition. |
Establish invariance of `meromorphic in normal form` under composition with analytic functions of non-vanishing derivative.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
maintainer-merge
|
42/0 |
Mathlib/Analysis/Meromorphic/NormalForm.lean |
1 |
12 |
['github-actions', 'kebekus', 'themathqueen'] |
themathqueen assignee:themathqueen |
1 |
6-35800 6 days ago |
6-35800 6 days ago |
13-56280 13 days |
| 37722 |
SabrinaJewson author:SabrinaJewson |
feat(Order/Cover): intervals equal singletons iff |
To complement `Set.Icc_eq_singleton_iff`, this introduces:
- `Set.Ioc_eq_singleton_iff` / `Set.Ico_eq_singleton_iff`
- `Set.Ico_eq_singleton_left_iff` / `Set.Ioc_eq_singleton_right_iff`
- `Set.Ioi_eq_singleton_iff` / `Set.Iio_eq_singleton_iff`
- `Set.Ioi_eq_singleton_top_iff` / `Set.Iio_eq_singleton_bot_iff`
- `Set.Ioo_eq_singleton_iff`
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
awaiting-author
maintainer-merge
|
39/0 |
Mathlib/Order/Atoms.lean,Mathlib/Order/Cover.lean |
2 |
16 |
['Komyyy', 'SabrinaJewson', 'github-actions', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
1 |
6-24348 6 days ago |
8-63705 8 days ago |
35-12445 35 days |
| 36541 |
BGuillemet author:BGuillemet |
feat(CategoryTheory): define internal equivalence relations |
Define internal equivalence relations in any category `C`, as a structure on parallel pairs of morphisms.
Prove that equivalence relations on types are equivalence relations in the category of types.
Prove that kernel pairs are equivalence relations.
Define (universally) effective equivalence relations, and a associated class for categories in which every equivalence relation is effective universal.
Prove that an effective equivalence relation yields a coequalizer diagram, and that the associated projection on the "quotient" of the relation is a regular epimorphism.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
320/0 |
Mathlib.lean,Mathlib/CategoryTheory/EquivalenceRelation.lean,Mathlib/CategoryTheory/Limits/Shapes/RegularMono.lean |
3 |
26 |
['BGuillemet', 'chrisflav', 'dagurtomas', 'github-actions', 'robin-carlier'] |
b-mehta assignee:b-mehta |
1 |
6-14044 6 days ago |
6-45210 6 days ago |
27-57355 27 days |
| 37623 |
IvanRenison author:IvanRenison |
feat(Order/RelIso): add theorems about `RelHom.comp` and `RelEmbedding.trans` |
Co-authored-by: SnirBroshi <26556598+SnirBroshi@users.noreply.github.com>
---
Missing of this theorems noticed by @SnirBroshi in #37598
[](https://gitpod.io/from-referrer/)
|
t-order
maintainer-merge
|
18/0 |
Mathlib/Order/RelIso/Basic.lean |
1 |
8 |
['IvanRenison', 'SnirBroshi', 'dagurtomas', 'eric-wieser', 'github-actions'] |
nobody |
1 |
5-57169 5 days ago |
45-30639 45 days ago |
46-53655 46 days |
| 39296 |
scholzhannah author:scholzhannah |
feat: more informative output messages in the flexible linter |
The current output messages in the flexible linter are:
- If the stained location is a hypothesis:
`'exact h' uses 'h'!`
- If the stained location is the goal:
`'exact Nat.le_succ_of_le h' uses '⊢'!`
I think the first is not very informative and the second is additionally confusing. So I change them to read:
- For a hypothesis:
`'exact h' uses 'h', which was modified by a flexible tactic!`
- And for the goal:
`'exact Nat.le_succ_of_le h' modifies the current goal, which was modified by a flexible tactic!`
I also added some more explanation to the messages in the case that all the hypotheses and the goal were stained by `simp at *`.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
128/25 |
Mathlib/Tactic/Linter/FlexibleLinter.lean,MathlibTest/FlexibleLinter.lean,MathlibTest/ImportHeavyFlexibleLinter.lean |
3 |
6 |
['b-mehta', 'github-actions', 'grunweg', 'scholzhannah'] |
grunweg assignee:grunweg |
1 |
5-54197 5 days ago |
5-54197 5 days ago |
5-53678 5 days |
| 38968 |
eric-wieser author:eric-wieser |
fix: improve defeqs of comp actions |
The (deliberately) non-reducible `SMul.comp.smul` definition caused us to end with these failing unification examples at instance reducibility:
```lean
example : (Module.compHom ℕ (RingHom.id ℕ)).toSMul = SMul.comp ℕ (RingHom.id ℕ) := by
with_reducible_and_instances rfl
example : (Module.compHom ℕ (RingHom.id ℕ)).toMulAction = MulAction.compHom ℕ (MonoidHom.id ℕ) := by
with_reducible_and_instances rfl
```
There are two issues this fixes:
* the `compHom` constructors are inconsistent on whether they use `SMul.comp.smul` or reimplement its contents
* we need `SMul.comp.smul` to be instance-reducible, so that when invoked with the identity function it is instance-defeq to the original action.
As a bonus, allowing these to unify means we can have a single `SMul.comp_smul_def` lemma that works for all of the `compHom` definitions.
We could also consider changing `compHom` to take a `HomClass` in order to remove the casts entirely, which would remove the need to add these `SMul.comp` terms. This PR leaves that for possible future work, noting that in the past we have moved away from writing `def`s taking `HomClass`es.
Co-authored-by: Junye Ji
---
[](https://gitpod.io/from-referrer/)
Refined from #38777 |
t-algebra
delegated
label:t-algebra$ |
35/19 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean |
5 |
5 |
['JJYYY-JJY', 'Vierkantor', 'eric-wieser', 'github-actions', 'mathlib-bors'] |
nobody |
1 |
5-47637 5 days ago |
5-47637 5 days ago |
8-53809 8 days |
| 38362 |
vihdzp author:vihdzp |
feat: cofinal subset of regular cardinal is isomorphic to it |
In set theory, one often identifies a cardinal `c` with its initial ordinal `c.ord`, and said ordinal with the lower set `Iio c.ord`. This is particularly pervasive in the theory of club and stationary subsets, where one often sees the hypothesis "let κ be a regular cardinal" in lieu of the more precise wording: that `κ` is an (infinite) well-order, whose order type equals the initial ordinal of its cardinality.
We define a typeclass `IsRegularCardinalOrder` for this assumption. The benefit of using it is that our results won't apply only to `Iio c.ord` for regular `c`, but also to concrete types such as `Nat`, `Cardinal`, or `Ordinal`.
As a proof of concept, we define `Order.enum`, a generalization of both `Nat.nth` and `Ordinal.enumOrd`. A future PR will deprecate the latter.
---
- [x] depends on: #38363
[](https://gitpod.io/from-referrer/)
|
t-set-theory
maintainer-merge
|
127/11 |
Mathlib.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Cofinality/Enum.lean,Mathlib/SetTheory/Cardinal/Cofinality/Ordinal.lean |
5 |
12 |
['YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1 |
5-37567 5 days ago |
5-57068 5 days ago |
9-15094 9 days |
| 38731 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/AffineSpace/AffineSubspace): using `AffineSubspace.direction` to reinterpret `AffineSubspace` as `Submodule` |
* add `AffineSubspace.vsub_self_of_zero_mem` that states `s -ᵥ s = s ` if `0 ∈ s`
* add `AffineSubspace.direction_eq_self_of_zero_mem` that states that if `0 ∈ s`, then the directions coerce back to the affine subspace.
* add corresponding `CanLift` instance.
* modify doc-string of `AffineSubspace.direction` to state that this can be used for reinterpretation of an affine subspace as a submodule.
* add `Coe` instance based on `Submodule.toAffineSubspace` and adds corresponding @[coe] attribute.
The PR also performs a slight cleanup of the file: statements about `SetLike` or `Submodule.toAffineSubspace` have been moved closer to their respective definitions.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
56/26 |
Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean |
1 |
3 |
['github-actions', 'wwylele'] |
themathqueen assignee:themathqueen |
1 |
5-435 5 days ago |
21-25186 21 days ago |
21-25818 21 days |
| 39438 |
SnirBroshi author:SnirBroshi |
chore(Order/WellFounded): use `to_dual` |
Creates `argmax`/`argmaxOn` duals to the existing `argmin`/`argminOn`,
and `WellFoundedLT.min`/`WellFoundedGT.max` in order to properly dualize `WellFounded.min_le`.
Some theorems about `WellFounded{LT/GT}` which didn't have a dual before have to be renamed to make room,
e.g. `StrictMono.range_inj` is renamed to `StrictMono.range_inj_of_wellFoundedLT`.
---
This is blocking dualizing things in `ConditionallyCompleteLattice/Basic.lean`.
`WellFounded.min_le` has ~30 usages in ~10 files, so deprecating it should probably happen in a separate PR.
[](https://gitpod.io/from-referrer/)
|
t-order |
80/34 |
Mathlib/Data/Finset/Sort.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/WellFounded.lean,Mathlib/SetTheory/Ordinal/Enum.lean |
4 |
5 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
1 |
4-84744 4 days ago |
4-84816 4 days ago |
5-6493 5 days |
| 37076 |
ertwro author:ertwro |
feat(Combinatorics/SimpleGraph/Hasse): Hasse diagram is triangle-free |
Add `SimpleGraph.hasse_cliqueFree_three`: the Hasse diagram of a preorder is triangle-free (`CliqueFree 3`).
This is the graph-theoretic formulation of `not_covBy_of_lt_of_lt`: if `a ⋖ b` and `b ⋖ c`, then `¬ a ⋖ c`, so no three elements can be pairwise adjacent in the Hasse diagram.
The proof extracts three vertices from a hypothetical 3-clique, case-splits on the covering directions (8 cases), and closes each by `not_covBy_of_lt_of_lt` (6 transitive cases) or `lt_asymm` (2 cyclic cases).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
11/0 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
21 |
['Rida-Hamadani', 'SnirBroshi', 'ertwro', 'github-actions', 'vlad902'] |
nobody |
1 |
4-72738 4 days ago |
31-76214 31 days ago |
39-85475 39 days |
| 35683 |
gasparattila author:gasparattila |
fix(Tactic/FunProp): detect `Continuous.subtype_mk` as compositional |
This PR changes `fun_prop` to detect some theorems involving dependent types, such as `Continuous.subtype_mk` to be in compositional form. This lets `fun_prop` solve goals such as `Continuous fun x => (⟨x, trivial⟩ : {x : ℝ // True})`.
---
These theorems become compositional: `Continuous.subtype_mk`, `Topology.IsEmbedding.inclusion`, `Topology.IsOpenEmbedding.inclusion`, `Topology.IsClosedEmbedding.inclusion`, `Measurable.subtype_mk`, `Measurable.imp`, `Path.symm_continuous_family`, `Continuous.upperHalfPlaneMk`
These theorems become simple: `hasFDerivAt_prodMk_left`, `hasFDerivAt_prodMk_right`, `contDiff_prodMk_left`, `contDiff_prodMk_right`
[](https://gitpod.io/from-referrer/)
|
t-meta
maintainer-merge
|
66/44 |
Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,MathlibTest/FunPropMinimal.lean |
5 |
27 |
['gasparattila', 'github-actions', 'grunweg', 'joneugster', 'lecopivo', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
1 |
4-42324 4 days ago |
4-42395 4 days ago |
84-47444 84 days |
| 39110 |
SnirBroshi author:SnirBroshi |
chore(Data/Set): reduce defeq abuse of `Set α = α → Prop` |
These are among the first places that would fail if `Set α` wasn't defeq to `α → Prop`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/20 |
Mathlib/Data/Set/Basic.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Order/BooleanAlgebra/Set.lean |
5 |
24 |
['SnirBroshi', 'Vierkantor', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'themathqueen', 'urkud', 'vihdzp'] |
nobody |
1 |
4-41349 4 days ago |
4-56300 4 days ago |
10-57181 10 days |
| 30526 |
SnirBroshi author:SnirBroshi |
chore(Logic/Relation): use `≤` to spell subrelation |
Replace every `∀ x y, r x y → r' x y` with `r ≤ r'`
---
NOTE: this PR began as an effort to use `Subrelation` since `≤` wasn't available in this file, but it was agreed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2330526.20use.20Subrelation.20in.20Mathlib.2ELogic.2ERelation/with/546572676) to instead make `≤` available there.
[](https://gitpod.io/from-referrer/)
|
t-logic |
146/133 |
Mathlib.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Filtered/Connected.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Computability/ContextFreeGrammar.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/Prop.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Topology/Gluing.lean |
19 |
22 |
['SnirBroshi', 'Vierkantor', 'eric-wieser', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'thorimur', 'vihdzp'] |
Vierkantor and joneugster assignee:Vierkantor assignee:joneugster |
1 |
4-34128 4 days ago |
4-34272 4 days ago |
86-66718 86 days |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
95/93 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
5 |
47 |
['MJ141592', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
2 |
4-29948 4 days ago |
4-31494 4 days ago |
47-4818 47 days |
| 35287 |
arnoudvanderleer author:arnoudvanderleer |
feat(AlgebraicTopology/SimplicialSet): define isomorphisms in simplicial sets, and the coherent isomorphism simplicial set |
show that any edge in a simplicial set, that is the image of the forward edge of the coherent isomorphism under a simplicial set morphism, is an isomorphism.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
infinity-cosmos
awaiting-author
|
362/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/CoherentIso.lean,Mathlib/AlgebraicTopology/SimplicialSet/CompStruct.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveCodiscrete.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/CodiscreteCategory.lean |
6 |
122 |
['arnoudvanderleer', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
1 |
4-28435 4 days ago |
4-28435 4 days ago |
31-932 31 days |
| 38911 |
Vierkantor author:Vierkantor |
chore(Tactic): deprecate `substs` and replace it with `subst` |
The `substs` tactic was a wrapper around `subst` to call it multiple times for different hypotheses. But `subst` now supports multiple hypotheses, so we can deprecate `substs` and replace it with `subst`.
I added a deprecation warning using a `Try this:` message.
Spotted while checking tactic docstrings.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
delegated
|
46/42 |
Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/Homology/DifferentialObject.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/CategoryTheory/Preadditive/Mat.lean,Mathlib/Computability/DFA.lean,Mathlib/Data/Analysis/Filter.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/WSeq/Basic.lean,Mathlib/Geometry/RingedSpace/Stalks.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/Logic/Equiv/Defs.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Order/Concept.lean,Mathlib/Order/JordanHolder.lean,Mathlib/SetTheory/Ordinal/Notation.lean,Mathlib/Tactic/Substs.lean,Mathlib/Topology/Gluing.lean |
22 |
17 |
['JovanGerb', 'Vierkantor', 'bryangingechen', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-bors', 'plp127'] |
thorimur assignee:thorimur |
1 |
4-5118 4 days ago |
11-5471 11 days ago |
5-44109 5 days |
| 32828 |
Hagb author:Hagb |
feat(Algebra/Order/Group/Defs): add `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'` |
It is similar to `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`, while with different hypotheses.
The conclusion `IsOrderedCancelMonoid α` on
`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid` still holds when the hypothesis `CommGroup α` is weakened to `CancelCommMonoid α` while `PartialOrder α` is strengthened to `LinearOrder α`.
---
[`IsOrderedAddMonoid.toIsOrderedCancelAddMonoid`](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=IsOrderedAddMonoid.toIsOrderedCancelAddMonoid#doc) and `IsOrderedAddMonoid.toIsOrderedCancelAddMonoid'`:
https://github.com/leanprover-community/mathlib4/blob/97f78b1a4311fed1844b94f1c069219a48a098e1/Mathlib/Algebra/Order/Group/Defs.lean#L52-L62
[](https://gitpod.io/from-referrer/)
|
awaiting-zulip
t-algebra
awaiting-author
label:t-algebra$ |
4/0 |
Mathlib/Algebra/Order/Group/Defs.lean |
1 |
15 |
['Garmelon', 'Hagb', 'Vierkantor', 'artie2000', 'dagurtomas', 'github-actions', 'leanprover-radar'] |
eric-wieser assignee:eric-wieser |
2 |
3-84623 3 days ago |
118-34646 118 days ago |
40-42357 40 days |
| 38536 |
CoolRmal author:CoolRmal |
feat: a lemma about the symmetric difference of unions |
Created with the help of Codex.
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
delegated
|
58/2 |
Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteBooleanAlgebra.lean |
2 |
17 |
['CoolRmal', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-bors', 'ocfnash'] |
nobody |
1 |
3-77413 3 days ago |
6-24802 6 days ago |
7-75625 7 days |
| 39203 |
FordUniver author:FordUniver |
refactor(Analysis/Calculus/Gradient): ungate inner_gradient lemmas |
Removes superfluous differentiability hypotheses (plus `UniqueDiffWithinAt` for the `Within` versions) from the four `inner_gradient[Within]_[left|right]` lemmas: `gradient` is defined as `(toDual 𝕜 F).symm (fderiv 𝕜 f x)`, so `⟪∇ f x, y⟫ = fderiv 𝕜 f x y` holds unconditionally since both sides are zero when `f` is not differentiable at `x`.
---
Genuinely unsure about this one because the only call I currently have in my code itself has the differentiability hypothesis. But including unused (or unnecessary) assumptions seems not intentional? My best guess is that the hypotheses were included by analogy with `HasGradientAt.fderiv_apply`, which genuinely needs them. This PR drops the hypotheses and rewrites the proofs through the isomorphism directly; no existing mathlib callers pass the now-redundant arguments. |
t-analysis
maintainer-merge
|
17/10 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
6 |
['FordUniver', 'Komyyy', 'github-actions'] |
urkud assignee:urkud |
1 |
3-29149 3 days ago |
9-39339 9 days ago |
9-38820 9 days |
| 39307 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Copy): introduce `UnlabeledCopy` carrier subtype |
Adds `abbrev UnlabeledCopy A B := {B' : B.Subgraph // Nonempty (A ≃g B'.coe)}` and uses it to replace the previous inline filter-set body of `copyCount G H`. Drops the now unused legacy Finset-image bridge `copyCount_eq_card_image_copyToSubgraph`. Adds `uniqueUnlabeledCopyBot` instance so `copyCount_bot` is a one-liner via `Fintype.card_unique`.
---
**Step 1/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
This PR isolates the `UnlabeledCopy` type introduction and the count's type-form redefinition from the larger rename/convention work in the rest of the stack. Note that resolving the current clash in naming (`Copy` and `UnlabeledCopy` vs `labelledCopyCount` and `copyCount`) is part of #38745.
|
t-combinatorics |
32/29 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
6 |
['FordUniver', 'github-actions', 'mathlib-bors', 'mitchell-horner'] |
nobody |
1 |
3-25896 3 days ago |
3-35180 3 days ago |
7-34635 7 days |
| 36954 |
FMLJohn author:FMLJohn |
feat(Topology/ClosedBases): `TopologicalSpace.IsClosedBasis` and `TopologicalSpace.IsClosedSubbasis s` |
In this pull request, I have defined closed bases and closed subbases of topologies, and proved some basic properties of them.
## Main definitions
* `TopologicalSpace.IsClosedBasis s`: A closed basis of a topological space `α` is a collection of closed sets `s : Set (Set α)` such that every closed subset of `α` can be written as an intersection of elements of `s`.
---
[](https://gitpod.io/from-referrer/) |
t-topology |
117/0 |
Mathlib.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/ClosedBases.lean |
3 |
19 |
['github-actions', 'scholzhannah'] |
urkud assignee:urkud |
1 |
3-20887 3 days ago |
27-47642 27 days ago |
56-49449 56 days |
| 39287 |
xgenereux author:xgenereux |
feat(Localization/AtPrime/Basic): upgrade `equivQuotMaximalIdeal` to an AlgEquiv |
The definition [IsLocalization.AtPrime.equivQuotMaximalIdealPow](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Localization/AtPrime/Basic.html#IsLocalization.AtPrime.equivQuotMaximalIdealPow) was added in #36783.
The case with `n = 1` is still important and interesting. I have upgraded it to an AlgEquiv using `equivQuotMaximalIdealPow`.
This did break a few small things, because we need to bridge back to a `RingEquiv` in some places. I took the liberty to add some missing `apply` lemmas to ease fixing these proofs.
Disclaimer: I used Claude to suggest the first shot and refined it from there.
María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
45/68 |
Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean |
3 |
2 |
['github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
1 |
3-5910 3 days ago |
3-5911 3 days ago |
4-53165 4 days |
| 39202 |
FordUniver author:FordUniver |
feat(Analysis/Calculus/Gradient): add toDual_gradient and companions |
Add `toDual_gradient`, `toDual_gradientWithin`, and the composed variants `toDual_comp_gradient`, `toDual_comp_gradientWithin` — the natural inverse direction of the gradient's defining equation `∇ f x := (toDual 𝕜 F).symm (fderiv 𝕜 f x)`. These identify `(toDual 𝕜 F) (∇ f x)` with `fderiv 𝕜 f x` (and the `gradientWithin` and composed forms with the corresponding fderiv versions), making the Riesz isomorphism between the two derivative views explicit. The proofs of `DifferentiableAt.hasGradientAt` and `DifferentiableWithinAt.hasGradientWithinAt` in the same file are simplified to use them.
---
Came up while formalizing the descent lemma for Lipschitz-smooth functions, where being able to switch between `LipschitzWith K (fderiv ℝ f)` and `LipschitzWith K (∇ f)` is helpful, which with this PR becomes `toDual_comp_gradient ▸ (toDual ℝ F).isometry.lipschitzWith_iff K`. Also slightly simplifies two call sites in mathlib. |
maintainer-merge |
20/5 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
5 |
['FordUniver', 'Komyyy', 'github-actions'] |
nobody |
1 |
3-5053 3 days ago |
9-38813 9 days ago |
9-38458 9 days |
| 39183 |
yuanyi-350 author:yuanyi-350 |
refactor(Analysis): golf `Mathlib/Analysis/Complex/Exponential` |
- shortens the reindexing step in `norm_exp_sub_sum_le_norm_mul_exp` by switching from `sum_bij` to `sum_Ico_eq_sum_range` with `simp`
Extracted from #37968
[](https://gitpod.io/from-referrer/) |
codex
t-analysis
LLM-generated
maintainer-merge
|
8/23 |
Mathlib/Analysis/Complex/Exponential.lean |
1 |
4 |
['Komyyy', 'github-actions', 'yuanyi-350'] |
urkud assignee:urkud |
1 |
2-71369 2 days ago |
2-71557 2 days ago |
9-52646 9 days |
| 37624 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Maps): add theorems about composition |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
32/5 |
Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
11 |
['IvanRenison', 'YaelDillies', 'github-actions'] |
nobody |
1 |
2-54700 2 days ago |
4-22889 4 days ago |
45-59164 45 days |
| 36832 |
KryptosAI author:KryptosAI |
chore(Data/Finset/Card): rename `pred_card_le_card_erase` to `sub_one_card_le_card_erase` |
## Summary
The name `pred_card_le_card_erase` suggests `Nat.pred` but the statement uses `- 1` (i.e., `Nat.sub 1`). Rename to `sub_one_card_le_card_erase` to match the actual statement.
A deprecated alias is added for backwards compatibility.
### Files changed
- `Mathlib/Data/Finset/Card.lean` — definition renamed + deprecated alias
- `Mathlib/Data/Finset/Powerset.lean` — reference updated
- `Mathlib/Combinatorics/Additive/SubsetSum.lean` — reference updated
- `Mathlib/Algebra/Polynomial/EraseLead.lean` — reference updated
Addresses the `Finset.pred_card_le_card_erase` item in #21584.
## AI disclosure
I used Claude Code to explore the codebase (finding all references to rename) and to draft the PR description. I reviewed and understand all changes — these are straightforward renames with a deprecated alias. |
new-contributor
awaiting-author
|
22/15 |
Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
8 |
['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mattrobball', 'ooovi'] |
nobody |
1 |
2-46084 2 days ago |
2-46084 2 days ago |
59-48094 59 days |
| 33928 |
jsm28 author:jsm28 |
feat(Combinatorics/Tiling/TileSet): indexed families of tiles |
Define the type `TileSet` for indexed families of tiles (in a discrete context), and some associated definitions (including `symmetryGroup`) and API lemmas.
`TileSet` can be used for tilings of the whole space; for tilings of part of the space; for patches of tiles (extracted from a tiling by considering tiles meeting some set of points, or considered on their own without extracting from a tiling); for multiple tilings (covering the space more than once). In particular, the fact that people study multiple tilings provides a clear justification for using indexed families rather than sets of tiles, and basic definitions and API lemmas generally work for all these different uses of `TileSet` (sometimes with weak constraints such as tiles being finite, nonempty and only having finitely many tiles meeting any point of the space).
Definitions for saying e.g. "this `TileSet` is a tiling of the whole space" are to be included in subsequent files in subsequent PRs.
From AperiodicMonotilesLean.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
460/0 |
Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean |
2 |
23 |
['Parcly-Taxel', 'b-mehta', 'eric-wieser', 'github-actions', 'jsm28', 'vihdzp'] |
nobody |
1 |
2-1267 2 days ago |
127-18375 127 days ago |
127-17856 127 days |
| 37443 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk/Operations): permutations of support |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
17/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts'] |
b-mehta assignee:b-mehta |
1 |
1-86202 1 day ago |
9-59060 9 days ago |
49-43817 49 days |
| 36376 |
jessealama author:jessealama |
feat(SimpleGraph): hamiltonian cycle from cyclic permutation |
This PR provides `IsHamiltonian.of_perm`, a bridge from `Equiv.Perm.IsCycle` to `SimpleGraph.IsHamiltonian`: if σ is a permutation that is a single cycle with full support on at least 3 elements, and each step `v → σ v` is an edge of `G`, then `G` is Hamiltonian.
### New definitions and lemmas
**`Mathlib/Data/List/Chain.lean`**:
- `IsChain.iterate`: `List.iterate f a n` is a chain under `r` whenever `r a (f a)` holds for all `a`
**`Mathlib/Data/List/Iterate.lean`**:
- `getLast_iterate`: the last element of `List.iterate f a n` is `f^[n - 1] a`
**`Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean`** (new file):
- `Walk.iterate`: builds a walk of length `n` from `x` to `f^[n] x` for any function `f` with `G.Adj x (f x)` for all `x`, defined via `Walk.ofSupport`
- `Walk.length_iterate`, `Walk.support_iterate`, `Walk.edges_iterate`: basic API
**`Mathlib/GroupTheory/Perm/Cycle/Basic.lean`**:
- `IsCycleOn.injOn_pow_apply`: the map `n ↦ (f ^ n) a` is injective on `Finset.range #s`
**`Mathlib/GroupTheory/Perm/Cycle/Concrete.lean`**:
- `IsCycleOn.injOn_sym2_pow_apply`: the unordered-pair edge map `k ↦ s((f ^ k) a, (f ^ (k + 1)) a)` is injective on `[0, #s)` when `#s ≠ 2`
- `IsCycleOn.sym2_pow_apply_ne`: edge distinctness for cycle-on permutations — `s((f ^ k) a, (f ^ (k + 1)) a) ≠ s(a, f a)` when `k ≠ 0`, `k < #s`, and `#s ≠ 2`
- `Perm.toList_eq_range_map_pow`: expresses `toList` as a range map over powers
**`Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean`**:
- `cons_isHamiltonianCycle_iff`: a Hamiltonian path closed by an edge outside its support is a Hamiltonian cycle, and conversely
- `IsHamiltonian.of_perm`: the main theorem
---
- [x] depends on: #36307 |
t-combinatorics
maintainer-merge
|
182/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian/Perm.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Iterate.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Iterate.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean |
8 |
76 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'jessealama', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1 |
1-65867 1 day ago |
1-67461 1 day ago |
46-281 46 days |
| 37521 |
jessealama author:jessealama |
feat(Data/Part): add Part.bind_eq_some_iff |
Add `Part.bind_eq_some_iff`, the `Part` analogue of `Option.bind_eq_some_iff`. Noticed this small gap while working on some equivalence proofs with partial functions. |
t-data |
6/0 |
Mathlib/Data/Part.lean |
1 |
6 |
['github-actions', 'jessealama', 'joneugster', 'vihdzp'] |
joneugster assignee:joneugster |
1 |
1-65291 1 day ago |
2-82129 2 days ago |
45-38443 45 days |
| 38866 |
j-mayoral author:j-mayoral |
feat(PresentedGroup): free-product of presentations is isomorphic to the presentation of the union (over the disjoint union of generators) |
---
Adds the theorem that the free product of presentations is isomorphic to the presentation on the disjoint union of the generators with the union of the relations. That is,
`<α | R₁> * <β | R₂> ≃* <α ⊕ β | iα(R₁) ∪ iβ(R₂)>`.
Don't know if the current file is the best to add this result.
I have the feeling this could be made more elegant, avoiding the need to state lemmas explicitly about the relations of the canonical maps, by instead working with relations on the free product of free groups and then studying how quotienting by relations behaves in terms of isomorphisms. However, that approach is less straightforward, so I prefer to keep the current PR as is and discuss possible refinements there to get better feedback (I’m new and still learning).
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-group-theory
large-import
maintainer-merge
|
65/5 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
2 |
38 |
['github-actions', 'j-mayoral', 'kbuzzard', 'tb65536'] |
tb65536 assignee:tb65536 |
1 |
1-56310 1 day ago |
1-57170 1 day ago |
12-62179 12 days |
| 39484 |
rosborn author:rosborn |
refactor(GroupTheory/Torsion): make primaryComponent total |
Change `primaryComponent` to the `IsPGroup`-style `{g | ∃ k, g ^ p ^ k = 1}`, making the definitions total over `p : ℕ` without requiring `[Fact p.Prime]`.
---
Needed to use `primaryComponent` under a binder where it can't synthesize `[Fact p.Prime]` (e.g., `⨆ p : (Nat.card G).primeFactors, primaryComponent G p.val` and similar family-shaped `iSup` / `Finset.prod` patterns). The new carrier agrees with the previous `{g | ∃ n, orderOf g = p^n}` on primes, so existing `[Fact p.Prime]` API is unaffected.
Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60.5BFact.20p.2EPrime.5D.60.20in.20.60CommGroup.2EprimaryComponent.60/with/595535434)
|
t-group-theory
maintainer-merge
|
89/64 |
Mathlib/GroupTheory/Torsion.lean |
1 |
13 |
['github-actions', 'rosborn', 'tb65536'] |
tb65536 assignee:tb65536 |
1 |
1-52190 1 day ago |
1-52178 1 day ago |
3-20526 3 days |
| 35216 |
kim-em author:kim-em |
doc(Tactic/Translate/ToDual): add deployment guide for @[to_dual] |
This PR expands the documentation for `@[to_dual]` with practical advice for deploying it to existing code.
**Module docstring** (`Mathlib/Tactic/Translate/ToDual.lean`): adds a "Deploying `@[to_dual]` to existing code" section covering name agreement, attribute propagation, docstring syntax ordering, declaration order dependencies, and known structural mismatches (conjunct reordering, type class gaps, interval argument swapping).
**Attribute docstring**: adds a note that `@[simp]` is not auto-copied (must use `(attr := simp)`), and shows the correct ordering when combining `(attr := ...)` with docstrings.
🤖 Prepared with Claude Code
---
@joneugster: this is no longer part of the PR, so I removed it from the description:
> **Agent skill** (`.claude/skills/to_dual/SKILL.md`): detailed step-by-step instructions for an AI agent deploying `@[to_dual]`, including how to identify candidates, common patterns, and debugging.
|
documentation
LLM-generated
maintainer-merge
|
31/3 |
Mathlib/Tactic/Translate/ToDual.lean |
1 |
37 |
['JovanGerb', 'MichaelStollBayreuth', 'faenuccio', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts', 'vihdzp'] |
joneugster assignee:joneugster |
1 |
1-47239 1 day ago |
33-7611 33 days ago |
39-80178 39 days |
| 39552 |
themathqueen author:themathqueen |
chore(RingTheory/Bialgebra/Hom): `toCoalgHom` as prefix for `simps` |
There are currently no generated `simps` lemmas for these, so this is a straightforward change.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
|
1/1 |
Mathlib/RingTheory/Bialgebra/Hom.lean |
1 |
2 |
['YaelDillies', 'github-actions'] |
nobody |
1 |
1-46937 1 day ago |
2-15292 2 days ago |
2-15137 2 days |
| 39058 |
vihdzp author:vihdzp |
chore: `IsBotZeroClass (Fin n)` |
We also deprecate a bunch of theorems that now follow from the typeclass.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-order
maintainer-merge
|
34/32 |
Archive/Imo/Imo2024Q5.lean,Mathlib/AlgebraicTopology/Quasicategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/Basic.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Data/Fin/SuccPred.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Grade.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean |
13 |
20 |
['Komyyy', 'github-actions', 'leanprover-radar', 'plp127', 'vihdzp'] |
Komyyy assignee:Komyyy |
1 |
1-46035 1 day ago |
1-47559 1 day ago |
13-2238 13 days |
| 38795 |
YaelDillies author:YaelDillies |
feat(Algebra/Group/Action/Pointwise): `#(s ∩ (a • t)) = #{x ∈ s ×ˢ t | x.1 / x.2 = a}` |
The `Finset` lemma already exists.
From AddCombi
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
awaiting-author
label:t-algebra$ |
37/18 |
Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean |
3 |
3 |
['YaelDillies', 'b-mehta', 'github-actions'] |
nobody |
1 |
1-40264 1 day ago |
1-40264 1 day ago |
18-21725 18 days |
| 38906 |
lua-vr author:lua-vr |
feat(ConditionallyCompleteLattice/Indexed): add binary versions of lemmas |
Add binary versions of some of the lemmas. Those are useful when the domain is indexed over the members of a set.
From the Carleson project.
---
[](https://gitpod.io/from-referrer/)
|
t-order
carleson
|
21/5 |
Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
1 |
19 |
['JovanGerb', 'SnirBroshi', 'github-actions', 'grunweg', 'lua-vr', 'mathlib-merge-conflicts'] |
nobody |
1 |
1-39325 1 day ago |
1-39390 1 day ago |
11-12857 11 days |
| 38319 |
Zetetic-Dhruv author:Zetetic-Dhruv |
feat(Combinatorics/SetFamily): Assouad's dual VC bound |
Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family
`𝒜 : Finset (Finset α)` has VC dimension at most `d`, then for any
ground set `X : Finset α` the dual family
`{𝒜.filter (· ∋ x) : x ∈ X}` has VC dimension at most `2 ^ (d + 1) - 1`.
New declarations (in `Finset` namespace):
- `dualFamily 𝒜 X`: for each `x ∈ X`, the subfamily `{A ∈ 𝒜 | x ∈ A}`
- `mem_dualFamily` (`@[simp]`): membership characterisation
- `exists_shatters_of_dualFamily_shatters`: Assouad's bitstring-coding lemma
- `vcDim_dualFamily_le`: the headline VC bound
Proof by Assouad's classical bitstring-coding argument. Sits on top of `Finset.shatterer` / `Finset.vcDim` from
`Mathlib.Combinatorics.SetFamily.Shatter`.
References:
- P. Assouad, Densite et dimension, Ann. Inst. Fourier 33(3) (1983), Thm 2.13
- J. Matousek, Lectures on Discrete Geometry, GTM 212, Springer, 2002, Section 10.3 Lemma 10.3.3
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
199/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/DualVC.lean,docs/references.bib |
3 |
36 |
['Shreyas4991', 'YaelDillies', 'Zetetic-Dhruv', 'github-actions'] |
nobody |
1 |
1-37726 1 day ago |
11-13886 11 days ago |
27-60416 27 days |
| 38483 |
jessealama author:jessealama |
feat(Algebra/BigOperators): add `Antiperiodic.sum_Ico_shift` |
Three lemmas about `Finset` sums of `Function.Antiperiodic` functions: `sum_map_add_right` says that for `f` antiperiodic with antiperiod `c`, summing `f` over a `Finset` shifted by `c` (via `addRightEmbedding c`) negates the sum over the original; `sum_Ico_shift` is the half-open-interval specialization, immediate via `Finset.map_add_right_Ico`; and `sum_Ico_mul_add_sum_Ico_mul_shift_eq_zero` is a bilinear cancellation variant. Spun off from #29713 (Euler-Poincaré formula), where the bilinear form is used. |
t-algebra label:t-algebra$ |
63/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean |
2 |
5 |
['github-actions', 'j-loreaux', 'jessealama', 'wwylele'] |
ocfnash assignee:ocfnash |
1 |
1-12166 1 day ago |
15-67269 15 days ago |
25-39781 25 days |
| 35619 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Clique): intersection and union of cliques |
Plus a couple of lemmas.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
45/14 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Data/Set/Pairwise/Basic.lean |
3 |
13 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
b-mehta assignee:b-mehta |
1 |
0-86132 23 hours ago |
27-29022 27 days ago |
49-4528 49 days |
| 39556 |
b-mehta author:b-mehta |
feat(Data/Finset): add InjOn variants of image_{subset,eq}_image_iff |
These are useful for set family combinatorics
---
[](https://gitpod.io/from-referrer/)
|
easy
t-data
ready-to-merge
merge-conflict
|
18/0 |
Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Powerset.lean |
2 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
1 |
0-82088 22 hours ago |
1-43360 1 day ago |
0-50919 14 hours |
| 39547 |
Hagb author:Hagb |
chore(Order/Preorder/Finite): use `@[to_dual]` on lemmas about `{Min,Max}imal{For,}` |
Proofs of other theorems (e.g. in #39427) with dual theorems dependent on these lemmas would benefit from their duality.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
11/25 |
Mathlib/Order/Preorder/Finite.lean |
1 |
4 |
['Hagb', 'github-actions', 'vihdzp'] |
nobody |
1 |
0-79345 22 hours ago |
2-19603 2 days ago |
2-19084 2 days |
| 37248 |
harahu author:harahu |
doc(Tactic): avoid lazy continuation lines |
We resolve the ambiguity inherent in lazy (un-indented) list item continuation lines by either indenting them or separating them by inserting a newline in the cases where the item continuation was a mistake.
---
[](https://gitpod.io/from-referrer/)
|
documentation |
123/114 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/SimpIntro.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Widget/InteractiveUnfold.lean |
15 |
4 |
['Multramate', 'github-actions', 'grunweg', 'harahu', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
1 |
0-63846 17 hours ago |
6-23537 6 days ago |
54-30323 54 days |
| 39332 |
Michaillus author:Michaillus |
chore(Topology/Spectral): Added two small lemmas |
chore(Topology/Spectral): Added two lemmas
`IsCompact.isClosed_constructibleTopology_of_isOpen`
`IsCompact.isClosed_constructibleTopology_of_isClosed`
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
12/0 |
Mathlib/Topology/Spectral/ConstructibleTopology.lean |
1 |
7 |
['Michaillus', 'github-actions', 'plp127', 'qawbecrdtey'] |
PatrickMassot assignee:PatrickMassot |
1 |
0-45716 12 hours ago |
7-13792 7 days ago |
7-13273 7 days |
| 39483 |
hawkrobe author:hawkrobe |
feat(RingTheory): cocommutative bialgebra structure on SymmetricAlgebra |
Adds the cocommutative coalgebra and bialgebra structure on `SymmetricAlgebra R M` following`MonoidAlgebra` precedent.
---
~~I originally tried to use `Bialgebra.ofAlgHom` but it doesn't make `Coalgebra.comul` defeq for `RingQuot`-built carriers (it looks like the underlying instances were `@[no_expose]` in #32861). So I used explicit `instance ... where` field assignment, then `Bialgebra` via `mk'`, instead.~~
I used Claude Code to help audit/polish this PR. (I've lurked for a long time so I did my best to closely follow conventions of other SymmetricAlgebra files but felt nervous about trying to upstream something stupid!) |
t-ring-theory
new-contributor
maintainer-merge
|
66/0 |
Mathlib.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/SymmetricAlgebra.lean |
3 |
29 |
['YaelDillies', 'YanYablonovskiy', 'github-actions', 'hawkrobe', 'wwylele'] |
nobody |
2 |
0-44872 12 hours ago |
1-30973 1 day ago |
4-1194 4 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/)
|
t-combinatorics
new-contributor
|
295/0 |
Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean |
2 |
151 |
['SnirBroshi', 'b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot', 'tb65536'] |
b-mehta assignee:b-mehta |
1 |
0-40026 11 hours ago |
0-42071 11 hours ago |
96-16144 96 days |
| 37697 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Clique): add theorems about cliques and induced graphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
awaiting-author
|
22/0 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
10 |
['Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
1 |
0-37173 10 hours ago |
0-37173 10 hours ago |
44-1357 44 days |
| 35820 |
smmercuri author:smmercuri |
feat: unit lemmas and embedding for `FiniteAdeleRing` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
|
42/4 |
Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean |
1 |
14 |
['Multramate', 'Ruben-VandeVelde', 'github-actions', 'mariainesdff', 'smmercuri'] |
mariainesdff assignee:mariainesdff |
1 |
0-34293 9 hours ago |
29-57859 29 days ago |
75-41860 75 days |
| 39236 |
quantumsnow author:quantumsnow |
feat(AlgebraicTopology): `HomologyPretheory` for Eilenberg-Steenrod homology |
This splits out a part of #38369 into a separate PR.
It includes a structure `TopPair.HomologyPretheory` containing the data for an Eilenberg-Steenrod homology theory and the first Eilenberg-Steenrod axiom as a typeclass `EilenbergSteenrod.IsHomotopyInvariant`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
maintainer-merge
awaiting-author
|
155/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/EilenbergSteenrod.lean |
2 |
37 |
['chrisflav', 'dagurtomas', 'github-actions', 'joelriou', 'quantumsnow'] |
robin-carlier assignee:robin-carlier |
1 |
0-33282 9 hours ago |
0-33282 9 hours ago |
2-50409 2 days |
| 37642 |
SnirBroshi author:SnirBroshi |
chore(Combinatorics/SimpleGraph): tidy various files |
---
Concept inspired by @Ruben-VandeVelde :)
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
maintainer-merge
|
74/62 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Subwalks.lean |
9 |
8 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
1 |
0-29674 8 hours ago |
0-29750 8 hours ago |
45-27937 45 days |
| 33355 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity |
This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870.
### Main definitions
- `SimpleGraph.IsVertexReachable`: vertices remain reachable after removing strictly fewer than `k` other vertices.
- `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if its order is strictly greater than `k` and any two distinct vertices are `k`-vertex-reachable.
Includes basic characterizations for $k=0$ and $k=1$, along with monotonicity lemmas (`anti` and `mono`). |
new-contributor
t-combinatorics
|
216/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/IsolateVerts.lean |
3 |
149 |
['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
1 |
0-24941 6 hours ago |
17-49297 17 days ago |
53-18180 53 days |
| 26975 |
Whysoserioushah author:Whysoserioushah |
feat: a norm_num extension for complex numbers |
co-authored-by : @thefundamentaltheor3m, @hrmacbeth
---
* depends on: #39628
* depends on: #39620
[](https://gitpod.io/from-referrer/)
|
t-meta |
444/14 |
Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/NormNumI.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Result.lean,MathlibTest/norm_numI.lean |
10 |
75 |
['JovanGerb', 'Vierkantor', 'Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'grunweg', 'hrmacbeth', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
1 |
0-23433 6 hours ago |
0-21972 5 hours ago |
112-30556 112 days |
| 38466 |
Thmoas-Guan author:Thmoas-Guan |
feat(ModuleCat): some lemmas for `Ext` over `ModuleCat` |
some lemmas for `Ext` over `ModuleCat`
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
awaiting-author
|
69/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean |
4 |
12 |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'robin-carlier'] |
chrisflav assignee:chrisflav |
1 |
0-18774 5 hours ago |
0-18774 5 hours ago |
25-38860 25 days |
| 39281 |
YaelDillies author:YaelDillies |
feat(RingTheory): convolution product on bialgebra homs |
Construct the ring structure on algebra homs `C → A` where `C` is a bialgebra and `A` an algebra, and also the ring structure on bialgebra homs `C → A` where `C` and `A` are bialgebras.
From Toric
Co-authored-by: Michał Mrugała
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
202/1 |
Mathlib.lean,Mathlib/RingTheory/Bialgebra/Convolution.lean,Mathlib/RingTheory/Bialgebra/TensorProduct.lean |
3 |
43 |
['YaelDillies', 'github-actions', 'kbuzzard', 'riccardobrasca', 'themathqueen'] |
nobody |
1 |
0-16979 4 hours ago |
0-31944 8 hours ago |
6-48833 6 days |
| 37944 |
YaelDillies author:YaelDillies |
refactor(Algebra): replace `SemilinearEquivClass.semilinearEquiv` by structure-specific coercions |
Remove the coercion from `E` to `SemilinearEquiv` assuming `SemilinearEquivClass E` and given by `SemilinearEquivClass.semilinearEquiv`. For each concrete type, reimplement this coercion through the relevant structure projection.
---
- [x] depends on: #38715
See also #21031, #37827.
[](https://gitpod.io/from-referrer/)
|
t-algebra
delegated
label:t-algebra$ |
67/65 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/Field.lean,Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean,Mathlib/LinearAlgebra/Complex/Determinant.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/AlgEquiv.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/Coalgebra/Equiv.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Algebra.lean,Mathlib/RingTheory/Invariant/Profinite.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean |
24 |
24 |
['Vierkantor', 'YaelDillies', 'github-actions', 'grunweg', 'mathlib-bors', 'mathlib-dependent-issues', 'themathqueen'] |
nobody |
1 |
0-15003 4 hours ago |
0-15003 4 hours ago |
4-36679 4 days |
| 39422 |
eric-wieser author:eric-wieser |
feat: add congruence lemmas for (d)finsupp big operators |
Also adds the missing n-ary product lemmas to match the existing sum lemmas.
Co-authored-by: Antoine Chambert-Loir
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
maintainer-merge
label:t-algebra$ |
166/1 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Data/DFinsupp/BigOperators.lean,Mathlib/GroupTheory/Congruence/BigOperators.lean,Mathlib/RingTheory/Congruence/BigOperators.lean,Mathlib/RingTheory/TwoSidedIdeal/BigOperators.lean |
5 |
19 |
['AntoineChambert-Loir', 'YaelDillies', 'eric-wieser', 'github-actions'] |
nobody |
2 |
0-14512 4 hours ago |
5-13349 5 days ago |
5-24702 5 days |
| 38905 |
YaelDillies author:YaelDillies |
feat(Geometry/Convex): convex sets in a `ConvexSpace` |
Define convex sets in a convex space.
To allow full generality on the coefficients, for `s` to be convex we require that all finitary
convex combinations of points of `s` lie in `s`, instead of merely binary ones as is customary.
Since its body is an implementation detail, the predicate `IsConvexSet` is unexposed.
`Convex` will be deprecated to `IsConvexSet` in a later PR.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Convexity.20refactor/with/593967042)
---
- [x] depends on: #37592
- [x] depends on: #38860
- [x] depends on: #38861
- [x] depends on: #38904
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
delegated
|
328/53 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Analysis/Convex/MetricSpace.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/Module.lean,Mathlib/Geometry/Convex/README.md,Mathlib/Geometry/Convex/Set.lean |
8 |
20 |
['YaelDillies', 'github-actions', 'martinwintermath', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
1 |
0-14005 3 hours ago |
0-30106 8 hours ago |
5-26915 5 days |
| 39487 |
ADedecker author:ADedecker |
chore: switch `EqLocus` from `LinearMapClass` to `LinearMap` |
---
Note: this PR was opened at 35000 feet :slightly_smiling_face:
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
18/14 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Module/Submodule/EqLocus.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Topology/Algebra/Module/ContinuousLinearMap/Basic.lean |
4 |
10 |
['ADedecker', 'b-mehta', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
1 |
0-13287 3 hours ago |
0-54827 15 hours ago |
3-26163 3 days |
| 37189 |
Brian-Nugent author:Brian-Nugent |
feat(AlgebraicGeometry): The pushforward of a quasi-coherent sheaf between affines is quasi-coherent |
To be more precise, we show that if `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` is an isomorphism then the same holds for the pushforward. This will show that being quasicoherent is stable under pushforward for affine morphisms once it is shown that `AlgebraicGeometry.Scheme.Modules.fromTildeΓ` being an isomorphism is equivalent to being quasicoherent.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
maintainer-merge
|
215/6 |
Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/Topology/Sheaves/SheafCondition/Sites.lean |
7 |
49 |
['Brian-Nugent', 'chrisflav', 'github-actions', 'joelriou'] |
adamtopaz and chrisflav assignee:adamtopaz assignee:chrisflav |
1 |
0-10208 2 hours ago |
0-12810 3 hours ago |
34-31569 34 days |
| 39623 |
justus-springer author:justus-springer |
feat(Algebra/MvPolynomial/Basic): `coeff_C_of_ne_zero` and `coeff_add_single_C` |
These lemmas are multivariate analogs to `Polynomial.coeff_C_of_ne_zero`, `Polynomial.coeff_C_succ` and `PowerSeries.coeff_C_of_ne_zero` and `PowerSeries.coeff_succ_C`. They are useful for defining partial derivatives for multivariate power series, see PR #39626.
- [x] depends on: #39632
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
16/0 |
Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean |
2 |
5 |
['github-actions', 'justus-springer', 'mathlib-dependent-issues', 'wwylele'] |
nobody |
1 |
0-9300 2 hours ago |
0-9416 2 hours ago |
0-24109 6 hours |
| 39620 |
eric-wieser author:eric-wieser |
feat: missing nnratCast lemmas for RCLike |
---
[](https://gitpod.io/from-referrer/)
|
easy
t-analysis
|
10/3 |
Mathlib/Analysis/RCLike/Basic.lean |
1 |
4 |
['Whysoserioushah', 'eric-wieser', 'github-actions'] |
nobody |
1 |
0-9017 2 hours ago |
0-16810 4 hours ago |
0-16450 4 hours |
| 37677 |
vihdzp author:vihdzp |
feat: club sets |
In set theory, a club set is a subset of an ordinal of uncountable cofinality, which is closed in the order topology, and unbounded within the ordinal.
We generalize this notion to that of a club set in a well-order `α`: this is a set which is cofinal and closed under suprema. We recover the more standard notion by setting `α = Iio o`, whenever `ℵ₀ < o.cof`.
We prove that club sets are closed under intersections of size less than the cofinality of `α`, and that the fixed points of a normal function are a club set.
---
The idea is to eventually rework [`Ordinal.deriv`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/SetTheory/Ordinal/FixedPoint.html#Ordinal.deriv). This is simply the enumerator function for the fixed points of `f`, and enumerator functions for club sets are always normal.
- [x] depends on: #37670
[](https://gitpod.io/from-referrer/)
|
t-set-theory
t-order
delegated
|
181/13 |
Mathlib.lean,Mathlib/Order/Cofinal.lean,Mathlib/Order/DirSupClosed.lean,Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Cardinal/Cofinality/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality/Club.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean,Mathlib/SetTheory/Ordinal/FundamentalSequence.lean |
8 |
20 |
['YaelDillies', 'github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] |
nobody |
2 |
0-2098 34 minutes ago |
1-20078 1 day ago |
26-57393 26 days |
| 37779 |
mcdoll author:mcdoll |
feat(Data/FunLike): introduce typeclasses for algebraic properties of `FunLike` |
These typeclasses remove the need for each function space that has, e.g., a linear structure
to define `add_apply`, `smul_apply`, etc. Instead after defining the the `Add` instance one also defines a
`FunLikeAdd` instance (with a proof usually being `rfl`).
Allows removing some boilerplate as theorems like `sum_apply` are currently proved in various files:
after this PR, they can be proved in an abstract way.
Moreover, we provide abbreviations for further structure (such as `Semigroup``) in
the concrete function spaces.
The usage of these typeclasses were prototyped in #33477 and will be merged in a separate PR.
The docstrings were generated with AI (and heavily edited afterwards), everything else is handwritten.
---
The previous PR #33477 has gotten quite a few merge conflicts, so I opened a new PR with just the new features. I would like to get the approval of this design before going through the library and change everything. I am open to either do this in this PR or a second one (or multiple for different parts).
- [x] depends on: #38401
- [x] depends on: #38398
[](https://gitpod.io/from-referrer/)
|
t-data
delegated
|
683/0 |
Mathlib.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Data/FunLike/Module.lean,Mathlib/Data/FunLike/Ring.lean |
5 |
30 |
['Vierkantor', 'github-actions', 'grunweg', 'j-loreaux', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll'] |
Vierkantor and j-loreaux assignee:Vierkantor assignee:j-loreaux |
1 |
0-1720 28 minutes ago |
1-31497 1 day ago |
20-49022 20 days |
| 37752 |
JovanGerb author:JovanGerb |
chore(Order/CompleteLattice/Lemmas): use `to_dual` |
Use `to_dual` for lemmas about `CompleteLattice`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
27/56 |
Mathlib/Order/CompleteLattice/Lemmas.lean |
1 |
1 |
['github-actions', 'vihdzp'] |
nobody |
1 |
0-1268 21 minutes ago |
43-38108 43 days ago |
43-37589 43 days |
| 34805 |
DavidLedvinka author:DavidLedvinka |
feat(Tactic): generalize ofScientific NormNum extension to `DivisionSemiring` |
Co-authored-by: @hrmacbeth |
t-meta |
68/20 |
Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/OfScientific.lean,MathlibTest/norm_num.lean |
3 |
26 |
['DavidLedvinka', 'JovanGerb', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
1 |
0-1267 21 minutes ago |
60-18216 60 days ago |
80-59109 80 days |
| 37753 |
JovanGerb author:JovanGerb |
chore(Order/Filter/Basic): use `to_dual` for `≤ᶠ` |
Use `to_dual` on lemmas about `EventuallyLE`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
19/6 |
Mathlib/Order/Filter/Basic.lean |
1 |
2 |
['github-actions', 'vihdzp'] |
nobody |
1 |
0-1267 21 minutes ago |
43-37973 43 days ago |
43-37454 43 days |
| 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 |
| 14720 |
eric-wieser author:eric-wieser |
refactor: change `CliffordAlgebra.lift` to use quadratic maps |
This works towards addressing a footnote on [page 152](https://eric-wieser.github.io/thesis/eric-wieser-thesis.pdf#page=164) of my thesis.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
200/167 |
Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/QuadraticForm/Dual.lean,Mathlib/LinearAlgebra/QuadraticForm/Isometry.lean,Mathlib/LinearAlgebra/QuadraticForm/IsometryEquiv.lean,Mathlib/LinearAlgebra/QuadraticForm/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/Real.lean,Mathlib/LinearAlgebra/QuadraticForm/TensorProduct/Isometries.lean |
11 |
1 |
['github-actions'] |
nobody |
658-61637 1 year ago |
unknown |
0-0 0 seconds |
| 14889 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Bicategory/Monad): define monad in bicategory |
---
- [ ] depends on: #12107
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-category-theory
|
1566/12 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Functor/Oplax.lean,Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Bicategory/Monad/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Monad/Basic.lean,Mathlib/CategoryTheory/Bicategory/Monad/Cat.lean,Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty |
14 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61637 1 year ago |
unknown |
0-0 0 seconds |
| 13847 |
alreadydone author:alreadydone |
feat(EllipticCurve): the universal elliptic curve |
+ Define the universal Weierstrass curve (`Universal.curve`) over the polynomial ring `ℤ[A₁,A₂,A₃,A₄,A₆]`, and the universal pointed elliptic curve (`Universal.pointedCurve`) over the field of fractions (`Universal.Field`) of the universal ring `ℤ[A₁,A₂,A₃,A₄,A₆,X,Y]/⟨P⟩ = Universal.Poly/⟨P⟩` (`Universal.Ring`, where `P` is the Weierstrass polynomial) with distinguished point `(X,Y)`.
+ Given a Weierstrass curve `W` over a commutative ring `R`, we define the specialization homomorphism `W.specialize : ℤ[A₁,A₂,A₃,A₄,A₆] →+* R`. If `(x,y)` is a point on the affine plane, we define `W.polyEval x y : Universal.Poly →+* R`, which factors through `W.ringEval x y : Universal.Ring →+* R` if `(x,y)` is on `W`.
+ Introduce the cusp curve `Y² = X³`, on which lies the rational point `(1,1)`, with the nice property that `ψₙ(1,1) = n`, making it easy to prove nonvanishing of the universal `ψₙ` when `n ≠ 0` by specializing to the cusp curve, which shows that `(X,Y)` is a point of infinite order on the universal pointed elliptic curve.
---
- [x] depends on: #13845
- [x] depends on: #12883
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-algebraic-geometry
label:t-algebra$ |
543/208 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean |
6 |
4 |
['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61636 1 year ago |
unknown |
0-0 0 seconds |
| 14036 |
adomani author:adomani |
Test/decl diff in lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
465/1040 |
.github/workflows/Lean_decl_diff.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
1 |
['github-actions'] |
nobody |
658-61636 1 year ago |
unknown |
0-0 0 seconds |
| 12952 |
adomani author:adomani |
test: length statistics |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
124/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/mathlib_stats.sh |
3 |
9 |
['github-actions'] |
nobody |
658-61635 1 year ago |
unknown |
0-0 0 seconds |
| 13297 |
urkud author:urkud |
feat(Semicontinuous): add `comp` lemma |
---
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-topology
t-order
|
31/13 |
Mathlib/Topology/Semicontinuous.lean |
1 |
3 |
['sgouezel', 'urkud'] |
nobody |
658-61635 1 year ago |
722-62333 722 days ago |
0-18201 5 hours |
| 13372 |
adomani author:adomani |
dev: generic replacement |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
446/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ReplaceRefine.lean,Mathlib/Tactic/Replacements.lean |
4 |
4 |
['adomani', 'github-actions'] |
nobody |
658-61635 1 year ago |
unknown |
0-0 0 seconds |
| 13512 |
adomani author:adomani |
test: count all |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Tally.lean |
4 |
0 |
[] |
nobody |
658-61635 1 year ago |
unknown |
0-0 0 seconds |
| 12416 |
adomani author:adomani |
chore: remove some cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3830/3239 |
Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DirectSumIsInternal.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Spectrum.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/List/Basic.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GeomSum.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/TotalComplex.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/Module/Zlattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/BigOperators/Group/List.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Int.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/TangentCone.lean |
608 |
0 |
[] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12465 |
rosborn author:rosborn |
style: Change Subtype.val to (↑) |
---
This is a test to see replacing `Subtype.val` with `(↑)` where appropriate.
After performing the rewrite, some of the types subtly changed in a difficult to detect manner.
Before the change, `openEmbedding' _` had type `OpenEmbedding Subtype.val` where `Subtype.val` expanded as `@Subtype.val α fun x ↦ x ∈ U : ↥U → α`. After the change, `Subtype.val` expands to `@Subtype.val α fun x ↦ x ∈ ↑U : { x // x ∈ ↑U } → α`. This caused some later proofs to fail due to the different definition.
In a similar case, within the proof of `mfderiv_coe_sphere_injective` on line 553 `Subtype.val` expanded as `@Subtype.val E fun x ↦ x ∈ (Submodule.span ℝ {↑(-v)})ᗮ : ↥(Submodule.span ℝ {↑(-v)})ᗮ → E`.
After changing to `(↑)`, it expanded to `@Subtype.val E fun x ↦ x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ : { x // x ∈ ↑(Submodule.span ℝ {↑(-v)})ᗮ } → E`. One benefit to using `(↑)` was that it lead to a shorter proof as `ContinuousLinearEquiv.coe_coe` could be removed on line 559.
In general, this subtle change in types is basically impossible to detect without a tool like leaff.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
50/50 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/CategoryTheory/Generator.lean,Mathlib/CategoryTheory/Limits/Shapes/Types.lean,Mathlib/CategoryTheory/Subobject/Types.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Geometry/Manifold/ContMDiff/Basic.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/GroupTheory/Subsemigroup/Operations.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/Order/Directed.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/RelIso/Set.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean,Mathlib/Topology/UniformSpace/UniformEmbedding.lean |
28 |
1 |
['eric-wieser', 'rosborn'] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12473 |
adomani author:adomani |
first translations |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
424/265 |
Mathlib.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean |
5 |
0 |
[] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12528 |
adomani author:adomani |
test: autotranslations Bot --> Top |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
350/294 |
Mathlib.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,test/MinMax.lean |
5 |
0 |
[] |
nobody |
658-61634 1 year ago |
751-10672 751 days ago |
0-4 4 seconds |
| 12588 |
adomani author:adomani |
remove trailingDegree |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1280/979 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/TrailingDegree.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Order/WithBot.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMax.lean,Mathlib/Tactic/MinMaxTwo.lean,test/MinMax.lean |
11 |
0 |
[] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12608 |
eric-wieser author:eric-wieser |
feat: allow `nsmul` / `zsmul` to be omitted again, with a warning |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-meta
label:t-algebra$ |
118/2 |
Mathlib.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/DefaultFieldLinter.lean,scripts/noshake.json,test/default_field_linter.lean |
6 |
12 |
['YaelDillies', 'eric-wieser', 'fpvandoorn', 'github-actions'] |
nobody |
658-61634 1 year ago |
748-7653 748 days ago |
0-84 1 minute |
| 12637 |
adomani author:adomani |
translation: MonoidAlgebra to AddMonoidAlgebra |
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/merge.20Add-MonoidAlgebra)
* #12646 was found as a consequence of unification.
* #12659 the typo `single 1 1` for `single 0 1`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-meta
label:t-algebra$ |
615/986 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MinMaxTwo.lean,scripts/noshake.json |
7 |
0 |
[] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12679 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf(NumberTheory/RamificationInertia): speed up slow file |
A repetition of the earlier experiment at [#12412](https://github.com/leanprover-community/mathlib4/pull/12412) with Lean 4.8.0-rc1.
This time, I tried not to introduce local instances if possible, but instead to tweak instance priorities.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
57/14 |
Mathlib/NumberTheory/RamificationInertia.lean |
1 |
3 |
['MichaelStollBayreuth', 'github-actions', 'leanprover-bot'] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 12984 |
adomani author:adomani |
Adomani/periodic reports dev custom action |
---
[](https://gitpod.io/from-referrer/)
|
WIP
test-ci
|
366/0 |
.github/workflows/mathlib_stats.yml,.github/workflows/ml_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh |
4 |
69 |
['github-actions'] |
nobody |
658-61634 1 year ago |
unknown |
0-0 0 seconds |
| 13057 |
alreadydone author:alreadydone |
feat(NumberTheory): characterize elliptic divisibility sequences |
Main results:
+ Every `normEDS` is an elliptic divisibility sequence (EDS). The key proof is `rel₄_of_anti_oddRec_evenRec`, based on my original argument first published on [MathSE](https://math.stackexchange.com/a/4903422/12932)
+ Conversely, every EDS is equal to some `normEDS` (assuming that the first two terms are not zero divisors)
---
- [ ] depends on: #13155
- [x] depends on: #13153
- [x] depends on: #10843
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-number-theory
blocked-by-other-PR
label:t-algebra$ |
1032/55 |
Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Int/Defs.lean,Mathlib/Data/Int/Parity.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
5 |
6 |
['Multramate', 'alreadydone', 'kbuzzard', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61634 1 year ago |
726-86062 726 days ago |
0-34672 9 hours |
| 12192 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: generalize isLittleO_const_id_atTop/atBot |
From PNT+.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
10/4 |
Mathlib/Analysis/Asymptotics/Asymptotics.lean |
1 |
6 |
['Ruben-VandeVelde', 'llllvvuu', 'urkud'] |
nobody |
658-61633 1 year ago |
762-83729 762 days ago |
1-21749 1 day |
| 10024 |
ADedecker author:ADedecker |
feat: rename `connectedComponentOfOne` to `identityComponent`, prove that it is normal and open |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
awaiting-CI
|
58/24 |
Mathlib/FieldTheory/AbsoluteGaloisGroup.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean,Mathlib/Topology/Connected/Basic.lean |
5 |
0 |
[] |
nobody |
658-61632 1 year ago |
845-53756 845 days ago |
0-832 13 minutes |
| 10521 |
eric-wieser author:eric-wieser |
chore: generalize `IsBoundedLinearMap` to modules |
Most of the lemmas don't actually need the normed on the scalars at all.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
58/42 |
Mathlib/Analysis/NormedSpace/BoundedLinearMaps.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'urkud'] |
nobody |
658-61632 1 year ago |
825-29682 825 days ago |
1-29105 1 day |
| 10721 |
urkud author:urkud |
feat(Order/FunLike): define `PointwiseLE` |
- introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`;
- add a generic `DFunLike.orderEmbeddingCoe`
- add `DFunLike.PointwiseLE` instances here and there.
With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`.
---
- [x] depends on: #12983
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-order
t-logic
|
123/50 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean |
13 |
48 |
['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
658-61632 1 year ago |
708-40034 708 days ago |
64-12984 64 days |
| 10845 |
Shamrock-Frost author:Shamrock-Frost |
Refactor: Make MonoidalFunctor carry the data of an inverse |
We change the definition of a strong monoidal functor from a lax monoidal functor for which the unitor and tensorator are `IsIso` to a lax monoidal functor with the data of inverses for the unitor and tensorator. This requires fixing a lot of knock on effects.
---
This is a **draft PR**. I would like to talk with people on zulip before merging it, and plan ahead to when we have oplax/colax monoidal functors as well. I'm not sure the approach I took here where `MonoidalFunctor` inherits from `LaxMonoidalFunctor` is a good choice if we want to be lax/oplax symmetric.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
RFC
t-category-theory
|
3799/1589 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Homology/HomotopyCategory/DegreewiseSplit.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Adjunction/Prod.lean,Mathlib/CategoryTheory/Adjunction/Whiskering.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/CatCommSq.lean,Mathlib/CategoryTheory/CatSquares.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Iso.lean,Mathlib/CategoryTheory/Monoidal/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CommMon_.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/CategoryTheory/Monoidal/Types/Basic.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Products/Associator.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Shift/Basic.lean,Mathlib/CategoryTheory/Shift/Pullback.lean,Mathlib/CategoryTheory/Whiskering.lean,Mathlib/RepresentationTheory/Action/Monoidal.lean,Mathlib/RepresentationTheory/GroupCohomology/Resolution.lean,Mathlib/RepresentationTheory/Rep.lean |
41 |
7 |
['Shamrock-Frost', 'joelriou'] |
nobody |
658-61632 1 year ago |
unknown |
0-0 0 seconds |
| 11100 |
eric-wieser author:eric-wieser |
feat(CategoryTheory/Limits): add `Functor.mapBinaryBiconeInv` |
---
- [ ] depends on: #11130
[](https://gitpod.io/from-referrer/)
It's tempting to try to prove something like
```lean
theorem Functor.mapBinaryBiconeInv_toCone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCone =
(e.mapConeInv <| (Cones.postcompose (pairComp X Y e).symm.hom).obj b.toCone) := by
simp
sorry
theorem Functor.mapBinaryBiconeInv_toCocone [Limits.HasZeroMorphisms C]
[Limits.HasZeroMorphisms D]
(e : D ⥤ C) [IsEquivalence e] {X Y : D} (b : BinaryBicone (e.obj X) (e.obj Y)) :
(e.mapBinaryBiconeInv b).toCocone =
(e.mapCoconeInv <| (Cocones.precompose (pairComp X Y e).hom).obj b.toCocone) := by
sorry
```
but maybe equality is evil here |
merge-conflict
t-category-theory
awaiting-CI
|
52/0 |
Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Biproducts.lean |
3 |
6 |
['TwoFX', 'eric-wieser', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61632 1 year ago |
unknown |
0-0 0 seconds |
| 8503 |
thorimur author:thorimur |
feat: meta utils for `refine?` |
This PR introduces some metaprogramming infrastructure and utilities that are necessary for `refine?` (#8364).
* `elabTermWithHoles'` (and `withCollectingNewGoalsFrom'`): a more configurable version of `elabTermWithHoles`, which allows: preserving the initial mvar type; *not* tagging untagged goals; and postponing mvars.
* Some `Syntax` and `TSyntax` functionality, including:
* `TSyntax.map`(`M`), for acting on `TSyntax` with functions `f : Syntax -> (m) Syntax`
* Range operations: `includes` and `isEqByRange`
* `setTrailingInfoBy?` and `unsetOriginalTrailing`, which is like `unsetTrailing`, but behaves as expected.
* `Term.withoutModifyingState`, which does not allow unknown mvarIds to escape via the infotree
* `hasNewErrors`, which runs a monad computation and returns the value along with `true` or `false` depending on whether new error messages have been logged
* the option `pp.anonymousMVarSuffixes`, which can be set to `false` to replace all numeric suffixes of anonymous mvars with `✝`, which is useful in tandem with `#guard_msgs` for tests (but is essentially a workaround—although it can make some tactic states more legible).
---
I'm open to suggestions on the location and name of the option/delaborator used for trimming the numeric suffixes of anonymous mvar names (which is used in the tests)—including whether or not it should exist in the first place, as it's essentially just a workaround.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
312/5 |
Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean |
6 |
2 |
['kmill', 'thorimur'] |
kmill assignee:kmill |
658-61631 1 year ago |
875-33955 875 days ago |
38-46649 38 days |
| 8519 |
eric-wieser author:eric-wieser |
refactor(LinearAlgebra/TensorProduct): golf using `liftAddHom` |
This new `TensorProduct.liftAddHom` doesn't require bilinearity, only that scalar multiplication can be moved between the arguments.
While in theory we only need the `AddMonoidHom` version as it offers exactly the same generality, we first provide an unbundled `liftFun` as this seems to give a sizeable performance boost if used in downstream `lift` variants.
---
- [x] depends on: #8571
- [x] depends on: #8584
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
53/50 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
3 |
28 |
['bustercopley', 'eric-wieser', 'jcommelin', 'jjaassoonn', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors'] |
nobody |
658-61631 1 year ago |
898-26994 898 days ago |
5-6524 5 days |
| 8582 |
eric-wieser author:eric-wieser |
wip |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
3/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
2 |
4 |
['eric-wieser', 'leanprover-bot'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 8616 |
eric-wieser author:eric-wieser |
feat(Algebra/FreeAlgebra): add right action and `IsCentralScalar` |
---
- [ ] depends on: #8652
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
30/8 |
Mathlib/Algebra/FreeAlgebra.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
658-61631 1 year ago |
906-9173 906 days ago |
2-25170 2 days |
| 8658 |
eric-wieser author:eric-wieser |
feat: support right actions for `Con` |
This adds a new `Con.CompatibleSMul` typeclass that captures exactly the condition when `smul` descends to the quotient.
I was not quite able to merge this with `MulAction.QuotientAction`:
* The imports are such that the congruence relation `QuotientGroup.con` is not yet available in that file
* `QuotientGroup.con` requires the subgroup to be normal, while `MulAction.QuotientAction` does not
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
80/18 |
Mathlib/GroupTheory/Congruence.lean,Mathlib/RingTheory/Congruence.lean |
2 |
6 |
['YaelDillies', 'eric-wieser'] |
nobody |
658-61631 1 year ago |
875-27278 875 days ago |
29-65537 29 days |
| 8788 |
FMLJohn author:FMLJohn |
feat(Algebra/Module/GradeZeroModule): if `A` is a graded semiring and `M` is a graded `A`-module, then each grade of `M` is a module over the 0-th grade of `A`. |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
237/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
6 |
4 |
['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61631 1 year ago |
898-51527 898 days ago |
1-57831 1 day |
| 8906 |
jjaassoonn author:jjaassoonn |
feat: add some missing lemmas about linear algebra |
---
- [ ] depends on: #8905 [lifting injective modules to higher universe]
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
45/1 |
Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/LinearAlgebra/Basic.lean,Mathlib/LinearAlgebra/BilinearMap.lean |
4 |
21 |
['AntoineChambert-Loir', 'alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61631 1 year ago |
894-34725 894 days ago |
0-343 5 minutes |
| 8961 |
eric-wieser author:eric-wieser |
refactor: use the coinduced topology on ULift |
---
- [x] depends on: #8958
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-author
awaiting-CI
|
46/14 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Constructions.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
658-61631 1 year ago |
892-7061 892 days ago |
0-1 1 second |
| 9146 |
laughinggas author:laughinggas |
feat(Data/ZMod/Defs): Topological structure on `ZMod` |
Added a discrete topology structure to `ZMod n` for all `n`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-topology
label:t-algebra$ |
55/3 |
Mathlib.lean,Mathlib/Topology/Algebra/Constructions.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Instances/ZMod.lean,Mathlib/Topology/Maps.lean |
5 |
61 |
['YaelDillies', 'eric-wieser', 'github-actions', 'jcommelin', 'laughinggas', 'mo271', 'urkud'] |
nobody |
658-61631 1 year ago |
865-19722 865 days ago |
7-11053 7 days |
| 9229 |
eric-wieser author:eric-wieser |
refactor(Algebra/GradedMonoid): Use `HMul` to define `GMul` |
This make the notation much nicer, but I'm pretty sure this is a bad idea for performance / ambiguity reasons.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
114/125 |
Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean |
11 |
6 |
['eric-wieser', 'leanprover-bot'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9252 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove redundant covariance instances, add priority |
I noticed that the following code is surprisingly slow.
``` lean
import Mathlib
count_heartbeats in
example {n : ℕ} : CovariantClass (Fin (n + 1)) (Fin (n + 1)) (· + ·) (· < ·) := by
try infer_instance
sorry
```
This PR removed some redundant instances. The heartbeats have dropped from 19118 to 11450 (still too slow).
Lean4 still seems to make some redundant attempts. See also https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-order
merge-conflict
slow-typeclass-synthesis
awaiting-author
label:t-algebra$ |
40/32 |
Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Four.lean |
4 |
8 |
['astrainfinita', 'leanprover-bot', 'urkud'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9354 |
chenyili0818 author:chenyili0818 |
feat: monotonicity of gradient on convex real-valued functions |
This file is based on Mathlib.Analysis.Calculus.Gradient.Basic, and describes the calculation properties
co-authored-by: Ziyu Wang [tropicalfish910@gmail.com](mailto:tropicalfish910@gmail.com)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
540/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ConvexFunction.lean |
2 |
15 |
['github-actions', 'winstonyin'] |
nobody |
658-61631 1 year ago |
849-5857 849 days ago |
23-36394 23 days |
| 9356 |
alexjbest author:alexjbest |
feat: assumption? |
A little helper for replacing `assumption`s with `exact` statements quickly
---
If this is approved I will add tests
This begs the question of whether it might simply be better to add some sort of code action for "replace with trythis output"
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
24/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/TryAssumption.lean |
4 |
5 |
['alexjbest', 'j-loreaux', 'jcommelin'] |
nobody |
658-61631 1 year ago |
853-11229 853 days ago |
19-26336 19 days |
| 9469 |
dupuisf author:dupuisf |
feat: maximum modulus principle for functions vanishing at infinity |
This PR adds versions of the maximum modulus principle for functions vanishing at infinity that parallel those we already had for functions over a bounded set. These will have applications in e.g. norm interpolation.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-analysis
|
71/0 |
Mathlib/Analysis/Complex/AbsMax.lean |
1 |
8 |
['dupuisf', 'j-loreaux'] |
nobody |
658-61631 1 year ago |
853-16477 853 days ago |
12-86009 12 days |
| 9482 |
yuma-mizuno author:yuma-mizuno |
refactor(CategoryTheory/Monoidal): add `LaxMonoidalStruct` |
Add a `LaxMonoidalStruct` with only the unit morphism `ε` and the tensorator `μ`. This is used in #6307 to provide two different constructors for `LaxMonoidal` that have common `ε` and `μ` but use the tensor of morphisms or the whiskerings.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
21/8 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Monoidal/Functorial.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean |
3 |
0 |
[] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9487 |
eric-wieser author:eric-wieser |
feat: the exponential of dual numbers over non-commutative rings |
This is a work in progress, as I don't know my way around the measure theory library.
---
- [x] depends on: #9489
- [x] depends on: #9486
- [x] depends on: #10427
- [ ] depends on: #10452
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-measure-probability
merge-conflict
t-analysis
label:t-algebra$ |
97/0 |
Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean |
1 |
7 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9504 |
alreadydone author:alreadydone |
chore: remove some IsSeparable assumptions |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
41/14 |
Mathlib/NumberTheory/NumberField/Norm.lean,Mathlib/RingTheory/Norm.lean |
2 |
0 |
[] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9510 |
eric-wieser author:eric-wieser |
feat(Analysis/Calculus/DualNumber): Extending differentiable functions to dual numbers |
This shows that this operation preserves multiplication and composition
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-analysis
awaiting-CI
label:t-algebra$ |
119/0 |
Mathlib/Analysis/Calculus/DualNumber.lean |
1 |
4 |
['github-actions'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9570 |
eric-wieser author:eric-wieser |
feat(Algebra/Star): Non-commutative generalization of `StarModule` |
[Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Star.20modules.20over.20non-commutative.20scalars/near/383664005).
Until we address #7152, we have to have both `StarModule` and `StarModule'`.
To prove this generalization is useful, this shows that with it as an assumption, `TrivSqZeroExt` is a `StarRing`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-CI
label:t-algebra$ |
66/6 |
Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Prod.lean,Mathlib/Algebra/TrivSqZeroExt.lean |
4 |
0 |
[] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 9642 |
eric-wieser author:eric-wieser |
refactor(Analysis/Normed/{Group/Field}/Basic): Let `extends` generate the repeated fields |
New-style structure shenanigans mean that instance constructors randomly complain about a missing field that can be found with `__ : MetricSpace _ := infer_instance`.
---
[](https://gitpod.io/from-referrer/)
I will write a longer PR description for this once CI is happy
|
WIP
merge-conflict
awaiting-author
help-wanted
t-analysis
|
122/202 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Completion.lean,Mathlib/Analysis/Normed/Order/Basic.lean,Mathlib/Analysis/NormedSpace/ProdLp.lean,Mathlib/Analysis/NormedSpace/Star/Matrix.lean,Mathlib/Analysis/NormedSpace/Unitization.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
17 |
11 |
['eric-wieser', 'leanprover-bot', 'urkud'] |
nobody |
658-61631 1 year ago |
unknown |
0-0 0 seconds |
| 6580 |
adomani author:adomani |
chore: `move_add`-driven replacements |
This PR accompanies #6576 and uses `move_add/mul` to simplify/streamline a selection of proofs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
12/13 |
Counterexamples/Monic_nonRegular.lean,Mathlib/Algebra/Associated.lean,Mathlib/Data/Polynomial/RingDivision.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean |
4 |
0 |
[] |
nobody |
658-61630 1 year ago |
944-24394 944 days ago |
62-34247 62 days |
| 6630 |
MohanadAhmed author:MohanadAhmed |
feat: Reduced Spectral Theorem |
For A hermitian matrix $A : n \times n$ with rank $A.rank \leq n$, we can eliminate the zero eigenvalues and their corresponding eigenvectors from the (alternate) spectral theorem. As such the matrix $A$ can be written as: $$A = V₁ D V₁ᴴ$$ where
- $V₁$ : $n \times r$ is the matrix of eigenvector with non-zero associated eigenvalues.
- $D$ is $r \times r$ is the diagonal matrix containing only non-zero eigenvalues on its main diagonal.
with $r = A.rank$ being the rank of the matrix
Towards that goal we make several equivalence definitions:
- `{i // hA.eigenvalues i ≠ 0} ≃ Fin (A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (r - 1).
- `{i // ¬ hA.eigenvalues i ≠ 0} ≃ Fin (n - A.rank)` the set of non-zero eigenvalues can be indexed by the numbers from 0 to (n - r - 1).
- `{i // hA.eigenvalues i ≠ 0} ⊕ {i // ¬hA.eigenvalues i ≠ 0} ≃ n`: the index set of the matrix (together with the associated eigenvector matrix and eigenvalues matrix ) can be partitioned into two complement groups the ones corresponding to non-zero eigenvalues and the ones corresponding to zero eigenvalues.
- We can then put the previous definitions together to obtain a: `Fin (A.rank) ⊕ Fin (Fintype.card n - A.rank) ≃ n`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
31/0 |
Mathlib/LinearAlgebra/Matrix/Spectrum.lean |
1 |
0 |
[] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 6777 |
adomani author:adomani |
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) |
Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`.
This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066).
Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary
---
```bash
# First sed command:
# the first captured pattern is `Co*variantClass `
# the second captured pattern is ``
# the third captured pattern is `+` or `*`
# the fourth captured pattern is `<` or `≤`
# a match for `Co*variantClass (· ·) (· ·)` becomes
# `Co*variantClass replaceop replaceop`
# Second sed command: similar to the first, but looks for `(Function.swap (· ·))`
sed -i '
s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g
s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g
s=replaceop+=HAdd.hAdd=g
s=replaceop\*=HMul.hMul=g
s=replaceop<=LT.lt=g
s=replaceop≤=LE.le=g
s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g
s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g
s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g
s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g
s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g
s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g
' $(git ls-files '*.lean')
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
703/678 |
Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean |
81 |
37 |
['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] |
nobody |
658-61630 1 year ago |
933-27127 933 days ago |
35-63136 35 days |
| 6791 |
eric-wieser author:eric-wieser |
refactor: Use flat structures for morphisms |
This restores the symmetry we had in Lean3, where we had `MonoidHom.mk f one mul` not `MonoidHom.mk (OneHom.mk f one) mul`, and `f.toFun` wasn't notation for `f.toMulHom.toFun`.
The nesting provided by the previous inheritance is useless to us in the face of `MonoidHomClass.toMonoidHom`, which completely eta-expands the structure anyway.
We call the class `FunLikeFlatHack._` because this means the field is called `to_` which uses up less space in the goal view than any alternative.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
awaiting-CI
|
174/201 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/GroupCat/ZModuleEquivalence.lean,Mathlib/Algebra/Category/GroupWithZeroCat.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Hom/Equiv/Basic.lean,Mathlib/Algebra/Hom/Group/Defs.lean,Mathlib/Algebra/Hom/GroupAction.lean,Mathlib/Algebra/Hom/NonUnitalAlg.lean,Mathlib/Algebra/Hom/Ring/Defs.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Module/Equiv.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/Normed/Group/SemiNormedGroupCat.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Real/EReal.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/RingTheory/RingInvo.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/MetricSpace/Dilation.lean |
32 |
0 |
[] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 6930 |
kmill author:kmill |
feat: `resynth_instances` tactic for resynthesizing instances in the goal or local context |
This tactic can be useful for debugging non-canonical instances or for fixing up goals and hypotheses after using the `classical` tactic.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
327/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ResynthInstances.lean,test/ResynthInstances.lean |
4 |
0 |
[] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 6931 |
urkud author:urkud |
refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` |
---
I don't understand why linter fails.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-analysis
|
78/68 |
Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Basic.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean |
8 |
0 |
[] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7225 |
jjaassoonn author:jjaassoonn |
some random stuff |
- Consider two commutative rings `R` and `S` and `X` and `(R, S)`-bimodule.
Consider the tensor functor `(X ⊗[R] .)` from the category of `R`-modules to the category of `S`-modules and the hom functor `X →ₗ[S] .` from the category of `S`-modules to the category of `R`-modules, they form an adjunction.
- direct limits of modules commute with tensor product
- A proof of 
Three definitions for flatness:
1. in terms of injectiveness
```lean
def Flat.injective : Prop :=
∀ ⦃N N' : ModuleCat.{u} R⦄ (L : N ⟶ N'),
Function.Injective L → Function.Injective ((tensorRight (ModuleCat.of R M)).map L)
```
2. in terms of ideals
```lean
def Flat.ideal : Prop :=
∀ (I : Ideal R), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
3. in terms of finitely generated ideal
```lean
def Flat.fg_ideal : Prop :=
∀ ⦃I : Ideal R⦄ (_ : I.FG), Function.Injective (TensorProduct.lift ((lsmul R M).comp I.subtype))
```
and they are all equivalent:
```lean
lemma tfae : List.TFAE
[ Flat.injective R M,
Flat.ideal R M,
Flat.fg_ideal R M ] := by
```
The dependencies between these changed files are:
```
Algebra.Module.LinearMap---------------------------------
| |
| |
v v
Algebra.Category.ModuleCat.TensorProduct -----> Algebra.Character
|
|
|
v
Algebra.DirectLimitAndTensorProduct -------------> RingTheory.Flat
```
to prove equivalence of other definitions, e.g. exact functor, tor, etc should be easier with this because the proof is will be categorical
---
-------------
Some other stuff not about flatness
1. If $S$ is a submonoid and $I$ is maximally disjoint from $S$ then $I$ is prime
2. if $\mathfrak p$ is a minimal prime, then $x \in \mathfrak p$ implies that $x$ is a zero divisor
3. Noetherian rings has only finitely many minimal ideals
4. One version of [the prime avoidance lemma](https://en.wikipedia.org/wiki/Prime_avoidance_lemma): if $E$ is an addsubgroup of a ring and is mutiplicatively closed, and $\mathfrak p_i$ is some prime ideals, then not being any subset of the individual prime ideal implies that not being a subset of their union
----------
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1828/16 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorProduct.lean,Mathlib/Algebra/Character.lean,Mathlib/Algebra/DirectLimitAndTensorProduct.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/Noetherian.lean,Mathlib/CategoryTheory/Functor/Fin.lean,Mathlib/CategoryTheory/ShortExactSequence.lean,Mathlib/RingTheory/Flat.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime.lean,Mathlib/RingTheory/Ideal/PrimeAvoidance.lean |
13 |
6 |
['eric-wieser', 'jjaassoonn'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7227 |
kmill author:kmill |
feat: flexible binders and integration into notation3 |
Introduces `flexibleBinders`, which is an extensible system for binder notations that allow destructuring, bounded domains, and other niceties. Integrates this into `notation3`, and makes `Finset.sum`/`Finset.prod` use it.
---
- [ ] depends on: #6833
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
1215/131 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/NatAntidiagonal.lean,Mathlib/Mathport/Notation.lean,Mathlib/Util/FlexibleBinders.lean,Mathlib/Util/FlexibleBindersFinset.lean,Mathlib/Util/SyntaxFun.lean,test/FlexibleBinders.lean,test/notation3.lean |
10 |
3 |
['eric-wieser', 'kmill', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7351 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend function on `Ioo` to `Icc` |
Extend a strictly monotone function defined on an open interval.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-order
|
59/0 |
Mathlib.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean |
3 |
7 |
['j-loreaux', 'shuxuezhuyi'] |
nobody |
658-61630 1 year ago |
937-30458 937 days ago |
30-32706 30 days |
| 7467 |
ADedecker author:ADedecker |
feat: spectrum of X →ᵇ ℂ is StoneCech X |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
121/23 |
Mathlib/Analysis/NormedSpace/Star/BoundedContinuousFunction.lean,Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean,Mathlib/Topology/ContinuousFunction/Compact.lean |
4 |
1 |
['github-actions'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7512 |
Komyyy author:Komyyy |
perf: override the data structures of coinductive types |
The data structures of the model of coinductive types (`Stream'`, `Computation`, `Stream'.Seq`) are inefficient, so we override their data structures.
---
- [x] depends on: #7514
- [ ] depends on: leanprover/lean4#2292
- [x] depends on: leanprover/std4#371
- [x] depends on: #8460
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-core-PR
blocked-by-other-PR
merge-conflict
t-meta
|
6919/3700 |
Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/ApproximationCorollaries.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/Basic.lean,Mathlib/Algebra/ContinuedFractions/Computation/CorrectnessTerminating.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/ContinuantRecurrence.lean,Mathlib/Algebra/ContinuedFractions/EvalEquiv.lean,Mathlib/Algebra/ContinuedFractions/Real.lean,Mathlib/Algebra/ContinuedFractions/TerminatedStable.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Control/Fix.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Seq/Computation.lean,Mathlib/Data/Seq/Parallel.lean,Mathlib/Data/Seq/Seq.lean,Mathlib/Data/Seq/WSeq.lean,Mathlib/Data/Stream.lean,lean-toolchain |
22 |
2 |
['digama0', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7564 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend strictly monotone function on `Ioo` to homeomorphism on `Icc` |
A strictly monotone function between open intervals can be extended to a homeomorphism between the closed intervals.
---
- [ ] depends on: #7351
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
blocked-by-other-PR
|
162/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean |
2 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
658-61630 1 year ago |
956-48862 956 days ago |
0-537 8 minutes |
| 7601 |
digama0 author:digama0 |
feat: ring hom support in `ring` |
As [requested on Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/aroots/near/395750055). Adds support for distributing ring morphisms in `ring`:
```lean
example (p : ℤ[X]) (r : ℤ) : C (2 * r) * p = C r * p + C r * p := by ring
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
t-meta
label:t-algebra$ |
257/48 |
Mathlib/Tactic/Ring/Basic.lean,test/linear_combination.lean,test/ring.lean |
3 |
1 |
['eric-wieser'] |
nobody |
658-61630 1 year ago |
891-45233 891 days ago |
62-28836 62 days |
| 7615 |
eric-wieser author:eric-wieser |
chore(LinearAlgebra/Basic): generalize compatibleMaps to semilinear maps |
Spotted while reviewing #7611
---
- [x] depends on: #7611
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
easy
awaiting-CI
label:t-algebra$ |
9/33 |
Mathlib/LinearAlgebra/Basic.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
658-61630 1 year ago |
953-9938 953 days ago |
0-1 1 second |
| 7713 |
RemyDegenne author:RemyDegenne |
feat: add_left/right_inj for measures |
`μ + ν₁ = μ + ν₂ ↔ ν₁ = ν₂`, and similarly on the right. This is not true in general for measures, but is true when `μ` is mutually singular with the two other measures or when `μ` is finite.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
53/1 |
Mathlib/MeasureTheory/Measure/MutuallySingular.lean,lean-toolchain |
2 |
6 |
['RemyDegenne', 'digama0', 'eric-wieser', 'fpvandoorn'] |
nobody |
658-61630 1 year ago |
946-55768 946 days ago |
0-62955 17 hours |
| 7835 |
shuxuezhuyi author:shuxuezhuyi |
feat(LinearAlgebra/Matrix): `lift` for projective special linear group |
We provide converters to help with the use of "quotient.liftOn" on projective special linear groups.
---
- [x] depends on: #7826
- [x] depends on: #7791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
52/0 |
Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean |
1 |
3 |
['jcommelin', 'leanprover-community-mathlib4-bot', 'shuxuezhuyi'] |
jcommelin assignee:jcommelin |
658-61630 1 year ago |
804-71461 804 days ago |
1-85797 1 day |
| 7875 |
astrainfinita author:astrainfinita |
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
54/48 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/Ring.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/Topology/ContinuousFunction/ContinuousMapZero.lean,Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
27 |
15 |
['Parcly-Taxel', 'astrainfinita', 'jcommelin', 'leanprover-bot'] |
nobody |
658-61630 1 year ago |
712-78138 712 days ago |
1-47913 1 day |
| 7932 |
eric-wieser author:eric-wieser |
refactor(Algebra/TrivSqZeroExt): replace with a structure |
This is dogfooding my claim that "one-field structures are the lesser evil in Lean 4".
This runs into the `simp [(stupid_parens)]` bug; or rather, a particular nasty instance of it where the offending simp call is inside `@[simps]`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
155/73 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/TrivSqZeroExt.lean,Mathlib/Logic/Equiv/TransferInstance.lean,Mathlib/Topology/Instances/TrivSqZeroExt.lean |
4 |
1 |
['github-actions'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 7962 |
eric-wieser author:eric-wieser |
feat: `DualNumber (Quaternion R)` as a `CliffordAlgebra` |
This provides a clifford algebra isomorphic to the dual quaternions
---
- [x] depends on: #7934
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
307/7 |
Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/QuaternionBasis.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean |
3 |
16 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61630 1 year ago |
unknown |
0-0 0 seconds |
| 8364 |
thorimur author:thorimur |
feat: `refine?` |
This PR adds `refine? e`, which suggests replacing unsynthesized `_`'s in `e` with `?_` in order to make `refine e'` work:
```lean
example : Nat → Nat := by
refine? fun (_ : _) => _ -- Try this: refine fun (_ : _) => ?_
```
Note that this only suggests replacements for `_`'s present in the syntax; to create goals for implicit or instance arguments, the user is expected to use `refine'`.
---
I'm especially open to suggestions on the filename (currently `RefineFix`).
I'm also curious if this behaves as expected! Feel free to try it out "in real life" and comment here on edge cases.
- [ ] depends on: #8503
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
684/5 |
Mathlib.lean,Mathlib/Lean/CoreM.lean,Mathlib/Lean/Elab/Tactic/ElabTerm.lean,Mathlib/Lean/Elab/Term.lean,Mathlib/Tactic.lean,Mathlib/Tactic/RefineFix.lean,Mathlib/Util/Delaborators.lean,Mathlib/Util/Syntax.lean,test/RefineFix.lean |
9 |
5 |
['j-loreaux', 'leanprover-community-mathlib4-bot', 'thorimur'] |
nobody |
658-61630 1 year ago |
913-81764 913 days ago |
6-59892 6 days |
| 3575 |
Kha author:Kha |
perf: selectively enable precompilation |
---
This is an initial performance test on Linux. TODO:
- [ ] test on macOS and Windows as well
- [ ] adapt caching |
merge-conflict
WIP
|
3/0 |
lakefile.lean |
1 |
21 |
['Kha', 'kim-em', 'leanprover-bot', 'tydeu'] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 4771 |
thorimur author:thorimur |
feat: Backtrack minimize |
Utilities for backtracking in order to attain a minimum according to some arbitrary notion of size when generating lists of parts and alternatives in alternating fashion. Motivated by minimizing the number of generated subgoals under apply-like actions on the goal.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
482/1 |
Mathlib/Tactic/Backtracking.lean,test/Backtracking.lean |
2 |
0 |
[] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 4775 |
thorimur author:thorimur |
feat: `SubExpr` utilities |
This file contains utilities for handling positions in expressions, including folding over subexpressions along with their positions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
148/0 |
Mathlib.lean,Mathlib/Lean/SubExpr.lean |
2 |
0 |
[] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 4785 |
thorimur author:thorimur |
feat: ExprWithLevels |
This introduces `ExprWithLevels`, a means of emulating universe polymorphism for non-constants during metaprogramming. [Description pending]
- [ ] depends on: #4786
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
491/1 |
Mathlib.lean,Mathlib/Lean/Meta/AppBuilder.lean,Mathlib/Lean/Meta/Basic.lean,Mathlib/Lean/Meta/ExprWithLevels.lean |
4 |
1 |
['kim-em'] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 4871 |
j-loreaux author:j-loreaux |
feat: define the additive submonoid of positive elements in a star ordered ring |
This file defines the `AddSubmonoid` of nonegative elements `StarOrderedRing.positive R` in a star ordered ring `R` with carrier `{ x : R | 0 ≤ x }` (in fact, the definition only requires `OrderedAddCommMonoid R` to allow for other use cases, but it is primarily intended for `StarOrderedRing R`). Equivalently, this is the `AddSubmonoid` generated by the elements of the form `star s * s`. Even though this technically corresponds to the nonnegative elements, the "positive" terminology is standard throughout the literature (at least in C⋆-algebra theory and operator theory), so we choose to prefer that.
The advantage of using this over other definitions of positivity is that it allows us to unify several different concepts under a single umbrella. For example, one might be tempted to consider the collection of bounded linear operators on an Hilbert space and define positivity as `∀ x, 0 ≤ ⟪T x, x⟫`, but this doesn't generalize nicely to C⋆-algebras. Alternatively, one could define positivity as those self-adjoint elements with nonnegative spectrum, but this requires the algebra to be unital. Our definition herein conveniently sidesteps these issues.
---
Note: I declared the `AddMonoidWithOne` and `AddGroupWithOne` instances for `selfAdjoint R` separately because it made the proof of the latter easier.
- [x] depends on: #6229
- [x] depends on: #10209
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
216/12 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/CharZero.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Positive.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/GroupTheory/Submonoid/Operations.lean |
6 |
28 |
['eric-wieser', 'j-loreaux', 'leanprover-community-mathlib4-bot'] |
nobody |
658-61629 1 year ago |
1071-47681 1071 days ago |
5-55287 5 days |
| 5133 |
kmill author:kmill |
feat: IntermediateField adjoin syntax for sets of elements |
Adds support for both `F⟮S⟯` and `F⟮α⟯`. The term `x` in `F⟮x⟯` is elaborated, and if it has type `Set _` the first interpretation is used, and otherwise the second is.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
110/55 |
Mathlib/FieldTheory/Adjoin.lean |
1 |
0 |
[] |
nobody |
658-61629 1 year ago |
1069-62755 1069 days ago |
0-20 20 seconds |
| 5912 |
ADedecker author:ADedecker |
feat(Analysis.Distribution.ContDiffMapSupportedIn): space of smooth maps with support in a fixed compact |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
513/13 |
Mathlib.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Set/Function.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
8 |
0 |
[] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 6002 |
slerpyyy author:slerpyyy |
feat(Analysis.SpecialFunctions.Gaussian): add `integrable_fun_mul_exp_neg_mul_sq` |
If `f : ℝ → ℝ` is bounded by a polynomial, `fun x : ℝ => f x * exp (-b * x ^ 2)` is integrable.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
26/0 |
Mathlib/Analysis/SpecialFunctions/Gaussian.lean |
1 |
3 |
['ocfnash', 'slerpyyy', 'urkud'] |
nobody |
658-61629 1 year ago |
1026-61991 1026 days ago |
9-71263 9 days |
| 6195 |
eric-wieser author:eric-wieser |
chore(RingTheory/TensorProduct): golf the `mul` definition |
---
- [x] depends on: #6211
- [x] depends on: #6187
[](https://gitpod.io/from-referrer/)
Strangely this causes a timeout downstream
|
merge-conflict
t-algebra
awaiting-CI
label:t-algebra$ |
4/29 |
Mathlib/RingTheory/TensorProduct.lean |
1 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 6307 |
yuma-mizuno author:yuma-mizuno |
refactor(CategoryTheory/Monoidal): add whiskering operators |
We introduce whiskering operators. This allows us to introduce a simp-normal form for morphisms in monoidal categories. Rewriting into simp-normal forms is especially useful when combined with the coherence tactic.
---
- [x] depends on: #6420
- [x] depends on: #8191
- [x] depends on: #9988
- [x] depends on: #9991
- [x] depends on: #9995
- [x] depends on: #10061
- [x] depends on: #10078
- [x] depends on: #10898
- [x] depends on: #10912
- [x] depends on: #11223
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
325/280 |
Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,test/CategoryTheory/Coherence.lean |
15 |
38 |
['eric-wieser', 'github-actions', 'grunweg', 'jcommelin', 'kim-em', 'leanprover-community-mathlib4-bot', 'yuma-mizuno'] |
nobody |
658-61629 1 year ago |
797-27903 797 days ago |
60-84345 60 days |
| 6328 |
FR-vdash-bot author:FR-vdash-bot |
chore: make some instance about `Sub...Class` lower priority |
Many similar instances have been marked as lower priority. I'd like to see if this would make things faster.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-CI
label:t-algebra$ |
14/14 |
Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
3 |
1 |
['digama0'] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 6330 |
astrainfinita author:astrainfinita |
chore: make some instance about `Sub...Class` higher priority than `Sub...` |
The opposite direction to #6328.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
slow-typeclass-synthesis
label:t-algebra$ |
123/128 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/Subfield.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Subring/Basic.lean,Mathlib/RingTheory/Subsemiring/Basic.lean,lean-toolchain |
11 |
13 |
['astrainfinita', 'digama0', 'leanprover-bot'] |
nobody |
658-61629 1 year ago |
unknown |
0-0 0 seconds |
| 6403 |
astrainfinita author:astrainfinita |
chore: change instance priorities of `Ordered*` hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
merge-conflict
slow-typeclass-synthesis
awaiting-author
label:t-algebra$ |
253/79 |
Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Analysis/InnerProductSpace/Orientation.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/RingTheory/HahnSeries.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
18 |
39 |
['Vierkantor', 'astrainfinita', 'digama0', 'eric-wieser', 'j-loreaux', 'leanprover-bot'] |
nobody |
658-61629 1 year ago |
903-14371 903 days ago |
13-18399 13 days |
| 6491 |
eric-wieser author:eric-wieser |
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Hom/GroupAction.lean |
1 |
0 |
[] |
nobody |
658-61629 1 year ago |
930-47629 930 days ago |
83-76369 83 days |
| 7076 |
grunweg author:grunweg |
feat: define measure zero subsets of a manifold |
A topological manifold has no canonical measure, but there is a canonical notion of measure zero subsets.
We show that these are closed under subsets and countable unions (hence define a filter, the almost everywhere filter)
and that a closed nowhere dense has empty interior.
This is necessary for stating the general version of Sard's theorem (in finite dimensions), and a first step towards its proof.
This code was written at LftCM 2023. Thanks for @fpvandoorn for mentoring me! :heart:
---
Unresolved questions/looking for feedback
- Is "measure zero" a good name or would "null set" be better? I tend towards the former, but welcome input from a measure theorist (which I'm not).
- What is the correct definition? One could also define "measure zero" using any `IsOpenPosMeasure` on the charted space.
I think all results in this file still hold then, but for applications (e.g., Sard's theorem), this might be too general.
- define custom notation, similar to the a.e. filter on a measure space? (We could include $J$ instead of $\mu$.)
- what's the right syntax for formulas in docstrings --- use LaTeX or backticks? I don't know how to preview the generated docs, the guidelines are a bit ambiguous for me.
|
merge-conflict
WIP
t-differential-geometry
t-measure-probability
|
165/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/MeasureZero.lean,docs/references.bib |
3 |
27 |
['ADedecker', 'github-actions', 'grunweg', 'mo271', 'sgouezel'] |
ADedecker assignee:ADedecker |
658-61629 1 year ago |
813-58938 813 days ago |
43-56110 43 days |
| 3757 |
thorimur author:thorimur |
feat: config options for `fail_if_no_progress` |
This PR creates config options for `fail_if_no_progress` that allow the user to tweak what exactly counts as "progress". This includes whether to use defeq or `BEq`, what transparency to use, and which parts of the goal and local context to check.
It also splits off the comparison functionality into `Mathlib.Lean.Meta.Compare`, which provides fully configurable comparison functions for common complex metaprogramming types not specific to `fail_if_no_progress`. These types are `Expr`, `LocalDecl`, `LocalContext`, `MetavarDecl`, `MVarId`, and `List MVarId`.
---
See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/progress.20on.20fail_if_no_progress) for a couple review questions.
Status update: this PR is now basically done, save for some extra tests which should probably be included.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
603/54 |
Mathlib.lean,Mathlib/Lean/Meta.lean,Mathlib/Lean/Meta/Compare.lean,Mathlib/Tactic/FailIfNoProgress.lean,test/fail_if_no_progress.lean |
5 |
38 |
['alexjbest', 'github-actions', 'joneugster', 'kim-em', 'thorimur'] |
nobody |
658-61628 1 year ago |
1115-26310 1115 days ago |
0-15 15 seconds |
| 12353 |
thorimur author:thorimur |
feat: `conv%` |
This PR introduces `conv% e => tac`, along with `simp%`, `norm_num%`, and `push_neg%`, which are defined in terms of `conv%`.
It also introduces `conv%?` (and `simp%?`, `norm_num%?`, and `push_neg%?`) as shortcuts for `show_term ...`.
This is a relatively straightforward refactor of code already present in the implementation of `#conv`, and otherwise relies entirely on simple macros.
This PR also introduces some modifications to existing command syntax for `#conv`, `#simp`, and `#norm_num`:
* The syntax for `#conv` was `#conv tac => e`; however, this is inconsistent with the tactic syntax, and so this has been flipped to `#conv e => tac`. Likewise, `conv%` uses the same (new) syntax `conv% e => tac`.
* `#simp` and `#norm_num` separated their config and `only` syntax from the expression by an optional `=>` (for `#simp`) and an optional `:` (for `#norm_num`) (e.g. `#simp only [lem] => e`). These have both been replaced with an optional`on` (e.g. `#simp only [lem] on e`) which is also used for `simp%` and `norm_num%`.
Although `#whnf` is implemented in terms of `#conv`, this PR doesn't introduce `whnf%` in the same way, as that's probably better off being implemented directly instead of through `conv`.
---
WIP: needs tests.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-meta
|
131/32 |
Mathlib/Tactic/Conv.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/PushNeg.lean,docs/Conv/Guide.lean |
4 |
0 |
[] |
nobody |
654-37938 1 year ago |
757-75980 757 days ago |
0-17 17 seconds |
| 13852 |
FR-vdash-bot author:FR-vdash-bot |
perf: skip some typeclasses in TC search |
---
- [ ] depends on: #7873
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
blocked-by-other-PR
|
45/33 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/RingTheory/Norm.lean |
3 |
21 |
['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
654-31618 1 year ago |
unknown |
0-0 0 seconds |
| 7903 |
urkud author:urkud |
feat: define `UnboundedSpace` |
---
The new instances generate some timeouts, and I don't understand why.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-topology
|
111/59 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean |
6 |
1 |
['github-actions'] |
nobody |
651-49607 1 year ago |
unknown |
0-0 0 seconds |
| 15679 |
adomani author:adomani |
test: refactor in CI |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
213/5 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/TestRefactor.lean,Refactor/Main.lean,lakefile.lean,lean-toolchain |
21 |
1 |
['github-actions'] |
nobody |
646-18783 1 year ago |
648-28225 648 days ago |
0-8 8 seconds |
| 7565 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/Algebra/Order): extend homeomorphism of `Ioo` to `Icc` |
We extend the homeomorphisms between open intervals to homeomorphisms between the closed intervals.
---
- [ ] depends on: #7018
- [ ] depends on: #7351
- [ ] depends on: #7564
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
blocked-by-other-PR
t-order
|
389/5 |
Mathlib.lean,Mathlib/Data/Set/Intervals/Image.lean,Mathlib/Order/Directed.lean,Mathlib/Topology/Algebra/Order/IccExtendFromIoo.lean,Mathlib/Topology/Algebra/Order/IntermediateValue.lean |
5 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
644-55283 1 year ago |
956-36162 956 days ago |
0-222 3 minutes |
| 10629 |
madvorak author:madvorak |
feat: List.cons_sublist_append_iff_right |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['eric-wieser'] |
nobody |
644-55174 1 year ago |
770-64011 770 days ago |
53-73442 53 days |
| 9973 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: polynomials formed by lists |
From https://github.com/leanprover-community/mathlib/pull/15476
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean |
2 |
0 |
[] |
nobody |
644-54707 1 year ago |
unknown |
0-0 0 seconds |
| 12926 |
joelriou author:joelriou |
feat(CategoryTheory): the monoidal category structure induced by a monoidal functor |
In this PR, given a monoidal functor `F : MonoidalFunctor C D`, we define a monoidal category structure on the category `InducedCategory D F.obj`, which has the "same" objects as `C`, but the morphisms between `X` and `Y` identify to `F.obj X ⟶ F.obj Y`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
105/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Induced.lean |
2 |
3 |
['eric-wieser', 'github-actions', 'joelriou'] |
nobody |
644-53106 1 year ago |
735-58311 735 days ago |
0-10 10 seconds |
| 12869 |
adomani author:adomani |
feat: linter and script for `theorem` vs `lemma` |
This PR contains a linter for flagging doc-string-less `theorem`s, as well as a bash script that, once the linter ran on Mathlib, automatically replaces every linter-offending `theorem` by `lemma`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
106/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ThmLemma.lean,scripts/thmLemma.sh |
4 |
13 |
['adomani', 'github-actions', 'grunweg', 'joneugster'] |
nobody |
644-39870 1 year ago |
698-60365 698 days ago |
38-16364 38 days |
| 14563 |
awueth author:awueth |
feat: if-then-else of exclusive or statement |
---
If `¬(P ∧ Q)` then `ite (P ∨ Q) a 1 = (ite P a 1) * (ite Q a 1)`
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Group/Basic.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
643-54022 1 year ago |
674-14604 674 days ago |
6-38745 6 days |
| 14308 |
grhkm21 author:grhkm21 |
feat(Algebra/Category): Direct construction of colimits in algebraic categories |
(Below I only write about colimits since that's what I'm familiar with after working on it the last few days, but maybe it's the same for other categorical constructions)
**Main feature:** Construct colimits in `AddCommGrp`/`ModuleCat`/`FGModuleCat`(/...) directly as coequalizer (i.e. cokernel i.e. quotient) of two maps, allowing one to say $\coprod_j M_j \cong *$
Currently, if you look at how colimits are constructed for [AddCommGrp](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L69-L92), you see this massive block of code of all relations generating the quotient relation, but that's kind of bad, you can't say anything concretely about it.
Also as noted in the TODOs of a few files:
```
TODO:
In fact, in `ModuleCat R` there is a much nicer model of colimits as quotients
of finitely supported functions, and we really should implement this as well.
```
I wrote it down [here](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Braided.20left.20rigid.20categories.20are.20right.20rigid/near/447490672), and **have formalised it** in a small file already [here](https://gist.github.com/grhkm21/5b2d938753c0ce0900d21c93a39e3b7d#file-addcommgrpcolimits-lean-L162-L163) (I also have a `ModuleCat` version, and proving existence of colimits in `FGModuleCat` from it).
Usually I will try to merge the file into Mathlib directly (preferably in one sitting), but I have been trying for a while now and been struggling. One issue is I am struggling to understand universes, which I asked [here](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Universe.20constraints!/near/448049266) along with many other places. A more concrete issue is that
- [ ] FGModuleCat (and `FullSubcategory` in general) requires morphism and objects to be on the same universe, whereas generally `Category.{v, u}` don't.
So that seems to limit what I can express, and maybe I have to fix it first.
Here are a few more TODOs just so I don't forget, probably done before the one above:
- [ ] Generalise `cokernelIsoQuotient` to other categories.
- [ ] Also prove `coproductIsoDirectSum`
- [ ] Also prove coequalizer (f + h) (g + h) ~ coequalizer f g ~ cokernel (f - g) 0
- [ ] Fix typo `FGModuleCatCat`
If anyone is familiar with universe stuff and can answer my many questions that'll be great too. I need help understanding just [these five lines](https://github.com/leanprover-community/mathlib4/blob/master/Mathlib/Algebra/Category/Grp/Colimits.lean#L267-L271) |
merge-conflict
WIP
t-algebra
label:t-algebra$ |
10/3 |
Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/FreeModule/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
643-51891 1 year ago |
689-168 688 days ago |
0-23 23 seconds |
| 13010 |
ADedecker author:ADedecker |
feat: relax universe constraint in stoneCechExtend |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
33/3 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['ADedecker', 'erdOne'] |
nobody |
643-51688 1 year ago |
unknown |
0-0 0 seconds |
| 12411 |
adomani author:adomani |
feat: more linting of cdots |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
953/617 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib.lean,Mathlib/Algebra/Category/GroupCat/Colimits.lean,Mathlib/Algebra/Homology/Exact.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ApproximatesLinearOn.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Group/ControlledClosure.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/NormedSpace/FiniteDimension.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Basic.lean,Mathlib/Analysis/NormedSpace/Star/Multiplier.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Action.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/TwoP.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/GaloisObjects.lean,Mathlib/CategoryTheory/Limits/Over.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Predicate.lean,Mathlib/CategoryTheory/Monad/Coequalizer.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Sites/DenseSubsite.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/Holor.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Pairing.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Hyperreal.lean,Mathlib/Data/Real/Irrational.lean,Mathlib/Data/Set/Card.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/FieldTheory/PerfectClosure.lean,Mathlib/FieldTheory/RatFunc.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Complex.lean,Mathlib/LinearAlgebra/Reflection.lean,Mathlib/MeasureTheory/Constructions/Pi.lean,Mathlib/MeasureTheory/Covering/VitaliFamily.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/MeasureTheory/OuterMeasure/Basic.lean,Mathlib/ModelTheory/Skolem.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/AdjoinRoot.lean |
147 |
2 |
['adomani', 'leanprover-bot'] |
nobody |
643-51551 1 year ago |
unknown |
0-0 0 seconds |
| 12279 |
casavaca author:casavaca |
WIP: feat: Holder's inequality n-ary |
---
- [x] depends on #12291
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
129/0 |
Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
2 |
13 |
['github-actions'] |
nobody |
643-51536 1 year ago |
760-26241 760 days ago |
0-50185 13 hours |
| 12093 |
ADedecker author:ADedecker |
feat: tweak the definition of semicontinuity to behave better in nonlinear orders |
Summary of the changes:
- change definitions to make [lowerSemicontinuous_iff_isClosed_preimage](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Semicontinuous.html#lowerSemicontinuous_iff_isClosed_preimage) true without assuming `LinearOrder`, so that semicontinuity corresponds to continuity for lower/upper order topology on the codomain. See discussion on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Semicontinuity.20definition.20for.20non-linear.20orders/near/432898278)
- add new `iff` lemmas for unfolding the definition
- add `iff` lemmas with the old definition in the linearly ordered case
- some basic lemmas need to be changed in an easy way
- minimize assumptions for continuity => semicontinuity
- prove the semicontinuity criterion for indicators using "preimage of Ici/Iic" instead of a direct proof, because the proof is more natural (especially because we have no `filter_upwards` for `Frequently`)
- in the rest of the file (which is about linear orders anyway), we don't touch the statements and just rewrite to the old definition. Some of these could be generalized, but we keep that for a later PR.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
|
274/130 |
Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Semicontinuous.lean |
4 |
0 |
[] |
nobody |
643-51498 1 year ago |
unknown |
0-0 0 seconds |
| 11520 |
thorimur author:thorimur |
feat: `linting_rules` and deprecated syntax |
---
Experimental. WIP. Might not be performance-viable.
- [ ] depends on: #11519
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-meta
|
1016/0 |
Mathlib.lean,Mathlib/Command/Linter.lean,Mathlib/Command/Linter/Deprecated.lean,Mathlib/Command/Linter/LintingRules.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,Mathlib/Tactic/Common.lean,scripts/noshake.json |
11 |
11 |
['leanprover-bot', 'leanprover-community-mathlib4-bot', 'thorimur'] |
nobody |
643-51488 1 year ago |
unknown |
0-0 0 seconds |
| 11519 |
thorimur author:thorimur |
feat: `syntax_rules` |
---
Experimental. WIP.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
485/0 |
Mathlib.lean,Mathlib/Command/SyntaxRules.lean,Mathlib/Command/SyntaxRules/Attr.lean,Mathlib/Command/SyntaxRules/Elab.lean,Mathlib/Command/SyntaxRules/Header.lean,Mathlib/Command/SyntaxRules/Util.lean,scripts/noshake.json |
7 |
0 |
[] |
nobody |
643-51474 1 year ago |
unknown |
0-0 0 seconds |
| 11393 |
mcdoll author:mcdoll |
feat(Analysis/Distribution/SchwartzSpace): The Heine-Borel property |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
688/3 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean |
6 |
0 |
[] |
nobody |
643-51464 1 year ago |
unknown |
0-0 0 seconds |
| 9444 |
erdOne author:erdOne |
feat: Various instances regarding `𝓞 K`. |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-number-theory
|
27/0 |
Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/IntegralClosure.lean |
2 |
9 |
['erdOne', 'leanprover-bot', 'mattrobball', 'riccardobrasca', 'xroblot'] |
nobody |
643-51383 1 year ago |
865-50810 865 days ago |
1-62292 1 day |
| 8931 |
hmonroe author:hmonroe |
feat(Computable): define P, NP, and NP-complete |
Revised to focus on languages that are binary strings, given the issue of non-acceptable encodings of unspecified Types
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
|
381/5 |
Mathlib.lean,Mathlib/Computability/Complexity copy.lean,Mathlib/Computability/Complexity.lean,Mathlib/Computability/Encoding.lean,Mathlib/Computability/TMComputable.lean,Mathlib/Computability/TuringMachine.lean,Mathlib/Computability/halting example.lean,docs/references.bib |
8 |
3 |
['fpvandoorn', 'github-actions', 'hmonroe'] |
nobody |
643-51348 1 year ago |
799-60730 799 days ago |
93-64275 93 days |
| 10641 |
newell author:newell |
feat(Topology/MetricSpace/WellSpaced): Define sets that are *well-spaced*. |
Create a new file `Mathlib.Topology.MetricSpace.WellSpaced` that contains definitions of sets which are in some sense *well-spaced*.
Some examples are Delone and Meyer sets, which find applications in Quasicrystals and Coding Theory, among others.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
1073/14 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/GMetric/Basic.lean,Mathlib/Topology/GMetric/GInfSep.lean,Mathlib/Topology/GMetric/WellSpaced.lean,Mathlib/Topology/GPseudoMetric/Basic.lean,Mathlib/Topology/MetricSpace/WellSpaced.lean |
8 |
1 |
['edegeltje'] |
nobody |
643-51316 1 year ago |
unknown |
0-0 0 seconds |
| 10387 |
adomani author:adomani |
feat(Tactic/ComputeDegree): add `polynomial` tactic |
Introducing the `polynomial` tactic, summing up `compute_degree, monicity` and adding support for `leadingCoeff`.
This is more of a proof of concept: if there is interest in this tactic, I can polish it up.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Compute.20roots.20of.20polynomials/near/420713624).
---
[](https://gitpod.io/from-referrer/)
|
WIP
RFC
t-meta
|
24/0 |
Mathlib/Tactic/ComputeDegree.lean |
1 |
0 |
[] |
nobody |
643-51170 1 year ago |
687-34200 687 days ago |
143-73801 143 days |
| 9154 |
FR-vdash-bot author:FR-vdash-bot |
feat: `npow` / `nsmul` / `Nat.cast`/ `zpow` / `zsmul` implemented using `Nat.binaryRec` |
---
- [ ] depends on: https://github.com/leanprover/lean4/pull/3756
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
blocked-by-other-PR
label:t-algebra$ |
168/359 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean,Mathlib/Data/Bool/Basic.lean,Mathlib/Data/Int/Bitwise.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Digits.lean,Mathlib/Data/Nat/EvenOddRec.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Order/Basic.lean,Mathlib/Data/Nat/Parity.lean,Mathlib/Data/Nat/Size.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Init/Data/Nat/Bitwise.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Denumerable.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Logic/Equiv/Nat.lean,lake-manifest.json,lakefile.lean,test/zmod.lean |
25 |
7 |
['astrainfinita', 'eric-wieser', 'kim-em', 'leanprover-community-mathlib4-bot'] |
nobody |
643-50961 1 year ago |
unknown |
0-0 0 seconds |
| 6603 |
tydeu author:tydeu |
feat: automatically try `cache get` before build |
---
A quick proof-of-concept. With this, `lake build` will always try `cache get` before building mathlib.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
|
29/0 |
lakefile.lean |
1 |
3 |
['kim-em', 'tydeu'] |
nobody |
643-50935 1 year ago |
997-67458 997 days ago |
11-2031 11 days |
| 6058 |
apurvnakade author:apurvnakade |
feat: duality theory for cone programs |
This PR tracks the development of duality theory for cone programs.
[Reference](https://ti.inf.ethz.ch/ew/courses/ApproxSDP09/notes/conelp.pdf)
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #6059
- [ ] define direct sum of cones
- [ ] weak duality
- [ ] regular duality
- [ ] slater condition
- [ ] strong duality |
merge-conflict
WIP
t-analysis
|
159/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Cone/ConeLinearProgram.lean |
2 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
643-50880 1 year ago |
1033-1388 1033 days ago |
0-9 9 seconds |
| 6449 |
ADedecker author:ADedecker |
feat: functions with finite fibers |
---
This has been discussed before on [Zulip](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F/topic/.E2.9C.94.20Cofinite.20maps.3F) and it came up again while working with @kkytola's student. As explained in the docstring, we could absolutely just use `Tendsto f cofinite cofinite` all the time, but (1) we lack some API for it (2) the API is nicer to setup if we have a separate def (e.g for dot notation) and (3) mentioning filters for such a simple concept is really not beginner-friendly.
I'm not sure at all about the name.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
203/0 |
Mathlib.lean,Mathlib/Logic/Function/HasFiniteFibers.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Cofinite.lean |
4 |
14 |
['ADedecker', 'YaelDillies', 'alexjbest', 'kkytola'] |
nobody |
643-50874 1 year ago |
1009-48928 1009 days ago |
6-70040 6 days |
| 8100 |
digama0 author:digama0 |
feat: add support for other types in norm_num |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
177/12 |
Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/NormNum/Structural.lean,test/norm_num.lean |
7 |
4 |
['dwrensha'] |
nobody |
643-50742 1 year ago |
unknown |
0-0 0 seconds |
| 13163 |
erdOne author:erdOne |
feat(.vscode/module-docstring.code-snippet): Prevent auto-complete from firing on `do` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
5/0 |
.vscode/module-docstring.code-snippets |
1 |
5 |
['erdOne', 'grunweg', 'robertylewis', 'trivial1711'] |
nobody |
643-49484 1 year ago |
675-63676 675 days ago |
50-78405 50 days |
| 15585 |
FR-vdash-bot author:FR-vdash-bot |
test make `HasQuotient.quotient'` reducible |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
8/1 |
Mathlib/Algebra/Quotient.lean,Mathlib/GroupTheory/Coset.lean |
2 |
1 |
['github-actions'] |
nobody |
641-83150 1 year ago |
unknown |
0-0 0 seconds |
| 15586 |
astrainfinita author:astrainfinita |
test make `HasQuotient` out put a `setoid` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
22/36 |
Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Quotient.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/CosetCover.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/Topology/Algebra/UniformRing.lean |
14 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
641-83150 1 year ago |
unknown |
0-0 0 seconds |
| 13791 |
digama0 author:digama0 |
refactor: Primrec and Partrec |
General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
tech debt
|
585/778 |
Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean |
5 |
2 |
['github-actions', 'grunweg'] |
nobody |
640-18019 1 year ago |
704-7605 704 days ago |
1-84718 1 day |
| 11964 |
adamtopaz author:adamtopaz |
feat: The functor of points of a scheme |
We construct the functor of points functor, and prove that it's full and faithful.
---
- [x] depends on: #11947
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
3 |
4 |
['github-actions', 'grunweg'] |
nobody |
640-17878 1 year ago |
768-34819 768 days ago |
0-1223 20 minutes |
| 12418 |
rosborn author:rosborn |
style: replace preimage_val with ↓∩ notation |
---
This is a rough draft of what the new `↓∩` notation would look like within mathlib. I believe this is an improvement in clarity and would like to have `↓∩` as a standard notation (along with `''`, `⁻¹'`, `↑`, etc...). As `↓∩` is specialized for `Set`s, I have only changed `preimage_val` when the left-hand side of `↓∩` is a `Set`.
The introduction of the `↓∩` notation to Data.Set.Image is temporary as it isn't possible to import Data.Set.Subset directly. If we want `↓∩` unscoped, where would be the best place to define it? An option is Data.Set.Defs, but the notation cannot be defined without additional imports as the file does not import `notation3`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
56/61 |
Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Subset.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/Sober.lean |
18 |
3 |
['grunweg', 'rosborn'] |
nobody |
640-17777 1 year ago |
726-27761 726 days ago |
29-50022 29 days |
| 9978 |
FR-vdash-bot author:FR-vdash-bot |
chore(FieldTheory/KummerExtension): move some lemmas earlier |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
197/177 |
Mathlib.lean,Mathlib/Data/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Polynomial/Irreducible.lean |
5 |
5 |
['alreadydone', 'grunweg', 'riccardobrasca'] |
nobody |
640-17569 1 year ago |
838-11751 838 days ago |
8-83342 8 days |
| 12429 |
adomani author:adomani |
feat: toND -- auto-generating natDegree |
This is an experiment to automatically translate theorems about `degree` to theorems about `natDegree`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
RFC
merge-conflict
awaiting-author
t-meta
label:t-algebra$ |
167/132 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Polynomial/Inductions.lean,Mathlib/Algebra/Polynomial/Mirror.lean,Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToNatDegree.lean,scripts/noshake.json |
11 |
2 |
['adomani', 'grunweg'] |
nobody |
640-16880 1 year ago |
751-50953 751 days ago |
3-76602 3 days |
| 15823 |
eric-wieser author:eric-wieser |
Quotients of rings in model theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-logic
|
55/13 |
Mathlib/ModelTheory/Algebra/Ring/FreeCommRing.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
1 |
['github-actions'] |
nobody |
639-81843 1 year ago |
unknown |
0-0 0 seconds |
| 12178 |
joneugster author:joneugster |
feat(Data/Matrix/Basic): add notation for `m×n`-Matrices |
Introduce the notation `Mat[m,n][R]` for `Matrix (Fin m) (Fin n) R`.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Why.20does.20.60Matrix.2Erow.60.20use.20.20.60Unit.60.20instead.20of.20.60Fin.201.60.3F/near/427949223)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
139/135 |
Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Rank.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Determinant.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Matrix/Transvection.lean,Mathlib/LinearAlgebra/PID.lean,Mathlib/LinearAlgebra/Vandermonde.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/NumberTheory/ModularForms/SlashActions.lean,Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean,Mathlib/NumberTheory/RamificationInertia.lean,Mathlib/RingTheory/SimpleModule.lean,test/matrix.lean |
22 |
9 |
['YaelDillies', 'eric-wieser', 'grunweg', 'joneugster'] |
nobody |
639-58967 1 year ago |
758-49360 758 days ago |
5-76679 5 days |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
639-38931 1 year ago |
674-45153 674 days ago |
56-40668 56 days |
| 15448 |
urkud author:urkud |
chore(*): deprecate `Option.elim'` |
Use `Option.elim` instead.
---
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
tech debt
|
54/50 |
Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/LagrangeMultipliers.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/TMToPartrec.lean,Mathlib/Data/Option/Defs.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/NumberTheory/Dioph.lean,Mathlib/Topology/Compactness/Paracompact.lean,Mathlib/Topology/LocallyFinite.lean |
17 |
12 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
nobody |
639-27984 1 year ago |
648-74146 648 days ago |
7-18420 7 days |
| 10350 |
Shamrock-Frost author:Shamrock-Frost |
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation |
I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
169/3 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
637-41205 1 year ago |
756-32833 756 days ago |
19-74546 19 days |
| 13573 |
Shamrock-Frost author:Shamrock-Frost |
feat: add multivariate polynomial modules |
Add a type synonym for multivariate polynomials with coefficients in a module.
---
Multivariate polynomials with module coefficients are sort of silly, but they sometimes show up in commutative algebra (eg in the definition of a quasi regular sequence). Writing this code involved a lot of copy and pasting from `PolynomialModule` and `MvPolynomial`. The API is definitely lacking at this stage but it's a start.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
691/6 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Module/Basic.lean,Mathlib/Algebra/MvPolynomial/Module/MvAEval.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean |
4 |
9 |
['Shamrock-Frost', 'erdOne', 'github-actions'] |
nobody |
637-41185 1 year ago |
673-33553 673 days ago |
39-72752 39 days |
| 6517 |
MohanadAhmed author:MohanadAhmed |
feat: discrete Fourier transform of a finite sequence |
# Discrete Fourier Transform (DFT) Matrix and DFT of a (finite) sequence
This file defines the `dft` opertaion on a sequence (also a vecotr) and the DFT operation matrix
## Main definitions
- `dft v`: given a sequence (v : (Fin n) → ℂ) we can transform it into a sequence (V : (Fin n) →ℂ)
such that
$$V [p] = ∑_{k = 0}^{N - 1} e^{-j*2πkp/n} v [k]$$
- `idft V` : given a sequence (V : (Fin n) → ℂ) we can transform it into a sequence
(v : (Fin n) → ℂ)
such that
$$v [k] = \frac{1}{N}∑_{p = 0}^{n - 1} e^{j*2πkp/N} v [p]$$
- `dftMatrix n` : the dft matrix of dimensions $n \times n$ with the `k, p` entry equal to
$$Wₙ[k, p] = e^{-j2πkp/n}$$
- `(dftMatrix n)⁻¹` : the idft matrix of dimensions $n \times n$ with the `k, p` entry equal to
$$Wₙ[k, p] = (1/N) e^{j2πkp/n}$$
## Main results
- `dft v = (dftMatrix n) v` : the dft operation on a sequence is the same as the dft matrix applied to the vector
- `idft V = (dftMatrix n)⁻¹ V` : the idft operation on a sequence is the same as the idft matrix applied to the vector
- `dft (idft v) = dft ( idft v) = v` the dft and idft operations are inverses
- `Wₙ = vandermonde (w)` : the dft matrix is vandermonde with `w` being the first row of the dft matrix
- `circulant t = (dftMatrix n)⁻¹ ⬝ diagonal (dft t) ⬝ (dftMatrix n)` : a circulant matrix is diagonalizable by the dft and idft matrix pair.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
294/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/DFT.lean |
2 |
26 |
['MohanadAhmed', 'ericrbg'] |
nobody |
637-41023 1 year ago |
946-65239 946 days ago |
65-20427 65 days |
| 13155 |
alreadydone author:alreadydone |
feat(NumberTheory/EllipticDivisibilitySequence): show elliptic relations follow from even-odd recursion |
This PR is centered around the (generalized) elliptic relations (`rel₄`)
$E(a,b,c,d): W_{a+b}W_{a-b}W_{c+d}W_{c-d}=W_{a+c}W_{a-c}W_{b+d}W_{b-d}-W_{a+d}W_{a-d}W_{b+c}W_{b-c}$.
For an integer-indexed sequence W valued in a commutative ring, the relation makes sense only when a,b,c,d are all integers or all half integers. For convenience of formalization, we instead consider integers a,b,c,d of the same parity and divide all subscripts by 2. We extract the subexpression $W_{(a+b)/2}W_{(a-b)/2}$ (which appear six times) as `addMulSub W a b`.
The collection of all $E(a,b,c,d)$ is equivalent to Stange's axiom for elliptic nets (`net`), and the literature (e.g. Silverman) commonly consider only the three-index special case $E(m,n,r,0)$ (`Rel₃`). Important special cases of these relations are
(i) $E(m+1,m,1,0): W_{2m+1}W_1^3=W_{m+2}W_m^3-W_{m+1}^3 W_{m-1}$ (`oddRec`) and
(ii) $E(m+1,m-1,1,0): W_{2m}W_2 W_1^2=W_m(W_{m+2}W_{m-1}^2-W_{m-2}W_{m+1}^2)$ (`evenRec`),
which suffice to uniquely specify $W$ on all positive integers recursively from four initial values $W_1, W_2, W_3, W_4$ (`IsEllSequence.ext`, if $W_1 W_2$ is not a zero divisor). In the usual setting where $W_1=1$ and $W_2\mid W_4$, there does exist a sequence (`normEDS`) satisfying (i) and (ii) given initial values $W_2, W_3$ and $W_4/W_2$. It turns out the same non-zerodivisor condition also guarantees that W is an odd function with $W_0=0$, which naturally extends W to all integers.
The main result of this PR (`rel₄_of_oddRec_evenRec`, `IsEllSequence.of_oddRec_evenRec`) is a purely algebraic proof that the sequence W defined by the single-parameter elliptic relations (i) and (ii) implies all $E(a,b,c,d)$, based on my original argument first published on [Math.SE](https://math.stackexchange.com/a/4903422/12932). It's based on the observation that a nonzerodivisor-multiple of $E(a,b,c,d)$ can be expressed as a linear combination of various $E(a,b,c_\min,d_\min)$ with the two smallest indices fixed at their minimal possible values, which can be transformed (`transf`) to an elliptic relation with smaller `a` (which can be assumed to hold by induction), unless they are of the form (i) or (ii) which hold by assumption. For this argument it's necessary to assume `a > b > c > d ≥ 0` (see `StrictAnti₄` and `Rel₄OfValid`), but it's easy to extend to arbitrary a,b,c,d by symmetry properties of `rel₄` under negation and permutations of indices.
In the subsequent PR #13057, we show all normalized EDSs (`normEDS`), defined using the even-odd recursion (i)-(ii), are elliptic (i.e. satisfy the elliptic relations) divisibility sequences. This PR doesn't directly apply because a normEDS doesn't always satisfy the nonzerodivisor condition, but they are specializations of the universal normEDS, which does satisfy the condition. The technique of reducing to the universal case will be applied many times, and relies on the naturality (`map`) lemmas.
We also change the `ℕ` in the definition `IsDivSequence` to `ℤ` which is more natural given that W is a `ℤ`-indexed sequence.
---
- [x] depends on: #13153
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-number-theory
label:t-algebra$ |
565/12 |
Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
1 |
55 |
['Multramate', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
631-54627 1 year ago |
680-56514 680 days ago |
26-39367 26 days |
| 15600 |
adomani author:adomani |
feat: lint also `let` vs `have` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
77/26 |
Mathlib/Tactic/Linter/HaveLetLinter.lean,test/HaveLetLinter.lean |
2 |
1 |
['github-actions'] |
nobody |
630-22903 1 year ago |
651-16601 651 days ago |
0-8 8 seconds |
| 16253 |
Shreyas4991 author:Shreyas4991 |
feat: Basics of Discrete Fair Division in Mathlib |
This PR adds the basics of discrete fair division in mathlib. We include the definitions of allocations, valuations, properties of valuations, and the following notions : Envy-Freeness (EF), Envy-Freeness upto 1 good (EF1), and envy freeness upto any good (EFX). We also include the various implications between these notions.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-author
|
144/0 |
Mathlib/GameTheory/FairDivision/Discrete/Basic.lean |
1 |
9 |
['Shreyas4991', 'eric-wieser', 'github-actions'] |
nobody |
629-20816 1 year ago |
629-25077 629 days ago |
0-20853 5 hours |
| 13970 |
adomani author:adomani |
feat: a linter to flag unnecessary uses of `nolint simpNF` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
230/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Even.lean,Mathlib/LinearAlgebra/CliffordAlgebra/EvenEquiv.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySyntax.lean,test/UnnecessarySyntax.lean |
13 |
4 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
628-46117 1 year ago |
unknown |
0-0 0 seconds |
| 15162 |
adomani author:adomani |
feat: checkAsSorry linter |
A very preliminary version of the `checkAsSorry` linter.
It flags declarations whose type is not equal to the 'asSorry'ed one.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Running.20Mathlib.20under.20.60set_option.20debug.2EbyAsSorry.60)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
119/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CheckAsSorry.lean,test/CheckAsSorry.lean |
4 |
1 |
['github-actions'] |
nobody |
628-45105 1 year ago |
unknown |
0-0 0 seconds |
| 14669 |
Command-Master author:Command-Master |
feat(Data/Nat/PartENat): add lemmas for PartENat |
Add some missing lemmas for `PartENat`, as well as the additive homomorphism from it to `WithTop Int`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
merge-conflict
|
90/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
4 |
['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
nobody |
626-50821 1 year ago |
677-58343 677 days ago |
0-6775 1 hour |
| 15121 |
Eloitor author:Eloitor |
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
40/0 |
Mathlib/CategoryTheory/EpiMono.lean |
1 |
3 |
['github-actions', 'joelriou', 'mattrobball'] |
nobody |
626-13766 1 year ago |
657-59425 657 days ago |
7-3203 7 days |
| 15895 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
WIP
|
172/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
43 |
['YaelDillies', 'github-actions', 'madvorak'] |
nobody |
625-30559 1 year ago |
629-64068 629 days ago |
1-43047 1 day |
| 14038 |
adomani author:adomani |
test/decl diff in lean dev |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
231/2 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
3 |
['github-actions'] |
nobody |
624-38619 1 year ago |
697-8738 697 days ago |
0-8 8 seconds |
| 14046 |
adomani author:adomani |
test: diff of declarations in lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
231/2 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,.github/workflows/mk_build_yml.sh,Mathlib/Tactic/Eval.lean,scripts/decls_diff_hybrid.sh,scripts/list_decls.lean |
8 |
2 |
['github-actions'] |
nobody |
624-38619 1 year ago |
unknown |
0-0 0 seconds |
| 12107 |
yuma-mizuno author:yuma-mizuno |
feat(Mathlib/Tactic/Widget/StringDiagram): support 2-morphisms in bicategories |
---
- [x] depends on: #11080
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
t-meta
|
1158/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/Widget/StringDiagram.lean,scripts/noshake.json,test/StringDiagram.lean,widget/src/penrose/monoidal.dsl,widget/src/penrose/monoidal.sty |
8 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
619-33363 1 year ago |
unknown |
0-0 0 seconds |
| 15925 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoida): proof producing coherence tactic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
t-meta
|
5018/265 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/Adjunction.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Braided.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CoherenceNew.lean,Mathlib/Tactic/CategoryTheory/Monoidal.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Basic.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/Widget/StringDiagram.lean,lake-manifest.json,scripts/noshake.json,test/CategoryTheory/Bicategory.lean,test/CategoryTheory/Coherence.lean,test/CategoryTheory/CoherenceNew.lean,test/CategoryTheory/Monoidal.lean,test/CategoryTheory/Monoidal/Basic.lean,test/CategoryTheory/Monoidal/Normalize.lean,test/CategoryTheory/MonoidalComp.lean,test/StringDiagram.lean |
35 |
1 |
['github-actions'] |
nobody |
618-79900 1 year ago |
unknown |
0-0 0 seconds |
| 7861 |
shuxuezhuyi author:shuxuezhuyi |
feat(Geometry/Hyperbolic/UpperHalfPlane): instance IsometricSMul PSL(2, ℝ) ℍ |
---
- [ ] depends on: #7835
- [ ] depends on: #7791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-euclidean-geometry
|
98/0 |
Mathlib.lean,Mathlib/Geometry/Hyperbolic/UpperHalfPlane/Basic.lean,Mathlib/LinearAlgebra/Matrix/ProjectiveSpecialLinearGroup.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
618-60960 1 year ago |
679-15088 679 days ago |
43-50453 43 days |
| 16570 |
yuma-mizuno author:yuma-mizuno |
chore(Tactic/CategoryTheory): change `TermElabM` to `MetaM` |
Separated from #15335.
To use `Qq`, we need to modify `Qq` to support universe matching. See [Zulip](https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.2315335.20meta.20code.20for.20monoidal.20categories).
---
- [ ] depends on: #15335
[](https://gitpod.io/from-referrer/)
|
WIP
t-meta
|
26/15 |
Mathlib/Tactic/CategoryTheory/BicategoryCoherence.lean,Mathlib/Tactic/CategoryTheory/Coherence.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mergify'] |
nobody |
618-37425 1 year ago |
unknown |
0-0 0 seconds |
| 6475 |
joneugster author:joneugster |
refactor(LinearAlgebra/Span): replace ∙ with • as notation for `span R {x}` |
Change the notation for `Submodule.span R {x}` from `R ∙ x` to the bullet `R • x`, which is also used for scalar multiplication.
---
(this was an experiment originating from a [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.2E.C2.B7.E2.AC.9D.20.5Brant.5D), I don't have a clear opinion if this is actually a desired thing to do...)
Generally this works and Lean seems to do fine figuring out the difference between `r • x` and `R • x` (The former is scalar multiplication in an `R`-module `M`, the latter is the `Submodule R M` generated by `x`).
Encountered a few regressions that should be considered (the first two might be also bugs that could be looked at independently):
1. `(· • ·)`, and general simple function syntax, does not work as notation for `HSMul.hSMul` anymore. For this reason, I introduced the notation `scoped` to minimise the effect of this. Now it's only a problem if you `open Span`. Note that `fun x₁ x₂ ↦ x₁ • x₂` works flawlessly all the time.
4. `change` and `convert` have troubles to deal with the two competing notations. `have := _; convert this` works.
5. `R • x - y` is not valid anymore and needs parentheses: `R • (x - y)`. I do think this actually helps readability, so I don't mind.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
label:t-algebra$ |
323/240 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Normalizer.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Analysis/NormedSpace/ContinuousLinearMap.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Extension.lean,Mathlib/Analysis/NormedSpace/OperatorNorm.lean,Mathlib/Data/ZMod/Quotient.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Euclidean/MongePoint.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean,Mathlib/LinearAlgebra/BilinearForm.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Dimension.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/ProjectiveSpace/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/SesquilinearForm.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/MeasureTheory/Integral/Periodic.lean,Mathlib/RingTheory/Coprime/Ideal.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/AssociatedPrime.lean,Mathlib/RingTheory/Ideal/IdempotentFG.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/Topology/Instances/AddCircle.lean |
42 |
3 |
['eric-wieser', 'joneugster', 'leanprover-bot'] |
nobody |
617-58256 1 year ago |
unknown |
0-0 0 seconds |
| 10591 |
adri326 author:adri326 |
feat(Topology/Algebra/ConstMulAction): properties of continuous actions in Hausdorff spaces |
Defines some useful properties of `ContinuousConstSMul` group actions on Hausdorff spaces:
- `MulAction.isClosed_fixedBy`, which proves that the `fixedBy α m` set is closed
- `t2_separation_smul`, which constructs an open set `s` such that `s` and `g • s` are disjoint
- `Set.InjOn.t2_separation_smul`, the extension of `t2_separation_smul` to a set of group elements whose action is injective
---
This PR belongs my series of PR around the formalization of Rubin's theorem. `MulAction.isClosed_fixedBy` is used in several places along the proof, and the separation lemmas are primarily used in showing that `(fixedBy α g)ᶜ` and `(fixedBy α h)ᶜ` are disjoint under some intricate but fully group-theoretic condition.
[](https://gitpod.io/from-referrer/)
|
t-topology
awaiting-author
t-algebra
label:t-algebra$ |
57/0 |
Mathlib/Topology/Algebra/ConstMulAction.lean |
1 |
9 |
['ADedecker', 'adri326', 'j-loreaux', 'jcommelin'] |
ADedecker assignee:ADedecker |
617-29417 1 year ago |
769-42159 769 days ago |
55-82204 55 days |
| 7545 |
shuxuezhuyi author:shuxuezhuyi |
feat: APIs of `Function.extend f g e'` when `f` is injective |
We characterizes `range g`, `Injective g`, `Surjective g` and `Bijective g` in terms of `extend f g e'`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
50/0 |
Mathlib.lean,Mathlib/Logic/Function/ApiForExtend.lean |
2 |
1 |
['fpvandoorn'] |
nobody |
616-73792 1 year ago |
925-21574 925 days ago |
32-32325 32 days |
| 16658 |
adomani author:adomani |
add tips file |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
test-ci
|
51/508 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/Tips.lean |
5 |
1 |
['github-actions'] |
nobody |
613-16325 1 year ago |
unknown |
0-0 0 seconds |
| 14078 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat(CI): continue after mk_all fails |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
43/0 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Data/Nat/Test.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
612-83025 1 year ago |
695-49585 695 days ago |
0-13311 3 hours |
| 11283 |
hmonroe author:hmonroe |
feat(ModelTheory/Satisfiability): define theory with independent sentence |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-logic
|
8/0 |
Mathlib/ModelTheory/Satisfiability.lean |
1 |
2 |
['fpvandoorn', 'hmonroe'] |
nobody |
610-53579 1 year ago |
797-27249 797 days ago |
3-63452 3 days |
| 16914 |
siddhartha-gadgil author:siddhartha-gadgil |
Loogle syntax with non-reserved |
This is PR mainly to test that loogle syntax does not break stuff downstream
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4/4 |
lake-manifest.json,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
608-42188 1 year ago |
609-39277 609 days ago |
0-14835 4 hours |
| 13782 |
alreadydone author:alreadydone |
feat(EllipticCurve): ZSMul formula in terms of division polynomials |
The formula $[n]P = (\phi_n(x,y) : \omega_n(x,y) : \psi_n(x,y))$ in Jacobian coordinates for $P=(x,y)$ a nonsingular point on a Weierstrass/elliptic curve.
---
- [x] depends on: #12883
- [x] depends on: #13399
- [ ] depends on: #13057
- [ ] depends on: #13155
- [x] depends on: #13845
- [x] depends on: #13846
- [ ] depends on: #13847
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-number-theory
blocked-by-other-PR
merge-conflict
t-algebraic-geometry
label:t-algebra$ |
2462/232 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/PDeriv.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/ZSMul.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean |
10 |
8 |
['Multramate', 'alreadydone', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
606-5153 1 year ago |
unknown |
0-0 0 seconds |
| 8118 |
iwilare author:iwilare |
feat(CategoryTheory): add dinatural transformations |
A starting point to define [dinatural transformations](https://ncatlab.org/nlab/show/dinatural+transformation).
This is my first PR so style comments and improvements are very welcome!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
147/7 |
Mathlib.lean,Mathlib/CategoryTheory/DinatTrans.lean,Mathlib/CategoryTheory/Functor/Category.lean,Mathlib/CategoryTheory/Products/Bifunctor.lean |
4 |
49 |
['Shamrock-Frost', 'github-actions', 'iwilare', 'joelriou'] |
Shamrock-Frost assignee:Shamrock-Frost |
603-64474 1 year ago |
707-44951 707 days ago |
21-30729 21 days |
| 14242 |
js2357 author:js2357 |
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` |
Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`.
Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib.
- [x] depends on: #14099
- [x] depends on: #14216
- [ ] depends on: #14237
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
269/1 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
603-24825 1 year ago |
691-13772 691 days ago |
0-273 4 minutes |
| 17171 |
FR-vdash-bot author:FR-vdash-bot |
test extends carrier and property |
---
We need https://github.com/leanprover/lean4/issues/2666 ...
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
433/309 |
Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/Field/Subfield.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/MulOpposite.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Order.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Algebra/Star/Subsemiring.lean,Mathlib/Data/Complex/Module.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/Deprecated/Subfield.lean,Mathlib/Deprecated/Subgroup.lean,Mathlib/Deprecated/Submonoid.lean,Mathlib/Deprecated/Subring.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/DoubleCoset.lean,Mathlib/GroupTheory/Finiteness.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/SetTheory/Cardinal/Subfield.lean,Mathlib/Topology/Algebra/Algebra.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean |
42 |
1 |
['github-actions'] |
nobody |
599-23167 1 year ago |
unknown |
0-0 0 seconds |
| 7516 |
ADedecker author:ADedecker |
perf: use `abbrev` to prevent unifying useless data |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4/3 |
Mathlib/Topology/ContinuousFunction/Bounded.lean |
1 |
3 |
['ADedecker', 'leanprover-bot', 'mattrobball'] |
nobody |
597-81227 1 year ago |
958-45444 958 days ago |
0-16 16 seconds |
| 17127 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove global `Quotient.mk` `⟦·⟧` notation |
---
Merge this PR when we are ready to migrate to `QuotLike` API (#16421).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
137/2 |
Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean |
68 |
1 |
['github-actions'] |
nobody |
597-76270 1 year ago |
597-76270 597 days ago |
4-72805 4 days |
| 16887 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define conjunctive and disjunctive formulas |
Defines `FirstOrder.Language.BoundedFormula.IsConjunctive` and `FirstOrder.Language.BoundedFormula.IsDisjunctive`.
---
- [ ] depends on: #16885
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
300/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20803 1 year ago |
610-48877 610 days ago |
0-1299 21 minutes |
| 16888 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Define conjunctive and disjunctive normal forms |
Define `FirstOrder.Language.BoundedFormula.IsDNF` and `FirstOrder.Language.BoundedFormula.IsCNF`.
---
- [ ] depends on: #16887
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
415/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20803 1 year ago |
610-48878 610 days ago |
0-1045 17 minutes |
| 16889 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Normal forms |
Defines `FirstOrder.Language.BoundedFormula.toDNF` and `FirstOrder.Language.BoundedFormula.toCNF` - given a quantifier-free formula, these construct a semantically equivalent formula in disjunctive normal form and conjunctive normal form, respectively.
---
- [ ] depends on: #16888
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
525/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
595-20802 1 year ago |
610-44628 610 days ago |
0-613 10 minutes |
| 5995 |
FR-vdash-bot author:FR-vdash-bot |
feat: add APIs about `Quotient.choice` |
Some docs in this PR refer to the definition in #5576.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
RFC
t-data
|
76/6 |
Mathlib/Data/Quot.lean |
1 |
3 |
['YaelDillies', 'astrainfinita', 'gebner'] |
eric-wieser assignee:eric-wieser |
588-35012 1 year ago |
713-55673 713 days ago |
285-35716 285 days |
| 14619 |
Command-Master author:Command-Master |
chore: Merge `Trunc` to `Squash` |
Remove `Trunc` and use `Squash` instead
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
|
197/211 |
Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Semiquot.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/List.lean |
13 |
3 |
['Command-Master', 'github-actions', 'vihdzp'] |
nobody |
585-67353 1 year ago |
unknown |
0-0 0 seconds |
| 13156 |
erdOne author:erdOne |
refactor(Algebra/Module/LocalizedModule): Redefine `LocalizedModule` in terms of `OreLocalization`. |
---
- [x] depends on: #13151
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
519/628 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/Module.lean,Mathlib/RingTheory/OreLocalization/Ring.lean |
8 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball'] |
nobody |
583-42152 1 year ago |
583-42152 583 days ago |
51-84473 51 days |
| 16348 |
urkud author:urkud |
refactor(Topology): require `LinearOrder` with `OrderTopology` |
While the definition formally makes sense for a preorder,
this topology is usually not the right one for a non-linear order (e.g., `Real × Real`).
See [Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Open.20Ioi)
---
This PR doesn't cleanup any API, I'm going to do it in a later PR.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
t-order
|
33/46 |
Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/Sign.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/Filter.lean,Mathlib/Topology/Order/MonotoneContinuity.lean |
6 |
10 |
['YaelDillies', 'github-actions', 'jcommelin', 'urkud'] |
nobody |
583-41776 1 year ago |
623-74110 623 days ago |
3-83049 3 days |
| 13965 |
pechersky author:pechersky |
feat(Data/DigitExpansion): reals via digit expansion are complete |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #13964 |
merge-conflict
blocked-by-other-PR
t-data
|
3876/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Add.lean,Mathlib/Data/DigitExpansion/Defs.lean,Mathlib/Data/DigitExpansion/Hensel.lean,Mathlib/Data/DigitExpansion/Integer/Basic.lean,Mathlib/Data/DigitExpansion/Integer/Mul.lean,Mathlib/Data/DigitExpansion/Real/Basic.lean,Mathlib/Data/DigitExpansion/Real/CompleteSpace.lean,Mathlib/Data/DigitExpansion/Real/ConditionallyComplete.lean,docs/references.bib |
10 |
4 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
581-78944 1 year ago |
700-25163 700 days ago |
0-600 10 minutes |
| 16984 |
hrmacbeth author:hrmacbeth |
feat: extend `module` tactic to handle multiple rings, not strictly ordered by inclusion |
The `module` tactic currently in Mathlib handles scalars from multiple rings, but only if for any two rings `R` and `S` which appear, either `R` is an algebra over `S` or vice versa. This PR extends the tactic by providing a syntax `module T`, which will handle scalars from any ring `R` which `T` is an algebra over.
For example,
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module
```
fails since `ℤ` is not a `ℚ≥0`-algebra and `ℚ≥0` is not a `ℤ`-algebra, but
```lean
example : (2:ℤ) • x = (2:ℚ≥0) • x := by module ℚ
```
works since `ℚ` is both a `ℤ`-algebra and a `ℚ≥0`-algebra.
This PR is a quick proof-of-concept implementation, just to record the desired approach and tactic syntax. It should not be merged as-is. It has with a lot of code duplication and should be rewritten more efficiently (for example, `parse` and `parseEnsuringType` should be merged to a single function, and the `some`/`none` cases in `matchScalarsAux` should be merged to a uniform treatment) before being considered for merging to Mathlib.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
158/35 |
Mathlib/Tactic/Module.lean,test/module.lean |
2 |
1 |
['github-actions'] |
nobody |
579-64216 1 year ago |
unknown |
0-0 0 seconds |
| 12750 |
Command-Master author:Command-Master |
feat: define Gray code |
---
Define binary reflected gray code, both as a permutation of `Nat` and as a permutation of `BitVec n`, and prove some theorems about them. Additionally, remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
- [ ] depends on: #12751
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-data
new-contributor
merge-conflict
awaiting-author
|
226/0 |
Mathlib.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/GrayCode.lean,Mathlib/Data/Nat/Size.lean |
5 |
5 |
['Rida-Hamadani', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
577-43460 1 year ago |
726-25558 726 days ago |
16-49744 16 days |
| 12414 |
adomani author:adomani |
test: lint and unlint `·` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
64/14 |
Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Tactic/Linter/Multigoal.lean,test/Multigoal.lean |
4 |
4 |
['adomani', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
575-40001 1 year ago |
unknown |
0-0 0 seconds |
| 16647 |
eric-wieser author:eric-wieser |
feat: partitions of lists |
The length of this list is the bell numbers.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/List/Partition.lean |
2 |
1 |
['github-actions'] |
nobody |
572-60475 1 year ago |
unknown |
0-0 0 seconds |
| 13514 |
madvorak author:madvorak |
feat(Computability/ContextFreeGrammar): closure under union |
- [ ] depends on: #15895
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
blocked-by-other-PR
|
448/4 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
50 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot', 'madvorak'] |
nobody |
564-54788 1 year ago |
642-28769 642 days ago |
72-28417 72 days |
| 5364 |
thorimur author:thorimur |
feat: `wlog ... replacing` |
This allows hypotheses to be removed from the set of generalized hypotheses. E.g. `wlog h : P replacing h'` will remove `h'` from the hypotheses of the type of `this` and from the context of the goal that will suppose `h`. See [zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/wlog.20.2E.2E.2E.20replacing.20.2E.2E.2E.3F).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
125/18 |
Mathlib/Tactic/WLOG.lean,test/wlog.lean |
2 |
2 |
['thorimur', 'urkud'] |
nobody |
563-1427 1 year ago |
unknown |
0-0 0 seconds |
| 9654 |
urkud author:urkud |
feat: add `@[mk_eq]` version of `@[mk_iff]` |
The new attribute generates theorems like
```lean
List.chain_eq : @List.Chain = fun {α} R a a_1 => a_1 = [] ∨ ∃ b l, R a b ∧ List.Chain R b l ∧ a_1 = b :: l
```
and is useful to rewrite in a theorem that argues about the properties of an unapplied inductive predicate.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
63/9 |
Mathlib/Lean/Meta.lean,Mathlib/Tactic/MkIffOfInductiveProp.lean,test/MkIffOfInductive.lean |
3 |
6 |
['Vierkantor', 'github-actions', 'urkud'] |
nobody |
563-1181 1 year ago |
834-50880 834 days ago |
25-70825 25 days |
| 16704 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib.Data.Ordering.Dickson): Dickson orders |
Dickson orders are a particular class of well founded orders
characterized by the fact that every nonempty set has finitely many minimal elements.
They appear in the classical theory of Groebner bases because it is easier to prove
that some sets are well founded using this property.
WiP. In the `tfae` function, property 2 is exactly `Set.PartiallyWellOrderedOn`, so the PR should be rewritten so as to use that property (and not define `IsDickson`).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
|
324/0 |
Mathlib.lean,Mathlib/Data/Ordering/Dickson.lean,scripts/noshake.json |
3 |
9 |
['AntoineChambert-Loir', 'b-mehta', 'github-actions'] |
nobody |
562-66138 1 year ago |
613-54969 613 days ago |
2-84515 2 days |
| 16355 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: odd_{add,sub}_one |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-author
t-number-theory
label:t-algebra$ |
12/0 |
Mathlib/Algebra/Ring/Int.lean,Mathlib/Algebra/Ring/Parity.lean |
2 |
4 |
['Ruben-VandeVelde', 'github-actions', 'urkud'] |
nobody |
562-13935 1 year ago |
627-2381 627 days ago |
0-57608 16 hours |
| 8638 |
alreadydone author:alreadydone |
refactor: noncommutative tensor product |
Co-authored-by: Eric Wieser
Co-authored-by: Jujian Zhang
This draft PR currently only generalizes a single file TensorProduct.lean; it allows TensorProduct to be taken over a non-commutative ring. Most of the declarations in TensorProduct.lean are now generalized to the non-commutative setting, and very few are deleted (their commutative version will be restored in another file).
Next plans:
+ Change the namespace in TensorProduct.lean from TensorProduct to NonCommTensorProduct, and remove the #aligns
+ I plan to use the same notation for the non-commutative and the commutative TensorProduct, and the user will need to `open scoped` different namespaces to use the one of their choice.
+ Start a new file TensorProduct/Comm.lean, copy the content of TensorProduct.lean on master into it, change the definition TensorProduct to be semi-reducibly defeq to NonCommTensorProduct (in order to support more instances or unify non-defeq instances that become prop-eq in the commutative setting, e.g. we've chosen the R-action on a tensor product over commutative R to come from the left factor, since the action from the right factor is the same), and reuse the NonComm constructions as much as possible. We then change all files that imports TensorProduct.lean to import TensorProduct/Comm.lean instead. Once we do that, mathlib would compile and this PR would be complete. We can gradually generalize other files about tensor products this way.
In this PR:
`TensorProduct.map` is now defined in terms of `lTensor` and `rTensor` rather than the other way around, which requires moving `lTensor` and `rTensor` up from their original location. The definition of `rid` also becomes more challenging and is moved down.
An evident observation is that actions on the domain of AddMonoidHom / LinearMap is really natural in the context of tensor products and Hom-tensor adjunction (`TensorProduct.lift`), not the default actions on the codomain. For example, it allows us to write the "balanced biadditive monoid homs" in #8536 as simply `N →ₗ[R] M →+ P` (where the right R-action on M turns into the left action on `M →+ P`).
For this reason, we disable the default instances `AddMonoidHom/LinearMap.module` at the beginning of the file and enable the `AddMonoidHom/LinearMap.domModule` instances instead. (The action on the codomain would be necessary for the non-commutative version of [TensorProduct.lTensorHomToHomLTensor](https://leanprover-community.github.io/mathlib4_docs/Mathlib/LinearAlgebra/TensorProduct.html#TensorProduct.lTensorHomToHomLTensor) (in the form of `P ⊗[R] (M →+ Q) →+ M →+ P ⊗[R] Q`), but I've deleted it for now.)
We register actions on the left factor of a tensor product as the default instance, but we also talk about actions on the right factor (`attribute [local instance] rightModule`).
The Tensor-Hom adjunction #8495 is now `uncurryEquiv` in this PR.
#8519 is now included in this PR and #8584 is now called `lift` in this PR.
`CharacterModule.homEquiv` in #8559 can be obtained by combining `liftEquiv` and `flipMop` in this PR (except for a mop). To refactor the commutative tensor product, we'd need to transfer many R^mop-action to R-action and R^mop-LinearMaps to R-LinearMaps, which can be achieved via `Module.compHom` and `LinearMap.restrictScalars` (requires `LinearMap.CompatibleSMul` instance) given `RingEquiv.toOpposite`. `LinearMap.characterfy` and `CharacterModule.cong` could be obtained from `LinearMap.compAddMonoidHom` in this PR.
TODO:
+ Move delarations that belong to other files.
+ Change docstrings that are no longer accurate.
+ Fix some argument order to be more natural.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
793/676 |
Mathlib/Algebra/Module/LinearMap.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/TensorProduct.lean |
3 |
6 |
['alreadydone', 'eric-wieser', 'grhkm21', 'jjaassoonn'] |
nobody |
561-40148 1 year ago |
unknown |
0-0 0 seconds |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
560-71736 1 year ago |
560-71736 560 days ago |
7-45599 7 days |
| 18636 |
adomani author:adomani |
Test/latest import report dev |
This PR is a test accompanying #18631.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
147/0 |
.github/workflows/latest_import.yml,lakefile.lean |
2 |
1 |
['github-actions'] |
nobody |
559-59007 1 year ago |
unknown |
0-0 0 seconds |
| 16885 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define literals |
Defines `FirstOrder.Language.BoundedFormula.IsLiteral` and `FirstOrder.Language.BoundedFormula.simpleNot` - an auxiliary operation that takes the negation of a formula and does some simplification.
---
- [x] depends on: #16800
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
148/5 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
20 |
['YaelDillies', 'awainverse', 'github-actions', 'mathlib4-dependent-issues-bot', 'metinersin'] |
nobody |
558-27857 1 year ago |
594-17169 594 days ago |
0-19926 5 hours |
| 18716 |
jjaassoonn author:jjaassoonn |
feat(Algebra/Module/GradedModule): quotient and subgrading |
- [ ] depends on: #9820
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
awaiting-CI
merge-conflict
label:t-algebra$ |
997/191 |
Counterexamples/HomogeneousPrimeNotPrime.lean,Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Module/GradedModule/Basic.lean,Mathlib/Algebra/Module/GradedModule/QuotientGrading.lean,Mathlib/Algebra/Module/GradedModule/Subgrading.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Quotient.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/no_lints_prime_decls.txt |
12 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
558-27488 1 year ago |
unknown |
0-0 0 seconds |
| 9341 |
winstonyin author:winstonyin |
feat: Naturality of integral curves |
Let `v` and `v'` be sections of the tangent bundle of manifolds `M` and `M'`, respectively, and let `f : M → M'` be a differentiable map. Then `f` maps integral curves of `v` to integral curves of `v'` if and only if `v` and `v'` are `f`-related.
- [x] depends on: #8483
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-differential-geometry
|
45/0 |
Mathlib/Geometry/Manifold/IntegralCurve.lean,Mathlib/Topology/Algebra/Module/Basic.lean |
2 |
9 |
['github-actions', 'grunweg', 'leanprover-community-mathlib4-bot', 'winstonyin'] |
nobody |
554-79680 1 year ago |
862-49750 862 days ago |
0-28222 7 hours |
| 13248 |
hcWang942 author:hcWang942 |
feat: basic concepts of auction theory |
## Description
Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas.
This is the very first PR of the project formalizing core concepts and results in auction theory.
Our group is working on more contributions on the formalization of game theory prefix.
Co-authored-by: Ma Jiajun
## Reference
Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B)
---
- [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged
## Current plan for formalization of Game Theory
The current plan for the formalizing of Game Theory include:
#### 1. Auction Theory. 🎉 _(200+ lines, this PR)_
- Essential definitions of Sealed-bid auction, First-price auction and Second-price auction.
- First-price auction has no dominant strategy.
- Second-price auction has dominant strategy. (Second-price auction is DSIC)
#### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard)
- Mechanism design
An allocation rule is implementable if there exists
- Dominant Strategy Incentive Compatible (DSIC) payment rule
- An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid
- Myerson's Lemma
Implementable ⇔ Monotone
In the above case, the DSIC payment rule is unique.
#### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard)
- Equilibrium in zero sum game
- Formalization strategy: via Loomis’s theorem.
#### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard)
#### 5. Brouwer fixed-point theorem. (Work in Progress)
#### 6. More Mechanism design. (Planning)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
204/0 |
Mathlib.lean,Mathlib/GameTheory/Auction/Basic.lean,docs/references.bib |
3 |
148 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'hcWang942', 'tb65536', 'urkud', 'vihdzp'] |
hcWang942 assignee:hcWang942 |
553-66689 1 year ago |
567-52877 567 days ago |
109-82807 109 days |
| 17675 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not search algebraic hierarchy when searching `FunLike` hierarchy |
---
Unification is still very slow.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
144/4 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Group/Equiv/Basic.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Equiv.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Util/SetSynthOrder.lean,MathlibTest/TCSynth.lean,scripts/noshake.json |
24 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
553-41822 1 year ago |
unknown |
0-0 0 seconds |
| 9344 |
erdOne author:erdOne |
feat: Add `AddGroup.FG` -> `Module.Finite ℤ` as instances |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
4/0 |
Mathlib/RingTheory/Finiteness.lean |
1 |
4 |
['alreadydone', 'erdOne', 'leanprover-bot'] |
nobody |
552-51082 1 year ago |
851-51525 851 days ago |
21-27905 21 days |
| 12133 |
ADedecker author:ADedecker |
feat: generalize instIsLowerProd to arbitrary products |
Also change a bit the proof of the product case to match my own taste, feel free to tell if you prefer the old one.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
t-order
|
34/14 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Order/LowerUpperTopology.lean |
2 |
13 |
['Ruben-VandeVelde', 'TwoFX', 'github-actions', 'jcommelin', 'mans0954', 'mathlib-bors', 'riccardobrasca'] |
nobody |
551-60836 1 year ago |
702-56472 702 days ago |
63-69226 63 days |
| 16637 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` of `(Add)Monoid` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
46/51 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
20 |
3 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
551-60074 1 year ago |
616-67430 616 days ago |
1-49655 1 day |
| 18765 |
FR-vdash-bot author:FR-vdash-bot |
chore: changing `outParam` of `MulActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
60/34 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
4 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
551-16335 1 year ago |
unknown |
0-0 0 seconds |
| 15822 |
kmill author:kmill |
feat: greedy colorings of finite graphs |
Proves that the greedy coloring only takes `G.maxDegree + 1` colors.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
159/0 |
Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
1 |
1 |
['github-actions'] |
nobody |
548-41528 1 year ago |
unknown |
0-0 0 seconds |
| 8661 |
joelriou author:joelriou |
feat(CategoryTheory/Sites): descent of sheaves |
In this PR, it is shown that the category of sheaves on a site `(C, J)` identifies as a full subcategory of a category of families of sheaves equipped with a descent data (for a family of objects which cover the final object). Under suitable conditions, it shall be shown that this is an equivalence of categories (TODO).
---
This shall be split in small PRs later.
- [x] depends on: #8622
- [x] depends on: #8632
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
1396/26 |
Mathlib.lean,Mathlib/CategoryTheory/Over.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Sites/Descent.lean,Mathlib/CategoryTheory/Sites/EqualizerSheafCondition.lean,Mathlib/CategoryTheory/Sites/InducedTopology.lean,Mathlib/CategoryTheory/Sites/ObjectsCoverTop.lean,Mathlib/CategoryTheory/Sites/Over.lean,Mathlib/CategoryTheory/Sites/SheafHom.lean,Mathlib/CategoryTheory/Sites/Sieves.lean |
10 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
548-37056 1 year ago |
unknown |
0-0 0 seconds |
| 19055 |
JLimperg author:JLimperg |
Test precompilation (batteries + aesop) again |
|
merge-conflict |
9/8 |
lake-manifest.json,lakefile.lean |
2 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
548-18699 1 year ago |
unknown |
0-0 0 seconds |
| 10476 |
shuxuezhuyi author:shuxuezhuyi |
feat(Topology/UniformSpace): define uniform preordered space |
We define the semi-uniform structure and the uniform preordered space.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
94/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/UniformOrder.lean,docs/references.bib |
3 |
2 |
['shuxuezhuyi'] |
nobody |
547-23710 1 year ago |
775-51138 775 days ago |
52-19273 52 days |
| 17593 |
astrainfinita author:astrainfinita |
chore(Algebra/Order/GroupWithZero/Unbundled): deprecate useless lemmas, use `ZeroLEOneClass` |
There are still some useless lemmas that were simply ported from `Algebra.Order.Monoid.Lemmas`, such as just chain an existing lemma with an assumption and lemmas whose assumptions imply `1 ≤ 0`. This PR removes them.
Also, some lemmas have both assumptions like `1 < a` `0 < a`. This PR uses `ZeroLEOneClass` to remove redundant assumptions.
---
- [ ] depends on: #17623
Ported from https://github.com/leanprover-community/mathlib/pull/16525 and https://github.com/leanprover-community/mathlib/pull/18158
Adapted from #9250. This version is easier to review.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
t-order
label:t-algebra$ |
188/48 |
Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/Order/Field.lean |
6 |
4 |
['astrainfinita', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
546-47052 1 year ago |
587-32633 587 days ago |
0-74903 20 hours |
| 17623 |
FR-vdash-bot author:FR-vdash-bot |
feat(Algebra/Order/GroupWithZero/Unbundled): add some lemmas |
Some lemmas in `Algebra.Order.GroupWithZero.Unbundled` have incorrect or unsatisfactory names, or assumptions that can be omitted using `ZeroLEOneClass`. The lemmas added in this PR are versions of existing lemmas that use the correct or better name or `ZeroLEOneClass` to omit an assumption. The original lemmas will be deprecated in #17593.
| New name | Old name |
|-------------------------|-------------------------|
| `mul_le_one_left₀` | `Left.mul_le_one_of_le_of_le` |
| `mul_lt_one_of_le_of_lt_left₀` (`0 ≤ ·` version) / `mul_lt_one_of_le_of_lt_of_pos_left` | `Left.mul_lt_of_le_of_lt_one_of_pos` |
| `mul_lt_one_of_lt_of_le_left₀` | `Left.mul_lt_of_lt_of_le_one_of_nonneg` |
| `mul_le_one_right₀` | `Right.mul_le_one_of_le_of_le` |
| `mul_lt_one_of_lt_of_le_right₀` (`0 ≤ ·` version) / `mul_lt_one_of_lt_of_le_of_pos_right` | `Right.mul_lt_one_of_lt_of_le_of_pos` |
| `mul_lt_one_of_le_of_lt_right₀` | `Right.mul_lt_one_of_le_of_lt_of_nonneg` |
The following lemmas use `ZeroLEOneClass`.
| New name | Old name |
|-------------------------|-------------------------|
| `(Left.)one_le_mul₀` | `Left.one_le_mul_of_le_of_le` |
| `Left.one_lt_mul_of_le_of_lt₀` | `Left.one_lt_mul_of_le_of_lt_of_pos` |
| `Left.one_lt_mul_of_lt_of_le₀` | `Left.lt_mul_of_lt_of_one_le_of_nonneg` / `one_lt_mul_of_lt_of_le` (still there) |
| `(Left.)one_lt_mul₀` | |
| `Right.one_le_mul₀` | `Right.one_le_mul_of_le_of_le` |
| `Right.one_lt_mul_of_lt_of_le₀` | `Right.one_lt_mul_of_lt_of_le_of_pos` |
| `Right.one_lt_mul_of_le_of_lt₀` | `Right.one_lt_mul_of_le_of_lt_of_nonneg` / `one_lt_mul_of_le_of_lt` (still there) / `one_lt_mul` (still there) |
| `Right.one_lt_mul₀` | `Right.one_lt_mul_of_lt_of_lt` |
---
Split from #17593.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-zulip
t-order
label:t-algebra$ |
146/44 |
Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean |
2 |
11 |
['YaelDillies', 'astrainfinita', 'github-actions', 'j-loreaux'] |
nobody |
546-47052 1 year ago |
553-39611 553 days ago |
33-64877 33 days |
| 18969 |
alreadydone author:alreadydone |
chore: generalize Module to NonUnitalSemiring |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
94/75 |
Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/FreeModule/IdealQuotient.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/RingTheory/Filtration.lean,Mathlib/RingTheory/Flat/FaithfullyFlat.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Lattice.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Presentation.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
31 |
11 |
['alreadydone', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
544-70704 1 year ago |
unknown |
0-0 0 seconds |
| 17624 |
FR-vdash-bot author:FR-vdash-bot |
feat(Algebra/Order/GroupWithZero/Unbundled): generalize lemmas |
---
- [ ] depends on: #17623
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
t-order
label:t-algebra$ |
121/26 |
Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
542-84224 1 year ago |
587-31503 587 days ago |
0-465 7 minutes |
| 17513 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not search algebraic hierarchies when using `map_*` lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
awaiting-bench
label:t-algebra$ |
5/3 |
Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
2 |
10 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
541-43246 1 year ago |
585-45111 585 days ago |
4-72589 4 days |
| 17515 |
FR-vdash-bot author:FR-vdash-bot |
perf: do not need `simp low` now |
---
- [ ] depends on: #17513
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
12/10 |
Mathlib/Algebra/Group/Hom/Defs.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/NumberTheory/LucasLehmer.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
541-43245 1 year ago |
590-30757 590 days ago |
0-380 6 minutes |
| 19212 |
Julian author:Julian |
feat(LinearAlgebra): add a variable_alias for VectorSpace |
Taken directly from the variable_alias docs.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/why.20.5Bvariable_alias.5D.20attribute.20is.20not.20used.20in.20Mathlib.3F
---
This is the first actual variable alias added to mathlib. I haven't reviewed variable_alias fully, but it seems like there's at least 3 ways they could be distributed in Mathlib:
* alongside whatever subfolder they "belong to" (which is what I've tentatively done here)
* In a file called `Aliases` somewhere near the thing they alias (which seems less discoverable to me)
* In a single file, a la `Mathlib.TrainingWheels` (with some less playful name) which is meant to define a bunch of more "friendly" aliases all in one place.
I kind of like the idea of the third thing as a future module but perhaps it can be synthesized if/when there are more aliases? For now as I say I've done the first one, but please let me know if someone prefers something else.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
25/0 |
Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json |
3 |
10 |
['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] |
nobody |
540-48491 1 year ago |
540-48491 540 days ago |
7-68089 7 days |
| 19337 |
zeramorphic author:zeramorphic |
feat(Data/Finsupp): generalise `Finsupp` to any "zero" value |
Remove the explicit dependence of `Finsupp` on `[Zero M]`, instead defining `Finsupp'` (better name pending) to be functions that are equal to a fixed value `z : M` cofinitely often.
This PR is intended to do the initial work of replacing the definition of `Finsupp` with an instantiation of the more general definition, without adding any appropriate API. If accepted, the API development will follow in later PRs.
Issues to consider:
- Naming of `Finsupp'.`
- Where should `Finsupp'` lemmas go? Do they need their own file/folder under `Data/`?
Relevant Zulip threads:
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp.20generalisations
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp-like.20partial.20function
Comments are welcome.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
203/83 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt |
13 |
5 |
['github-actions', 'vihdzp', 'zeramorphic'] |
nobody |
538-24568 1 year ago |
538-24568 538 days ago |
4-60621 4 days |
| 18756 |
astrainfinita author:astrainfinita |
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
50/28 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
526-76637 1 year ago |
526-76637 526 days ago |
31-53021 31 days |
| 19125 |
yhtq author:yhtq |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings.
- [x] depends on: #18404
- [x] depends on: #19124
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsFractionRing.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'tb65536'] |
nobody |
524-2706 1 year ago |
550-50488 550 days ago |
0-1980 33 minutes |
| 18841 |
hrmacbeth author:hrmacbeth |
chore: change some `linarith`s to `linear_combination`s |
Change 100 `linarith`s to `linear_combination`s; this is generally a slight speedup.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #18714 (not strictly blocked by this, but the speed comparison will be more informative after it)
|
merge-conflict
WIP
|
106/107 |
Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2021Q1.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/MeasureTheory/Covering/BesicovitchVectorSpace.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean,Mathlib/Probability/Distributions/Pareto.lean |
30 |
29 |
['github-actions', 'grunweg', 'hrmacbeth', 'jcommelin', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
522-50032 1 year ago |
544-72278 544 days ago |
3-28253 3 days |
| 11142 |
hmonroe author:hmonroe |
feat(ProofTheory): Define logical symbols abstractly; opens new top-level section, drawing from lean4-logic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
468/1 |
Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/LogicSymbol.lean |
3 |
19 |
['PatrickMassot', 'YaelDillies', 'avigad', 'fpvandoorn', 'github-actions'] |
nobody |
516-59852 1 year ago |
713-33501 713 days ago |
94-3235 94 days |
| 11210 |
hmonroe author:hmonroe |
Test commit |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
1950/1 |
Mathlib.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/ProofTheory/Calculus.lean,Mathlib/ProofTheory/FirstOrder/Arith/Language.lean,Mathlib/ProofTheory/FirstOrder/Basic/Syntax/Term.lean,Mathlib/ProofTheory/LogicSymbol.lean,Mathlib/ProofTheory/Matrix.lean,Mathlib/ProofTheory/Semantics.lean,Mathlib/ProofTheory/System.lean,docs/references.bib |
10 |
100 |
['github-actions'] |
nobody |
516-59851 1 year ago |
802-49332 802 days ago |
2-67901 2 days |
| 19621 |
Command-Master author:Command-Master |
feat: Multiplicity and prime-adic valuation of derivations |
---
- [ ] depends on: #19596
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
397/13 |
Mathlib.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Derivation/Multiplicity.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
516-42112 1 year ago |
536-67461 536 days ago |
0-666 11 minutes |
| 18262 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat/Presheaf): exterior powers of presheaves of modules |
---
- [x] depends on: #18261
- [ ] depends on: #18236
- [ ] depends on: #18197
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
t-category-theory
merge-conflict
label:t-algebra$ |
874/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/FunctorOfNatTrans.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
516-33407 1 year ago |
unknown |
0-0 0 seconds |
| 18294 |
FR-vdash-bot author:FR-vdash-bot |
perf: make `Mul.toSMul` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-bench
t-algebra
label:t-algebra$ |
2/5 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Order/Field/Pointwise.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Topology/Algebra/Module/WeakBilin.lean |
4 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
511-41044 1 year ago |
unknown |
0-0 0 seconds |
| 15269 |
kkytola author:kkytola |
feat: Add ENNReal.floor |
A right-continuous floor function on `ENNReal`.
---
- [x] depends on: #13938
- [ ] depends on: #15773 (general type class for `ENat`-valued floor functions)
- [x] depends on: #15380 (topology on `ENat` is needed to state right continuity of the floor function)
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
t-order
merge-conflict
awaiting-author
label:t-algebra$ |
445/0 |
Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENNReal/Floor.lean,Mathlib/Data/Nat/Lattice.lean |
4 |
18 |
['YaelDillies', 'github-actions', 'kkytola', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
503-14341 1 year ago |
652-9407 652 days ago |
0-3440 57 minutes |
| 15773 |
kkytola author:kkytola |
feat: Add type class for ENat-valued floor functions |
This PR adds a type class for extended natural number -valued floor functions. This is split off from #15269, where the suggestions were to make the floor function on ENNReal ENat-valued and to have an API mimicling FloorSemirings. Besides ENNReal, at least ENNRat would naturally satisfy the general type class.
---
Two things are worth noting:
* To fully mimic `FloorSemiring` API, also ceiling functions need to be added. The plan is to do that in a later PR.
* The PR introduces the class `CastNatENatClass` to ensure that `natCast` and a coercion from `ENat` behave in the natural and order-respecing manner. This feels a little ad hoc, but such assumptions are needed for general `ENat`-valued floor functions to behave well.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-order
|
231/0 |
Mathlib.lean,Mathlib/Algebra/Order/EFloor.lean,Mathlib/Data/ENat/Basic.lean |
3 |
5 |
['YaelDillies', 'github-actions', 'kkytola', 'urkud'] |
nobody |
503-14218 1 year ago |
579-13571 579 days ago |
66-24436 66 days |
| 3251 |
kmill author:kmill |
feat: deriving `LinearOrder` for simple enough inductive types |
Uses the same machinery underlying the `Fintype` derive handler to derive a lexicographical `LinearOrder` for non-recursive inductive types that have no indices.
In principle more complicated types can have `LinearOrder`s, but that would require a more sophisticated implementation.
---
- [x] depends on: #3198
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-meta
|
82/0 |
Mathlib.lean,Mathlib/Tactic/DeriveLinearOrder.lean |
2 |
5 |
['ChrisHughes24', 'kim-em', 'kmill', 'vihdzp'] |
nobody |
500-75271 1 year ago |
1126-77302 1126 days ago |
1-80343 1 day |
| 3610 |
TimothyGu author:TimothyGu |
feat: derive Infinite automatically for inductive types |
Deals with recursive types, but not mutually recursive types or types with indices right now. See docstring for details.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
517/0 |
Mathlib.lean,Mathlib/Tactic/DeriveInfinite.lean,test/DeriveInfinite.lean |
3 |
11 |
['TimothyGu', 'digama0', 'eric-wieser', 'grunweg', 'kim-em', 'kmill'] |
kmill assignee:kmill |
500-75270 1 year ago |
1112-70312 1112 days ago |
9-24079 9 days |
| 16120 |
awainverse author:awainverse |
feat(ModelTheory/Algebra/Ring/Basic): Ring homomorphisms are a `StrongHomClass` for the language of rings |
Adds an `IsAlgebraic` instance to the language of rings
Adds a `StrongHomClass` instance to the type of ring homomorphisms between rings with `CompatibleRing` structures
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
t-logic
label:t-algebra$ |
34/13 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean |
1 |
10 |
['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] |
nobody |
499-6411 1 year ago |
499-6411 499 days ago |
135-29017 135 days |
| 20459 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: fix names of roots_C_mul_X_{add,sub}_C_of_IsUnit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
11/5 |
Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Roots.lean |
2 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
497-30854 1 year ago |
497-30854 497 days ago |
4-64422 4 days |
| 20527 |
trivial1711 author:trivial1711 |
refactor(Topology/UniformSpace/Completion): more descriptive names for `α → Completion α` |
- We rename the various maps `α → Completion α` in order to make their names more consistent.
- Let `α` be a uniform space. We rename the uniformly continuous function `α → Completion α` from `UniformSpace.Completion.coe'` to `UniformSpace.Completion.coe`.
- Let `α` be a uniform additive group. We rename the additive group homomorphism `α →+ Completion α` from `UniformSpace.Completion.toCompl` to `UniformSpace.Completion.coeAddHom`.
- Let `α` be a uniform ring. The ring homomorphism `α →+* Completion α` is called `UniformSpace.Completion.coeRingHom`; its name is unchanged.
- Let `α` be a normed space over a field `𝕜`. We rename the linear isometry `α →ₗᵢ[𝕜] Completion α` from `UniformSpace.Completion.toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ`.
- Let `α` be a normed space over a field `𝕜`. We rename the continuous linear map `α →L[𝕜] Completion α` from `UniformSpace.Completion.toComplL` to `UniformSpace.Completion.coeL`.
- Let `α` be a normed additive group. We rename the norm preserving homomorphism `NormedAddGroupHom α (Completion α)` from `NormedAddCommGroup.toCompl` to `UniformSpace.Completion.coeNormedAddGroupHom`.
- We analogously rename some other theorems.
- We add some trivial theorems (all of which are proved by `rfl`) that state that the functions considered above are equal. We give all of them the `simp` and `norm_cast` attributes.
- We add a new theorem `UniformSpace.Completion.coeAddHom_eq_coe` that states that `UniformSpace.Completion.coeAddHom` and `UniformSpace.Completion.coe` are equal as functions.
- We similarly add a new theorem `UniformSpace.Completion.coeRingHom_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplL` to `UniformSpace.Completion.coeL_eq_coe`.
- We similarly add a new theorem `UniformSpace.Completion.coeNormedAddGroupHom_eq_coe`.
- We change all occurrences of the string `((↑) : α → Completion α)` to `(coe : α → Completion α)` or just `coe`.
- We put the statements of some theorems into simp normal form by using the plain function `coe` rather than the homomorphisms that carry more structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
130/92 |
Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Category/UniformSpace.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/UniformSpace/Completion.lean |
17 |
4 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
492-37443 1 year ago |
492-37443 492 days ago |
6-66637 6 days |
| 17739 |
Aaron1011 author:Aaron1011 |
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals |
Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
27/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
8 |
['github-actions', 'vihdzp'] |
nobody |
490-24718 1 year ago |
583-16288 583 days ago |
0-4704 1 hour |
| 18474 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `*WithOne.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-data
label:t-algebra$ |
9/2 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean |
3 |
7 |
['astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
490-24473 1 year ago |
490-24473 490 days ago |
76-66907 76 days |
| 20656 |
Komyyy author:Komyyy |
feat(Mathlib/Geometry/Manifold/VectorBundle/Sphere): convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ` |
Current Mathlib has no easy way to define function from a manifold to tangent bundles of sphere: `T𝕊ⁿ`.
This PR gives this: `sphereTangentMap`. This convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ`.
I also proved that if `f : M → 𝕊ⁿ` & `g : M → ℝⁿ⁺¹` are smooth then `sphereTangentMap` of `f` & `g` is smooth too.
---
⚠ **CAUTION**
I formalized this in my spare time.
I don't have the energy to maintain the PR, but I create this PR so this may helps everyone.
The only one thing to do is proof cleanup.
TODO:
- [x] `contDiff_uncurry_stereoInvFunAux` & `coe_sphere_comp_stereoInvFun` may have to be moved to `Mathlib.Geometry.Manifold.Instances.Sphere`.
- [ ] Proof cleanup. Current proof may be redundant and ugly.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-differential-geometry
|
246/6 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/VectorBundle/Sphere.lean |
3 |
1 |
['github-actions'] |
nobody |
489-59407 1 year ago |
unknown |
0-0 0 seconds |
| 15711 |
znssong author:znssong |
feat(Combinatorics/SimpleGraph): Some lemmas about walk, cycle and Hamiltonian cycle |
---
These lemmas are separated from the `meow-sister/BondyChvatal` branch and will be needed for the proof of the Bondy-Chvátal theorem.
- [x] depends on: #15536
- [x] depends on: #16294 |
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
407/3 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
4 |
22 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'znssong'] |
nobody |
489-43804 1 year ago |
610-54965 610 days ago |
9-13962 9 days |
| 15720 |
znssong author:znssong |
feat(SimpleGraph): The Bondy-Chvátal theorem |
The proof of the Bondy-Chvátal theorem, with Dirac's theorem and Ore's theorem as its corollary.
- [x] depends on: #15536
- [ ] depends on: #15711
- [ ] depends on: #15578 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
903/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BondyChvatal.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
8 |
3 |
['github-actions', 'grunweg'] |
nobody |
489-43804 1 year ago |
646-61158 646 days ago |
0-1791 29 minutes |
| 18629 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.merge |
This PR adds the formalization of the runtime complexity of the merge function, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15450
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
186/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean |
3 |
2 |
['github-actions', 'trivial1711'] |
nobody |
489-9723 1 year ago |
529-9336 529 days ago |
33-11262 33 days |
| 14412 |
jjaassoonn author:jjaassoonn |
feat: show stalk of presheaf of modules is a module over stalk of ring |
---
- [x] depends on: #14413
- [ ] depends on: #14501
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
blocked-by-other-PR
workshop-AIM-AG-2024
|
966/2 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing'.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/OverColimitsRing.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/Module.lean,Mathlib/Topology/Sheaves/Stalks.lean |
8 |
5 |
['github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot', 'smorel394'] |
nobody |
487-28306 1 year ago |
unknown |
0-0 0 seconds |
| 8362 |
urkud author:urkud |
feat(Asymptotics): define `ReflectsGrowth` |
---
- [x] depends on: #8349
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
268/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/ReflectsGrowth.lean |
2 |
14 |
['YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
487-16977 1 year ago |
678-68804 678 days ago |
240-47513 240 days |
| 6692 |
prakol16 author:prakol16 |
feat: disjoint indexed union of local homeomorphisms |
Add disjoint indexed union of local equivs and local homeomorphisms
---
This is leading up to PRing some things related to covering spaces that I wrote a long time ago in lean 3 but never submitted a PR for. Note that this was converted using mathport.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
126/0 |
Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Topology/PartialHomeomorph.lean |
2 |
4 |
['alreadydone', 'github-actions', 'winstonyin'] |
nobody |
487-1573 1 year ago |
579-11592 579 days ago |
118-5497 118 days |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
485-57303 1 year ago |
485-57303 485 days ago |
69-35596 69 days |
| 19291 |
PieterCuijpers author:PieterCuijpers |
feat(Algebra/Order/Hom): add quantale homomorphism |
Definition of quantale homomorphisms as functions that are both semigroup homomorphisms and complete lattice homomorphisms.
---
- [x] depends on: #19810
- [x] depends on: #19811
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Quantale.lean,scripts/noshake.json |
3 |
29 |
['PieterCuijpers', 'YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] |
nobody |
484-31382 1 year ago |
489-85183 489 days ago |
29-51482 29 days |
| 19352 |
hrmacbeth author:hrmacbeth |
chore: change some `nlinarith`s to `linear_combination`s |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
13/13 |
Archive/Imo/Imo2021Q1.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Mathlib/Analysis/Normed/Group/AddCircle.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/NumberTheory/Modular.lean |
8 |
4 |
['github-actions', 'hrmacbeth', 'leanprover-bot'] |
nobody |
482-60593 1 year ago |
544-72298 544 days ago |
0-8636 2 hours |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
477-48730 1 year ago |
477-48730 477 days ago |
27-43617 27 days |
| 2605 |
eric-wieser author:eric-wieser |
chore: better error message in linarith |
On this mwe:
```lean
import Mathlib.Tactic.Linarith
example (s : Set ℕ) (h : s = s) : 0 ≤ 1 :=
by linarith
```
this now indicates where the internal error is coming from.
Is there a better way of chaining errors than this?
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
12/1 |
Mathlib/Tactic/Linarith/Preprocessing.lean |
1 |
3 |
['Vierkantor', 'harahu', 'kim-em', 'mo271'] |
nobody |
475-39323 1 year ago |
1122-70862 1122 days ago |
51-42225 51 days |
| 11837 |
trivial1711 author:trivial1711 |
feat: completion of a uniform multiplicative group |
Multiplicativize `Topology.Algebra.GroupCompletion`. That is, rewrite it in the multiplicative setting and recover the original results using `@[to_additive]`.
- Because `@[to_additive]` doesn't work with `noncomputable section` (https://github.com/leanprover/lean4/pull/2610), some instances with `@[to_additive]` need to be explicitly marked with `noncomputable instance`.
- One might be tempted to multiplicativize this definition from `Topology.Algebra.GroupCompletion`:
```lean
instance [UniformSpace α] [Add α] : Add (Completion α) :=
⟨Completion.map₂ (· + ·)⟩
```
to this:
```lean
@[to_additive]
instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨Completion.map₂ (· * ·)⟩
```
However, as Eric Wieser pointed out, doing so would create a bad diamond with the definition
```lean
instance [UniformSpace α] [TopologicalRing α] [UniformAddGroup α] [Ring α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
in `Topology.Algebra.UniformRing`.
How should this diamond be resolved? Well, the definition of multiplication that uses `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` is the "correct" one. For example, it yields the correct result if `α` is `ℚ`, unlike the definition that uses `Completion.map₂ (· * ·)`. (This is because `Completion.map₂` yields junk values if used on a function which is not uniformly continuous. Note, however, that if multiplication on `α` *is* uniformly continuous, then `Completion.map₂ (· * ·)` and `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` are propositionally equal.) So, following Eric's suggestion, we remove the definition that uses `Completion.map₂ (· * ·)`, and generalize the other definition to any uniform space with a multiplication operation:
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
This requires slightly modifying some of the proofs in `Topology.Algebra.GroupCompletion`. For example, suppose that `α` is a uniform group. Since we can no longer use `Completion.continuous_map₂`, it becomes more efficient to prove that the multiplication, inversion, and division operations on `Completion α` are uniformly continuous *before* we prove that `Completion α` is a group.
- Previously, `Topology.Algebra.GroupCompletion` had an instance:
```lean
instance [UniformSpace α] [Sub α] : Sub (Completion α) := ...
```
Naively multiplicativizing this would yield
```lean
@[to_additive]
instance [UniformSpace α] [Inv α] : Inv (Completion α) := ...
```
Unfortunately, this would conflict with `Topology.Algebra.UniformField`, which already instantiates `Inv (Completion α)` when `α` is a uniform field. Instead, we use two different `instance` declarations. (If `α` is an additive group, then this instantiates `Neg (Completion α)` twice, and the instances are syntactically equal.)
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
This avoids the bad diamond (because a uniform field can never be a `Group`) while remaining backward compatible. Note that the `@[to_additive]` is necessary here, because it maintains the link between the additive setting and multiplicative setting. We use a similar method to instantiate `Div (Completion α)`.
- Some definitions in this file involve a module structure on `α`. We leave these as is and do not attempt to multiplicativize them at all.
- The instance of `DistribMulAction` must be multiplicativized to an instance of `MulDistribMulAction` manually.
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Completion.20of.20a.20uniform.20multiplicative.20group
---
# (Small) Issue
Recall the following trick that this pull request uses to define inversion and negation on uniform spaces. The idea is that we define negation on the completion of any uniform space that has a negation operation, but we define inversion on only the completion of a uniform space that has the structure of a multiplicative group. We do this to avoid creating a bad diamond with the inversion operation on a uniform field.
```lean
@[to_additive]
noncomputable instance {α : Type*} [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance {α : Type*} [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
Now, suppose that we want to prove `coe_inv_of_group` (resp. `coe_neg`), which states that the coercion `α → Completion α` commutes with inversion (resp. negation). In the current version of this pull request, `coe_inv_of_group` (resp. `coe_neg`) only applies to uniform multiplicative (resp. additive) groups. However, we do not use the fact that multiplication (resp. addition) on `α` is uniformly continuous to prove it. We only use the fact that inversion (resp. negation) is continuous. So, what we really want is to have more general statements that look like this:
```lean
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Note that `coe_inv_of_group` needs the assumption `[Group α]`, because otherwise inversion is not defined on `Completion α` at all. However, `coe_neg` does not need the analogous assumption `[AdditiveGroup α]`.
The question is: If `coe_inv_of_group` and `coe_neg` are written in this more general form, how can we link them using `@[to_additive]`? Here is one option, but it obviously leaves something to be desired.
```lean
@[to_additive coe_neg_do_not_use_this_use_the_more_general_version]
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Co-authored-by: Eric Wieser
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
help-wanted
t-topology
label:t-algebra$ |
342/217 |
Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean |
9 |
14 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
475-16828 1 year ago |
504-29107 504 days ago |
101-63310 101 days |
| 12670 |
trivial1711 author:trivial1711 |
feat: completion of a nonarchimedean multiplicative group |
We prove that the completion of a nonarchimedean multiplicative group is a nonarchimedean multiplicative group.
---
- [x] depends on: #12669
- [ ] depends on: #11837
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-topology
blocked-by-other-PR
label:t-algebra$ |
358/228 |
Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean |
9 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
475-16705 1 year ago |
501-84561 501 days ago |
50-17994 50 days |
| 21384 |
alreadydone author:alreadydone |
experiment: make submodule quotient reducibly defeq to additive group quotient |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
1/1 |
Mathlib/LinearAlgebra/Quotient/Defs.lean |
1 |
1 |
['github-actions'] |
nobody |
471-28470 1 year ago |
unknown |
0-0 0 seconds |
| 9449 |
hmonroe author:hmonroe |
feat: Add Turing machine with the quintet definition (TMQ) and a chainable step function for each TM type |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
|
458/1 |
Mathlib/Computability/TuringMachine.lean,Mathlib/Logic/PartArith.lean |
2 |
8 |
['eric-wieser', 'github-actions', 'hmonroe'] |
nobody |
469-67907 1 year ago |
813-80959 813 days ago |
53-6945 53 days |
| 18719 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `SemilinearMapClass.toAddHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
awaiting-bench
label:t-algebra$ |
14/7 |
Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,MathlibTest/TCSynth.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
468-42724 1 year ago |
unknown |
0-0 0 seconds |
| 19697 |
quangvdao author:quangvdao |
feat(BigOperators/Fin): Sum/product over `Fin` intervals |
This PR adds new theorems about the sum/product of some vector over `Fin` intervals. One example is:
```
@[to_additive]
theorem prod_Iic_succ (i : Fin n) :
∏ j ∈ Iic i.succ, v j = (∏ j ∈ Iic i.castSucc, v j) * v i.succ
```
---
- [x] depends on: #20360
This is in preparation for reworking `finSigmaFinEquiv` and `finProdFinEquiv` in #19013.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
87/12 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Data/Fintype/Fin.lean,Mathlib/Order/Interval/Finset/Fin.lean |
3 |
20 |
['Ruben-VandeVelde', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
467-23925 1 year ago |
501-59855 501 days ago |
6-25961 6 days |
| 19353 |
hrmacbeth author:hrmacbeth |
chore: golf some term/rw proofs using `linear_combination` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
47/102 |
Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani.lean,Mathlib/NumberTheory/Modular.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean |
7 |
5 |
['github-actions', 'grunweg', 'hrmacbeth', 'leanprover-bot'] |
grunweg assignee:grunweg |
466-23046 1 year ago |
544-72290 544 days ago |
0-7781 2 hours |
| 20248 |
peabrainiac author:peabrainiac |
feat(Topology/Compactness): first-countable locally path-connected spaces are delta-generated |
Shows that all first-countable locally path-connected spaces are delta-generated (so in particular all normed spaces and convex subsets thereof are), and that delta-generated spaces are equivalently generated by the unit interval or standard simplices.
---
- [ ] depends on: #21616
In principle, this should be close to all that's required to show that all simplicial complexes and CW-complexes are delta-generated; I just haven't done it yet because I'm not sure which file to best do it in.
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
new-contributor
merge-conflict
awaiting-author
t-topology
|
1189/813 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Connected/LocPathConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Path.lean |
9 |
22 |
['YaelDillies', 'github-actions', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'peabrainiac'] |
nobody |
465-6040 1 year ago |
471-56957 471 days ago |
39-21495 39 days |
| 21610 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward precomp |
Not a real PR, just for benchmarking.
|
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
464-41931 1 year ago |
unknown |
0-0 0 seconds |
| 21611 |
JLimperg author:JLimperg |
Aesop forward benchmark: master no-precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
4 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
464-41930 1 year ago |
unknown |
0-0 0 seconds |
| 21612 |
JLimperg author:JLimperg |
Aesop forward benchmark: master precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
30/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
3 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
464-41929 1 year ago |
unknown |
0-0 0 seconds |
| 10678 |
adri326 author:adri326 |
feat(Topology/UniformSpace): prove that a uniform space is completely regular |
Provides the pseudometric definition of a uniform space (for any open set `s` and `x ∈ s`, there exists a finite family of pseudometric spaces on `X` and an `ε > 0`, such that the intersection of the balls of these pseudometric spaces is a subset of `s`),
and uses it to prove that `UniformSpace X` implies `CompletelyRegularSpace X`.
---
This PR aims to close the gap of pi-base's theorem [T345](https://topology.pi-base.org/theorems/T000345), which says that topological groups are completely regular. We already have a proof that topological groups are uniform, but it turns out that we do not have any connection between `UniformSpace X` and `CompletelyRegularSpace X`.
There is an equivalence between `UniformSpace X` and `CompletelyRegularSpace X`: the former implies the latter, and the latter implies *the existence of* the former. This PR provides the first half of this equivalence.
The construction of the pseudometric definition is based on N. Bourbaki, Chapter 9, Theorem 4.1
The proof that a uniform space is completely regular is based on [the outline on mathexchange](https://math.stackexchange.com/questions/494718/how-to-prove-that-every-uniform-space-is-completely-regular).
I tried to outline the major steps of the different proofs inside of comments; I can happily be more verbose to clear up any confusion.
See [the corresponding Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Some.20missing.2C.20accessible.2C.20topology.20results) for more context.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
332/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/CompletelyRegular.lean |
3 |
6 |
['ADedecker', 'adri326'] |
ADedecker assignee:ADedecker |
464-17457 1 year ago |
805-41136 805 days ago |
17-44804 17 days |
| 18785 |
erdOne author:erdOne |
feat(CategoryTheory): command that generates instances for `MorphismProperty` |
Co-authored-by: Calle Sönne
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
t-meta
|
369/0 |
Mathlib.lean,Mathlib/CategoryTheory/MorphismProperty/Tactic.lean,MathlibTest/AddMorphismPropertyInstances.lean,scripts/noshake.json |
4 |
19 |
['alexjbest', 'chrisflav', 'erdOne', 'github-actions', 'grunweg', 'jcommelin', 'joelriou'] |
nobody |
462-33967 1 year ago |
483-62237 483 days ago |
52-4682 52 days |
| 16311 |
madvorak author:madvorak |
feat(Computability): regular languages are context-free |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-computability
|
72/0 |
Mathlib.lean,Mathlib/Computability/Chomsky.lean,Mathlib/Computability/ContextFreeGrammar.lean |
3 |
7 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'madvorak'] |
nobody |
460-40386 1 year ago |
unknown |
0-0 0 seconds |
| 19943 |
AlexLoitzl author:AlexLoitzl |
feat(Computability): Add Chomsky Normal Form Grammar and translation |
- Define Chomsky normal form grammars
- Add language-preserving translation between context-free grammars and Chomsky normal form grammars
Co-authored-by: Martin Dvorak martin.dvorak@matfyz.cz
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
3151/0 |
Mathlib.lean,Mathlib/Computability/ChomskyNormalForm/Basic.lean,Mathlib/Computability/ChomskyNormalForm/EmptyElimination.lean,Mathlib/Computability/ChomskyNormalForm/LengthRestriction.lean,Mathlib/Computability/ChomskyNormalForm/TerminalRestriction.lean,Mathlib/Computability/ChomskyNormalForm/Translation.lean,Mathlib/Computability/ChomskyNormalForm/UnitElimination.lean,Mathlib/Computability/ContextFreeGrammar.lean |
8 |
59 |
['AlexLoitzl', 'YaelDillies', 'github-actions', 'kim-em', 'madvorak'] |
nobody |
460-40139 1 year ago |
467-51761 467 days ago |
37-29014 37 days |
| 21501 |
sksgurdldi author:sksgurdldi |
feat(List): add sum_zipWith_eq_finset_sum |
### **Description:**
This PR adds the lemma `List.sum_zipWith_eq_finset_sum` to `Mathlib.Algebra.BigOperators.Group.Finset.Basic`.
#### **Statement:**
The sum of the `zipWith` operation on two lists equals the sum of applying the operation to corresponding elements of the two lists, indexed over the minimum of their lengths.
#### **Formal Statement:**
```lean
lemma sum_zipWith_eq_finset_sum [Inhabited α] [Inhabited β] [AddCommMonoid γ]
{op : α → β → γ}
(l : List α) (m : List β) :
(List.zipWith op l m).sum =
∑ x ∈ (Finset.range (Nat.min l.length m.length)), op (l[x]!) (m[x]!)
```
#### **Remarks:**
- This lemma provides a useful equivalence between `List.zipWith` and summation over a `Finset.range` indexed by `Nat.min l.length m.length`.
- It can be helpful in algebraic manipulations involving list-based summations.
#### **Dependencies:**
No additional dependencies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
43/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
1 |
['github-actions', 'j-loreaux'] |
nobody |
455-8910 1 year ago |
455-8910 455 days ago |
13-33168 13 days |
| 12054 |
adomani author:adomani |
feat: auto-bugs |
This PR introduces a linter for suggesting bugs in tactics.
See
* #12077
* #12083
* #12084
for some bugs exposed by the test suite.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
737/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/MetaTesting.lean,scripts/noshake.json,test/MetaTesting.lean |
5 |
20 |
['adomani', 'eric-wieser', 'github-actions', 'joneugster', 'kim-em'] |
joneugster assignee:joneugster |
454-82967 1 year ago |
667-54985 667 days ago |
45-6051 45 days |
| 5062 |
adomani author:adomani |
feat(Tactic/Prune + test/Prune): add `prune` tactic, for removing unnecessary hypotheses |
This tactic removes very conservatively all local declarations that
1. do not appear in the main goal,
2. do not appear in a declaration that appears in the main goal,
3. ... and so on recursively.
The main motivation for this tactic is that all available variables in the current `namespace/section` appear in the goal state, not just the ones that are needed for the statement to type-check. Using `prune` mitigates this situation.
The tactic also admits an optional natural number argument: `prune n` removes all variables that have not appeared at the `(n+1)`-st stage in the above list. Thus, `prune 0` only leaves the variables needed for the statement to type-check. Also, for sufficiently large `n`, `prune n` is a synonym for `prune`.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/substitute.20for.20.60include.2Fomit.60.3F)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
modifies-tactic-syntax
awaiting-author
t-meta
|
181/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Prune.lean,test/Prune.lean |
4 |
5 |
['adomani', 'j-loreaux', 'kmill'] |
nobody |
454-50274 1 year ago |
875-35605 875 days ago |
195-57118 195 days |
| 22169 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp naive |
Not a real PR, just for benchmarking. |
merge-conflict |
31/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
6 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
453-15938 1 year ago |
unknown |
0-0 0 seconds |
| 21433 |
grunweg author:grunweg |
chore: change more lemmas to be about enorm instead of nnnorm |
---
- [x] depends on: #21782
- [x] depends on: #21783 (and this PR modifies the file split, and file splits are painful to merge over)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
carleson
t-measure-probability
|
172/71 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean |
9 |
18 |
['RemyDegenne', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib4-dependent-issues-bot'] |
nobody |
453-15127 1 year ago |
460-11192 460 days ago |
2-37989 2 days |
| 22171 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp naive rpinf pr-release |
Not a real PR, just for benchmarking. |
merge-conflict |
31/27 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
7 |
5 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
452-23811 1 year ago |
unknown |
0-0 0 seconds |
| 20454 |
urkud author:urkud |
chore(TangentCone): review names |
Also add some `@[simp]` attrs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
201/139 |
Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Calculus/VectorField.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/InverseDeriv.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/UniqueDifferential.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
25 |
3 |
['github-actions', 'sgouezel', 'urkud'] |
nobody |
448-61707 1 year ago |
498-15070 498 days ago |
4-8272 4 days |
| 21608 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp rpinf pr-release |
Not a real PR, just for benchmarking. |
merge-conflict |
38/29 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
8 |
13 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
448-36440 1 year ago |
unknown |
0-0 0 seconds |
| 21609 |
JLimperg author:JLimperg |
Aesop forward benchmark: forward no-precomp |
Not a real PR, just for benchmarking. |
merge-conflict |
38/29 |
Mathlib/Data/List/InsertIdx.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Tactic/Recall.lean,Mathlib/Topology/List.lean,Test.lean,lake-manifest.json,lakefile.lean,lean-toolchain |
8 |
13 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
448-34804 1 year ago |
unknown |
0-0 0 seconds |
| 16550 |
awainverse author:awainverse |
feat(ModelTheory): A typeclass for languages expanding other languages |
Defines `L.Expands L'` to consist of a privileged injective inclusion, `L'.Inclusion L`, from `L'` to `L`, corresponding to one language being a subset of the other in set-theoretic foundations.
Replaces `L.IsOrdered` with `L.Expands Language.order` and `L.OrderLHom` with `Language.order.Inclusion L`
Redefines `leSymb` in terms of `Language.order.Inclusion L`
Deletions:
- `FirstOrder.Language.IsOrdered`
- `FirstOrder.Language.OrderLHom`
- `instance : IsOrdered Language.order`
- `sum.instIsOrdered`
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-logic
|
97/43 |
Mathlib/ModelTheory/LanguageMap.lean,Mathlib/ModelTheory/Order.lean |
2 |
9 |
['YaelDillies', 'awainverse', 'github-actions'] |
nobody |
448-14175 1 year ago |
620-45406 620 days ago |
0-61590 17 hours |
| 10823 |
alexkeizer author:alexkeizer |
feat: convert curried type functions into uncurried type functions |
Adds a conversion `TypeFun.ofCurried : CurriedTypeFun.{u, v} n -> TypeFun.{u, v} n`,
where `CurriedTypeFun.{u,v} n` is a (def-eq) abbreviation for `Type u -> ... -> Type u -> Type v`, i.e., the type of *curried* functions taking `n` arguments of type `Type u` to return an element of `Type v`, and
`TypeFun.{u, v} n` is an abbreviation for `TypeVec.{u} n -> Type v`.
It is generally more idiomatic to define type functions with multiple arguments in the curried style, but in the QPF development we use the uncurried equivalent `TypeVec n -> Type _`. Thus, having a canonical conversion from curried functions to uncurried gives us a canonical way to ask if a curried type function, say `Sum` is a QPF (namely, "is there an instance of `MvQPF (TypeFun.ofCurried Sum)`").
---
This is code ported from https://github.com/alexkeizer/QpfTypes, where this conversion is crucial in presenting a high-level interface, in terms of idiomatic, curried, type functions to users, while being built on QPFs (and thus, uncurried typefunctions) underneath.
There is also a conversion in the other direction, from uncurried to curried, which I've decided to PR later, to keep this PR smaller and hopefully easier to review.
- [x] depends on: #10818 (all changes to `Fin2.lean` are part of 10818, not the current PR)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
66/0 |
Mathlib.lean,Mathlib/Data/TypeFun.lean |
2 |
9 |
['YaelDillies', 'alexkeizer', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
445-26768 1 year ago |
696-11368 696 days ago |
15-9013 15 days |
| 13648 |
urkud author:urkud |
feat(Topology/Module): generalize `ContinuousLinearMap.compSL` |
Generalize `ContinuousLinearMap.compSL` to topological vector spaces.
---
- [ ] depends on: #15217
This PR is not polished yet, but the main statement is there.
@ADedecker This answers a question I asked you on Zulip a few months ago.
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
awaiting-author
t-topology
t-analysis
label:t-algebra$ |
23/18 |
Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
2 |
5 |
['fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'urkud'] |
nobody |
443-49858 1 year ago |
681-32785 681 days ago |
28-69042 28 days |
| 19372 |
Command-Master author:Command-Master |
find defeq abuse using diagnostics |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #19177 |
merge-conflict
blocked-by-other-PR
large-import
|
169/1 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean,lakefile.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
443-49358 1 year ago |
unknown |
0-0 0 seconds |
| 22408 |
JLimperg author:JLimperg |
Aesop forward bench: precomp only rpinf |
---
Not a real PR (yet), just for benchmarking.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
dependency-bump
|
5/3 |
lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
4 |
6 |
['JLimperg', 'github-actions', 'leanprover-bot'] |
nobody |
443-38262 1 year ago |
unknown |
0-0 0 seconds |
| 20636 |
eric-wieser author:eric-wieser |
feat: multiplication of intervals in rings |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
label:t-algebra$ |
36/1 |
Mathlib/Algebra/Order/Interval/Basic.lean |
1 |
16 |
['Timeroot', 'YaelDillies', 'eric-wieser', 'github-actions'] |
nobody |
442-21827 1 year ago |
478-25604 478 days ago |
17-17852 17 days |
| 22340 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Beck-Chevalley Conditions) |
Building on top of the API of `ExponentiableMorphism` in #22321, we state and prove Beck-Chevalley conditions. This will be crucial for our development of polynomial functors along exponentiable morphisms.
Co-authored-by: Emily Riehl
---
- [ ] depends on: #22321
- [ ] depends on: #22319
- [ ] depends on: #21525
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
t-category-theory
large-import
merge-conflict
|
1144/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/BeckChevalley.lean,docs/references.bib |
8 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
441-38409 1 year ago |
448-20336 448 days ago |
0-17 17 seconds |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
441-34751 1 year ago |
441-34751 441 days ago |
16-76141 16 days |
| 19177 |
adomani author:adomani |
test: the findDefEqAbuse linter |
This is a prototype, as per [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Locating.20defeq.20abuse)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
126/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/FindDefEqAbuse.lean,MathlibTest/FindDefEqAbuse.lean |
5 |
1 |
['github-actions'] |
nobody |
439-36764 1 year ago |
unknown |
0-0 0 seconds |
| 22359 |
adomani author:adomani |
feat(whitespace): do not allow indented doc-strings |
In a doc-string, Do not allow the first character after the first line break to be a space.
---
There are approximately 2.5k exceptions. I think that they should be unindented, judging from the sample that I looked at, but won't act on it, unless there is a clear plan to fix and merge this modification!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
222/70 |
Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Mathlib.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Data/Matroid/Circuit.lean,Mathlib/Init.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Encode.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Tactic.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/LintDocstring.lean,lakefile.lean |
20 |
1 |
['github-actions'] |
nobody |
439-35683 1 year ago |
447-61756 447 days ago |
0-2590 43 minutes |
| 18470 |
FR-vdash-bot author:FR-vdash-bot |
perf: lower the priority of `Normed*.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-analysis
label:t-algebra$ |
28/0 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean |
2 |
9 |
['astrainfinita', 'github-actions', 'jcommelin', 'leanprover-bot'] |
nobody |
437-6178 1 year ago |
437-6178 437 days ago |
129-16341 129 days |
| 17368 |
Felix-Weilacher author:Felix-Weilacher |
feat(Topology/Baire/BaireMeasurable): add the Kuratowski-Ulam theorem |
Add the Kuratowski-Ulam theorem, which one can think of as a "Fubini" for Baire category.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
187/1 |
Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/Baire/BaireMeasurable.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/GDelta/Basic.lean |
5 |
6 |
['Felix-Weilacher', 'github-actions', 'urkud'] |
nobody |
435-30247 1 year ago |
572-41766 572 days ago |
22-48725 22 days |
| 8767 |
eric-wieser author:eric-wieser |
refactor(Cache): tidy lake-manifest parsing in Cache |
This now respects local copies of Mathlib dependencies (though in practice these invalidate the *online* cache because to point to local copies of Mathlib, the hash for `lakefile.lean` and `lake-manifest.json` is first invalidated).
---
- [x] depends on: #11492
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
49/49 |
Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json |
3 |
8 |
['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
434-5910 1 year ago |
615-58260 615 days ago |
119-35643 119 days |
| 22434 |
qawbecrdtey author:qawbecrdtey |
feat(Mathlib/Analysis/Normed/Lp/WithLp): Added more instances for `WithLp` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-analysis
|
51/22 |
Mathlib/Analysis/Normed/Lp/WithLp.lean |
1 |
11 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'qawbecrdtey'] |
nobody |
433-35349 1 year ago |
440-4614 440 days ago |
1-79072 1 day |
| 15578 |
znssong author:znssong |
feat(Function): Fixed points of function `f` with `f(x) >= x` |
We added some lemmas of fixed points of function `f` with `f(x) >= x`, where `f : α → α` is a function on a finite type `α`. This will be needed in proof of Bondy-Chvátal theorem.
---
See also branch `meow-sister/BondyChvatal`.
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
82/0 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
3 |
32 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'urkud', 'vihdzp', 'znssong'] |
nobody |
433-30577 1 year ago |
616-33806 616 days ago |
29-48368 29 days |
| 22660 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: follow naming convention around Group.IsNilpotent |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
133/67 |
Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean |
3 |
1 |
['github-actions'] |
nobody |
429-57006 1 year ago |
429-57006 429 days ago |
10-48025 10 days |
| 13999 |
adomani author:adomani |
feat: a linter to flag potential confusing conventions |
Currently, the linter flags all uses of
* `a - b` where `a b : Nat`;
* `a / b` where `a b : Nat` or `a b : Int`;
* `a / 0` more or less whenever the type of `a` has a `0` and a division.
This comes up often when starting to use Lean and hopefully the flag can help mitigate initial confusions.
When the local context contains the relevant inequality/divisibility hypothesis, the linter is quiet.
A recent [Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/not.20understanding.20deliberate.20error.20with.20.60ring.60.20over.20.E2.84.95/near/445879310)
---
To make sure that the linter does not produce errors, #14007 activates the linter on "all" of mathlib. The expectation is that no error is thrown, just warnings.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
|
251/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Papercut.lean,MathlibTest/Papercut.lean |
4 |
24 |
['Julian', 'YaelDillies', 'adomani', 'eric-wieser', 'github-actions'] |
nobody |
429-2640 1 year ago |
689-66531 689 days ago |
7-47589 7 days |
| 19013 |
quangvdao author:quangvdao |
feat(Algebra/BigOperators/Fin): Add `finSigmaFinEquiv` |
This PR adds `finSigmaFinEquiv` which is the equivalence `(i : Fin m) × Fin (n i) ≃ Fin (∑ i, n i)`. This is the dependent version of `finProdFinEquiv`.
CI should be passing, but there are two things I'd like feedback on:
1. When defining the mappings, I have to consider `m = 0` separately. Is there a more uniform definition?
2. I'm proving this as a step toward defining `Fin.join`, which is the analogue of `List.join`. I can now technically define `Fin.join` as:
```
variable {a : Fin n → ℕ} {α : (i : Fin n) → (j : Fin (a i)) → Sort*}
def join (v : (i : Fin n) → (j : Fin (a i)) → α i j) (k : Fin (∑ i, a i)) :
α (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2 :=
v (finSigmaFinEquiv.invFun k).1 (finSigmaFinEquiv.invFun k).2
```
but this looks horrible. This highly motivates refactoring `invFun` as two new definitions:
```
def func1 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin n := sorry
def func2 {n : ℕ} (a : Fin n → ℕ) (k : Fin (∑ i, a i)) : Fin (a (func1 a k)) := sorry
```
I'm not sure what to call these functions. The analogues in the non-dependent case are `divNat` and `modNat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
92/16 |
Mathlib/Algebra/BigOperators/Fin.lean |
1 |
14 |
['YaelDillies', 'eric-wieser', 'github-actions', 'quangvdao'] |
nobody |
427-24673 1 year ago |
549-2601 549 days ago |
3-28829 3 days |
| 20389 |
eric-wieser author:eric-wieser |
feat: generalize results to `WithLp 0` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
116/53 |
Mathlib/Analysis/Normed/Lp/PiLp.lean |
1 |
1 |
['github-actions'] |
nobody |
426-13221 1 year ago |
unknown |
0-0 0 seconds |
| 19227 |
adomani author:adomani |
fix(CI): unwrap `lake test` in problem matcher |
... and also add a `#guard_msgs` in `AssertImported` test, so that `lake test` properly fails.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/CI.3A.20noisy.20.22test.20mathlib.22/near/483126955)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
9/20 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,MathlibTest/AssertImported.lean |
5 |
2 |
['bryangingechen', 'github-actions'] |
nobody |
424-43709 1 year ago |
524-84380 524 days ago |
22-71271 22 days |
| 15774 |
kkytola author:kkytola |
feat: Topology on `ENat` |
This PR may contain some results that are not in the PR that adds a toppology on `ENat`.
---
The immediate motivation is to be able to make the right continuity statement of the extended floor function on `ENNReal`, when this floor function is made `ENat`valued as suggested in the PR review of #15269.
The API here is modelled on the early parts of [the corresponding ENNReal file](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Instances/ENNReal.html#top), although much of this case is more trivial.
- [x] depends on: #15380
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-topology
t-order
|
161/9 |
Mathlib/Data/ENat/Basic.lean,Mathlib/Topology/Instances/ENat.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
420-1241 1 year ago |
645-30784 645 days ago |
0-6819 1 hour |
| 16009 |
Command-Master author:Command-Master |
acyclic graph |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-combinatorics
|
232/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
1 |
['github-actions'] |
nobody |
418-35790 1 year ago |
unknown |
0-0 0 seconds |
| 20222 |
eric-wieser author:eric-wieser |
feat: generalize lemmas about derivatives |
Rather than creating a huge diff by shuffling things around, this generalizes everything in-place and swaps between `section`s for topological and normed vector spaces.
The rationale for this approach is that:
* we may further generalize the results of this file, and this avoids us jumbling up the order multiple times unnecessarily.
* this greatly reduces the chance of merge conflicts
---
- [ ] depends on: #21065
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-analysis
|
554/50 |
Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,MathlibTest/Recall.lean |
3 |
8 |
['adomani', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
415-57909 1 year ago |
478-71151 478 days ago |
7-27718 7 days |
| 21018 |
markimunro author:markimunro |
feat(Data/Matrix): add file with key definitions and theorems about elementary row operations |
Prove that each elementary row operation is equivalent to a multiplication by an elementary matrix, has another row operation which inverts it, and that each elementary matrix has a left inverse.
This is a very large PR and I understand it will take time. This is my first one and will likely have issues but I will be ready to answer questions/fix them as soon as possible.
Co-authored-by: Christopher Lynch
---
[](https://gitpod.io/from-referrer/)
|
t-data
enhancement
new-contributor
merge-conflict
awaiting-author
|
1230/0 |
Mathlib.lean,Mathlib/Data/Matrix/ElementaryRowOperations.lean,Mathlib/Data/Matrix/GaussianElimination.lean,Mathlib/Data/Matrix/GaussianEliminationOld,Mathlib/Data/Matrix/oldnames,et --hard 18533caba32,lean-toolchain |
7 |
17 |
['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] |
nobody |
414-65976 1 year ago |
440-8532 440 days ago |
23-22681 23 days |
| 23514 |
eric-wieser author:eric-wieser |
refactor: smooth over Lattice/LinearOrder inheritance |
This fixes the forgetful inheritance in `CompleteLinearOrder` and `ConditionallyCompleteLinearOrder`, which previously did not carry `compare` fields. (edit: moved to #23515)
The following is the inheritance diagram before, where the dotted lines are manual instances. Note that every lattice typeclass that extends `LinearOrder` has to implement another dotted line edge, and remember to copy all the necessary data fields.
```mermaid
graph TD
LinearOrder --> Min,Max;
LinearOrder --> PartialOrder;
Lattice --> PartialOrder;
CompleteLinearOrder --> Lattice;
ConditionallyCompleteLinearOrder --> Lattice;
LinearOrder-.-> Lattice;
CompleteLinearOrder -.-> LinearOrder;
ConditionallyCompleteLinearOrder -.-> LinearOrder;
```
This change introduces two new auxiliary typeclasses, to encapsulate these troublesome edges. `LinearOrderedLattice` can be thought of as `LinearOrder`, but with `sup`/`inf` instead of `min`/`max`. This is crucial, because it ensures the duplicate fields are merged in `extends CompleteLattice X, LinearOrderedLattice X`, which would not be the case for `extends CompleteLattice X, LinearOrder X`. The result is:
```mermaid
graph TD
LinearOrder --> Min,Max;
LinearOrder --> LinearOrderBase;
LinearOrderBase --> PartialOrder;
Lattice --> PartialOrder;
LinearOrderedLattice -.-> LinearOrder;
LinearOrderedLattice --> LinearOrderBase;
LinearOrderedLattice --> Lattice;
CompleteLinearOrder --> LinearOrderedLattice;
ConditionallyCompleteLinearOrder --> LinearOrderedLattice;
```
---
- [ ] depends on: #23515
- [ ]
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
85/66 |
Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Order/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Lattice.lean |
7 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
414-5406 1 year ago |
415-10345 415 days ago |
0-172 2 minutes |
| 20746 |
JLimperg author:JLimperg |
Aesop forward branch test |
---
This is not a real PR; I just want to benchmark this Aesop branch.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
14/6 |
.github/workflows/build.yml,Mathlib/Data/Nat/Prime/Defs.lean,lake-manifest.json,lakefile.lean,scripts/bench/fake-root/lib/lean/libleanshared.so,scripts/bench/run |
6 |
11 |
['JLimperg', 'Kha', 'github-actions', 'leanprover-bot'] |
nobody |
413-49212 1 year ago |
unknown |
0-0 0 seconds |
| 22810 |
pechersky author:pechersky |
feat(Counterexamples): metric space not induced by norm |
Because the distance is not homogeneous
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #22845 |
merge-conflict
WIP
t-topology
t-analysis
|
202/1 |
Counterexamples.lean,Counterexamples/NotBoundedSMulMetricSpace.lean,Mathlib.lean,Mathlib/Analysis/Normed/PiNat.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/MetricSpace/Polish.lean |
6 |
21 |
['eric-wieser', 'github-actions', 'loefflerd', 'mathlib4-dependent-issues-bot', 'pechersky'] |
nobody |
413-41868 1 year ago |
428-75359 428 days ago |
0-82394 22 hours |
| 13124 |
FR-vdash-bot author:FR-vdash-bot |
chore: remove `CovariantClass` and `ContravariantClass` |
Lean cannot handle `CovariantClass` and `ContravariantClass` correctly
- TC slowness
- [Zulip](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/TC.20slowness)
- https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1691792488
- It may also have made #6326 fail.
- Needs a weird hack to find instance: #9252
---
- [x] depends on: #13154
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
602/486 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/Units.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/Order/Filter/IsBounded.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Order/LiminfLimsup.lean |
37 |
6 |
['MichaelStollBayreuth', 'astrainfinita', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot'] |
nobody |
412-69845 1 year ago |
unknown |
0-0 0 seconds |
| 15212 |
victorliu5296 author:victorliu5296 |
feat: Add fundamental theorem of calculus-2 for Banach spaces |
add the Mean Value Theorem for Banach spaces to the library and include reference for the theorem statement
This theorem states that if `f : X → Y` is differentiable along the line segment from `a` to `b`, then the change in `f` equals the integral of its derivative along this path. This extends the mean value theorem to Banach spaces. This can be used for the eventual proof of the Newton-Kantorovich theorem with 1 constant contained inside the added reference.
Here is the discussion on Zulipchat: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Contributing.20FTC-2.20for.20Banach.20spaces |
t-measure-probability
new-contributor
merge-conflict
awaiting-author
t-analysis
|
60/1 |
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
1 |
3 |
['github-actions', 'hrmacbeth', 'victorliu5296'] |
nobody |
409-60965 1 year ago |
603-38336 603 days ago |
51-85104 51 days |
| 22888 |
plp127 author:plp127 |
perf: replace `Lean.Expr.swapBVars` with a better? implementation |
Replaces `Lean.Expr.swapBVars` with a version that traverses the expression.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
14/12 |
Mathlib/Tactic/FunProp/ToBatteries.lean |
1 |
23 |
['eric-wieser', 'github-actions', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'plp127'] |
eric-wieser and joneugster assignee:eric-wieser assignee:joneugster |
408-54010 1 year ago |
429-17450 429 days ago |
4-80306 4 days |
| 15943 |
urkud author:urkud |
feat: add `ProdQuotientMapSpace` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
731/11 |
Mathlib.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Maps/ProdQuotient.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
407-79337 1 year ago |
unknown |
0-0 0 seconds |
| 22579 |
kvanvels author:kvanvels |
doc(Topology/Defs/Induced): fix comments on three functions related to RestrictGenTopology |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
documentation
awaiting-author
|
10/9 |
Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/RestrictGen.lean |
2 |
4 |
['github-actions', 'kvanvels', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
406-67868 1 year ago |
429-72245 429 days ago |
12-18679 12 days |
| 19771 |
robertylewis author:robertylewis |
perf: qqify two functions in linarith |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
17/24 |
Mathlib/Tactic/Linarith/Frontend.lean,Mathlib/Tactic/Linarith/Verification.lean |
2 |
5 |
['github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'robertylewis'] |
nobody |
406-47374 1 year ago |
unknown |
0-0 0 seconds |
| 22308 |
plp127 author:plp127 |
feat (Analysis/Convex): Generalize `Convex` lemmas to `StarConvex` |
This PR generalizes many lemmas assuming `Convex 𝕜 s` to assume `StarConvex 𝕜 0 s`.
---
- [x] depends on: #22421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
new-contributor
|
30/18 |
Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean |
4 |
5 |
['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
406-46885 1 year ago |
unknown |
0-0 0 seconds |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
406-43153 1 year ago |
406-43154 406 days ago |
58-6026 58 days |
| 21525 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Prelim) |
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs). In particular, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be crucial in defining the right adjoint to the pullback functor in the development of LCCCs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
338/24 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
3 |
13 |
['b-mehta', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'sinhp'] |
nobody |
406-43151 1 year ago |
406-43153 406 days ago |
36-69400 36 days |
| 22319 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Sections Right Adjoint) |
we define the `Over.sections` functor in the file `CategoryTheory.Comma.Over.Sections` and prove that it is a right adjoint to the `Over.star`, thereby solving an existing TODO in `Over.pullback` file.
The `sections` functor is used to define the right adjoint to the pullback functor `Over.pullback` in the development of LCCCs. Moreover, the rest of added lemmas and theorems to `CategoryTheory.Comma.Over.Pullback` are crucial for the development of LCCCs in the next PR.
---
- [ ] depends on: #21525
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
547/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
406-42624 1 year ago |
448-46659 448 days ago |
0-2084 34 minutes |
| 22321 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Definition) |
This PR defines locally cartesian closed categories in terms of existence of the pushforward functors (right adjoint to the pullback functor) for all morphisms. We develop basic API and prove the following:
1. Existence of the pushforward functors is equivalent to cartesian closed slices.
2. Any locally cartesian closed category with a terminal object is cartesian closed.
3. The slices of a locally cartesian closed category are locally cartesian closed.
Some of the content is based on the project of formalization of polynomial functors at the Trimester "Prospect of Formal Mathematics" at the Hausdorff Institute (HIM) in Bonn. https://github.com/sinhp/Poly
I found this implementation of locally cartesian closed categories amenable to polynomial functors formalization.
Co-authored-by: Emily Riehl
---
- [ ] depends on: #21525
- [ ] depends on: #22319
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
large-import
|
812/24 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Sections.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean |
6 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
406-42624 1 year ago |
448-45400 448 days ago |
0-336 5 minutes |
| 13653 |
adomani author:adomani |
feat: the unusedSetOptionIn linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
199/0 |
Mathlib.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/UnnecessarySetOptionIn.lean,MathlibTest/UnnecessarySetOptionIn.lean |
6 |
15 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
405-73989 1 year ago |
unknown |
0-0 0 seconds |
| 19425 |
hrmacbeth author:hrmacbeth |
perf: gcongr forward-reasoning adjustment |
This PR changes the "forward-reasoning" component of `gcongr`, rendering it more efficient, particularly in problems with a large number of variables/hypotheses in the context.
Previously `gcongr` attempted to match *every* `LocalDecl` against *every* node in the parse tree using *each* of the five implemented `@[gcongr_forward]` mini-tactics: matching directly, matching after applying `symm`, matching after applying `le_of_lt`, etc etc.
The new algorithm filters out the non-Prop `LocalDecl`s, and also adjusts the `@[gcongr_forward]` extensions so that, rather than re-apply the relevant lemmas (`symm`, `le_of_lt`, etc) at every node in the parse tree, the lemmas are applied in advance to the `LocalDecl`s and the result (if successful) stored.
The performance effect on mathlib as a whole is miniscule, but it speeds up the profiler's count of "tactic execution of Mathlib.Tactic.GCongr" in the newly-added test from 257 ms to 47 ms, and has a similar effect on real-life examples in an analysis project of mine.
Co-authored-by: Mario Carneiro
---
[](https://gitpod.io/from-referrer/)
(Note that Mario provided the ideas but not the code, so please review with appropriate diligence!) |
merge-conflict
awaiting-author
|
130/59 |
Mathlib/Order/Lattice.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GCongr/ForwardAttr.lean,MathlibTest/GCongr/inequalities.lean |
4 |
17 |
['Vierkantor', 'github-actions', 'hrmacbeth', 'leanprover-bot', 'leanprover-community-bot-assistant'] |
Vierkantor assignee:Vierkantor |
405-55685 1 year ago |
538-44102 538 days ago |
1-41769 1 day |
| 20873 |
vbeffara author:vbeffara |
feat(Topology/Covering): path lifting and homotopy lifting |
This proves the existence and uniqueness of path and homotopy lifts through covering maps.
---
I tried to separate as much of the proof as possible into separate PRs (which are already in Mathlib now), but the proof here relies on a monolithic construction of an explicit lift along a well-chosen subdivision, in `partial_lift`, with associated definitions. Only one standalone lean file added.
An older WIP PR #10084 by Junyan Xu @alreadydone proves similar results using a very similar construction for path lifting, with a different argument to obtain continuity for homotopy lifting.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
281/1 |
Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean |
3 |
9 |
['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] |
nobody |
405-45881 1 year ago |
480-38641 480 days ago |
5-5648 5 days |
| 22817 |
peabrainiac author:peabrainiac |
feat(CategoryTheory/Sites): local sites |
Defines local sites and shows that sheaves of types on them form a local topos, in that the global sections functor `Sheaf.Γ` has a right adjoint `Sheaf.codisc` that is fully faithful.
---
- [x] depends on: #22816
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
263/0 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Types.lean,Mathlib/CategoryTheory/Sites/GlobalSections.lean,Mathlib/CategoryTheory/Sites/LocalSite.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean |
6 |
4 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
404-65890 1 year ago |
435-67389 435 days ago |
0-568 9 minutes |
| 24040 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `(NonUnital){Seminormed, Normed}(Comm)Ring` |
---
- [ ] depends on: #23966
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
3775/3674 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean |
630 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
401-36584 1 year ago |
unknown |
0-0 0 seconds |
| 16314 |
FR-vdash-bot author:FR-vdash-bot |
chore(Data/Quot): deprecate `ind*'` APIs |
---
- [x] depends on: #16264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
247/287 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean |
65 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
400-68117 1 year ago |
400-68119 400 days ago |
55-52030 55 days |
| 23509 |
eric-wieser author:eric-wieser |
refactor: Make ENNReal an abbrev |
The `Coe` instance becomes `CoeTC` to match what we do for `WithTop` (such that the priority kicks in)
Probably we could have both copies and things would be ok.
---
[](https://gitpod.io/from-referrer/)
This includes part of #23750
|
merge-conflict
t-data
|
22/66 |
Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/BigOperators.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/MeasureTheory/Measure/Sub.lean,Mathlib/MeasureTheory/Measure/TightNormed.lean,Mathlib/Topology/MetricSpace/PartitionOfUnity.lean |
7 |
22 |
['eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mattrobball', 'urkud'] |
nobody |
400-51770 1 year ago |
402-36498 402 days ago |
5-23475 5 days |
| 24060 |
eric-wieser author:eric-wieser |
chore(MeasureTheory): use `0` instead of `const _ 0` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
|
30/20 |
Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/SimpleFuncDense.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Countable.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Probability/StrongLaw.lean |
7 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
400-41465 1 year ago |
unknown |
0-0 0 seconds |
| 24058 |
FR-vdash-bot author:FR-vdash-bot |
refactor: unbundle algebra from `*NormedField` |
---
- [ ] depends on: #24040
[](https://gitpod.io/from-referrer/)
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
4602/4346 |
Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean |
665 |
7 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
400-31375 1 year ago |
unknown |
0-0 0 seconds |
| 11455 |
adomani author:adomani |
fix: unsqueeze simp, re Yaël's comments on #11259 |
This PR reverts/simplifies some of the "squeeze `simp`" changes in #11259.
See #11259 for context.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
3/6 |
Mathlib/Algebra/Group/Conj.lean,Mathlib/Data/Seq/WSeq.lean |
2 |
8 |
['Ruben-VandeVelde', 'YaelDillies', 'grunweg', 'loefflerd', 'robertylewis', 'urkud'] |
nobody |
400-13370 1 year ago |
698-43277 698 days ago |
93-60645 93 days |
| 7325 |
eric-wieser author:eric-wieser |
chore: use preimageIso instead of defeq abuse for InducedCategory |
This makes a few things slightly more verbose, but the type casts are now explicit in those places.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
awaiting-CI
|
22/21 |
Mathlib/CategoryTheory/EssentialImage.lean,Mathlib/CategoryTheory/Monoidal/Braided.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean |
3 |
1 |
['grunweg'] |
nobody |
400-13249 1 year ago |
unknown |
0-0 0 seconds |
| 7874 |
astrainfinita author:astrainfinita |
chore: make `IsScalarTower A A B` and `IsScalarTower A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
awaiting-CI
label:t-algebra$ |
10/9 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Data/Rat/Cast/Defs.lean,Mathlib/GroupTheory/GroupAction/Ring.lean |
4 |
3 |
['astrainfinita', 'grunweg', 'leanprover-bot'] |
nobody |
400-13224 1 year ago |
unknown |
0-0 0 seconds |
| 13038 |
adomani author:adomani |
feat: Mathlib weekly reports |
This PR introduces a weekly cron job that computes a "global" report on the evolution of Mathlib in the previous week.
It consists of
* a CI workflow with a cron job that runs at minight on Sunday (`.github/workflows/mathlib_stats.yaml`);
* a Lean file extracting a categorized list of "all" the declarations in Mathlib (`scripts/count_decls.lean`);
* a bash file computing Git-diff-related information and collating the data from the Lean file (`scripts/mathlib_stats.sh`);
* a convenience CI workflow that is triggered on adding the `test-ci` label and results in posting on the PR and on Zulip the report (`.github/workflows/mathlib_stats_label.yaml`).
The second CI workflow is intended to be removed just before/right after the PR is ready to merge.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general)
[Thread for the reports](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Mathlib.20weekly.20change.20report)
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
CI
t-meta
|
338/0 |
.github/workflows/mathlib_stats.yaml,.github/workflows/mathlib_stats_label.yaml,scripts/count_decls.lean,scripts/mathlib_stats.sh |
4 |
10 |
['adomani', 'github-actions', 'grunweg', 'kim-em', 'kmill'] |
nobody |
400-13182 1 year ago |
674-31062 674 days ago |
57-4374 57 days |
| 5952 |
eric-wieser author:eric-wieser |
feat: add Qq wrappers for ToExpr |
---
- [ ] depends on: #6699 (to appease the linter)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-CI
t-meta
|
247/150 |
Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Tactic/DeriveToExpr.lean,Mathlib/Tactic/FBinop.lean,Mathlib/Tactic/ToExpr.lean,Mathlib/Util/Qq.lean,test/DeriveToExpr.lean,test/vec_notation.lean |
9 |
7 |
['eric-wieser', 'gebner', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
400-13050 1 year ago |
1006-56313 1006 days ago |
29-67421 29 days |
| 15483 |
FR-vdash-bot author:FR-vdash-bot |
chore(GroupTheory/Coset): reduce defeq abuse |
---
- [x] depends on: #15482
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
114/60 |
Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean |
6 |
14 |
['astrainfinita', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] |
nobody |
400-13010 1 year ago |
648-51340 648 days ago |
4-79214 4 days |
| 16594 |
FR-vdash-bot author:FR-vdash-bot |
perf: reorder `extends` and remove some instances in algebra hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
240/92 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Util/NoInstances.lean,scripts/noshake.json |
50 |
8 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
400-12786 1 year ago |
604-52333 604 days ago |
14-58900 14 days |
| 24106 |
FR-vdash-bot author:FR-vdash-bot |
refactor: unbundle algebra from `*CStarAlgebra` |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #24058
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
4702/4459 |
Archive/Hairer.lean,Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Algebra/RestrictScalars.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/SuperpolynomialDecay.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/Classes.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousMap.lean,Mathlib/Analysis/CStarAlgebra/Exponential.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/CStarAlgebra/PositiveLinearMap.lean,Mathlib/Analysis/CStarAlgebra/SpecialFunctions/PosPart.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/CStarAlgebra/lpSpace.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Pi.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Calculus/Deriv/Pow.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean |
670 |
5 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
399-70916 1 year ago |
unknown |
0-0 0 seconds |
| 13780 |
adomani author:adomani |
deprecate injective |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
31/9 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib/Init/Function.lean,lake-manifest.json,lakefile.lean |
7 |
2 |
['github-actions', 'grunweg'] |
nobody |
399-66700 1 year ago |
unknown |
0-0 0 seconds |
| 19467 |
quangvdao author:quangvdao |
feat(MvPolynomial/Equiv): Add `MvPolynomial.finSuccEquivNth` |
This PR adds `MvPolynomial.finSuccEquivNth`, which is the algebra isomorphism between `MvPolynomial (Fin (n + 1)) R` and `Polynomial (MvPolynomial (Fin n) R)` by identifying the `p`-th variable as the indeterminate.
This generalizes `MvPolynomial.finSuccEquiv` which is only for the `0`-th variable. The supporting theorems for the `Nth` version are identical to the current version, with the `Nth` version deduced from the former.
These changes require new definitions in `Finsupp/Fin`, which is a separate PR.
Co-authored-by: Yaël Dillies ---
- [ ] depends on: #19315
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
541/163 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finsupp/Fin.lean,scripts/nolints_prime_decls.txt |
7 |
9 |
['acmepjz', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
398-17126 1 year ago |
541-37092 541 days ago |
0-790 13 minutes |
| 20313 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Complex/Exponential): prove some useful results about the complex exponential. |
This PR proves two basic results about the complex exponential:
* `abs_exp_mul_I (x : ℂ) : abs (Complex.exp (I * x)) = Real.exp (-x.im)`
* `one_sub_rexp_re_le_abs_one_sub_cexp (x : ℂ) : 1 - Real.exp x.re ≤ Complex.abs (1 - Complex.exp x)`
Both results were proved as part of the sphere packing project. There's a chance they're too specific for mathlib, but I thought they were worth PRing anyway. Would it also be a good idea to tag `abs_exp_mul_I` with `simp`? Feedback/suggestions welcome.
Note: `one_sub_rexp_re_le_abs_one_sub_cexp` was proved by Bhavik Mehta @b-mehta
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
new-contributor
|
167/141 |
Mathlib.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/Data/Complex/Exponential/Defs.lean,Mathlib/Data/Complex/Exponential/Lemmas.lean,Mathlib/Data/Complex/ExponentialBounds.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/Recall.lean,MathlibTest/positivity.lean |
10 |
12 |
['b-mehta', 'github-actions', 'kim-em', 'thefundamentaltheor3m', 'trivial1711'] |
nobody |
398-17079 1 year ago |
481-28326 481 days ago |
8-42257 8 days |
| 22698 |
Kiolt author:Kiolt |
feat: notation for whisker(Left/Right)Iso |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
toric
|
175/113 |
Mathlib/Algebra/Homology/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/Coherence.lean,Mathlib/CategoryTheory/Bicategory/Extension.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Strong.lean,Mathlib/CategoryTheory/Bicategory/SingleObj.lean,Mathlib/CategoryTheory/Closed/Functor.lean,Mathlib/CategoryTheory/Closed/Ideal.lean,Mathlib/CategoryTheory/Enriched/FunctorCategory.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Monoidal/Preadditive.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/BicategoricalComp.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean |
27 |
21 |
['Kiolt', 'YaelDillies', 'b-mehta', 'github-actions', 'leanprover-bot'] |
nobody |
398-16908 1 year ago |
434-36265 434 days ago |
3-29299 3 days |
| 20730 |
kuotsanhsu author:kuotsanhsu |
feat(LinearAlgebra/Matrix/SchurTriangulation): prove Schur decomposition/triangulation |
`Matrix.schur_triangulation` shows that a matrix over an algebraically closed field is unitarily similar to an upper triangular matrix
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
317/2 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean,Mathlib/Logic/Equiv/Basic.lean |
4 |
14 |
['eric-wieser', 'github-actions', 'kim-em', 'kuotsanhsu'] |
nobody |
398-13211 1 year ago |
478-4184 478 days ago |
13-56244 13 days |
| 19117 |
eric-wieser author:eric-wieser |
feat: derivatives of matrix operations |
These are finally possible to state after #19108.
However, a lot of bundled `ContinuousLinearMap`s are missing.
---
- [x] depends on: #19108
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
336/22 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Matrix.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
396-35589 1 year ago |
unknown |
0-0 0 seconds |
| 12605 |
FR-vdash-bot author:FR-vdash-bot |
chore: attribute [induction_eliminator] |
Add attribute [induction_eliminator] to
`AdjoinRoot.induction_on`
`ENat.recTopCoe`
`ENNReal.recTopCoe`
`Finset.induction`
`Magma.AssocQuotient.induction_on`
`ManyOneDegree.ind_on`
`Module.Ray.ind` (and add `Orientation.ind` for `Orientation`, an abbrev of it. I wish that we do not need to add it in the future.)
`Multiset.induction`
`MvPolynomial.induction_on`
`OnePoint.rec`
`Opposite.rec'`
`Ordinal.limitRecOn`
`PartENat.casesOn`
`Polynomial.induction_on'`
`QuotientAddGroup.induction_on'` (and add `AddCircle.induction_on` for `AddCircle`, an abbrev of it. I wish that we do not need to add it in the future.)
`QuotientGroup.induction_on'` (doesn't actually work)
`Real.Angle.induction_on`
`SimplexCategory.rec`
`Trunc.induction_on`
---
- [x] depends on: #13476
- [x] depends on: #13264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
354/342 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/BigOperators/Group/Multiset.lean,Mathlib/Algebra/BigOperators/Ring.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Subgroup/Finite.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Module/BigOperators.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Eval.lean,Mathlib/Algebra/Polynomial/Induction.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/PartialFractions.lean,Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicTopology/DoldKan/NCompGamma.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SplitSimplicialObject.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Asymptotics/Asymptotics.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Split.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/Deriv/Polynomial.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Complex/Circle.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/PolynomialExp.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SetFamily/Compression/Down.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/HarrisKleitman.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/DFinsupp/WellFounded.lean,Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice.lean,Mathlib/Data/Finset/NAry.lean,Mathlib/Data/Fintype/Sum.lean,Mathlib/Data/Multiset/Antidiagonal.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Fold.lean,Mathlib/Data/Multiset/Lattice.lean,Mathlib/Data/Multiset/Pi.lean,Mathlib/Data/Multiset/Powerset.lean,Mathlib/Data/Multiset/Sections.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Set/Pointwise/BigOperators.lean,Mathlib/FieldTheory/IntermediateField.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/Geometry/Manifold/Algebra/Monoid.lean,Mathlib/Geometry/RingedSpace/Basic.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/NoncommPiCoprod.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional.lean,Mathlib/LinearAlgebra/LinearIndependent.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Logic/Hydra.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue.lean,Mathlib/MeasureTheory/Integral/Marginal.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Measure/AddContent.lean |
140 |
14 |
['YaelDillies', 'astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
396-30204 1 year ago |
728-61775 728 days ago |
4-46495 4 days |
| 23859 |
urkud author:urkud |
feat(Topology/../Order/Field): generalize to `Semifield` |
.. from a linear ordered field to a linear ordered semifield---
- [ ] depends on: #23857
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
245/219 |
Mathlib/Algebra/Order/Group/Pointwise/Interval.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Order/Basic.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
393-56027 1 year ago |
406-66668 406 days ago |
0-265 4 minutes |
| 24219 |
Paul-Lez author:Paul-Lez |
feat: linear independence of the tensor product of two linearly independent families |
This is still WIP (the proofs are a little too long, and some lemmas need to be moved to other files!)
From Toric
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
toric
label:t-algebra$ |
193/0 |
Mathlib/LinearAlgebra/LinearIndependent/Tprod.lean |
1 |
1 |
['github-actions'] |
nobody |
393-35459 1 year ago |
395-50360 395 days ago |
0-2221 37 minutes |
| 23810 |
b-reinke author:b-reinke |
chore(Order/Interval): generalize succ/pred lemmas to partial orders |
Many lemmas in `Mathlib/Order/Interval/Set/SuccPred.lean`and `Mathlib/Order/Interval/Finset/SuccPred.lean` also work for partial orders. They are generalized in this PR by introducing different sections for `PartialOrder` and `LinearOrder` assumptions in the respective files.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
|
231/89 |
Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
391-32802 1 year ago |
391-32804 391 days ago |
16-29623 16 days |
| 24285 |
madvorak author:madvorak |
chore(Algebra/*-{Category,Homology}): remove unnecessary universe variables |
Discussions:
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Call.20for.20help.3A.20technical.2F.20organisational.20debt/with/513620128
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Algebra.20and.20.60Type*.60/with/513558902
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible/with/513592993
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
542/916 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/Lie/CartanSubalgebra.lean,Mathlib/Algebra/Lie/Character.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Opposite.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/MinimalAxioms.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Opposite.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean |
182 |
22 |
['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'madvorak', 'mattrobball'] |
nobody |
391-21499 1 year ago |
391-21500 391 days ago |
2-11655 2 days |
| 14931 |
eric-wieser author:eric-wieser |
feat: volume of a simplex |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-euclidean-geometry
|
207/0 |
Mathlib/Geometry/Euclidean/Basic.lean,Mathlib/Geometry/Euclidean/Circumcenter.lean,Mathlib/Geometry/Euclidean/Volume.lean |
3 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
389-33956 1 year ago |
unknown |
0-0 0 seconds |
| 22583 |
imathwy author:imathwy |
feat: affinespace homeomorphism |
There exists a homeomorphism (a continuous bijection with a continuous inverse) between an affine subspace s of a vector space V over a field 𝕜 and its direction s.direction , given a chosen point z ∈ s .
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
64/2 |
Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/LinearAlgebra/AffineSpace/ContinuousAffineEquiv.lean,Mathlib/Topology/Algebra/ConstMulAction.lean,Mathlib/Topology/Algebra/MulAction.lean |
4 |
6 |
['JovanGerb', 'eric-wieser', 'github-actions', 'grunweg'] |
nobody |
389-31674 1 year ago |
441-43695 441 days ago |
0-18122 5 hours |
| 24243 |
Timeroot author:Timeroot |
feat(Analysis/Calculus/FDeriv): Fderiv on torsors |
Experiment to see how this goes for now, see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Upgrade.20.60fderiv.60.20to.20.60AddTorsor.60)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
539/447 |
Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/LineDeriv/Basic.lean,Mathlib/Analysis/Calculus/LocalExtr/Basic.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/TangentCone.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/Complex/RealDeriv.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/NumberTheory/EulerProduct/ExpLog.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,MathlibTest/Recall.lean |
37 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
388-14812 1 year ago |
unknown |
0-0 0 seconds |
| 23593 |
erdOne author:erdOne |
feat(AlgebraicGeometry): the tilde construction is functorial |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebraic-geometry
|
95/38 |
Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean |
2 |
4 |
['chrisflav', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
387-48870 1 year ago |
412-51884 412 days ago |
0-71091 19 hours |
| 21065 |
eric-wieser author:eric-wieser |
feat: generalize `tangentConeAt.lim_zero` to TVS |
... and then adjust the `variable`s down the rest of the file to make use of the generality.
There are two key lemmas that this does not generalize, which would probably unlock the rest of the file:
* `subset_tangentCone_prod_left` (and `_right`)
* `zero_mem_tangentCone`
---
- [ ] depends on: #20859
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
55/28 |
Mathlib/Analysis/Calculus/TangentCone.lean |
1 |
16 |
['ADedecker', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] |
nobody |
387-41274 1 year ago |
454-77349 454 days ago |
23-20072 23 days |
| 22721 |
grunweg author:grunweg |
chore(MeasureTheory/Function/LpSeminorm/Basic): generalise more results to enorm classes |
Done for the Carleson project.
---
- depends on #22708
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-measure-probability
|
134/10 |
Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
386-33942 1 year ago |
438-20308 438 days ago |
0-6 6 seconds |
| 14731 |
adomani author:adomani |
feat: the repeated typeclass assumption linter |
[#mathlib4 > recyclable variables @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/recyclable.20variables/near/451167963) also [#mathlib4 > Normed modules @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Normed.20modules/near/512242167)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
178/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DependentTypeclass.lean,MathlibTest/DependentTypeclass.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
385-39181 1 year ago |
675-37926 675 days ago |
0-109 1 minute |
| 24549 |
grunweg author:grunweg |
feat: define embedded submanifolds, attempt 1 |
Not meant to be merged (I think a different design is better); opening this so I can find this more easily.
---
- [ ] depends on: #23040
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-differential-geometry
blocked-by-other-PR
|
1445/2 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Splits.lean,Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/EmbeddedSubmanifold.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MSplits.lean,Mathlib/LinearAlgebra/Prod.lean |
8 |
2 |
['leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
382-64394 1 year ago |
383-47317 383 days ago |
0-1 1 second |
| 23921 |
alreadydone author:alreadydone |
Jyxu/projective trace |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
157/123 |
Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Relrank.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/RingTheory/LocalProperties/Projective.lean |
5 |
1 |
['leanprover-community-bot-assistant'] |
nobody |
382-64226 1 year ago |
unknown |
0-0 0 seconds |
| 22809 |
b-reinke author:b-reinke |
feat: Category algebras and path algebras |
This PR defines the category algebra of a linear category and path algebras of quivers.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
218/0 |
Mathlib/Algebra/Ring/Assoc.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Combinatorics/Quiver/PathAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
4 |
2 |
['b-reinke', 'github-actions'] |
nobody |
382-64050 1 year ago |
unknown |
0-0 0 seconds |
| 21252 |
ADedecker author:ADedecker |
feat: redefine uniformly convex normed spaces with filters instead of epsilons |
And conceptualize some proofs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
301/87 |
Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Topology/Algebra/UniformGroup/Defs.lean,Mathlib/Topology/Algebra/UniformMulAction.lean |
6 |
1 |
['github-actions'] |
nobody |
382-63965 1 year ago |
unknown |
0-0 0 seconds |
| 19821 |
eric-wieser author:eric-wieser |
feat: add a Qq version of AtomM that groups by type |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
t-meta
|
332/30 |
Mathlib/Data/Ineq.lean,Mathlib/Tactic/Linarith/Datatypes.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Util/AtomM.lean,Mathlib/Util/Qq.lean |
6 |
1 |
['github-actions'] |
nobody |
382-63778 1 year ago |
unknown |
0-0 0 seconds |
| 19120 |
hrmacbeth author:hrmacbeth |
feat: stop `ring`/`abel` from seeing algebraic operations inside `let`s |
This draft PR illustrates a feature I would like to see in core: a variant of `whnf` which allows particular kinds of reduction, such as zeta-delta reduction, to be turned off. Here it is used to make ring-normalization and abelian-group-normalization a bit more responsive to what (I think) users expect: these normalizations would no longer look inside user-defined lets to see algebraic operations in those expressions.
Note: In Lean/Mathlib 3, `ring` matched for algebraic operations on an algebraic expression `e` itself, not on `← whnfR e`. So mathlib3 `ring` didn't see algebraic operations inside `let`s -- but it also didn't see algebraic operations requiring beta-reduction (like `(fun t ↦ t + 1) x`) or see inside abbreviations.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/239415-metaprogramming-.2F-tactics/topic/whnf.20variant.20which.20preserves.20let-bindings)
Update: fortuitously, it looks like the new core PR https://github.com/leanprover/lean4/pull/6053 will provide this feature!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-core-PR
t-meta
|
137/15 |
Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Data/Real/Pi/Irrational.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/RingTheory/WittVector/DiscreteValuationRing.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Polyrith.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/RingNF.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Util/WHNF.lean,MathlibTest/abel.lean,MathlibTest/ring.lean |
21 |
5 |
['JovanGerb', 'github-actions', 'grunweg', 'hrmacbeth'] |
nobody |
382-63758 1 year ago |
unknown |
0-0 0 seconds |
| 17069 |
yuma-mizuno author:yuma-mizuno |
chore(CategoryTheory/Functor/Basic): put `simp` at `Functor.id_comp` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
41/30 |
Mathlib/CategoryTheory/Adjunction/Mates.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/GuitartExact/VerticalComposition.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Shift/CommShift.lean |
5 |
3 |
['github-actions', 'leanprover-bot', 'yuma-mizuno'] |
nobody |
382-63748 1 year ago |
unknown |
0-0 0 seconds |
| 14803 |
StevenClontz author:StevenClontz |
chore: use `Disjoint` nhd filters for all separation axioms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
157/122 |
Mathlib/Topology/Separation.lean |
1 |
1 |
['github-actions'] |
nobody |
382-63732 1 year ago |
unknown |
0-0 0 seconds |
| 14675 |
adomani author:adomani |
dev: the repeated variable linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
71/0 |
Mathlib/Tactic/Linter/Lint.lean |
1 |
1 |
['github-actions'] |
nobody |
382-63727 1 year ago |
677-50281 677 days ago |
0-8 8 seconds |
| 14330 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: split Mathlib.Algebra.Star.Basic |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
|
446/331 |
Mathlib.lean,Mathlib/Algebra/Module/LinearMap/Star.lean,Mathlib/Algebra/Star/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Defs.lean,Mathlib/Algebra/Star/Lemmas.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Star/Pi.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Rat.lean,Mathlib/Algebra/Star/Regular.lean,Mathlib/Algebra/Star/StarRingHom.lean,Mathlib/Analysis/NormedSpace/LinearIsometry.lean,Mathlib/Data/Complex/Basic.lean,scripts/noshake.json |
15 |
3 |
['github-actions', 'grunweg', 'j-loreaux'] |
nobody |
382-63687 1 year ago |
687-80032 687 days ago |
0-45204 12 hours |
| 14007 |
adomani author:adomani |
test: papercut linter working on all mathlib |
This PR is a testing ground for potential issues with the papercut linter #13999. It is not intended to be merged.
The linter is active on all of mathlib, to make sure that the linter does not throw errors, but only emits warnings!
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
|
249/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/Papercut.lean,test/Papercut.lean |
5 |
1 |
['github-actions'] |
nobody |
382-63572 1 year ago |
unknown |
0-0 0 seconds |
| 20354 |
eric-wieser author:eric-wieser |
feat: generalize `ContinuousLinearMap.curry` to TVS |
Follow on from #10777
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
57/25 |
Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
382-63507 1 year ago |
unknown |
0-0 0 seconds |
| 8511 |
eric-wieser author:eric-wieser |
refactor(MeasureTheory/Measure/Haar/Basic): partially generalize to the affine case |
Without a `Mul` version of `AddTorsor`, this generalization can only go so far.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-measure-probability
|
52/46 |
Mathlib/MeasureTheory/Measure/Haar/Basic.lean |
1 |
0 |
[] |
nobody |
382-63318 1 year ago |
913-34998 913 days ago |
0-7 7 seconds |
| 7994 |
ericrbg author:ericrbg |
chore: generalize `LieSubalgebra.mem_map_submodule` |
---
Not sure if we should rename to something like `mem_map_iff_mem_map_submodule` or not.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-algebra
label:t-algebra$ |
16/4 |
Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean |
2 |
3 |
['eric-wieser', 'ericrbg'] |
nobody |
382-63306 1 year ago |
935-58301 935 days ago |
0-1 1 second |
| 6317 |
eric-wieser author:eric-wieser |
refactor(Data/Finsupp/Defs): make Finsupp.single defeq to Pi.single |
By adding a `DecidableEq ι` argument to `Finsupp.single`, we remove the reference to `Classical.decEq ι` in the definition, which in turn means that when coerced to a function it is now defeq to `Pi.single`.
This also brings it in line with `DFinsupp.single`.
This does not go as far as making `Finsupp.single` computable.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
269/226 |
Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Data/Finsupp/AList.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Fintype.lean,Mathlib/Data/Finsupp/Indicator.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Finsupp/ToDFinsupp.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/LinearAlgebra/Basis.lean,Mathlib/LinearAlgebra/Finsupp.lean |
12 |
0 |
[] |
nobody |
382-63300 1 year ago |
unknown |
0-0 0 seconds |
| 6277 |
jjaassoonn author:jjaassoonn |
Dimension theory |
Some results are
- The ring Krull dimension and the topological dimension of the prime spectrum of a ring are the same
- A field is zero-dimensional and a PID that is not a field is one dimensional
- An Artinian ring is zero-dimensional
- The Krull dimension of ring $R$ is equal to the supremum of heights of maximal ideals [00KG](https://stacks.math.columbia.edu/tag/00KG)
- two definitions of module length agree
- A module is finite length iff both artinian and noetherian
- length of module $M$ is equal to the sum of length of $N$ and length of $M / N$ where $N$ is a submodule of $M$.
- Noetherian ring has only finitely many minimal primes #9088
- In a zero dimensional ring, prime ideals are maximal
- Artinian rings has finitely many maximal ideals #9087
- zero-dimensional rings with finitely many prime ideals are products of its localizations: $R \cong \prod_{\mathfrak{p}}R_{\mathfrak{p}}$
- Let $M_0 \le ... \le M_n$, then $l(M_n/ M_0) = l(M_1/M_0) + l(M_2/M_1) + ... + l(M_n/M_{n-1})$ where $l$ denotes module length.
- If $f : R \to S$ is a ring homomorphism and $M$ an $S$-module, then $l_R(M) \le l_S(M)$, when $f$ is surjective then they are equal. (Note that this is expressed using `[Algebra R S]` and `RestrictScalars R S M`, instead of a literal ring hom)
- Artinian rings are noetherian ring of dimension 0.
- For 0-dimensional local ring, its maximal ideal is locally nilpotent
- In notherian ring, $I \le \sqrt{J}$ implies $I ^ n \le J$ for some $n$
---
- [x] depends on: #6309
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
3289/459 |
Mathlib.lean,Mathlib/Algebra/Module/Length.lean,Mathlib/Algebra/Module/Submodule/JordanHolder.lean,Mathlib/Algebra/PUnitInstances.lean,Mathlib/AlgebraicGeometry/PrimeSpectrum/ArtinianAndNoetherian.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/Order/Cover.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/ListOnPartialOrderTypes.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Artinian.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Pi.lean,Mathlib/RingTheory/KrullDimension.lean,Mathlib/RingTheory/Noetherian.lean,Mathlib/RingTheory/SimpleModule.lean,Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sheaves/SheafCondition/EqualizerProducts.lean |
24 |
11 |
['alreadydone', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
382-63295 1 year ago |
unknown |
0-0 0 seconds |
| 8536 |
jjaassoonn author:jjaassoonn |
characteristic predicate of tensor product |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
399/7 |
Mathlib/Algebra/Category/AlgebraCat/Monoidal.lean,Mathlib/LinearAlgebra/IsTensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean |
4 |
12 |
['alreadydone', 'eric-wieser', 'jjaassoonn'] |
nobody |
382-63248 1 year ago |
unknown |
0-0 0 seconds |
| 11524 |
mcdoll author:mcdoll |
refactor: Introduce type-class for SchwartzMap |
---
There are a lot of other refactors to do (`seminormAux` should have a nicer name and gobble up more theorems from `seminorm`), then one can prove `integrable` and friends with only `SchwartzMapClass`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
|
139/137 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
3 |
0 |
[] |
nobody |
382-63214 1 year ago |
unknown |
0-0 0 seconds |
| 11003 |
thorimur author:thorimur |
chore: migrate to `tfae` block tactic |
Migrates to the `tfae` block tactic syntax, eliminating uses of `tfae_have` and `tfae_finish`.
---
- [ ] depends on: #11000
- [ ] depends on: #10991
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-meta
|
1267/1081 |
Mathlib/Algebra/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Bicategory/Kan/Adjunction.lean,Mathlib/FieldTheory/Galois.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/LinearAlgebra/Eigenspace/Zero.lean,Mathlib/MeasureTheory/Group/Action.lean,Mathlib/NumberTheory/FLT/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Height.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/RingTheory/Bezout.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Flat/EquationalCriterion.lean,Mathlib/RingTheory/Henselian.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Tactic/TFAE.lean,Mathlib/Topology/Algebra/Group/SubmonoidClosure.lean,Mathlib/Topology/Category/CompHaus/EffectiveEpi.lean,Mathlib/Topology/Category/Profinite/EffectiveEpi.lean,Mathlib/Topology/Category/Stonean/EffectiveEpi.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/LocallyClosed.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Order/LeftRightNhds.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/UniformSpace/UniformConvergence.lean,scripts/noshake.json,test/tfae.lean |
42 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
382-63210 1 year ago |
611-24583 611 days ago |
3-60883 3 days |
| 9819 |
jjaassoonn author:jjaassoonn |
fg graded ring |
1. if $A$ is a noetherian graded ring, then $A_0$ is a noetherian subring of $A$ and $A$ is a finitely generated algebra over $A_0$, if $M$ is a finitely generated graded module over $A$, then each $M_n$ is a finitely generated module over
$A_0$.
2. Definition of additive functions over any abelian category: if $C$ is an abelian category, a function $f : C \to \mathbb Z$ is said to be additive, if $f(y) = f(x) + f(z)$ whenever $0\to x \to y \to z \to 0$ is exact. proved some basic properties such as $f(0) = 0$ and $f(x) = f(y)$ whenever $x \cong y$ and interaction of $f$ with longer exact sequences
3. The category of finitely generated module over noetherian ring is abelian
4. A proof of Hilbert-Serre theorem: the Poincare series is actually of the form $\frac{p}{\prod(1- X^i)}$ where $p$ is polynomial
The code works, but poorly written.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
6745/217 |
Mathlib.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/EpiMono.lean,Mathlib/Algebra/Category/FGModuleCat/Kernels.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/HilbertSerre/AdditiveFunction.lean,Mathlib/Algebra/HilbertSerre/FiniteInstances.lean,Mathlib/Algebra/HilbertSerre/HilbertPolynomial.lean,Mathlib/Algebra/HilbertSerre/Theorem.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/GradedAlgebra/Subgrading.lean,Mathlib/RingTheory/Polynomial/Hilbert.lean,Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean |
25 |
2 |
['FMLJohn', 'github-actions'] |
nobody |
382-63196 1 year ago |
unknown |
0-0 0 seconds |
| 14348 |
eric-wieser author:eric-wieser |
perf: disable the `unusedVariables` linter for speed |
I doubt we want to merge this, but it shaves two minutes of the lint time.
---
[](https://gitpod.io/from-referrer/)
|
performance-hack |
1/0 |
lakefile.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
382-63080 1 year ago |
unknown |
0-0 0 seconds |
| 13543 |
adomani author:adomani |
test: automatically undeprecate |
A test for `update_deprecations`. There are two files with deprecated declarations, but CI automatically fixes them, so that they pass the noisy tests (as well as passing fail-on-warning `lake build`).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
345/4 |
.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build.yml.in,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/UpdateDeprecations.lean,Mathlib/test_depr.lean,Mathlib/test_depr_no_change.lean,lakefile.lean,scripts/update_deprecations.lean,test/UpdateDeprecations.lean |
12 |
0 |
[] |
nobody |
382-63047 1 year ago |
unknown |
0-0 0 seconds |
| 14932 |
eric-wieser author:eric-wieser |
chore: add nndist versions of lemmas |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
108/1 |
Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
382-62860 1 year ago |
unknown |
0-0 0 seconds |
| 18202 |
ADedecker author:ADedecker |
chore: refactor algebraic filter bases |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
1086/1315 |
Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Barrelled.lean,Mathlib/Analysis/LocallyConvex/WeakDual.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Operator/WeakOperatorTopology.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean |
14 |
1 |
['github-actions'] |
nobody |
381-55531 1 year ago |
unknown |
0-0 0 seconds |
| 22488 |
smmercuri author:smmercuri |
fix: lower priority for `UniformSpace.Completion.instSMul` |
Following the introduction of the `WithVal` type synonym in #22055 the following instance takes a long time to synthesise in FLT, and times out in the default heartbeats
```lean
import Mathlib
namespace IsDedekindDomain.HeightOneSpectrum
variable (A K : Type*) [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K]
[IsDedekindDomain A] (v : HeightOneSpectrum A)
#synth SMul (v.adicCompletionIntegers K) (v.adicCompletion K)
```
The issue is that `UniformSpace.Completion.instSMul (v.adicCompletionIntegers K) (v.adicCompletion K)` now fires during the start of instance search (because we now have `UniformSpace (WithVal (v.valuation K))` whereas previously this would be `UniformSpace K`, which was not automatic), and this takes a long time to fail (leading to ~1400 entries in the trace). The first few lines of the new trace is
```lean
[Meta.synthInstance] [5.512418] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000118] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000537] ✅️ apply UniformSpace.Completion.instSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.004411] ✅️ apply @WithVal.instSMul to SMul (↥(adicCompletionIntegers K v)) (WithVal (valuation K v)) ▶
[] [0.000765] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) K ▶
[] [0.000378] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) K ▶
...
[] 1339 more entries... ▶
```
Lowering the priority of `UniformSpace.Completion.instSMul` fixes this particular issue, leading to a trace that matches that seen prior to the introduction of `WithVal`:
```lean
[Meta.synthInstance] [0.016405] ✅️ SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▼
[] [0.000119] new goal SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000491] ❌️ apply @GradedMonoid.GradeZero.smul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000403] ✅️ apply @Algebra.toSMul to SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000134] ❌️ apply inst✝⁴ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000093] ❌️ apply inst✝⁵ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000077] ❌️ apply inst✝⁷ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000082] ❌️ apply inst✝⁹ to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000075] ❌️ apply inst✝¹² to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.000220] ❌️ apply Algebra.id to Algebra (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[] [0.001015] ✅️ apply @ValuationSubring.instAlgebraSubtypeMem to Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) ▶
[resume] [0.000038] propagating Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K
v) to subgoal Algebra (↥(adicCompletionIntegers K v))
(adicCompletion K v) of SMul (↥(adicCompletionIntegers K v)) (adicCompletion K v) ▶
[check] [0.013358] ✅️ Algebra.toSMul
[] result Algebra.toSMul
```
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
FLT
|
1/1 |
Mathlib/Topology/Algebra/UniformMulAction.lean |
1 |
10 |
['github-actions', 'leanprover-bot', 'smmercuri', 'urkud'] |
nobody |
381-46864 1 year ago |
387-75416 387 days ago |
55-70108 55 days |
| 15161 |
adomani author:adomani |
feat(Linter): flag `intros x y` which can be replaced by `intro x y` |
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-linter
|
78/1 |
Mathlib/Tactic/Linter/Lint.lean,test/Lint.lean |
2 |
4 |
['adomani', 'github-actions', 'grunweg'] |
nobody |
381-17939 1 year ago |
unknown |
0-0 0 seconds |
| 15654 |
TpmKranz author:TpmKranz |
feat(Computability): language-preserving maps between NFA and RE |
Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs
Last chunk of #12648
---
- [ ] depends on: #15651
- [ ] depends on: #15649
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-computability
merge-conflict
awaiting-zulip
|
985/2 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Data/FinEnum/Option.lean,docs/references.bib |
7 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'meithecatte'] |
nobody |
380-10329 1 year ago |
649-33514 649 days ago |
0-179 2 minutes |
| 19315 |
quangvdao author:quangvdao |
feat(Data/Finsupp/Fin): Add `Finsupp` operations on `Fin` tuple |
This PR adds more analogues of operations on `Fin` tuples to the `Finsupp` setting. Before, there were only `Finsupp.cons` and `Finsupp.tail`. Now there are also `Finsupp.snoc`, `Finsupp.insertNth`, `Finsupp.init`, and `Finsupp.removeNth`. These all come with supporting lemmas.
I also removed the porting comment about `succAboveCases` in `Data/Fin/Basic`, and added a lemma about `succAbove` in `Data/Fin/Tuple/Basic`.
---
- [x] depends on: #20361
- [x] depends on: #20771
- [x] depends on: #20770
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
|
193/16 |
Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finsupp.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,scripts/nolints_prime_decls.txt |
6 |
44 |
['YaelDillies', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'quangvdao'] |
nobody |
379-12290 1 year ago |
456-37313 456 days ago |
43-80684 43 days |
| 19464 |
adomani author:adomani |
test: removed merge-conflict |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
CI
delegated
|
22/1 |
.github/workflows/PR_summary.yml,scripts/zulip_emoji_merge_delegate.py |
2 |
10 |
['adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
378-23614 1 year ago |
unknown |
0-0 0 seconds |
| 24155 |
eric-wieser author:eric-wieser |
feat: add a "rw_proc" for fin vectors |
This seems a little nicer than an elaborator, since it means I can use the default elaboration rules to handle my first few variables.
Ideally there would be something like
```lean
rw_procQ {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A : Q(Type u)
B : Q($A -> Type v)
a : Q($A)
b : Q($B $a)
rhs : Q($B $a) -- metavariable to assign
|- MetaM Q($b = ?rhs)
-/
```
or
```lean
rw_proc {A : Type u} {B : A -> Type v} (a : A) (b : B a) : b = ?rhs => do
/-- Context:
u v : Level
A B a b : Expr
rhs : MVarId
|- MetaM Expr
-/
```
which would generate the code I wrote here
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
RFC
t-data
t-meta
|
27/2 |
Mathlib/Data/Fin/Tuple/Reflection.lean |
1 |
2 |
['github-actions', 'urkud'] |
nobody |
377-8170 1 year ago |
377-8170 377 days ago |
20-83091 20 days |
| 21276 |
GabinKolly author:GabinKolly |
feat(ModelTheory/Substructures): define equivalences between equal substructures |
Define first-order equivalences between equal substructures, and prove related properties.
---
This is some preparatory work for #18876
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-logic
|
62/0 |
Mathlib/ModelTheory/Substructures.lean |
1 |
19 |
['GabinKolly', 'YaelDillies', 'fpvandoorn', 'github-actions', 'grunweg'] |
nobody |
376-30364 1 year ago |
376-30364 376 days ago |
46-55730 46 days |
| 24008 |
meithecatte author:meithecatte |
chore(EpsilonNFA): replace manual lemmas with @[simps] |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-author
new-contributor
|
2/24 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'urkud'] |
nobody |
374-55908 1 year ago |
374-55908 374 days ago |
27-52316 27 days |
| 24642 |
grunweg author:grunweg |
WIP-feat: add layercake formula for ENNReal-valued functions |
Not much to see here yet; some significant amount of work remains.
---
- [ ] depends on: #24643
- [ ] depends on: #24640 (based on that PR for simplicity)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-analysis
|
189/24 |
Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Integral/Layercake.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
373-32289 1 year ago |
unknown |
0-0 0 seconds |
| 21712 |
grunweg author:grunweg |
chore: generalise more lemmas to `ContinuousENorm` |
---
- [x] depends on: #21781 (minor drive-by clean-up)
- [x] depends on: #21670
- [x] depends on: #22708 (extracted from this)
- some parts depend on #21433 (or better: #22175); when the dependent PR has landed, I will re-assess whether to split these into a separate PR
[](https://gitpod.io/from-referrer/)
|
merge-conflict
carleson
awaiting-CI
t-measure-probability
|
76/31 |
Mathlib/Analysis/Normed/MulAction.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousFunctions.lean |
4 |
5 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
372-53973 1 year ago |
unknown |
0-0 0 seconds |
| 21375 |
grunweg author:grunweg |
WIP: generalise lemmas to ENorm |
This work is part of (and a necessary pre-requisite for) the Carleson project.
---
[](https://gitpod.io/from-referrer/)
|
WIP
awaiting-CI
t-measure-probability
carleson
merge-conflict
|
471/221 |
Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Trim.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/Probability/Independence/Integrable.lean |
13 |
2 |
['fpvandoorn', 'grunweg'] |
nobody |
372-48348 1 year ago |
unknown |
0-0 0 seconds |
| 24378 |
urkud author:urkud |
feat(Algebra/Order/Field/Basic): generalize lemmas |
... from linear ordered semifields to (commutative) groups with zero.
---
I'm going to do another round of generalizing today or tomorrow, so making it a draft PR for now.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
183/181 |
Archive/OxfordInvariants/Summer2021/Week3P1.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Pow.lean,Mathlib/Analysis/Convex/StrictConvexSpace.lean,Mathlib/Analysis/Convex/Uniform.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/Normed/Field/Ultra.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/NormedSpace/HomeomorphBall.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/Analysis/NormedSpace/Pointwise.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSqIntegral.lean,Mathlib/Analysis/SpecialFunctions/SmoothTransition.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Schnirelmann.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/Nat/Cast/Order/Field.lean,Mathlib/Data/Real/Archimedean.lean,Mathlib/Data/Real/Cardinality.lean,Mathlib/Data/Real/Pi/Wallis.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean,Mathlib/Geometry/Euclidean/Sphere/Tangent.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/PeakFunction.lean,Mathlib/MeasureTheory/Measure/SeparableMeasure.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/ClassNumber/AdmissibleAbs.lean,Mathlib/NumberTheory/DiophantineApproximation/Basic.lean,Mathlib/NumberTheory/LSeries/Injectivity.lean,Mathlib/NumberTheory/LSeries/ZMod.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Pell.lean,Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleNumber.lean,Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Order/Interval/Set/IsoIoo.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/Topology/ContinuousMap/Polynomial.lean,Mathlib/Topology/Instances/AddCircle.lean,Mathlib/Topology/UrysohnsLemma.lean |
72 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
372-32678 1 year ago |
389-75630 389 days ago |
0-14 14 seconds |
| 24618 |
b-mehta author:b-mehta |
feat(Analysis): add Schur inequality and variants |
Add Schur inequality and some of its common variants.
TODO:
- [x] add reference to source: https://www.cip.ifi.lmu.de/~grinberg/VornicuS.pdf
- [ ] add other generalisations
- [ ] move some of the lemmas elsewhere
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
145/0 |
Mathlib/Analysis/Convex/Schur.lean |
1 |
16 |
['b-mehta', 'eric-wieser', 'github-actions'] |
nobody |
371-43441 1 year ago |
380-23443 380 days ago |
0-2 2 seconds |
| 15115 |
kkytola author:kkytola |
feat: Generalize assumptions in liminf and limsup results in ENNReals |
In a [review comment](https://github.com/leanprover-community/mathlib4/pull/13938#discussion_r1649744441) it was pointed out that results about liminf and limsup in ENNReal hold under milder assumptions. This PR does the generalization.
---
This PR is split off from #13938, where the review comment was made. The changes needed for the suggested generalization were of different kind than the simple PR's content, justifying a separate PR.
- [x] depends on: #13938
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
help-wanted
awaiting-author
t-topology
|
215/27 |
Mathlib/MeasureTheory/Measure/Portmanteau.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/ENNReal.lean |
3 |
8 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'j-loreaux', 'kkytola', 'leanprover-community-mathlib4-bot'] |
nobody |
370-44683 1 year ago |
616-37501 616 days ago |
21-25493 21 days |
| 24957 |
eric-wieser author:eric-wieser |
feat: use ` binderNameHint` in sum_congr |
Zulip thread: [#new members > Choosing dummy variable inside summation @ 💬](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Choosing.20dummy.20variable.20inside.20summation/near/518492888)
Co-authored-by: Joachim Breitner
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
23/16 |
Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/Multiset/Count.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/Sym/Sym2.lean |
13 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
369-42585 1 year ago |
369-43687 369 days ago |
0-424 7 minutes |
| 8495 |
jjaassoonn author:jjaassoonn |
feat : Tensor-Hom adjunction in the category of modules |
# Tensor-Hom adjunction
Let $R$ be a commutative ring and $S$ any ring. Let $X$ be an $(S,R)$-bimoule. Then the tensor functor $(X \otimes_R \cdot)$ is a functor from left $R$-modules to left $S$-modules; and the hom-functor $Hom_S(X, \cdot)$ is a functor from left $S$-modules to left $R$-modules. For another left $S$-module $Y$, the left $R$-module structure of $Hom_S(X, Y)$ is given by $s \cdot f := x \mapsto f(s \cdot x)$. These two functors are adjoint.. In particular we have that
```math
{\rm Hom}_{S}(X\otimes_R Y, Z) \cong {\rm Hom}_R (Y, {\rm Hom}_S (X, Z))
```
## Implementation notes
1. Why not use the `Mathlib/LinearAlgebra/TensorProduct/Tower.lean`
In our setting `X` is an `(R, S)` bimodule and `Y` an `R`-module and `Z` an `S`-module
so to use the `Tower` file, we need `S` to be an `R`-algebra which is a luxury we do not have.
But note that in `Tower` file, `curry` and `uncurry` are both tri-linear maps. So `Tower` file
allows interplay of 3 rings which is not allowed in this file.
2. We require `R` to be commutative but we never used anything commutative. This is because of tensor product requires commutativity, but thanks to @alreadydone, this assumption could be removed soon.
I think this PR should wait for Junyan's attempt on removing commutativity, so it is marked as draft and wip for now
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-algebra
label:t-algebra$ |
214/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/TensorHomAdjunction.lean |
2 |
88 |
['alreadydone', 'bustercopley', 'eric-wieser', 'github-actions', 'jjaassoonn', 'kbuzzard', 'kim-em', 'leanprover-community-bot-assistant'] |
eric-wieser assignee:eric-wieser |
368-39219 1 year ago |
912-63574 912 days ago |
1-57685 1 day |
| 19284 |
adomani author:adomani |
test: commit a change only to the "master" CI build action |
This PR should fail CI, since the main CI build file is incompatible with the autogenerated ones.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
CI
|
3/3 |
.github/build.in.yml,.github/workflows/actionlint.yml |
2 |
12 |
['adomani', 'bryangingechen', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant'] |
bryangingechen assignee:bryangingechen |
366-70623 1 year ago |
485-44411 485 days ago |
61-913 61 days |
| 15254 |
yuma-mizuno author:yuma-mizuno |
feat(CategoryTheory/Monoidal): replace `Mon_` lemmas with `Mon_Class` lemmas |
We redefine algebras internal to monoidal categories, which were defined by full-bundled structures, in terms of semi-bundled type classes. The original full-bundled structure `X` is renamed to `X_Cat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
3982/96 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Bimod_Class.lean,Mathlib/CategoryTheory/Monoidal/Bimon_.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class copy.lean,Mathlib/CategoryTheory/Monoidal/Bimon_Class.lean,Mathlib/CategoryTheory/Monoidal/Braided/Opposite.lean,Mathlib/CategoryTheory/Monoidal/CommMon_Class.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Comon_Class.lean,Mathlib/CategoryTheory/Monoidal/Internal/ModuleClass.lean,Mathlib/CategoryTheory/Monoidal/Mod_Class.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Mon_Class.lean,Mathlib/CategoryTheory/Monoidal/mwe.lean |
14 |
6 |
['YaelDillies', 'github-actions', 'leanprover-community-bot-assistant', 'yuma-mizuno'] |
nobody |
363-9794 11 months ago |
unknown |
0-0 0 seconds |
| 23489 |
plp127 author:plp127 |
chore: fix recursors |
Replace motive with `motive` and other improvements. Will probably split this PR after fixing is done.
4013 recursors left
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
4255/172 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/SubboxInduction.lean,Mathlib/CategoryTheory/Quotient.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Data/Fin/Tuple/NatAntidiagonal.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Max.lean,Mathlib/Data/Fintype/CardEmbedding.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/PFun.lean,Mathlib/Data/PFunctor/Multivariate/W.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Coprod/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/LinearAlgebra/Span/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaEven.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/Order/DirectedInverseSystem.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/PGame/Algebra.lean,done.csv,print.lean,working.csv |
42 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
360-40512 11 months ago |
unknown |
0-0 0 seconds |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
358-28249 11 months ago |
358-28251 358 days ago |
35-30364 35 days |
| 12438 |
jjaassoonn author:jjaassoonn |
feat: some APIs for flat modules |
Need horseshoe lemma
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
1674/3 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Exact.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/DiagramLemmas/Horseshoe.lean,Mathlib/CategoryTheory/Abelian/LeftDerived.lean,Mathlib/RingTheory/Flat/Basic.lean |
8 |
21 |
['erdOne', 'github-actions', 'jjaassoonn', 'joelriou'] |
nobody |
353-40875 11 months ago |
755-3746 755 days ago |
0-20 20 seconds |
| 17715 |
adomani author:adomani |
feat: the unusedVariableCommand linter |
This is still work-in-progress, but also help-wanted!
The linter reliably flags unused variables: so far, only `example`s fool it (and that is simply because I did not implement a fix, as there are very few `variable`s that are only used in `example`s in mathlib).
The work-in-progress part refers to the fact that the linter uses an `IO.Ref` to keep track of variables and this does not work well with editing the file. The linter works on a fresh parse of a file, but becomes out-of-sync with every edit.
The help-wanted is to ask for help to make mathlib compliant with the linter, by checking out this branch and PR-ing a few variable removals!
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Unused.20variables)
---
Known issues:
* automatic namespacing and `nonrec` may cause difficulty when the newly introduced declaration is preferred in the term, rather than the original one (see examples here
```bash
code -r -g ././././Mathlib/Analysis/SpecialFunctions/Arsinh.lean:183
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
```
where, for instance, `ContinuousOn.arsinh` is used internally instead of `Real.arsinh`).
* `mutual` declarations confuse the linter
```bash
code -r -g ././././Mathlib/SetTheory/Lists.lean:313
```
* `code -r -g Mathlib/CategoryTheory/EffectiveEpi/Comp.lean:133:29`
* universe annotations confuse the linter:
```bash
code -r -g ././././Mathlib/Topology/Category/CompactlyGenerated.lean:53
code -r -g ././././Mathlib/AlgebraicTopology/CechNerve.lean:46
```
* `inductive`s confusing the linter
```bash
code -r -g ././././Mathlib/Deprecated/Subgroup.lean:389
code -r -g ././././Mathlib/FieldTheory/PerfectClosure.lean:55
```
* `def`s confusing the linter
```bash
code -r -g ././././Mathlib/Data/MLList/BestFirst.lean:104
```
* special typeclass assumptions
```code
code -r -g ././././Mathlib/RingTheory/WittVector/Truncated.lean:273
code -r -g ././././Mathlib/Topology/Category/Profinite/Product.lean:79
```
* not sure what is going on here:
```bash
code -r -g ././././Mathlib/RingTheory/WittVector/IsPoly.lean:95
code -r -g ././././Mathlib/Probability/Independence/Basic.lean:368
code -r -g ././././Mathlib/Analysis/Calculus/FDeriv/Star.lean:30
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
large-import
|
695/22 |
Mathlib.lean,Mathlib/Algebra/Group/Idempotent.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Int/Cast/Field.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Init.lean,Mathlib/MeasureTheory/Function/LpSpace/DomAct/Continuous.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BoundedOrder/Monotone.lean,Mathlib/Order/Monotone/Monovary.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/UnusedVariableCommand.lean,MathlibTest/UnusedVariableCommand.lean,lakefile.lean |
17 |
3 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
351-35633 11 months ago |
584-666 584 days ago |
0-92 1 minute |
| 25473 |
adomani author:adomani |
feat(CI): check that Mathlib files have lean or md extension |
Twice recently there have been files with an "intended" `.lean` extension in `Mathlib/`:
* #24942, ending in `;lean`;
* #25457, ending in `.Lean`.
`mk_all` does not add these files to `Mathlib.lean`, since they do not end in `.lean` and this later causes problems.
This CI step checks that all files in `Mathlib/` end with `.lean` or `.md`.
See #25474 for a test where the new step [correctly fails](https://github.com/leanprover-community/mathlib4/actions/runs/15464097783/job/43532018379?pr=25474).
---
[](https://gitpod.io/from-referrer/)
|
CI
delegated
|
10/0 |
.github/workflows/lint_and_suggest_pr.yml |
1 |
10 |
['adomani', 'bryangingechen', 'github-actions', 'grunweg', 'mathlib-bors'] |
nobody |
349-44816 11 months ago |
349-45707 349 days ago |
0-10326 2 hours |
| 16020 |
adomani author:adomani |
feat: compare PR `olean`s size with `master` |
Adds two CI steps:
* `print the sizes of the oleans` that prints the sizes of all the folders containing `Mathlib` `.olean`s;
* `compare oleans` that compares the sizes of the previous step with the corresponding sizes on `master`.
In the test runs, the two steps have taken at most 3 seconds combined (the first is virtually instantaneous, the second one depends on `curl` to find a job id and on `gh` to retrieve the logs of a previous CI run -- everything else appears to be negligible).
This hopefully helps finding out if some PR is bloating up the `.olean`s.
See [this Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Error.3A.20No.20space.20left.20on.20device/near/463792355) for a PR of mine that prompted this check.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
120/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
50 |
['Vtec234', 'YaelDillies', 'adomani', 'bryangingechen', 'github-actions', 'grunweg', 'kim-em', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
348-78256 11 months ago |
546-39278 546 days ago |
87-65841 87 days |
| 16062 |
adomani author:adomani |
Test/ci olean size |
Tests for oleans
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
CI
|
114/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,scripts/olean_comparison.sh |
5 |
4 |
['Parcly-Taxel', 'adomani', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
348-78256 11 months ago |
636-52836 636 days ago |
0-16 16 seconds |
| 25507 |
eric-wieser author:eric-wieser |
chore(RingTheory/Valuation): golf using `Con` |
This has no particular motivation besides seeing if `Con` is a performant substitute.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
20/35 |
Mathlib/RingTheory/Valuation/ValuationRing.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
348-69735 11 months ago |
unknown |
0-0 0 seconds |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
348-202 11 months ago |
731-27855 731 days ago |
9-22045 9 days |
| 23709 |
plp127 author:plp127 |
feat: `Nat.findFrom` |
This PR adds `Nat.findFrom`, which is like `Nat.find`, but starting from an arbitrary `k` instead of `0`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
190/47 |
Mathlib/Data/Nat/Find.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
347-51891 11 months ago |
410-17664 410 days ago |
0-943 15 minutes |
| 25340 |
dupuisf author:dupuisf |
chore(Analysis/Convex): move files pertaining to convex/concave functions to their own folder |
This PR creates a new folder under `Analysis/Convex` called `Analysis/Convex/Function`, which includes files that are mostly or entirely about convex/concave functions (as opposed to convex sets).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-convex-geometry
|
4264/4155 |
Mathlib.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Function/Basic.lean,Mathlib/Analysis/Convex/Function/Continuous.lean,Mathlib/Analysis/Convex/Function/Deriv.lean,Mathlib/Analysis/Convex/Function/Extrema.lean,Mathlib/Analysis/Convex/Function/Integral.lean,Mathlib/Analysis/Convex/Function/Jensen.lean,Mathlib/Analysis/Convex/Function/Mul.lean,Mathlib/Analysis/Convex/Function/Piecewise.lean,Mathlib/Analysis/Convex/Function/Quasiconvex.lean,Mathlib/Analysis/Convex/Function/Slope.lean,Mathlib/Analysis/Convex/Function/Strong.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Piecewise.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convex/Strong.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean |
34 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
347-51076 11 months ago |
347-51078 347 days ago |
6-38644 6 days |
| 21734 |
adomani author:adomani |
fix(PR summary): checkout GITHUB_SHA |
This should make the version of the script that is used on PRs more stable.
Suggested by Eric Wieser on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/messageFile.2Emd/near/498941855).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
CI
|
2/1 |
.github/workflows/PR_summary.yml |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
346-67743 11 months ago |
463-17622 463 days ago |
0-6023 1 hour |
| 25579 |
JovanGerb author:JovanGerb |
feat(Order/Notation): only allow ⊔/⊓ for non-linear orders |
⊔/⊓ is the same as max/min. The difference is that it is meant to be used if and only if there is no linear order. This PR implements a check for one of the two directions.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
33/7 |
Mathlib/Order/Notation.lean |
1 |
1 |
['github-actions'] |
nobody |
346-53039 11 months ago |
346-82043 346 days ago |
0-8 8 seconds |
| 8949 |
sebzim4500 author:sebzim4500 |
Add `by_approx` tactic for proving real inequalities using rational approximation |
feat: Add `by_approx` tactic for proving real inequalities by finding rational approximations
---
```lean
example : |sqrt 2 - 1.414| < 0.001 := by by_approx
```
This is a work in progress, the code is messy and the tactic is often very slow. It also depends on some other PRs that haven't been merged yet.
It currently supports basic operations (`+`, `-`, `*`, `/`, `abs`) and has approximation extensions for `sqrt` and `exp`.
- [ ] depends on: #8167
- [x] depends on: #8832
[](https://gitpod.io/from-referrer/)
|
merge-conflict
modifies-tactic-syntax
t-meta
|
1670/3 |
Mathlib.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByApprox.lean,Mathlib/Tactic/ByApprox/Basic.lean,Mathlib/Tactic/ByApprox/Core.lean,Mathlib/Tactic/ByApprox/Exp.lean,Mathlib/Tactic/ByApprox/Lemmas.lean,Mathlib/Tactic/ByApprox/Test.lean,Mathlib/Tactic/ByApprox/Util.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRW.lean,Mathlib/Tactic/GRW/Core.lean,Mathlib/Tactic/GRW/Lemmas.lean,Mathlib/Tactic/NormNum/NatFactorial.lean,test/ByApprox.lean,test/GRW.lean,test/norm_num_ext.lean |
18 |
1 |
['mathlib4-dependent-issues-bot'] |
nobody |
343-5390 11 months ago |
unknown |
0-0 0 seconds |
| 20334 |
miguelmarco author:miguelmarco |
feat: allow polyrith to use a local Singular/Sage install |
Try to call a local install of Singular (either standalone or inside Sage) to find the witness for polyrith before trying to call the online sage cell server.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-meta
|
171/48 |
Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py |
2 |
16 |
['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] |
nobody |
340-79155 11 months ago |
479-30736 479 days ago |
27-61498 27 days |
| 25911 |
BoltonBailey author:BoltonBailey |
make `a / b` simp normal form |
This PR continues the work from #25631.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25631 |
t-algebra label:t-algebra$ |
11/1 |
Mathlib/Algebra/Group/Defs.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
339-36504 11 months ago |
unknown |
0-0 0 seconds |
| 25912 |
BoltonBailey author:BoltonBailey |
feat: add simp lemmas for trig functions on `π * 2⁻¹` |
This PR adds a number of simp lemmas to reduce trig functions evaluated on `π * 2⁻¹`. This allows `simp` to reduce expressions such as `sin (π * (1 / 2))`
---
- [ ] depends on: #25911 [experiment with simp normal form]
Original PR: #24213 |
awaiting-author
blocked-by-other-PR
t-analysis
|
45/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean |
1 |
3 |
['BoltonBailey', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
339-35217 11 months ago |
339-35914 339 days ago |
0-136 2 minutes |
| 25918 |
BoltonBailey author:BoltonBailey |
feat: one time pad string diagram |
This PR continues the work from #10655.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10655 |
|
159/0 |
MathlibTest/StringDiagram.lean |
1 |
2 |
['BoltonBailey', 'github-actions'] |
nobody |
339-34648 11 months ago |
unknown |
0-0 0 seconds |
| 23953 |
b-reinke author:b-reinke |
feat(Data/Matroid/Tutte): define the Tutte polynomial of a matroid |
This PR defines the Tutte polynomial of a matroid and shows basic properties.
- [x] depends on: #23926
- [ ] depends on #24336
- [ ] depends on: #23951
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
111/0 |
Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Matroid/Tutte/Basic.lean,Mathlib/Data/Set/Image.lean |
3 |
7 |
['apnelson1', 'b-reinke', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
338-34235 11 months ago |
unknown |
0-0 0 seconds |
| 25921 |
BoltonBailey author:BoltonBailey |
feat: scripts to analyze overlap between namespaces |
This PR continues the work from #11385.
Original PR: https://github.com/leanprover-community/mathlib4/pull/11385 |
WIP
migrated-from-branch
t-meta
|
86/0 |
scripts/RecordNamespaces.lean,scripts/namespace-overlap.py |
2 |
1 |
['github-actions'] |
nobody |
337-22515 11 months ago |
337-22531 337 days ago |
2-11832 2 days |
| 18771 |
joelriou author:joelriou |
feat(LinearAlgebra/ExteriorPower): exterior powers of free modules are free |
Co-authored-by: sophie.morel@ens-lyon.fr
---
- [ ] depends on: #18662
- [x] depends on: #18534
- [x] depends on: #18651
- [x] depends on: #18590
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1185/160 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basis.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/ExteriorPower/Pairing.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorAlgebra/ToTensorPower.lean,Mathlib/LinearAlgebra/TensorPower/Basic.lean,Mathlib/LinearAlgebra/TensorPower/Pairing.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
19 |
3 |
['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-57372 11 months ago |
unknown |
0-0 0 seconds |
| 18441 |
ADedecker author:ADedecker |
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
847/159 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
3 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42817 11 months ago |
567-40716 567 days ago |
0-679 11 minutes |
| 18439 |
ADedecker author:ADedecker |
refactor: use new algebraic filter bases API in `FiniteAdeleRing` |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
699/21 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42815 11 months ago |
567-42359 567 days ago |
0-619 10 minutes |
| 18438 |
ADedecker author:ADedecker |
refactor: adapt `KrullTopology` to the new algebraic filter bases API |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
771/168 |
Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
5 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
335-42814 11 months ago |
567-43001 567 days ago |
0-638 10 minutes |
| 26239 |
BoltonBailey author:BoltonBailey |
feat: add sample pre-commit git hook file |
This PR adds a sample pre-commit git hook file that runs `mk_all` and `lint-style`. The script provides instructions on how to activate these as git hooks. Installing these would be optional, but hopefully people who would install them would find it easier to avoid commits that immediately fail linters.
Discussion of hooks on [Zulip here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Automatic.20setup.20and.20distribution.20of.20git.20hooks/with/525103090).
Some thoughts:
- Perhaps it would be better, for speed, to attempt to avoid certain commands if the staged changes suggest they would be unnecessary.
- i.e. only run linters on files that have been updated / only run `mk_all` if a file has been added or deleted.
---
[](https://gitpod.io/from-referrer/)
|
WIP |
18/0 |
git_hooks/pre-commit |
1 |
1 |
['github-actions'] |
nobody |
334-14348 11 months ago |
334-14348 334 days ago |
0-1331 22 minutes |
| 13964 |
pechersky author:pechersky |
feat(Data/DigitExpansion): begin defining variant of reals without rationals |
Based on a de Bruijn 1976 paper.
This file is just the basic definition of a digit expansion. Will be followed up with further constructions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
518/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib |
3 |
11 |
['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] |
dupuisf assignee:dupuisf |
332-25105 10 months ago |
570-51321 570 days ago |
129-57999 129 days |
| 21450 |
eric-wieser author:eric-wieser |
feat: improve trace nodes for `positivity` |
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
25/7 |
Mathlib/Tactic/Positivity/Core.lean |
1 |
1 |
['github-actions'] |
nobody |
332-11127 10 months ago |
unknown |
0-0 0 seconds |
| 26327 |
eric-wieser author:eric-wieser |
chore: split the tests for positivity |
---
[](https://gitpod.io/from-referrer/)
|
|
528/2 |
MathlibTest/Positivity/basic.lean,MathlibTest/positivity.lean |
2 |
1 |
['github-actions'] |
nobody |
331-9144 10 months ago |
unknown |
0-0 0 seconds |
| 18662 |
joelriou author:joelriou |
feat(LinearAlgebra/ExteriorPower): generators of the exterior powers |
---
- [x] depends on: #18534
- [x] depends on: #18590
- [ ] depends on: #26464
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
818/158 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
327-63827 10 months ago |
unknown |
0-0 0 seconds |
| 18735 |
joelriou author:joelriou |
feat(Algebra/Module): presentation of the exterior power |
Given a presentation of a `R`-module `M`, we obtain a presentation of `⋀[R]^n M`.
---
(Still one sorry left.)
- [ ] depends on: #18527
- [ ] depends on: #18432
- [ ] depends on: #26464
- [ ] depends on: #18534
- [ ] depends on: #18662
- [x] depends on: #18590
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1856/157 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/ExteriorPower.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Sum/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Basic.lean,Mathlib/LinearAlgebra/ExteriorPower/Generators.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Finite.lean,Mathlib/LinearAlgebra/PiTensorProduct/Generators.lean,Mathlib/LinearAlgebra/Span.lean,Mathlib/LinearAlgebra/TensorPower.lean,Mathlib/Logic/Function/Basic.lean,Mathlib/RingTheory/PiTensorProduct.lean |
20 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
327-59801 10 months ago |
unknown |
0-0 0 seconds |
| 26581 |
nomeata author:nomeata |
ignore this: Lean pr testing 9124 |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1723/1362 |
Archive/Arithcc.lean,Archive/Examples/Eisenstein.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2024Q1.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/DecisionNec.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Cache/Lean.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ContinuousCohomology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/NoZeroSMulDivisors/Defs.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Order/Field/Power.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Polynomial/Bivariate.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/Algebra/Polynomial/HasseDeriv.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Regular/Pi.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/GrindInstances.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean |
567 |
0 |
[] |
nobody |
323-40930 10 months ago |
unknown |
0-0 0 seconds |
| 15213 |
adomani author:adomani |
dev: add Mathlib.Tactic.Linter.ForallIntro |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-linter
large-import
|
608/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/ForallIntro.lean,MathlibTest/ForallIntro.lean |
5 |
5 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
319-79302 10 months ago |
unknown |
0-0 0 seconds |
| 17458 |
urkud author:urkud |
refactor(Algebra/Group): make `IsUnit` a typeclass |
Also change some lemmas to assume `[IsUnit _]` instead of `[Invertible _]`.
Motivated by potential non-defeq diamonds in #14986, see also [Zulip](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Invertible.20and.20data)
I no longer plan to merge this PR, but I'm going to cherry-pick some changes to a new PR before closing this one.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
awaiting-zulip
label:t-algebra$ |
82/72 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/CategoryTheory/Linear/Basic.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineEquiv.lean,Mathlib/LinearAlgebra/AffineSpace/Combination.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Contraction.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean,Mathlib/LinearAlgebra/Eigenspace/Minpoly.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/GaussLemma.lean,Mathlib/RingTheory/Valuation/Basic.lean |
26 |
12 |
['MichaelStollBayreuth', 'acmepjz', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
319-77078 10 months ago |
591-24721 591 days ago |
0-66650 18 hours |
| 22928 |
javra author:javra |
feat(CategoryTheory): infrastructure for inclusion morphisms into products in categories with 0-morphisms |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
52/14 |
Mathlib/CategoryTheory/Limits/Shapes/BinaryBiproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Biproducts.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean |
3 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-76572 10 months ago |
319-76573 319 days ago |
112-51866 112 days |
| 22952 |
eric-wieser author:eric-wieser |
refactor: reimplement `RingQuot` in terms of `RingCon.Quotient` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
157/184 |
Mathlib/Algebra/RingQuot.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Congruence/Defs.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-76571 10 months ago |
unknown |
0-0 0 seconds |
| 24710 |
chrisflav author:chrisflav |
chore(Data/Set): `tsum` version of `Set.encard_iUnion_of_finite` for non-finite types |
As requested here: https://github.com/leanprover-community/mathlib4/pull/23849#discussion_r2081070200
---
- [ ] depends on: #23849
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
163/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Data/Set/Card/Arithmetic.lean,Mathlib/Data/Set/Card/InfiniteArithmetic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Instances/ENat/Lemmas.lean |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
319-76166 10 months ago |
319-76166 319 days ago |
1-80465 1 day |
| 24823 |
eric-wieser author:eric-wieser |
refactor: add `hom` lemmas for the `MonoidalCategory` structure on `ModuleCat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
148/164 |
Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Rep.lean |
11 |
21 |
['101damnations', 'YaelDillies', 'eric-wieser', 'github-actions', 'joelriou', 'kbuzzard', 'leanprover-community-bot-assistant'] |
101damnations assignee:101damnations |
319-76165 10 months ago |
319-76165 319 days ago |
37-56728 37 days |
| 25071 |
erdOne author:erdOne |
feat(EllipticCurve): basic API for singular cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
|
320/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
3 |
35 |
['Multramate', 'acmepjz', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75919 10 months ago |
319-75920 319 days ago |
45-4165 45 days |
| 25197 |
eric-wieser author:eric-wieser |
feat: Finset.sum induction for tensor products. |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
81/0 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75917 10 months ago |
unknown |
0-0 0 seconds |
| 25218 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): Tate normal form of elliptic curves |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
awaiting-zulip
new-contributor
|
291/26 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Modular/TateNormalForm.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
5 |
31 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'grunweg', 'kckennylau', 'leanprover-community-bot-assistant'] |
nobody |
319-75916 10 months ago |
352-51033 352 days ago |
6-47693 6 days |
| 25247 |
alreadydone author:alreadydone |
Projective contraction |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
160/31 |
Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75913 10 months ago |
358-13288 358 days ago |
0-9 9 seconds |
| 25561 |
callesonne author:callesonne |
feat(Category/Grpd): define the bicategory of groupoids |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
|
179/25 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Functor/Strict.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Grpd.lean |
6 |
6 |
['callesonne', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robin-carlier'] |
nobody |
319-75901 10 months ago |
336-27224 336 days ago |
10-55201 10 days |
| 25671 |
eric-wieser author:eric-wieser |
refactor: generalize `OreSet` to work for bimodules |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
large-import
|
243/256 |
Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/GroupTheory/OreLocalization/Basic.lean,Mathlib/GroupTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/TensorProduct/Nontrivial.lean |
6 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75772 10 months ago |
unknown |
0-0 0 seconds |
| 25988 |
Multramate author:Multramate |
refactor(AlgebraicGeometry/EllipticCurve/*): replace Fin 3 with products |
This PR continues the work from #24593.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24593 |
merge-conflict
t-algebraic-geometry
|
1000/1022 |
Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
6 |
3 |
['Multramate', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75607 10 months ago |
319-75607 319 days ago |
18-21880 18 days |
| 26002 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/Action): action of `Type` on categories with coproducts |
We show that if a category admits coproducts of size `w`, then `Type w` acts on the left on that category.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
213/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Action/ChosenTypeCopowers.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
319-75605 10 months ago |
unknown |
0-0 0 seconds |
| 26090 |
grunweg author:grunweg |
chore: make `finiteness` a default tactic |
Opening for discussion.
This PR continues the work from #25119. |
merge-conflict |
423/366 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Covering/Besicovitch.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean,Mathlib/MeasureTheory/Function/Egorov.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/ChebyshevMarkov.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Defs.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/Prod.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/MeasureTheory/Measure/Haar/DistribChar.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Lebesgue/EqHaar.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Real.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/MeasureTheory/Measure/Tilted.lean,Mathlib/MeasureTheory/Measure/Typeclasses/Finite.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/Probability/BorelCantelli.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Integration.lean,Mathlib/Probability/Kernel/Composition/IntegralCompProd.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Kernel/Disintegration/Density.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Moments/CovarianceBilin.lean,Mathlib/Probability/Moments/Tilted.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Probability/UniformOn.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Perfect.lean,scripts/noshake.json |
73 |
3 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
319-73617 10 months ago |
319-73618 319 days ago |
16-56825 16 days |
| 26395 |
winstonyin author:winstonyin |
feat: $C^1$ vector fields on compact manifolds define global flows |
This PR continues the work from #22254.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22254
Any $C^1$ vector field on a compact boundaryless manifold `M` defines a unique global flow `ℝ → M → M`.
- [ ] depends on: #26394
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-differential-geometry
blocked-by-other-PR
merge-conflict
|
841/406 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/Compact.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
7 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'winstonyin'] |
nobody |
319-73468 10 months ago |
329-70915 329 days ago |
0-52 52 seconds |
| 26465 |
joelriou author:joelriou |
feat(Algebra/Module): presentation of the `PiTensorProduct` |
Given a presentation of a finite number of `R`-modules `M i`, we obtain a presentation of the module `⨂[R] i, M i`.
---
- [ ] depends on: #26464
This PR continues the work from #18527.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18527 |
merge-conflict
file-removed
t-algebra
blocked-by-other-PR
label:t-algebra$ |
525/4 |
Mathlib.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.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 |
10 |
4 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
319-73338 10 months ago |
327-60905 327 days ago |
0-1271 21 minutes |
| 26467 |
joelriou author:joelriou |
feat(LinearAlgebra): the tensor product of a finite family of free modules is free |
---
- [ ] depends on: #26464
- [ ] depends on: #26465
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
blocked-by-other-PR
merge-conflict
file-removed
label:t-algebra$ |
607/7 |
Mathlib.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/Presentation/PiTensor.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/Set/ComplSingletonLift.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basis.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 |
12 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
319-73336 10 months ago |
327-56764 327 days ago |
0-2 2 seconds |
| 20784 |
eric-wieser author:eric-wieser |
fix: prevent `exact?` recursing forever on `n = 55` |
Test case thanks to @llllvvuu:
```lean
import Mathlib.SetTheory.Ordinal.Basic
theorem natCast_inj {m n : ℕ} : (m : Ordinal) = n ↔ m = n := sorry
example (n : Nat) : n = 55 := by
exact?
```
This is surely a workaround for some unreported lean bug. The bug still exists for `n = 71` or higher, so we can still track down the bug after merging this patch.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
22/3 |
Mathlib/SetTheory/Ordinal/Basic.lean,MathlibTest/LibrarySearchRecDepth.lean |
2 |
15 |
['Command-Master', 'eric-wieser', 'github-actions', 'kbuzzard', 'kim-em', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
319-44601 10 months ago |
457-16963 457 days ago |
32-73698 32 days |
| 26647 |
b-mehta author:b-mehta |
feat(Data/Sym/Sym2): lift commutative operations to sym2 |
While we have `Sym2.lift`, it's often useful to lift operations which are known to be commutative to the typeclass system. Indeed, the existing `Sym2.mul` witnesses this already. Thus, this PR can also be seen as generalising `Sym2.mul`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-data
|
48/28 |
Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/Sym/Sym2/Finsupp.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean |
4 |
12 |
['b-mehta', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
317-79197 10 months ago |
318-12034 318 days ago |
3-71897 3 days |
| 26878 |
adomani author:adomani |
feat: declaration diff script in Lean |
Although, it is still text-based, the parsing of the output of `git diff` is now done in Lean.
The new script already performed better than the old one in a couple of situations:
* #26877
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26847#issuecomment-3045308885)
* #26849
See [this comment](https://github.com/leanprover-community/mathlib4/pull/26849#issuecomment-3045092965)
---
This is still work in progress: the parsing should be more or less done, but I have not yet hooked this into the action workflow.
[](https://gitpod.io/from-referrer/)
|
|
497/0 |
scripts/DeclarationDiff_text_based.lean |
1 |
4 |
['adomani', 'bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
316-59128 10 months ago |
317-22679 317 days ago |
0-9 9 seconds |
| 26067 |
mapehe author:mapehe |
feat(Topology/StoneCech): exists_continuous_surjection_from_StoneCech_to_dense_range |
This lemma formalises the following version of the maximality property of the Stone–Čech compactification: If `f : α → β` is a continuous map from a topological space `α` to a Hausdorff space `β` with dense range, then there exists a continuous surjection from `StoneCech α` to `β` extending `f`. In particular, `StoneCech α` is the “largest” compact Hausdorff space into which `α` densely embeds, in the sense that any other such space is a continuous image of it.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
18/0 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
316-56985 10 months ago |
316-56985 316 days ago |
20-8582 20 days |
| 25999 |
bjoernkjoshanssen author:bjoernkjoshanssen |
feat(Topology/Compactification): projective line over ℝ is homeomorphic to the one-point compactification of ℝ |
This PR continues the work from #18306.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18306 |
merge-conflict
t-topology
|
920/0 |
Mathlib.lean,Mathlib/Topology/Compactification/OnePointHomeomorph.lean,Mathlib/Topology/Compactification/OnePointRealLemmas.lean |
3 |
3 |
['bjoernkjoshanssen', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
314-63059 10 months ago |
316-56987 316 days ago |
21-20473 21 days |
| 26994 |
Paul-Lez author:Paul-Lez |
feat(Topology/MetricSpace/Pseudo/Defs): add easy lemma about opens in topological spaces |
Split from #26992
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-topology
easy
|
9/0 |
Mathlib/Topology/MetricSpace/Pseudo/Defs.lean |
1 |
4 |
['Paul-Lez', 'github-actions', 'grunweg'] |
nobody |
313-37785 10 months ago |
313-39207 313 days ago |
0-11233 3 hours |
| 21039 |
eric-wieser author:eric-wieser |
hack: override `instance` to insert `fast_instance%` |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-meta
|
40/4 |
Mathlib/Algebra/Equiv/TransferInstance.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/Tactic/FastInstance.lean,Mathlib/Topology/FiberBundle/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
313-19687 10 months ago |
unknown |
0-0 0 seconds |
| 26911 |
JovanGerb author:JovanGerb |
chore: fix naming of `mono` and `monotone` |
The naming convention says:
"We use `_mono` for `a ≤ b → f a ≤ f b` and `_anti` for `a ≤ b → f b ≤ f a`, so we also use `_monotone` for `Monotone f`, `_antitone` for `Antitone f`, `_strictMono` for `StrictMono f`, `_strictAnti` for `StrictAnti f`, etc..."
This PR swaps `mono`/`anti` and `monotone`/`antitone` where required so that `monotone` refers to `Monotone`, while `mono` refers to a lemma that might be tagged with `@[gcongr]`
This PR does not address
- `monotone_right`/`mono_right` vs `right_monotone`/`right_mono`
- `monotone_arcsin` vs `arcsin_monotone`
edit: TODO: `ideal_mono` and friends
---
[](https://gitpod.io/from-referrer/)
|
delegated
merge-conflict
|
238/171 |
Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/MeasureTheory/OuterMeasure/Operations.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Filter/AtTopBot/Defs.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/Interval/Set/Fin.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/UpperLower/Closure.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean |
59 |
11 |
['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'linesthatinterlace', 'mathlib-bors', 'mathlib-merge-conflicts'] |
bryangingechen assignee:bryangingechen |
312-84792 10 months ago |
313-39391 313 days ago |
2-55296 2 days |
| 25611 |
erdOne author:erdOne |
chore(RingTheory): add `Algebra (FractionRing R) (FractionRing S)` |
Co-authored-by: Yakov Pechersky
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
152/108 |
Mathlib.lean,Mathlib/Algebra/Algebra/NonZeroDivisors.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/IntegralClosure.lean,Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/FractionRingAlgebra.lean,Mathlib/RingTheory/Localization/Integral.lean |
10 |
20 |
['alreadydone', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky'] |
nobody |
309-45803 10 months ago |
343-41489 343 days ago |
2-26945 2 days |
| 18230 |
digama0 author:digama0 |
feat(Tactic/ScopedNS): extend `scoped[NS]` to more commands |
refactor `ScopedNS` to remove error prone repetitiveness and extend it to other commands such as `syntax`, `macro`, `elab`, etc.
Co-authored-by: Jon Eugster
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
201/26 |
Mathlib/Tactic/ScopedNS.lean,MathlibTest/scopedNS.lean |
2 |
7 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'kbuzzard'] |
nobody |
307-52264 10 months ago |
450-51769 450 days ago |
41-32344 41 days |
| 27330 |
BoltonBailey author:BoltonBailey |
feat(Tactic/Linter): add TacticMs for natural subtraction and division |
This is a (pair of) short tactic scripts I wrote for Project Numina while vetting formal formal statements (thanks to [this guide](https://github.com/mirefek/lean-tactic-programming-guide) for the primer). The scripts check for the presence of natural subtraction and natural division, which can often lead to mistakes.
Of course, Mathlib allows natural subtraction freely, so it's not obvious this could be made useful to Mathlib itself. Still, maybe it's of use to some other project, so I'll leave it here.
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
66/0 |
Mathlib/Tactic/Linter/TruncatedNat.lean |
1 |
2 |
['BoltonBailey', 'eric-wieser', 'github-actions'] |
nobody |
302-82789 9 months ago |
unknown |
0-0 0 seconds |
| 25284 |
alreadydone author:alreadydone |
feat(LinearAlgebra/Contraction): bijectivity of `dualTensorHom` + generalize to CommSemiring |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
167/32 |
Mathlib/Data/Finsupp/Defs.lean,Mathlib/LinearAlgebra/Contraction.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/RingTheory/Finiteness/Finsupp.lean |
5 |
16 |
['alreadydone', 'eric-wieser', 'github-actions', 'kckennylau', 'leanprover-bot', 'leanprover-community-bot-assistant'] |
nobody |
302-10343 9 months ago |
308-62510 308 days ago |
45-36570 45 days |
| 22749 |
joelriou author:joelriou |
feat(CategoryTheory/Abelian): the Gabriel-Popescu theorem as a localization with respect to a Serre class |
This PR introduces a structure `GabrielPopescuPackage C` which contains the information to say that the abelian category `C` is a localization of a category of modules with respect to a suitable Serre class.
---
- [x] depends on: #26033
- [ ] depends on: #26663
- [x] depends on: #22733
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-category-theory
|
202/6 |
Mathlib.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Bousfield.lean,Mathlib/CategoryTheory/Abelian/SerreClass/MorphismProperty.lean,Mathlib/CategoryTheory/ObjectProperty/ContainsZero.lean |
5 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
301-53629 9 months ago |
321-39430 321 days ago |
0-10614 2 hours |
| 26784 |
eric-wieser author:eric-wieser |
chore: remove suppress_compilation |
Still not exhaustive.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
0/37 |
Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Basic.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Mul.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NNNorm.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/NormedSpace.lean,Mathlib/CategoryTheory/Abelian/Projective/Resolution.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean |
18 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
301-25890 9 months ago |
unknown |
0-0 0 seconds |
| 26987 |
joelriou author:joelriou |
chore: deprecating module LinearAlgebra.PiTensorProduct |
---
- [ ] depends on: #26464
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
blocked-by-other-PR
label:t-algebra$ |
1209/934 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Data/SubtypeNeLift.lean,Mathlib/LinearAlgebra/PiTensorProduct.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 |
10 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
300-54642 9 months ago |
313-56408 313 days ago |
0-2 2 seconds |
| 27435 |
callesonne author:callesonne |
feat(Normed/Algebra/Logarithm): add FormalMultilinearSeries of logarithm around `1` |
This PR adds the `FormalMultilinearSeries` corresponding to `log` around `1` (or rather, corresponding to `log(1 + x)`. For now, this PR just adds the definition, and copies over as many (easy) results as possible from the corresponding exponential file.
In a follow up PR, we will add a criterion for when the logarithm converges on the unit disk (based on the growth of the inverse norms of naturals in the given algebra), and show that this holds for any Q_p algebra.
This work has been done as part of the workshop "Formalizing Class Field Theory" in Oxford.
Since much of this is copy-pasting the Exponential file, I have kept Anatole Dedecker and Eric Wieser as coauthors.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
|
311/0 |
Mathlib/Analysis/Normed/Algebra/Logarithm.lean |
1 |
1 |
['github-actions'] |
nobody |
300-33497 9 months ago |
300-33835 300 days ago |
0-29 29 seconds |
| 24668 |
robertmaxton42 author:robertmaxton42 |
feat(LinearAlgebra): add inductive principle for the free product of algebras |
* Add `FreeProduct.inductionOn` and `.asPowers.inductionOn`.
- [ ] depends on: #24532
---
* `simp↓` on `empty_rel'_bot`: the LHS is indeed not in simp-normal form, but `simp` can't solve the full lemma (if only because `Function.onFun` isn't marked `@[simp]`) and the actual simp-normal form of `rel'` isn't terribly useful for humans. Since I do expect users to type `rel' R A` by hand, I claim this use of `simp↓` is justified.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
label:t-algebra$ |
205/9 |
Mathlib/LinearAlgebra/FreeProduct/Basic.lean |
1 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
298-84211 9 months ago |
378-10020 378 days ago |
0-229 3 minutes |
| 13973 |
digama0 author:digama0 |
feat: lake exe refactor, initial framework |
This is the initial framework code for `lake exe refactor`. To use it, you add your refactoring to `Refactor/Main.lean` (note, you have to actually write some metaprogramming code here for the refactoring itself), and the harness will run it on specified files and apply the generated edits.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-meta
|
139/0 |
Refactor/Main.lean,lakefile.lean |
2 |
11 |
['adomani', 'digama0', 'eric-wieser', 'github-actions', 'joneugster', 'leanprover-community-bot-assistant', 'mattrobball'] |
nobody |
295-37802 9 months ago |
644-41255 644 days ago |
6-30547 6 days |
| 12181 |
adomani author:adomani |
lint also `let` vs `have` |
This PR is symmetrical to #12157: here we lint for non-`Type`-valued `let`s.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
|
797/544 |
Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Mathlib.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/DirectLimit.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Linear.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Engel.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Submodule/Localization.lean,Mathlib/Algebra/Module/Zlattice.lean,Mathlib/Algebra/MonoidAlgebra/Grading.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Pullbacks.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/DoldKan/Homotopies.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/NormedSpace/ContinuousAffineMap.lean,Mathlib/Analysis/NormedSpace/OperatorNorm/Completeness.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/SpecialFunctions/Integrals.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/Exact.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adhesive.lean,Mathlib/CategoryTheory/Closed/Cartesian.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Extensive.lean,Mathlib/CategoryTheory/Functor/EpiMono.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Galois/Basic.lean,Mathlib/CategoryTheory/Galois/Decomposition.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/GradedObject/Trifunctor.lean,Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/EpiMono.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FilteredColimitCommutesFiniteLimit.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FintypeCat.lean,Mathlib/CategoryTheory/Limits/Fubini.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Localization/Resolution.lean,Mathlib/CategoryTheory/Monad/Monadicity.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/Sites/Coherent/CoherentSheaves.lean,Mathlib/CategoryTheory/Sites/Coherent/RegularSheaves.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/Preserves.lean,Mathlib/CategoryTheory/Sites/Pullback.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity.lean |
271 |
0 |
[] |
nobody |
293-48118 9 months ago |
764-57052 764 days ago |
0-8 8 seconds |
| 10190 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add Augmented Simplex Category |
- Added the definition of the category FinLinOrd of finite linear ordered sets.
- Added the definition of the augmented simplex category `AugmentedSimplexCategory`, and showed it is the Skeleton of FinLinOrd.
- Showed that the category of augmented simplicial objects defined as a comma category is equivalent to the category of functors from `AugmentedSimplexCategory^\op`
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-category-theory
new-contributor
merge-conflict
|
720/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean |
4 |
5 |
['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] |
nobody |
293-48056 9 months ago |
830-40982 830 days ago |
7-63253 7 days |
| 10084 |
alreadydone author:alreadydone |
draft for Van Kampen |
The part about the homotopy lifting property for covering maps has been extracted to #22649
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-topology
|
91/24 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean |
2 |
1 |
['leanprover-community-bot-assistant'] |
nobody |
293-47965 9 months ago |
unknown |
0-0 0 seconds |
| 25914 |
eric-wieser author:eric-wieser |
feat: add an ext lemma for the opposite category |
This powers up `aesop_cat`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
awaiting-CI
|
18/56 |
Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/GuitartExact/Opposite.lean,Mathlib/CategoryTheory/Limits/Opposites.lean,Mathlib/CategoryTheory/Limits/Shapes/Products.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Triangulated/Opposite/Functor.lean,Mathlib/Combinatorics/Quiver/Basic.lean |
9 |
7 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'robin-carlier'] |
nobody |
293-45699 9 months ago |
339-35115 339 days ago |
0-523 8 minutes |
| 20208 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
Alternate version of #14237 generalized to use `IsLocalization` and `IsFractionRing` rather than `Localization.AtPrime` and `FractionRing`
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
248/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
293-30942 9 months ago |
513-12043 513 days ago |
0-21 21 seconds |
| 24260 |
plp127 author:plp127 |
feat(Topology): add API for Hereditarily Lindelof spaces |
Copies the stuff about Lindelof spaces to Hereditarily Lindelof spaces.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
|
222/42 |
Mathlib/Topology/Compactness/Lindelof.lean |
1 |
15 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'urkud'] |
urkud assignee:urkud |
293-514 9 months ago |
364-47554 364 days ago |
29-42365 29 days |
| 27181 |
ADedecker author:ADedecker |
chore: more conceptual definition of `ValuativeRel.ValueGroupWithZero` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
685/467 |
Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/RingTheory/OreLocalization/NonZeroDivisors.lean,Mathlib/RingTheory/OreLocalization/Ring.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean |
9 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
293-503 9 months ago |
unknown |
0-0 0 seconds |
| 27813 |
javra author:javra |
feat: IMO 2025 Q1 |
---
[](https://gitpod.io/from-referrer/)
|
IMO
WIP
|
882/0 |
Archive/Imo/Imo2025Q1.lean |
1 |
1 |
['github-actions'] |
nobody |
292-48924 9 months ago |
292-50122 292 days ago |
0-14 14 seconds |
| 27608 |
RemyDegenne author:RemyDegenne |
feat(MeasureTheory): typeclasses for measures with finite moments |
WIP because it seems useful for #26291 but I want to investigate more.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-measure-probability
|
97/17 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Typeclasses/FiniteMoments.lean,Mathlib/Probability/Moments/CovarianceBilin.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
292-35379 9 months ago |
296-19243 296 days ago |
0-1 1 second |
| 20008 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory): Selberg sieve |
This PR is a working draft of the full proof of the fundamental theorem of the Selberg sieve. I will create dependent PRs as I clean up the code.
This work was used in the first proof of the prime number theorem in PNT+.
---
- [x] depends on: #20025
- [x] depends on: #20026
- [x] depends on: #20779
- [x] depends on: #21880
- [ ] depends on: #27702
- [ ] depends on: #27707
[](https://gitpod.io/from-referrer/)
|
t-number-theory
blocked-by-other-PR
merge-conflict
awaiting-author
t-analysis
|
937/0 |
Mathlib/NumberTheory/SelbergSieve/Basic.lean,Mathlib/NumberTheory/SelbergSieve/Selberg.lean,docs/references.bib |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
292-33224 9 months ago |
unknown |
0-0 0 seconds |
| 27050 |
BoltonBailey author:BoltonBailey |
doc(Control/Monad/Cont): add docstrings |
Split of #25917. Adds docstrings to this file. Note: this documentation was written by asking Cursor (Claude 3.5 sonnet) to write the docstrings.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
LLM-generated
|
183/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
9 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
291-79334 9 months ago |
311-10617 311 days ago |
0-84441 23 hours |
| 27225 |
eric-wieser author:eric-wieser |
refactor(Tactic/Lift): deprecate the third with argument |
We already have a number of tactics where the clearing happens all the time, and you have to opt out with `id h`.
This also fixes a bug where `lift z to Nat with n hn this_is_unused` would silently ignore `this_is_unused`.
---
- [ ] depends on: #27223
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
merge-conflict
|
21/9 |
Mathlib/Tactic/Lift.lean,MathlibTest/lift.lean |
2 |
9 |
['JovanGerb', 'adomani', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
JovanGerb assignee:JovanGerb |
290-82825 9 months ago |
291-43325 291 days ago |
15-64386 15 days |
| 26383 |
eric-wieser author:eric-wieser |
feat: `Real.sin_eq_one_iff` and similar |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
|
155/101 |
Mathlib/Algebra/ModEq.lean,Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean |
5 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
289-54607 9 months ago |
unknown |
0-0 0 seconds |
| 25991 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve): generalise nonsingular condition |
This PR continues the work from #25219.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25219 |
merge-conflict
t-algebraic-geometry
|
2127/1561 |
Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Span.lean |
15 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
289-54489 9 months ago |
319-75606 319 days ago |
18-21743 18 days |
| 25986 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/NumberField/Height): define heights on Weierstrass curves |
This PR continues the work from #15786.
Original PR: https://github.com/leanprover-community/mathlib4/pull/15786 |
t-algebraic-geometry |
650/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/NumberField/Height.lean |
1 |
2 |
['Multramate', 'github-actions'] |
nobody |
289-54482 9 months ago |
unknown |
0-0 0 seconds |
| 25985 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Jacobian): add equivalences between points and explicit WithZero types |
This PR continues the work from #14923.
Original PR: https://github.com/leanprover-community/mathlib4/pull/14923 |
merge-conflict
t-algebraic-geometry
|
262/66 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,scripts/style-exceptions.txt |
4 |
1 |
['Multramate'] |
nobody |
289-54477 9 months ago |
338-11295 338 days ago |
0-48 48 seconds |
| 25982 |
Multramate author:Multramate |
feat(AlgebraicGeometry/EllipticCurve/Group): compute range of baseChange |
This PR continues the work from #10142.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10142 |
merge-conflict
t-algebraic-geometry
|
421/212 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Group.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/Subgroup/Basic.lean,Mathlib/GroupTheory/Submonoid/Operations.lean |
6 |
1 |
['Multramate'] |
nobody |
289-54463 9 months ago |
338-11462 338 days ago |
0-51 51 seconds |
| 25362 |
adomani author:adomani |
feat: a linter for duplicated `open` |
This linter warns when a namespace is repeated.
It makes an effort to report only the problematic namespaces, but is not especially robust. The linter has some awareness of the `namespace` command, so
```lean
def X.Y := 0
open X
namespace X
open Y
```
will flag both `namespace X` and `open Y` as problematic, even though it was the `open `X` that became redundant with `namespace X`.
However, I will not have much time to devote to polishing this and there are quite a few exception in Mathlib before a better version could be seriously considered for adoption.
[#mathlib4 > linter requests @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/linter.20requests/near/520273644)
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-linter
large-import
|
191/94 |
Mathlib.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/GroupWithZero/Pi.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/CategoryTheory/Functor/ReflectsIso/Basic.lean,Mathlib/Data/Fin/Basic.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Ineq.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/NatAntidiagonal.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Prime/Basic.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Init.lean,Mathlib/Logic/Basic.lean,Mathlib/Logic/Embedding/Set.lean,Mathlib/Logic/Pairwise.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/OreLocalization/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CongrM.lean,Mathlib/Tactic/Find.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linter.lean,Mathlib/Tactic/Linter/DupOpen.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Tactic/Recover.lean,Mathlib/Tactic/ReduceModChar.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/SelectInsertParamsClass.lean,Mathlib/Tactic/Widget/StringDiagram.lean,Mathlib/Topology/CWComplex/Abstract/Basic.lean,Mathlib/Topology/ContinuousMap/Interval.lean,Mathlib/Topology/Germ.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/Order/PartialSups.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Util/CountHeartbeats.lean,MathlibTest/DupOpen.lean |
47 |
14 |
['adomani', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
289-54252 9 months ago |
352-48034 352 days ago |
0-23 23 seconds |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
289-54247 9 months ago |
319-75916 319 days ago |
38-26044 38 days |
| 17145 |
Command-Master author:Command-Master |
feat(Archive/Ioi/Ioi2024Q2): a proof of the solution of question 2 from IOI 2024. |
---
- [x] depends on: #17189
- [x] depends on: #17190
- [x] depends on: #17191
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
IMO
large-import
|
1013/1 |
Archive.lean,Archive/Ioi/Ioi2024Q2.lean,Mathlib.lean,Mathlib/Combinatorics/Orbits.lean,Mathlib/Data/List/SplitLengths.lean,Mathlib/Data/List/Transpose.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/Vector/Defs.lean,Mathlib/Data/Vector/MapLemmas.lean,Mathlib/Data/Vector/Transpose.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/Logic/Function/Iterate.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Partition/Finpartition.lean |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
289-54207 9 months ago |
unknown |
0-0 0 seconds |
| 27643 |
ADedecker author:ADedecker |
Ad bdd unif conv |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
111/26 |
Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Module/UniformConvergence.lean,Mathlib/Topology/Bornology/Absorbs.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
289-32966 9 months ago |
unknown |
0-0 0 seconds |
| 26385 |
jjdishere author:jjdishere |
feat(RingTheory/Perfectoid): define integral perfectoid rings |
This PR continues the work from #22331.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22331 |
merge-conflict
WIP
t-ring-theory
|
1081/15 |
Mathlib.lean,Mathlib/Algebra/Ring/Aut.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/PowTransition.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Perfectoid/BDeRham.lean,Mathlib/RingTheory/Perfectoid/FontaineTheta.lean,Mathlib/RingTheory/Perfectoid/IntergalPerfectoid.lean,Mathlib/RingTheory/Perfectoid/Untilt.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/RingTheory/WittVector/Complete.lean,Mathlib/RingTheory/WittVector/TeichmullerSeries.lean,docs/references.bib |
16 |
3 |
['github-actions', 'jjdishere', 'leanprover-community-bot-assistant'] |
nobody |
288-56674 9 months ago |
329-81097 329 days ago |
0-79 1 minute |
| 22909 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Pure): pure submodules |
A submodule `N` of an `R`-module is *pure* if all maps `S ⊗[R] N → S ⊗[R] M`
deduced by base change from the injection of `N` into `M` are injective,
for all `R`-algebras `S`.
This is expressed by the class `Submodule.IsPure`.
For type theoretic reason, the definition of `Submodule.IsPure` only considers
algebras `S` in the same universe as `R`, but `Submodule.IsPure.baseChange_injective`
establishes the property for all universes.
* `Submodule.IsComplemented.isPure` : a complemented submodule is pure.
Co-authored with @mariainesdff
---
- [ ] depends on: #22898
- [ ] depends on: #22908
- [x] depends on: #22911
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
blocked-by-other-PR
|
592/3 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Pure.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean |
11 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
288-56389 9 months ago |
433-7195 433 days ago |
0-1047 17 minutes |
| 22908 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Finiteness/Small): tensor product of the system of small submodules |
The directed limit of a tensor product for the directed system of small submodules.
Co-authored with @mariainesdff
---
- [ ] depends on: #22898
- [x] depends on: #22911
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
blocked-by-other-PR
|
624/2 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/Spectrum/Prime/RingHom.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/Small.lean |
9 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
288-56341 9 months ago |
433-7194 433 days ago |
0-3552 59 minutes |
| 22898 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/TensorProduct/DirectLimit/FG): direct limit of finitely generated submodules and tensor product |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-ring-theory
|
399/0 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/DirectLimit/FG.lean |
5 |
9 |
['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
288-56334 9 months ago |
423-2435 423 days ago |
10-44390 10 days |
| 20431 |
erdOne author:erdOne |
feat(RingTheory/AdicCompletion): monotonicity of adic-completeness |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
206/16 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Mono.lean,Mathlib/RingTheory/Finiteness/Ideal.lean |
7 |
13 |
['chrisflav', 'erdOne', 'github-actions'] |
nobody |
288-56290 9 months ago |
464-55324 464 days ago |
32-78180 32 days |
| 19596 |
Command-Master author:Command-Master |
feat(RingTheory/Valuation/PrimeMultiplicity): define `WithTop ℤ`-valued prime multiplicity on a fraction field |
Moves:
- `multiplicity_addValuation` -> `AddValuation.multiplicity`
- `multiplicity_addValuation_apply` -> `AddValuation.multiplicity_apply`
---
- [x] depends on: #19149
- [x] depends on: #18786
- [x] depends on: #19122
- [x] depends on: #18954
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
large-import
|
101/37 |
Mathlib/Data/ENat/Basic.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Valuation/PrimeMultiplicity.lean |
3 |
11 |
['ChrisHughes24', 'Command-Master', 'Vierkantor', 'faenuccio', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
288-56275 9 months ago |
493-32209 493 days ago |
8-2214 8 days |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
288-56268 9 months ago |
541-49861 541 days ago |
20-16585 20 days |
| 17246 |
pechersky author:pechersky |
feat(RingTheory/PrimaryDecomposition): PIR of Noetherian under jacobson condition |
---
- [x] depends on: #17634
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-ring-theory
|
653/1 |
Mathlib.lean,Mathlib/NumberTheory/KummerDedekind.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/PrimaryDecomposition.lean,docs/references.bib |
8 |
8 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot'] |
erdOne assignee:erdOne |
288-56262 9 months ago |
549-78155 549 days ago |
13-7138 13 days |
| 21474 |
erdOne author:erdOne |
feat(RingTheory): replace `Ring.DimensionLEOne` with `Ring.KrullDimLE` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
285/170 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal.lean,Mathlib/RingTheory/DiscreteValuationRing/TFAE.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/KrullDimension/Basic.lean,Mathlib/RingTheory/KrullDimension/Localization.lean,Mathlib/RingTheory/KrullDimension/Polynomial.lean,Mathlib/RingTheory/KrullDimension/Quotient.lean,Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/Nilpotent/End.lean,Mathlib/RingTheory/Nilpotent/Lemmas.lean,Mathlib/RingTheory/PID/Quotient.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Maximal/Localization.lean |
16 |
1 |
['github-actions'] |
nobody |
288-56206 9 months ago |
469-36243 469 days ago |
0-81 1 minute |
| 8195 |
newell author:newell |
feat: add a group presentation of the `DihedralGroup n` |
Add group presentation $\< a, b\ |\ a ^ 2 = 1, b ^ 2 = 1, (a * b) ^ n = 1 \>$ for `DihedralGroup n`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-group-theory
|
206/2 |
Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/SpecificGroups/Dihedral.lean |
2 |
6 |
['kbuzzard', 'newell'] |
nobody |
288-56005 9 months ago |
unknown |
0-0 0 seconds |
| 11212 |
shuxuezhuyi author:shuxuezhuyi |
feat(GroupTheory/GroupAction): instance `MulAction (β ⧸ H) α` |
We instance this naturally from `MulAction β α` when `H` is a normal subgroup and acts trivially on `α`.
We also instance `IsometricSMul (M ⧸ N) X` in this way.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-group-theory
large-import
|
53/1 |
Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean |
2 |
6 |
['YaelDillies', 'github-actions', 'grunweg', 'urkud'] |
eric-wieser assignee:eric-wieser |
288-55998 9 months ago |
501-57337 501 days ago |
193-73871 193 days |
| 27886 |
alreadydone author:alreadydone |
feat(Algebra): (Mv)Polynomial.X is irreducible assuming NoZeroDivisors |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
178/66 |
Archive/Examples/Eisenstein.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Domain.lean,Mathlib/Algebra/Polynomial/Degree/Units.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/RingDivision.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/RingTheory/MvPolynomial/Groebner.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/Eisenstein/Criterion.lean |
13 |
3 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
288-53733 9 months ago |
289-60474 289 days ago |
0-80025 22 hours |
| 26200 |
adomani author:adomani |
fix: add label when landrun fails |
Adds the `permission-denied` label on PRs that get blocked by landrun.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
68/8 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
288-5200 9 months ago |
288-5200 288 days ago |
46-52210 46 days |
| 17469 |
joelriou author:joelriou |
feat(Algebra/ModuleCat/Differentials/Presheaf): the presheaf of relative differentials |
Given a functor `F : C ⥤ D`, presheaves of commutative rings `S`, `R` and a morphism `φ : S ⟶ F.op ⋙ R`, we show that derivations relative to `φ` are representable by a presheaf of `R`-modules.
This is obtained by reducing to the case of absolute differentials. The construction shall allow to deduce the presheaf version of the cokernel sequence $$f^\star \Omega_{Y/S} ⟶ \Omega_{X/S} ⟶ \Omega_{X/Y} ⟶ 0$$ when `f : X ⟶ Y` and `g : Y ⟶ S` are morphisms of schemes.
---
- [x] depends on: #17366
- [x] depends on: #19507
- [x] depends on: #17388
- [x] depends on: #16755
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
large-import
merge-conflict
t-algebraic-geometry
|
391/10 |
Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean |
1 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
288-549 9 months ago |
591-43656 591 days ago |
0-530 8 minutes |
| 25288 |
robertmaxton42 author:robertmaxton42 |
feat(CategoryTheory): generalize `Discrete` to arbitrary morphism levels |
Using an unused `let`, add an 'anchor' to the definition of `Discrete`, allowing it to carry a second universe level that is then used to permit discrete categories to live in any `Cat.{v, u}`. (This trick was borrowed from the code of `ULiftHom`.)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
38/32 |
Mathlib/CategoryTheory/Bicategory/LocallyDiscrete.lean,Mathlib/CategoryTheory/Discrete/Basic.lean,Mathlib/CategoryTheory/IsConnected.lean |
3 |
3 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
287-76308 9 months ago |
356-66009 356 days ago |
0-15615 4 hours |
| 27709 |
kckennylau author:kckennylau |
chore: fix links |
---
See https://github.com/leanprover-community/mathlib4/pull/27545#discussion_r2238206933
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
|
269/256 |
Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Module/Hom.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Order/Field/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Hom/Basic.lean,Mathlib/Algebra/Order/Monovary.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Algebra/Star/BigOperators.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/OperatorNorm.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Meromorphic/IsolatedZeros.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/SpecialFunctions/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/CategoryTheory/Abelian/Opposite.lean,Mathlib/CategoryTheory/Adjunction/Opposites.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean,Mathlib/CategoryTheory/Localization/Equivalence.lean,Mathlib/CategoryTheory/Localization/Trifunctor.lean,Mathlib/CategoryTheory/ObjectProperty/Basic.lean,Mathlib/CategoryTheory/Sites/Coherent/SheafComparison.lean,Mathlib/Combinatorics/Colex.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/Quiver/Covering.lean,Mathlib/Combinatorics/Quiver/Path.lean,Mathlib/Control/LawfulFix.lean,Mathlib/Data/Complex/Basic.lean,Mathlib/Data/Fin/Pigeonhole.lean,Mathlib/Data/FinEnum/Option.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finsupp/Fin.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/Fintype/Defs.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/Int/Cast/Basic.lean,Mathlib/Data/Int/Cast/Lemmas.lean,Mathlib/Data/Int/Lemmas.lean,Mathlib/Data/Int/Order/Lemmas.lean,Mathlib/Data/Int/Range.lean,Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/Destutter.lean,Mathlib/Data/List/Forall2.lean,Mathlib/Data/List/Lattice.lean,Mathlib/Data/List/Lemmas.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Data/List/Sections.lean,Mathlib/Data/List/Sublists.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matroid/Minor/Restrict.lean,Mathlib/Data/Multiset/FinsetOps.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Cast/WithTop.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/Data/PSigma/Order.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/Rat/Encodable.lean,Mathlib/Data/Set/Card.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/Set/Finite/Lattice.lean,Mathlib/Data/Set/Functor.lean,Mathlib/Data/Set/Notation.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Data/Sigma/Lex.lean |
157 |
87 |
['github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
287-74519 9 months ago |
294-1760 294 days ago |
0-9 9 seconds |
| 10345 |
newell author:newell |
feat(Algebra.Module.Zlattice): Add Voronoi Domain |
Adds the definition for a Voronoi Domain in regards to the $\mathbb{Z}$-lattice:
$$C := \lbrace\mathbf{w} \in \mathbb{V}^n\ :\ |\mathbf{w}| \leq |\mathbf{w} - \mathbf{v}|\ \text{for all}\ \mathbf{v} \in \mathbf{L} \rbrace$$
where $\mathbf{L}\$ is the $\mathbb{Z}$-lattice.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
label:t-algebra$ |
17/0 |
Mathlib/Algebra/Module/Zlattice.lean |
1 |
3 |
['alreadydone', 'newell'] |
nobody |
287-6007 9 months ago |
unknown |
0-0 0 seconds |
| 28075 |
tristan-f-r author:tristan-f-r |
chore(Finsupp/Indicator): make non-classical |
This was surprising to see on a data-carrying definition.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
easy
merge-conflict
|
11/9 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Indicator.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'ocfnash', 'tristan-f-r'] |
nobody |
285-14832 9 months ago |
285-58651 285 days ago |
0-85904 23 hours |
| 28168 |
astrainfinita author:astrainfinita |
feat: hensel's lemma for topological rings |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
t-ring-theory
t-topology
label:t-algebra$ |
616/0 |
Mathlib/RingTheory/Polynomial/Hensel.lean |
1 |
1 |
['github-actions'] |
nobody |
284-267 9 months ago |
unknown |
0-0 0 seconds |
| 20671 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Asymptotics/SpecificAsymptotics): Proving that 𝛔ₖ(n) = O(nᵏ⁺¹) |
This PR proves a result about the $\sigma_k(n)$ arithmetic function, namely, that it is $O\left(n^{k+1}\right)$. Main theorem:
`theorem sigma_asymptotic (k : ℕ) : (fun n ↦ (σ k n : ℝ)) =O[atTop] (fun n ↦ (n ^ (k + 1) : ℝ))`
This result was proved as part of the sphere packing project.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
29/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
3 |
['b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
283-59809 9 months ago |
484-34624 484 days ago |
9-59130 9 days |
| 20267 |
joelriou author:joelriou |
feat(CategoryTheory): comma categories are accessible |
---
(I shall probably not work on this PR in the near future.)
- [ ] depends on: #19937
- [ ] depends on: #19945
- [ ] depends on: #19959
- [ ] depends on: #20005
- [ ] depends on: #19955
- [x] depends on: #20263
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-category-theory
|
1513/7 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Arrow.lean,Mathlib/CategoryTheory/Comma/CardinalArrow.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Limits/Comma.lean,Mathlib/CategoryTheory/Limits/TypesFiltered.lean,Mathlib/CategoryTheory/Presentable/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Comma.lean,Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean,Mathlib/CategoryTheory/Presentable/Limits.lean,Mathlib/CategoryTheory/Presentable/LocallyPresentable.lean,Mathlib/CategoryTheory/Presentable/ParallelMaps.lean,Mathlib/SetTheory/Cardinal/HasCardinalLT.lean,docs/references.bib |
15 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
283-52776 9 months ago |
unknown |
0-0 0 seconds |
| 27451 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
27/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
13 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] |
nobody |
282-37703 9 months ago |
282-37704 282 days ago |
17-52359 17 days |
| 27987 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
---
The pullback PR of #26827 and #27451.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
73/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
282-37332 9 months ago |
282-37333 282 days ago |
6-6455 6 days |
| 27444 |
grunweg author:grunweg |
feat: generalise more lemmas to enorms |
The selection of lemmas may seem eclectic, but follows a clear path: I'm working on generalising the last section of `IntegrableOn.lean` to enorms. (This will be continued in a later PR.)
---
Commits can be reviewed independently.
- [x] depends on: #27419 (first commits)
- [x] depends on: #27456 (last commits)
[](https://gitpod.io/from-referrer/)
|
carleson
WIP
|
10/0 |
Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot'] |
nobody |
282-33328 9 months ago |
300-16339 300 days ago |
0-259 4 minutes |
| 24862 |
grunweg author:grunweg |
feat(LocallyIntegrable): generalise more to enorms |
---
Note: github's diff is very confused; it includes changes which very clearly are already on the master branch.
I'll see which of the remaining changes after the dependencies have landed is already polished enough.
- [x] depends on: #24352
- [x] depends on: #27457 (this half is settled already)
- [ ] open question: filter lemmas; IsBoundedUnder is not the right condition as-is; need to think (or just not generalise)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
t-measure-probability
|
171/88 |
Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
282-31053 9 months ago |
372-12412 372 days ago |
0-1 1 second |
| 25133 |
erdOne author:erdOne |
feat(Tactic/NormNum): support positive characteristic |
Co-authored-by: Heather Macbeth
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
large-import
t-meta
|
250/39 |
Mathlib/Tactic/NormNum/CharP.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/Test.lean |
5 |
5 |
['erdOne', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
280-52492 9 months ago |
unknown |
0-0 0 seconds |
| 27003 |
eric-wieser author:eric-wieser |
chore: use `Simp.ResultQ` more often |
Also uses `~q` in place of manual `isDefEq` matching.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
18/22 |
Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/ReduceModChar.lean |
3 |
7 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
280-51956 9 months ago |
280-51957 280 days ago |
32-70098 32 days |
| 16150 |
urkud author:urkud |
feat(Dynamics): Hopf decomposition |
Prove Hopf decomposition.
- [ ] rewrite to work with the saturations right away, not with a wandering set.
- [ ] generalize to an action of a countable group, use fundamental domains.
---
- [ ] depends on: #16146
- [ ] depends on: #16126
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-dynamics
t-measure-probability
|
212/0 |
Mathlib.lean,Mathlib/Dynamics/Ergodic/Dissipative.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean |
3 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'urkud'] |
nobody |
280-19928 9 months ago |
unknown |
0-0 0 seconds |
| 25401 |
digama0 author:digama0 |
feat(Util): SuppressSorry option |
See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
342/0 |
Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean |
4 |
15 |
['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
280-6752 9 months ago |
280-6752 280 days ago |
71-27957 71 days |
| 27759 |
plp127 author:plp127 |
chore(FreeAbelianGroup): deprecate multiplication |
Deprecate multiplication on `FreeAbelianGroup` in favor of using `MonoidAlgebra`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
large-import
label:t-algebra$ |
176/86 |
Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/MonoidAlgebra/MapDomain.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/RingTheory/FreeCommRing.lean,Mathlib/RingTheory/FreeRing.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
278-59598 9 months ago |
292-39910 292 days ago |
0-79663 22 hours |
| 21776 |
alreadydone author:alreadydone |
Invertible modules |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
571/26 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Module/Submodule/Equiv.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/PicardGroup.lean |
5 |
3 |
['alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
277-59147 9 months ago |
462-71636 462 days ago |
0-19 19 seconds |
| 20722 |
ctchou author:ctchou |
feat(Counterexamples): the Vitali set is non-measurable |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-measure-probability
new-contributor
merge-conflict
awaiting-author
|
258/3 |
Counterexamples.lean,Counterexamples/VitaliSetNotMeasurable.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,docs/1000.yaml |
4 |
76 |
['ctchou', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
vihdzp assignee:vihdzp |
277-49493 9 months ago |
491-41463 491 days ago |
0-47663 13 hours |
| 27446 |
grunweg author:grunweg |
chore: more enorm lemmas |
Nothing to see yet: this is a big mess!
Start unrolling at `eLpNorm_le_eLpNorm_top_mul_eLpNorm_enorm`; that proof could be a good next target.
Need a version of `eLpNorm'_const_smul' which applies to NNReal (or ENNReal, I guess): need to generalise a bunch of lemmas for that.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
carleson
|
107/9 |
Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean |
3 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
277-41007 9 months ago |
300-15482 300 days ago |
0-172 2 minutes |
| 5897 |
eric-wieser author:eric-wieser |
feat: add a `MonadError` instance for `ContT` |
We already have a `MonadExcept` instance; this promotes it to `MonadError`.
Note the issue with the existing `MonadExcept` instance still applies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
|
16/0 |
Mathlib/Control/Monad/Cont.lean |
1 |
25 |
['Vierkantor', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] |
nobody |
275-50307 9 months ago |
701-63109 701 days ago |
339-54818 339 days |
| 28276 |
eric-wieser author:eric-wieser |
refactor: tidy `lift_unique` lemmas |
---
- [ ] depends on: #28275
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/20 |
Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/ExteriorAlgebra/Basic.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
275-49578 9 months ago |
unknown |
0-0 0 seconds |
| 28502 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): avoid unnecessary uses of choice |
Certain proofs are modified to remove a dependence on the axoim of choice
---
- [ ] depends on: #28623
|
blocked-by-other-PR
new-contributor
merge-conflict
awaiting-author
t-logic
|
83/74 |
Mathlib/Logic/Basic.lean |
1 |
7 |
['Ruben-VandeVelde', 'eric-wieser', 'gilesgshaw', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
274-71305 9 months ago |
277-56834 277 days ago |
0-35689 9 hours |
| 28622 |
alreadydone author:alreadydone |
chore(Mathlib): replace `=>` by `↦` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
51792/51792 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.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/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/Grp/Zero.lean,Mathlib/Algebra/Category/GrpWithZero.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean |
3838 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
274-10232 9 months ago |
274-10233 274 days ago |
0-62065 17 hours |
| 24793 |
tristan-f-r author:tristan-f-r |
feat: trace of unitarily similar matrices |
adds a theorem relating trace to unitarily similar matrices used in the easy direction of specht's theorem
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
label:t-algebra$ |
7/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
4 |
['github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'tristan-f-r'] |
nobody |
274-5871 9 months ago |
372-37320 372 days ago |
1-55872 1 day |
| 27198 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): the Yoneda embedding is monoidal (for Day convolution) |
We show that the Yoneda embedding is monoidal when we interpret its target category as Day presheaves (i.e presheaves with the Day convolution monoidal structure). The actual way we prove it is by registering a `LawfulDayConvolutionMonoidalCategoryStruct Cᵒᵖ (Type v₁) C`, for which the "interpretation" functor `C ⥤ Cᵒᵖ ⥤ Type v₁` is the Yoneda embedding. This allows to state a result independently of any size constraint on `C`.
Then, we specialize to the case of a small category `C`, in this case, using the fact that the relevant colimit of preseaves exist, we use the fact that the interpretation functor induces a monoidal functor to put a `Monoidal` instance on the functor `dayYoneda : C ⥤ (Cᵒᵖ ⊛⥤ Type v₁) := yoneda ⋙ (equiv Cᵒᵖ _).inverse`.
---
I was unsure about which form of simp lemmas we want for characterization of the monoidal structure on `dayYoneda`. I opted for making the "fully applied" lemmas simp, but still leaves the "unapplied" ones as non-simp just in case.
- [ ] depends on: #27175
- [x] depends on: #25732
[](https://gitpod.io/from-referrer/)
|
merge-conflict
file-removed
blocked-by-other-PR
t-category-theory
|
1847/26 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Types.lean,Mathlib/CategoryTheory/Monoidal/Internal/Limits.lean,Mathlib/CategoryTheory/Monoidal/Limits/Basic.lean,Mathlib/CategoryTheory/Monoidal/Limits/Preserves.lean |
8 |
8 |
['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
273-69838 9 months ago |
308-53925 308 days ago |
0-21 21 seconds |
| 28626 |
alreadydone author:alreadydone |
chore(Archive, Counterexamples): replace => by ↦ |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
288/288 |
Archive/Arithcc.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Examples/PropEncodable.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/Basic.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/GameMultiplication.lean,Counterexamples/Girard.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
54 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
272-39358 8 months ago |
272-39359 272 days ago |
2-47136 2 days |
| 26078 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): add x, y, px, py for points on elliptic curves |
---
Split from #25218.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebraic-geometry
|
44/0 |
Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean |
1 |
12 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'dagurtomas', 'github-actions', 'kckennylau'] |
nobody |
272-36368 8 months ago |
272-36368 272 days ago |
64-11252 64 days |
| 19582 |
yu-yama author:yu-yama |
feat(GroupExtension/Abelian): define `OfMulDistribMulAction.equivH2` |
Mainly defines:
- `structure GroupExtension.OfMulDistribMulAction N G [MulDistribMulAction G N]`: group extensions of `G` by `N` where the multiplicative action of `G` on `N` is the conjugation
- `structure GroupExtension.OfMulDistribMulActionWithSection N G [MulDistribMulAction G N]`: group extensions with specific choices of sections
- `def GroupExtension.OfMulDistribMulAction.equivH2`: a bijection between the equivalence classes of group extensions and $H^2 (G, N)$
---
- [x] depends on: #20802 (split PR: contains changes to the `Defs` file)
- [x] depends on: #20998 (split PR: mainly adds the `Basic` file)
- [ ] depends on: #26670 (split PR: adds the first part of the `Abelian` file)
Here is a relevant TODO in Mathlib:
https://github.com/leanprover-community/mathlib4/blob/4e9fa40d7c480937e09cd6e47a591bd6f3b8be42/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean#L46-L48
I would appreciate your comments.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
750/14 |
Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib |
4 |
5 |
['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
272-21413 8 months ago |
494-78372 494 days ago |
43-22586 43 days |
| 7300 |
ah1112 author:ah1112 |
feat: synthetic geometry |
This is adding synthetic geometry using Avigad's axioms and formalizing Euclid Book I, through the Pythagorean theorem.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
t-euclidean-geometry
|
2661/0 |
Mathlib.lean,Mathlib/Geometry/Synthetic/Avigad/Axioms.lean,Mathlib/Geometry/Synthetic/Avigad/EuclidBookI.lean,Mathlib/Geometry/Synthetic/Avigad/Tactics.lean |
4 |
74 |
['ah1112', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'plp127', 'tb65536', 'urkud'] |
nobody |
271-84444 8 months ago |
972-36929 972 days ago |
0-84 1 minute |
| 27403 |
MoritzBeroRoos author:MoritzBeroRoos |
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..).
This pr replaces instances of ⬝ where · was probably meant.
All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle.
[Related](https://github.com/leanprover-community/mathlib4/pull/27399)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
195/195 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean |
49 |
5 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
270-72394 8 months ago |
293-48316 293 days ago |
7-54661 7 days |
| 28042 |
kckennylau author:kckennylau |
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements |
---
The pullback PR of #27314 and #27163.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
140/23 |
Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
270-72348 8 months ago |
280-37392 280 days ago |
7-4998 7 days |
| 23966 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `{Seminormed, Normed}(Add)(Comm)Group` |
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #23621
- [ ] depends on: #23961
|
t-algebra
blocked-by-other-PR
merge-conflict
slow-typeclass-synthesis
t-analysis
label:t-algebra$ |
3233/2752 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/CPolynomial.lean,Mathlib/Analysis/Analytic/CPolynomialDef.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/IteratedFDeriv.lean,Mathlib/Analysis/Analytic/Linear.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Analytic/Polynomial.lean,Mathlib/Analysis/Analytic/RadiusLiminf.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Analytic/Within.lean,Mathlib/Analysis/Asymptotics/AsymptoticEquivalent.lean,Mathlib/Analysis/Asymptotics/Defs.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/Asymptotics/Theta.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean,Mathlib/Analysis/BoxIntegral/Integrability.lean,Mathlib/Analysis/BoxIntegral/Partition/Additive.lean,Mathlib/Analysis/BoxIntegral/Partition/Measure.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/CStarAlgebra/ContinuousLinearMap.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/CStarAlgebra/Module/Constructions.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/AddTorsor/AffineMap.lean,Mathlib/Analysis/Calculus/AddTorsor/Coord.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/BumpFunction/Convolution.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/Conformal/InnerProduct.lean,Mathlib/Analysis/Calculus/Conformal/NormedSpace.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/CPolynomial.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/ContDiff/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Analysis/Calculus/ContDiff/WithLp.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/Abs.lean,Mathlib/Analysis/Calculus/Deriv/Add.lean,Mathlib/Analysis/Calculus/Deriv/AffineMap.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Inv.lean,Mathlib/Analysis/Calculus/Deriv/Inverse.lean,Mathlib/Analysis/Calculus/Deriv/Linear.lean,Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/Deriv/Prod.lean,Mathlib/Analysis/Calculus/Deriv/Shift.lean,Mathlib/Analysis/Calculus/Deriv/Slope.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/Deriv/Support.lean,Mathlib/Analysis/Calculus/Deriv/ZPow.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Add.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean,Mathlib/Analysis/Calculus/FDeriv/Comp.lean,Mathlib/Analysis/Calculus/FDeriv/Equiv.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Linear.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/Norm.lean,Mathlib/Analysis/Calculus/FDeriv/Pi.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean,Mathlib/Analysis/Calculus/FDeriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean |
579 |
7 |
['astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
270-47615 8 months ago |
unknown |
0-0 0 seconds |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
270-34226 8 months ago |
293-48317 293 days ago |
7-62439 7 days |
| 27479 |
iu-isgood author:iu-isgood |
feat: Abel's Binomial Theorem |
We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
326/0 |
Mathlib/Data/Nat/Choose/AbelBinomial.lean |
1 |
28 |
['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] |
nobody |
270-33987 8 months ago |
299-31684 299 days ago |
0-237 3 minutes |
| 28787 |
alreadydone author:alreadydone |
feat(Counterexamples): a domain whose ring of differences is not a domain |
Example produced by Gemini 2.5 Pro: https://gemini.google.com/share/9558539e1309
---
- [ ] depends on: #28468
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
large-import
label:t-algebra$ |
1200/204 |
Counterexamples.lean,Counterexamples/GrothendieckAddGroupIsDomain.lean,Mathlib.lean,Mathlib/Algebra/Group/Subsemigroup/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Order/Nonneg/Basic.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/GroupTheory/MonoidLocalization/Archimedean.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Localization/Additive.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Localization/StrongRankCondition.lean,Mathlib/RingTheory/Smooth/StandardSmooth.lean,Mathlib/RingTheory/Trace/Quotient.lean |
23 |
6 |
['alreadydone', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
nobody |
269-37437 8 months ago |
269-42881 269 days ago |
1-13263 1 day |
| 24719 |
madvorak author:madvorak |
feat(LinearAlgebra/Matrix/NonsingularInverse): inverting `Matrix` inverts its `LinearEquiv` |
---
Discussion:
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2324719.20cannot.20find.20home/with/517142655
|
awaiting-author
t-algebra
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean |
1 |
16 |
['eric-wieser', 'github-actions', 'madvorak', 'ocfnash'] |
nobody |
267-58924 8 months ago |
289-40901 289 days ago |
86-37603 86 days |
| 27437 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): some lemmas about comparing with 1 and 0 and with each other |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-ring-theory
|
109/22 |
Mathlib/NumberTheory/Padics/ValuativeRel.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Extension.lean,Mathlib/RingTheory/Valuation/ValuativeRel.lean |
4 |
20 |
['erdOne', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'matthewjasper', 'pechersky'] |
nobody |
266-36807 8 months ago |
286-1418 286 days ago |
14-27134 14 days |
| 28148 |
kckennylau author:kckennylau |
feat(Matrix): Simproc and Rw-proc for Matrix Transpose |
Co-authored by Aaron Liu.
```lean
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of% 2 3]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
simp only [matrix_transpose]
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
267/8 |
Mathlib.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,MathlibTest/Simproc/Matrix.lean,MathlibTest/matrix.lean,scripts/noshake.json |
8 |
32 |
['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] |
eric-wieser assignee:eric-wieser |
265-77560 8 months ago |
265-77561 265 days ago |
12-78143 12 days |
| 28686 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone theorem |
Proves the Erdős-Stone theorem:
If `G` has at least `(1 - 1 / r + o(1)) * n ^ 2 / 2` many edges, then `G` contains a copy of a `completeEquipartiteGraph (r + 1) t`.
---
- [ ] depends on: #28685
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
merge-conflict
WIP
|
757/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-41000 8 months ago |
273-57943 273 days ago |
0-10 10 seconds |
| 28687 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone-Simonovits theorem |
Proves the Erdős-Stone-Simonovits theorem:
If the chromatic number of `H` equals `r + 1 > 0`, then the `extremalNumber` of `H` is greater than `(1 - 1 / r - o(1)) * card V ^ 2 / 2` and at most `(1 - 1 / r + o(1)) * card V ^ 2 / 2`.
---
- [ ] depends on: #28686
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-combinatorics
|
879/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-40999 8 months ago |
273-57758 273 days ago |
0-32 32 seconds |
| 28689 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove well-known corollaries of the Erdős-Stone-Simonovits theorem |
Proves well-known corollaries of the Erdős-Stone-Simonovits theorem:
E.g., if the chromatic number of `H` equals `r + 1 > 1`, then `extremalNumber n H` is asymptotically equivalent to `(1 - 1 / r) * n.choose 2` as `n → ∞`
---
- [ ] depends on: #28687
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
blocked-by-other-PR
t-combinatorics
|
958/14 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Finset/Union.lean,Mathlib/Data/Nat/Cast/Order/Field.lean |
10 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-40998 8 months ago |
273-57532 273 days ago |
0-45 45 seconds |
| 26952 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/DayConvolution): monoid objects internal to day convolutions |
In this file, given `F : C ⊛⥤ V`, we provide a bijective correspondence between lax monoidal structures on `F.functor` and
`Mon_Class F` structures. We also prove that through this correspondance, monoidal natural transformations correspond to morphisms of internal monoid objects.
---
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1574/19 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Mon_.lean |
5 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-13209 8 months ago |
315-8292 315 days ago |
0-584 9 minutes |
| 27133 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is monoidal closed when `V` is |
When `V` is a monoidal closed category admitting enough limits, we show that the type alias `C ⊛⥤ V` for functors `C ⥤ V` with Day convolution monoidal structure is monoidal closed using the API for `LawfulDayConvolutionClosedMonoidalCategoryStruct` developped in #27119.
We expose the required data to exhibit (realization as a functor of) the internal hom as a suitable, and we port the lemmas that characterize its functoriality in that regard, as well as the evaluation and coevaluation morphisms.
---
- [ ] depends on: #27119
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1706/20 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
5 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-13084 8 months ago |
310-39538 310 days ago |
0-1192 19 minutes |
| 27151 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `C ⊛⥤ V` is braided/symmetric when `C` and `V` are braided/symmetric |
We use the machinery from #27150 to show that Day functors (the type alias for functors endowed with the Day convolution monoidal structure) are braided/symmetric when the base categories are.
---
- [ ] depends on: #27150
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1591/20 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
5 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-13082 8 months ago |
309-60031 309 days ago |
0-1022 17 minutes |
| 27175 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): `LawfulDayConvolutionMonoidalCategoryStruct.ι C V D` is monoidal when the target is `C ⊛⥤ V` |
We prove a "soundness" result for our notion of `LawfulDayConvolutionMonoidalCategoryStruct`, i.e that when be interpret its field `ι` as valued in Day functors (the type alias for functors endowed with the Day convolution monoidal structure), the data from `LawfulDayConvolutionMonoidalCategoryStruct` turn `ι` in a monoidal functor, proving that the categories endowed with such a structure are precisely those that can be identified to monoidal (not necessarily full) subcategories of Day functors.
Implicitly, the structure isomorphisms for this monoidal structure bundle isomorphisms asserting unicity up to isomorphisms of day convolutions.
---
- [ ] depends on: #26890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
|
1585/24 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
4 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
265-13081 8 months ago |
309-27163 309 days ago |
0-673 11 minutes |
| 26097 |
adomani author:adomani |
dev: the relative linter |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
awaiting-author
t-linter
|
316/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/Local.lean,Mathlib/Util/ParseGit.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
264-76256 8 months ago |
unknown |
0-0 0 seconds |
| 25741 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/SimplicialObject): definitions of simplicial objects by generators and relation |
We leverage the equivalence between `SimplexCategory` and `SimplexCategoryGenRel` to give new constructors for (co)simplicial objects, as well as constructors for natural transformations (resp. isomorphism) between those.
Final PR in the series of PR formalising the equivalence between `SimplexCategory` and `SimplexCategoryGenRel`.
---
- [ ] depends on: #25740
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #21748.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/21748* |
t-algebraic-topology
blocked-by-other-PR
t-category-theory
large-import
merge-conflict
|
1363/9 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/Equivalence.lean,Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/AlgebraicTopology/SimplicialObject/GeneratorsRelations.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
261-53276 8 months ago |
331-46564 331 days ago |
11-15676 11 days |
| 26931 |
javra author:javra |
feat(CategoryTheory/Enriched): `V`-enriched isomorphisms |
Defines isomorphisms in `V`-enriched categories and relate them to ordinary isomorphisms in the case of ordinary enriched categories.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
infinity-cosmos
|
211/14 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Basic.lean,Mathlib/CategoryTheory/Enriched/Iso.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Basic.lean,Mathlib/CategoryTheory/Enriched/Ordinary/Iso.lean |
6 |
21 |
['emilyriehl', 'github-actions', 'javra', 'joelriou', 'mathlib4-merge-conflict-bot', 'mckoen'] |
nobody |
261-52666 8 months ago |
295-56913 295 days ago |
19-74885 19 days |
| 27707 |
FLDutchmann author:FLDutchmann |
feat(NumberTheory/SelbergSieve): define Selberg's weights and prove basic results. |
This PR continues the work from #23635.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23635
- [ ] depends on: #27702 |
merge-conflict
t-number-theory
blocked-by-other-PR
t-analysis
|
407/83 |
Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/SelbergSieve.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
261-19926 8 months ago |
291-3605 291 days ago |
1-28956 1 day |
| 25208 |
erdOne author:erdOne |
feat(LinearAlgebra): `tensor_induction` macro |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
RFC
label:t-algebra$ |
87/116 |
Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/Finite.lean,Mathlib/RingTheory/Unramified/Finite.lean |
8 |
8 |
['chrisflav', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
260-74033 8 months ago |
359-45480 359 days ago |
0-600 10 minutes |
| 28803 |
astrainfinita author:astrainfinita |
refactor: unbundle algebra from `ENormed*` |
Further speed up the search in the algebraic typeclass hierarchy by avoiding searching for `TopologicalSpace`.
This PR continues the work from #23961.
- Change `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` so they no longer carry algebraic data.
- Deprecate `ESeminormed(Add)CommMonoid` and `ENormed(Add)CommMonoid` in favor of `ESeminormed(Add)Monoid` and `ENormed(Add)Monoid` with a commutative algebraic typeclass.
|Old|New|
|---|---|
| `[ESeminormed(Add)(Comm)Monoid E]` | `[(Add)(Comm)Monoid E] [ESeminormed(Add)Monoid E]` |
| `[ENormed(Add)(Comm)Monoid]` | `[(Add)(Comm)Monoid E] [ENormed(Add)Monoid]` |
See [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2328803.20refactor.3A.20unbundle.20algebra.20from.20.60ENormed*.60/with/536024350)
------------
- [x] depends on: #28813 |
t-algebra
merge-conflict
slow-typeclass-synthesis
awaiting-zulip
t-analysis
label:t-algebra$ |
80/63 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/NormedSpace/IndicatorFunction.lean,Mathlib/MeasureTheory/Function/L1Space/AEEqFun.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LocallyIntegrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean |
14 |
28 |
['astrainfinita', 'bryangingechen', 'github-actions', 'grunweg', 'kbuzzard', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
grunweg assignee:grunweg |
260-5161 8 months ago |
268-42715 268 days ago |
0-20585 5 hours |
| 26935 |
Paul-Lez author:Paul-Lez |
feat(Analysis/SpecialFunction/NthRoot): definition and basic API of Real.nthRoot |
This PR continues the work from #25364.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25364
Co-authored-by: Eric Wieser |
t-analysis |
311/0 |
Mathlib/Analysis/SpecialFunctions/NthRoot.lean |
1 |
10 |
['Paul-Lez', 'eric-wieser', 'github-actions', 'mo271', 'smmercuri', 'yury-harmonic'] |
nobody |
259-7271 8 months ago |
314-54041 314 days ago |
0-74776 20 hours |
| 27995 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): alternate constructors for Valuation |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
awaiting-CI
|
82/0 |
Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/FieldTheory/RatFunc/Degree.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/Valuation/Basic.lean |
4 |
22 |
['YaelDillies', 'github-actions', 'grunweg', 'kckennylau', 'pechersky'] |
nobody |
257-65546 8 months ago |
270-37000 270 days ago |
17-72481 17 days |
| 26159 |
upobir author:upobir |
feat(Algebra/QuadraticDiscriminant): Adding inequalities on quadratic from inequalities on discriminant |
This PR continues the work from #24517.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24517
---
[](https://gitpod.io/from-referrer/) |
awaiting-author
t-algebra
label:t-algebra$ |
34/0 |
Mathlib/Algebra/QuadraticDiscriminant.lean |
1 |
8 |
['chrisflav', 'github-actions', 'tb65536', 'upobir'] |
chrisflav assignee:chrisflav |
256-38450 8 months ago |
280-29978 280 days ago |
55-10605 55 days |
| 26908 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): alternative ext principle for unitors |
Currently, our infrastructure for left/right unitors for Day convolution of functors `C ⥤ V` do not have satisfactory extensionality principle: the current way to characterize morphisms out of `U ⊛ F` is the default extensionality principle for Day convolution, which characterizes first such functors via functors out of `U ⊠ F`. Left unitors are then obtained using the fact `U ⊠ F` is a left Kan extension of a functor from `PUnit × C` (which is equivalent to `C`) but we did not record on its own this principle.
Using the transitivity of left Kan extensions proved in #26899, we directly exhibit `U ⊛ F` as a left Kan extension of `F ⋙ tensorLeft (𝟙_ V)` along `tensorLeft (𝟙_ C)`. The unit of this Kan extension is composed exactly of the morphisms that appear in the [characterization of left unitors](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/DayConvolution.html#CategoryTheory.MonoidalCategory.DayConvolutionUnit.leftUnitor_hom_unit_app).
We also slightly generalize the instances that express that external products with unitors are left Kan extensions, so that they can be used when taking external products with more complicated functors than currently. This is again useful when chaining extensionality lemmas for morphisms out of terms of the form `(F ⊛ U) ⊛ G`.
We prove a similar thing for right unitors
With this, it should be possible to have a much more satisfactory way of working with Day convolutions: this allows to "elimiinate" units without ending up with terms in an external product.
---
- [ ] depends on: #26899
- [ ] depends on: #26906
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
307/18 |
Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
254-37506 8 months ago |
254-37507 254 days ago |
0-1812 30 minutes |
| 27150 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): constructors for braided and symmetric structure on day convolutions monoidal categories |
Following the pattern in #27119, we give API to construct `BraidedCategory` and `SymmetricCategory` structures on a monoidal
category equipped with a `LawfulDayConvolutionMonoidalCategoryStruct`. To achieve this, we introduce an other type class
`LawfulDayConvolutionBraidedCategoryStruct` that bundles an associator isomorphism that behaves like the one constructed for functors in #27067.
We provide a noncomputable constructor for this typeclass that takes as input fullness of the "realization" functor to a category of functors, and we show that the typeclasses are sufficient to define the desired structures.
---
- [x] depends on: #27067
- [x] depends on: #26820
[![Open in Gitpod](https: |