Welcome to the mathlib review page. Everybody's help with reviewing is appreciated. Reviewing contributions is important, and everybody is welcome to review pull requests! If you're not sure how, the pull request review guide is there to help you.
This page contains tables of
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
| 27100 |
staroperator author:staroperator |
feat(ModelTheory): Presburger definability and semilinear sets |
This PR formalizes the classical result that Presburger definable sets are the same as semilinear sets. As an application of this result, we show that the graph of multiplication is not Presburger definable.
---
- [x] depends on: #26896
- [x] depends on: #27081
- [x] depends on: #27087
- [x] depends on: #27414
- [x] depends on: #32123
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
298/0 |
Mathlib.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean,Mathlib/ModelTheory/Arithmetic/Presburger/Semilinear/Defs.lean,docs/references.bib |
4 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
fpvandoorn assignee:fpvandoorn |
49-7334 1 month ago |
51-78269 51 days ago |
51-77235 51 days |
| 32124 |
SnirBroshi author:SnirBroshi |
feat(SimpleGraph/Walks/Operations): expand basic drop/take/reverse API |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
44/0 |
Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
49-7324 1 month ago |
54-85242 54 days ago |
54-84208 54 days |
| 29393 |
staroperator author:staroperator |
feat(SetTheory/ZFC): `card (V_ o) = preBeth o` |
---
- [x] depends on: #26544
- [x] depends on: #29351
- [x] depends on: #29365
[](https://gitpod.io/from-referrer/)
|
large-import
t-set-theory
|
37/4 |
Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/VonNeumann.lean |
2 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator', 'vihdzp'] |
alreadydone assignee:alreadydone |
48-7320 1 month ago |
51-83147 51 days ago |
51-82113 51 days |
| 32455 |
vihdzp author:vihdzp |
feat: order topologies of successor orders |
---
Co-authored by @j-loreaux
[](https://gitpod.io/from-referrer/)
|
t-topology
t-order
|
124/43 |
Mathlib.lean,Mathlib/Order/Cover.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Order/SuccPred.lean |
4 |
1 |
['github-actions'] |
pechersky assignee:pechersky |
42-7325 1 month ago |
45-77624 45 days ago |
45-76590 45 days |
| 32552 |
ksenono author:ksenono |
feat(SetTheory/Cardinal): helpers for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
new-contributor
|
70/0 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
2 |
33 |
['SnirBroshi', 'b-mehta', 'github-actions', 'ksenono', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
36-77854 1 month ago |
37-12862 37 days ago |
42-54521 42 days |
| 26608 |
vihdzp author:vihdzp |
feat(SetTheory/Cardinal/Aleph): `o.card ≤ ℵ_ o` and variants |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
24/0 |
Mathlib/SetTheory/Cardinal/Aleph.lean |
1 |
4 |
['artie2000', 'github-actions', 'kckennylau', 'leanprover-community-bot-assistant', 'vihdzp'] |
alreadydone assignee:alreadydone |
34-42865 1 month ago |
34-50632 34 days ago |
64-31318 64 days |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
127/1 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean |
2 |
8 |
['SnirBroshi', 'github-actions', 'ksenono'] |
awainverse assignee:awainverse |
32-82375 1 month ago |
32-81448 32 days ago |
43-18338 43 days |
| 32570 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
22/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
10 |
['SnirBroshi', 'github-actions'] |
kmill assignee:kmill |
32-81915 1 month ago |
32-81007 32 days ago |
42-80053 42 days |
| 32679 |
YaelDillies author:YaelDillies |
chore(Data/Sym2): improve defeq of `diagSet` |
#30559 introduced a regression on the defeqs in the `SimpleGraph` API. This PR fixes it.
From LeanCamCombi
---
I personally think this new `diagSet` definition is unnecessary: `{e | e.IsDiag}` is not much longer to write than `Sym2.diagSet` and more transparent, but whatever.
[](https://gitpod.io/from-referrer/)
|
t-data |
52/41 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean,Mathlib/Combinatorics/SimpleGraph/Operations.lean,Mathlib/Data/Sym/Card.lean,Mathlib/Data/Sym/Sym2.lean |
5 |
9 |
['SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
pechersky assignee:pechersky |
32-18939 1 month ago |
32-17113 32 days ago |
38-56198 38 days |
| 32532 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity): connected components are maximally connected subsets/subgraphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
32/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
31-15556 1 month ago |
31-14725 31 days ago |
43-67474 43 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
maintainer-merge
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
63 |
['YaelDillies', 'ctchou', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
YaelDillies assignee:YaelDillies |
31-15291 1 month ago |
31-14335 31 days ago |
49-73505 49 days |
| 32260 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle/Oriented/Affine): oriented angle bisection and halving unoriented angles |
Add lemmas relating points bisecting an oriented angle to explicit expressions for one unoriented angle in relation to half another unoriented angle.
---
Feel free to golf.
---
- [ ] depends on: #32259
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
157/0 |
Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
31-7341 1 month ago |
34-17355 34 days ago |
34-18453 34 days |
| 32826 |
felixpernegger author:felixpernegger |
feat(Data/Tuple/Sort): Permutation is monotone iff its the identity |
Sort of permutation is its inverse + Permutation is monotone iff its the identity |
t-data
new-contributor
|
19/0 |
Mathlib/Data/Fin/Tuple/Sort.lean |
1 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
31-7337 1 month ago |
35-51584 35 days ago |
37-83188 37 days |
| 32127 |
CoolRmal author:CoolRmal |
feat: use IndexedPartition.piecewise to create simple/measurable/strongly measurable functions |
The lemmas proved in this PR are needed in https://github.com/RemyDegenne/brownian-motion/pull/304.
---
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
large-import
|
111/4 |
Mathlib/Data/Setoid/Partition.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean |
4 |
21 |
['CoolRmal', 'EtienneC30', 'github-actions', 'hanwenzhu', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
30-59472 30 days ago |
30-57982 30 days ago |
52-28839 52 days |
| 32739 |
Rida-Hamadani author:Rida-Hamadani |
chore(SimpleGraph): golf and improve style of `Subwalks.lean` |
maintaining the sub-walks file after the walk split, golfing some proofs
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
11/18 |
Mathlib/Combinatorics/SimpleGraph/Walks/Subwalks.lean |
1 |
1 |
['github-actions', 'vlad902'] |
awainverse assignee:awainverse |
30-7310 30 days ago |
38-62645 38 days ago |
38-61611 38 days |
| 32910 |
felixpernegger author:felixpernegger |
feat(Data/Nat/Choose): two binomial coefficient sum identities |
This PR proves two well-known sum identities around binomial coefficients.
While there are probably hundreds of such identities, these two seem to be well known enough to be in mathlib (i.e. are mentioned in the Wikipedia [article](https://en.wikipedia.org/wiki/Binomial_coefficient#math_8) about binomial coefficients). |
new-contributor
t-data
|
31/0 |
Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean |
2 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
30-7307 30 days ago |
35-41126 35 days ago |
35-40092 35 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 |
40/2 |
Mathlib/Tactic/Simps/Basic.lean,MathlibTest/SimpsModule.lean |
2 |
8 |
['JovanGerb', 'github-actions', 'kim-em'] |
eric-wieser assignee:eric-wieser |
30-7306 30 days ago |
31-8126 31 days ago |
33-56276 33 days |
| 33016 |
xgenereux author:xgenereux |
feat: RingHom.adjoinAlgebraMap |
Consider a tower of rings `A / B / C` and `b : B`, then there is a natural map from
`A[b]` to `A[algebraMap B C b]` (adjoin `b` viewed as an element of `C`).
This PR adds 3 versions, depending on whether we use `Algebra.adjoin` or `IntermediateField.adjoin`:
- `Algebra.RingHom.adjoinAlgebraMap : Algebra.adjoin A {b} →+* Algebra.adjoin A {(algebraMap B C) b}`
- `IntermediateField.RingHom.adjoinAlgebraMapOfAlgebra : Algebra.adjoin A {b} →+* A⟮((algebraMap B C) b)⟯`
- `IntermediateField.RingHom.adjoinAlgebraMap : A⟮b⟯ →+* A⟮((algebraMap B C) b)⟯`
Note:
We create a new file for `Algebra.RingHom.adjoinAlgebraMap`, which is intended for results about adjoining singletons, because it is convenient to import `Algebra.Adjoin.Polynomial`.
Co-authored-by: María Inés de Frutos Fernández <[mariaines.dff@gmail.com](mailto:mariaines.dff@gmail.com)>
---
[](https://gitpod.io/from-referrer/)
|
|
103/0 |
Mathlib.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/RingTheory/Adjoin/Singleton.lean |
4 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
30-7303 30 days ago |
33-13079 33 days ago |
33-12045 33 days |
| 30898 |
vihdzp author:vihdzp |
feat: characterization of `List.splitBy` |
---
- [x] depends on: #30892
Moved from #16837.
[](https://gitpod.io/from-referrer/)
|
t-data |
110/10 |
Mathlib/Data/List/Flatten.lean,Mathlib/Data/List/SplitBy.lean |
2 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
TwoFX assignee:TwoFX |
30-1337 30 days ago |
29-84700 29 days ago |
39-28292 39 days |
| 26484 |
peabrainiac author:peabrainiac |
feat(Geometry/Diffeology): basics of diffeological spaces |
Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces.
---
This PR continues the work from #21969. |
t-differential-geometry |
491/0 |
Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib |
3 |
12 |
['JovanGerb', 'github-actions', 'grunweg', 'lecopivo', 'mathlib4-merge-conflict-bot', 'peabrainiac'] |
ocfnash assignee:ocfnash |
28-62927 28 days ago |
30-10298 30 days ago |
168-33937 168 days |
| 32021 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Altitude): `map` and `restrict` lemmas |
Add lemmas about `altitude`, `altitudeFoot` and `height` for simplices mapped under an affine isometry or restricted to an affine subspace.
---
- [x] depends on: #32016
- [x] depends on: #32017
- [ ] depends on: #32019
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
75/0 |
Mathlib/Geometry/Euclidean/Altitude.lean |
1 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
28-7329 28 days ago |
31-32806 31 days ago |
31-31772 31 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
531/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/EulerComb.lean |
2 |
5 |
['chiyunhsu', 'github-actions', 'tb65536', 'vihdzp'] |
b-mehta assignee:b-mehta |
28-7326 28 days ago |
32-65482 32 days ago |
32-64448 32 days |
| 33082 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(GroupTheory/SpecificGroups/Alternating/Simple): the alternating group on at least 5 letters is simple. |
This is the conclusion of the story of the proof of simplicity of the alternating group using the
Iwasawa criterion.
* `Equiv.Perm.iwasawaStructure_two`:
the natural `IwasawaStructure` of `Equiv.Perm α` acting on `Nat.Combination α 2`
Its commutative subgroups consist of the permutations with support
in a given element of `Nat.Combination α 2`.
They are cyclic of order 2.
* `alternatingGroup_of_le_of_normal`:
If `α` has at least 5 elements, then a nontrivial normal subgroup
of `Equiv.Perm α` contains the alternating group.
* `alternatingGroup.iwasawaStructure_three`:
the natural `IwasawaStructure` of `alternatingGroup α` acting on `Nat.Combination α 3`
Its commutative subgroups consist of the permutations with support
in a given element of `Nat.Combination α 2`.
They are cyclic of order 3.
* `alternatingGroup.iwasawaStructure_three`:
the natural `IwasawaStructure` of `alternatingGroup α` acting on `Nat.Combination α 4`
Its commutative subgroups consist of the permutations of
cycleType (2, 2) with support in a given element of `Nat.Combination α 2`.
They have order 4 and exponent 2 (`IsKleinFour`).
* `alternatingGroup.normal_subgroup_eq_bot_or_eq_top`:
If `α` has at least 5 elements, then a nontrivial normal subgroup of `alternatingGroup` is `⊤`.
* `alternatingGroup.isSimpleGroup`:
If `α` has at least 5 elements, then `alternatingGroup α`
is a simple group.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
large-import
|
821/13 |
Mathlib.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/Simple.lean,Mathlib/GroupTheory/SpecificGroups/KleinFour.lean |
7 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
28-7321 28 days ago |
31-35733 31 days ago |
31-34699 31 days |
| 33109 |
felixpernegger author:felixpernegger |
feat(Data/Nat/Choose): Binomial inversion |
This PR adds binomial inversion (also called binomial transform), which is a useful method for proving binomial identities.
It is tricky to find direct references to binomial inversion, but for example [this](https://en.wikipedia.org/wiki/Binomial_transform#Binomial_convolution) Wikipedia article mentions it ("The formula").
The first theorem ```alternating_sum_choose_mul_of_alternating_sum_choose_mul``` could be refined (we only need the hypothesis ```h``` up to some point), but this seems to needlessly complicate it. |
new-contributor |
107/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Inversion.lean |
2 |
4 |
['felixpernegger', 'github-actions', 'wwylele'] |
dagurtomas assignee:dagurtomas |
28-7316 28 days ago |
30-38337 30 days ago |
30-65644 30 days |
| 32160 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walks): helper theorems about `darts` and `support` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
33/1 |
Mathlib/Combinatorics/SimpleGraph/Walks/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Traversal.lean |
2 |
1 |
['github-actions'] |
kmill assignee:kmill |
26-22979 26 days ago |
26-22119 26 days ago |
53-84515 53 days |
| 33147 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Coloring): add a few missing instances (`IsEmpty`/`Nontrivial`/`Infinite`) |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
22/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean |
2 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
26-7331 26 days ago |
29-86001 29 days ago |
29-84967 29 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
label:t-algebra$ |
17/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
18 |
['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
25-69099 25 days ago |
25-67938 25 days ago |
51-56534 51 days |
| 33248 |
vihdzp author:vihdzp |
refactor(MeasureTheory/Measure/Stieltjes): simpler definition of `botSet` |
---
Arguably we could get rid of `botSet` altogether, but in either case this is still an improvement.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
13/19 |
Mathlib/MeasureTheory/Measure/Stieltjes.lean |
1 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
24-7325 24 days ago |
26-42052 26 days ago |
26-41127 26 days |
| 32987 |
kim-em author:kim-em |
feat: pipeline downloads and decompression in `cache get` |
This PR modifies `lake exe cache get` to decompress files as they download, rather than waiting for all downloads to complete first.
Previously the cache system had two sequential phases: download all files using `curl --parallel`, then decompress all files using a single `leantar` call. Now a background task spawns sequential batched `leantar` calls to decompress files as downloads complete, pipelining network I/O and disk I/O.
🤖 Prepared with Claude Code |
|
194/30 |
Cache/Requests.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
23-7295 23 days ago |
33-8280 33 days ago |
34-4230 34 days |
| 29788 |
robertmaxton42 author:robertmaxton42 |
feat(Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion |
Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions.
Bundling of existing continuity lemmas:
* `ContinuousMap.subtypeVal`
* `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps
* `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps
* `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo`
New functions:
* `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set`
* `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism
* Descending from a coherent set of subspaces is a quotient map
The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.)
This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
227/2 |
Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json |
7 |
15 |
['adamtopaz', 'github-actions', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] |
adamtopaz assignee:adamtopaz |
22-9921 22 days ago |
22-7574 22 days ago |
68-74868 68 days |
| 33280 |
michelsol author:michelsol |
feat(MeasureTheory/Integral/IntervalIntegral): add variant `integral_deriv_eq_sub_uIoo` of 2nd theorem of calculus. |
Add a continuous on uIcc, differentiable on uIoo, deriv version of the 2nd fundamental theorem of calculus.
This corresponds to what is written [here](https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus#Second_part).
For example it makes it easier to compute the integral :
```lean4
∫ x : ℝ in 0..1, (√(1 - x ^ 2))⁻¹ = ∫ x : ℝ in 0..1, deriv arcsin x = arcsin 1 - arcsin 0
```
It is not possible to use [`interval_deriv_eq_sub`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.html#intervalIntegral.integral_deriv_eq_sub) which requires differentiability on all of [0,1], as `arcsin` isn't differentiable at 1.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
14/0 |
Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
1 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
22-7308 22 days ago |
25-31953 25 days ago |
25-30919 25 days |
| 30962 |
WangYiran01 author:WangYiran01 |
feat(Combinatorics/Enumerative): add lattice path lemmas and counts |
This PR adds definitions and theorems about monotone lattice paths:
- Defines `pathCount`, `pathCountFrom`, `SubdiagProp`, and related structures.
- Proves closed forms such as `pathCount_eq_closed`.
- Adds Dyck/ballot subdiagonal property (`SubdiagProp`).
All code builds successfully with `lake build`. |
t-combinatorics
new-contributor
|
76/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/RecLatticePath.lean |
2 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
21-59585 21 days ago |
21-58762 21 days ago |
41-3947 41 days |
| 33064 |
DavidLedvinka author:DavidLedvinka |
feat(Probability): Add `condLExp`, conditional expectation with the Lebesgue integral |
Add definition of `condLExp`, conditional expectation using the Lebesgue integral. Also add basic API. |
t-measure-probability |
275/0 |
Mathlib.lean,Mathlib/MeasureTheory/Function/ConditionalLExpectation.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/MeasurableSpace/Defs.lean,Mathlib/MeasureTheory/Measure/AEMeasurable.lean |
6 |
3 |
['DavidLedvinka', 'github-actions', 'leanprover-radar'] |
EtienneC30 assignee:EtienneC30 |
21-12507 21 days ago |
21-11629 21 days ago |
31-14014 31 days |
| 33143 |
wwylele author:wwylele |
feat(PowerSeries): pentagonal number theorem |
The proof is split in two files: `Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean` for the algebraic part, and `Mathlib/RingTheory/PowerSeries/Pentagonal.lean` for the summability part. In the near future, I also plan to prove the real/complex version that branches off from the algebraic part.
---
- [ ] depends on: #30436
[](https://gitpod.io/from-referrer/)
|
|
324/1 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Pentagonal.lean,Mathlib/Topology/Algebra/InfiniteSum/Pentagonal.lean,docs/1000.yaml |
4 |
12 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
kex-y assignee:kex-y |
21-7326 21 days ago |
23-45109 23 days ago |
24-13892 24 days |
| 33297 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Roots): add `card_rootSet_le` |
This PR adds a lemma stating that `Set.ncard (p.rootSet B) ≤ p.natDegree` (we already have similar lemmas for `Polynomial.roots`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
7/0 |
Mathlib/Algebra/Polynomial/Roots.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
21-7325 21 days ago |
25-3325 25 days ago |
25-2291 25 days |
| 32803 |
erdOne author:erdOne |
feat(RIngTheory): more-linear version of `tensorKaehlerEquiv` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
83/7 |
Mathlib/RingTheory/Kaehler/TensorProduct.lean |
1 |
16 |
['Ruben-VandeVelde', 'erdOne', 'github-actions', 'mattrobball', 'robin-carlier'] |
mattrobball assignee:mattrobball |
18-15626 18 days ago |
18-14884 18 days ago |
27-82093 27 days |
| 32654 |
YaelDillies author:YaelDillies |
feat(Combinatorics): a clique has size at most the chromatic number |
There already exists a version of this lemma for cliques given by a set, but it's impractical to provide an explicit clique on an explicit graph as a set, rather than an indexed family, especially because computing the size of the set would then involve proving that it is the range of an injective function, even though being a clique already implies being injective!
Application: google-deepmind/formal-conjectures#1369
Also rename `coloringOfIsEmpty` and `colorable_of_isEmpty` to leverage anonymous dot notation, and make more arguments implicit.
From FormalConjectures
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
51/40 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean |
2 |
20 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
b-mehta assignee:b-mehta |
16-59171 16 days ago |
16-58355 16 days ago |
41-31543 41 days |
| 33520 |
NoneMore author:NoneMore |
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input |
There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure.
The other direction depends on #33458.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
63/0 |
Mathlib/ModelTheory/ElementarySubstructures.lean |
1 |
1 |
['github-actions'] |
nobody |
16-44519 16 days ago |
16-55922 16 days ago |
16-54888 16 days |
| 33475 |
BoltonBailey author:BoltonBailey |
feat(Logic/IsEmpty): add theorems relating surjectivity and emptiness |
In particular, this adds a lemma saying that with an empty domain, a function is surjective iff its range is empty, and various forms of this.
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
11/2 |
Mathlib/Logic/IsEmpty.lean |
1 |
13 |
['BoltonBailey', 'SnirBroshi', 'eric-wieser', 'github-actions'] |
nobody |
15-65681 15 days ago |
15-61866 15 days ago |
17-72023 17 days |
| 33467 |
euprunin author:euprunin |
chore: golf using `grind`. add `grind` annotations. |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `CategoryTheory.Limits.Pi.ι_π`: <10 ms before, 40 ms after
* `CategoryTheory.Limits.Sigma.ι_π`: <10 ms before, 39 ms after
* `Stream'.Seq.head_eq_none_iff`: <10 ms before, 87 ms after
* `Part.mem_ωSup`: 37 ms before, <10 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
10/24 |
Mathlib/CategoryTheory/EqToHom.lean,Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean,Mathlib/Data/Seq/Defs.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
4 |
3 |
['euprunin', 'github-actions', 'leanprover-radar'] |
alexjbest assignee:alexjbest |
15-7299 15 days ago |
18-13186 18 days ago |
18-12152 18 days |
| 33469 |
erdOne author:erdOne |
feat(LinearAlgebra): make TensorProduct.finsuppLeft and friends heterobasic |
---
[](https://gitpod.io/from-referrer/)
|
|
77/137 |
Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Basis.lean,Mathlib/LinearAlgebra/TensorProduct/Submodule.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Rep.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/TensorProduct/IsBaseChangeFree.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean |
13 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
15-7298 15 days ago |
18-10009 18 days ago |
18-8975 18 days |
| 33470 |
erdOne author:erdOne |
feat: generalize `Polynomial.freeMonic` |
---
[](https://gitpod.io/from-referrer/)
|
|
80/52 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FreeMonic.lean,Mathlib/RingTheory/Polynomial/UniversalFactorizationRing.lean |
3 |
1 |
['github-actions'] |
thorimur assignee:thorimur |
15-7298 15 days ago |
18-15566 18 days ago |
18-14532 18 days |
| 33039 |
euprunin author:euprunin |
chore(Data/List): deprecate `ext_get_iff` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
1/7 |
Mathlib/Data/List/Basic.lean |
1 |
5 |
['euprunin', 'github-actions', 'jcommelin'] |
pechersky assignee:pechersky |
14-59193 14 days ago |
25-18029 25 days ago |
25-80499 25 days |
| 33100 |
themathqueen author:themathqueen |
refactor(Algebra/Order/Field/Basic): generalize file from `LinearOrder` to `PartialOrder` and `PosMulReflectLT` |
It's a well-known easy fact that there is no way to equip `ℂ` with a *linear* order satisfying `IsStrictOrderedRing`. However, it is equipped with a partial order (available in the `ComplexOrder` namespace) given by `a ≤ b ↔ a.re ≤ b.re ∧ a.im = b.im`. This order satisfies `IsStrictOrderedRing`. However, it has some other nice properties, for instance `0 < a⁻¹ ↔ 0 < a` (because it is a `GroupWithZero` satisfying `PosMulReflectLT` so `inv_pos` applies), and moreover, in this PR we also show that a (partially) ordered field with this property satisfies `a⁻¹ < 0 ↔ a < 0`. This means that the field operation is well-behaved in regards to elements comparable with zero.
This PR refactors `Algebra/Order/Field/Basic.lean` so that it applies to *partially* ordered fields that in addition satisfy `PosMulReflectLT` (e.g., `ℂ`). The vast majority of the lemmas are applicable in this more general setting, albeit with refactored proofs.
The diff is a bit messy, but it's easy to understand with the right point-of-view:
1. lemmas which require linear orders are grouped into their own sections below the corresponding sections for partially ordered fields
2. proofs are refactored with the weaker hypotheses
3. a few lemmas near the top didn't actually need `IsStrictOrderedRing`, so those are grouped at the top.
4. The only new declarations added are `inv_lt_zero'` and `inv_nonpos'`, no others were deleted or changed (aside from weakening type class assumptions).
5. The positivity extension at the bottom of the file has its type class requirements weakened so that it applies in more contexts.
Co-authored-by: Jireh Loreaux
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
180/131 |
Mathlib/Algebra/Order/Field/Basic.lean |
1 |
6 |
['github-actions', 'j-loreaux', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
14-24252 14 days ago |
14-21395 14 days ago |
31-12342 31 days |
| 30144 |
alreadydone author:alreadydone |
feat(Data/Nat): kernel reducible binaryRec |
+ Redefine `Nat.binaryRec` to allow kernel reduction.
+ Move some lemmas from Data/Nat/Bitwise to Data/Nat/BinaryRec.
+ Use `nsmulBinRec` for nsmul/zsmul on elliptic curves.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-data
label:t-algebra$ |
119/60 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/Nat/Size.lean |
9 |
12 |
['alreadydone', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
pechersky assignee:pechersky |
14-9760 14 days ago |
14-6926 14 days ago |
48-65094 48 days |
| 33458 |
NoneMore author:NoneMore |
feat(ModelTheory): add lifting for embeddings to languages with constants |
Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
46/0 |
Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean |
2 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
14-7319 14 days ago |
17-64371 17 days ago |
17-63337 17 days |
| 33487 |
gasparattila author:gasparattila |
feat(Topology/UniformSpace): `SetRel.{inv,image,preimage}` of `entourageProd` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
15/0 |
Mathlib/Topology/UniformSpace/Basic.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
14-7314 14 days ago |
17-38045 17 days ago |
17-37011 17 days |
| 33494 |
vihdzp author:vihdzp |
feat(RingTheory/HahnSeries/Basic): more theorems on `order`/`orderTop` |
We also deprecate various badly named or overspecific theorems relating to `ofSuppBddBelow`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
64/32 |
Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean |
3 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
14-7313 14 days ago |
14-62775 14 days ago |
14-61741 14 days |
| 31560 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Topology/Sion): the minimax theorem of von Neumann - Sion |
Prove `Sion.exists_isSaddlePointOn` :
Let X and Y be convex subsets of topological vector spaces E and F,
X being moreover compact,
and let f : X × Y → ℝ be a function such that
- for all x, f(x, ⬝) is upper semicontinuous and quasiconcave
- for all y, f(⬝, y) is lower semicontinuous and quasiconvex
Then inf_x sup_y f(x,y) = sup_y inf_x f(x,y).
The classical case of the theorem assumes that f is continuous,
f(x, ⬝) is concave, f(⬝, y) is convex.
As a particular case, one get the von Neumann theorem where
f is bilinear and E, F are finite dimensional.
We follow the proof of Komiya (1988).
## Remark on implementation
* The essential part of the proof holds for a function
`f : X → Y → β`, where `β` is a complete dense linear order.
* We have written part of it for just a dense linear order,
* On the other hand, if the theorem holds for such `β`,
it must hold for any linear order, for the reason that
any linear order embeds into a complete dense linear order.
However, this result does not seem to be known to Mathlib.
* When `β` is `ℝ`, one can use `Real.toEReal` and one gets a proof for `ℝ`.
## TODO
Give particular important cases (eg, bilinear maps in finite dimension).
Co-authored with @ADedecker
---
- [x] depends on: #31548
- [x] depends on: #31547
- [x] depends on: #31558
[](https://gitpod.io/from-referrer/)
|
t-topology |
741/0 |
Mathlib.lean,Mathlib/Data/EReal/Basic.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean,docs/references.bib |
5 |
8 |
['AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] |
dwrensha and kmill assignee:kmill assignee:dwrensha |
13-34065 13 days ago |
32-10165 32 days ago |
40-5032 40 days |
| 33286 |
euprunin author:euprunin |
chore: golf using `grind` |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `Finset.memberSubfamily_union_nonMemberSubfamily`: 11 ms before, 116 ms after
* `AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_nonneg_or_nonpos`: 1181 ms before, 1194 ms after
* `Equiv.Perm.support_congr`: <10 ms before, 38 ms after
* `Equiv.Perm.subtypeCongr.trans`: 13 ms before, 35 ms after
* `preCantorSet_antitone`: 766 ms before, 371 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
6/28 |
Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Instances/CantorSet.lean |
4 |
5 |
['euprunin', 'github-actions', 'vihdzp'] |
thorimur assignee:thorimur |
13-28983 13 days ago |
13-25547 13 days ago |
24-79388 24 days |
| 33192 |
linesthatinterlace author:linesthatinterlace |
refactor(Data/List/Induction): improve definition of `reverseRecOn` |
This PR improves the definition of `List.reverseRecOn`.
---
This improved approach aims to give identical behavior but give a somewhat nicer proof of `List.reverseRecOn_concat`. I do not believe it is a regression in terms of performance.
The approach is inspired by `biDirectionalRec`, for which I have also tweaked the definitions and proofs, albeit in a much more minor way.
[](https://gitpod.io/from-referrer/)
|
t-data |
32/27 |
Mathlib/Data/List/Induction.lean |
1 |
6 |
['github-actions', 'linesthatinterlace', 'vihdzp'] |
pechersky assignee:pechersky |
12-41510 12 days ago |
12-40600 12 days ago |
28-38579 28 days |
| 28708 |
sjh227 author:sjh227 |
feat(LinearAlgebra): define row- and column-stochastic matrices |
This PR defines row- and column-stochastic matrices, and relates them to doubly stochastic matrices (which are already in mathlib).
---
|
t-data
new-contributor
|
255/6 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean |
4 |
29 |
['dupuisf', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'sjh227'] |
pechersky assignee:pechersky |
12-7330 12 days ago |
15-19581 15 days ago |
15-30052 15 days |
| 32617 |
erdOne author:erdOne |
feat(RingTheory): field extension over perfect fields are smooth |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
150/18 |
Mathlib.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/EssentialFiniteness.lean,Mathlib/RingTheory/Smooth/Field.lean |
7 |
6 |
['chrisflav', 'erdOne', 'github-actions', 'robin-carlier'] |
chrisflav assignee:chrisflav |
12-1466 12 days ago |
11-86346 11 days ago |
22-32391 22 days |
| 27599 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define `CompleteEquipartiteSubgraph` |
Define the complete equipartite subgraphs in `r` parts each of size `t` in `G` as the `r` subsets of vertices each of size `t` such that vertices in distinct subsets are adjacent.
In this case `Nonempty (G.CompleteEquipartiteSubgraph r t)` is equivalent to `completeEquipartiteGraph r t ⊑ G`, that is, finding `r` subsets of vertices each of size `t` in `G` such that vertices in distinct subsets are adjacent is equivalent to finding an injective homomorphism from `completeEquipartiteGraph r t` to `G`.
---
- [x] depends on: #27597
- [x] depends on: #30287
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
173/7 |
Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean |
1 |
34 |
['YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] |
YaelDillies assignee:YaelDillies |
11-58295 11 days ago |
11-57422 11 days ago |
83-24701 83 days |
| 33449 |
yuanyi-350 author:yuanyi-350 |
feat(ProbabilityTheory): Add Poisson limit theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
145/2 |
Mathlib.lean,Mathlib/Probability/Distributions/Poisson.lean,Mathlib/Probability/Distributions/PoissonLimitThm.lean,docs/1000.yaml |
4 |
4 |
['github-actions', 'vihdzp'] |
EtienneC30 assignee:EtienneC30 |
11-50299 11 days ago |
11-49205 11 days ago |
18-65240 18 days |
| 33359 |
sun123zxy author:sun123zxy |
feat(Algebra/Module/SpanRank): add comparing lemmas for span rank |
---
Split from PR #33247
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
55/6 |
Mathlib/Algebra/Module/SpanRank.lean |
1 |
9 |
['erdOne', 'eric-wieser', 'github-actions', 'sun123zxy'] |
eric-wieser assignee:eric-wieser |
11-34589 11 days ago |
11-34589 11 days ago |
17-30340 17 days |
| 32672 |
tb65536 author:tb65536 |
feat: haar measures on short exact sequences |
This PR defines the notion of a short exact sequence of topological groups, and proves that if `1 → A → B → C → 1` is a short exact sequence of topological groups, then Haar measures on `A` and `C` induce a Haar measure on `B`.
The final result of the file is a consequence needed for FLT: If `B → C` is injective on an open set `U`, then `U` has bounded measure.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
t-topology
FLT
|
374/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/Extension.lean,Mathlib/Topology/Algebra/Group/Extension.lean |
3 |
6 |
['RemyDegenne', 'github-actions', 'kbuzzard', 'tb65536'] |
urkud assignee:urkud |
11-22559 11 days ago |
11-21598 11 days ago |
39-64555 39 days |
| 33749 |
plp127 author:plp127 |
feat: `NNRat` is countable |
We provide an `Encodable NNRat` instance. As a consequence we also get the instance `Countable NNRat`.
See also [Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/NNRat.20not.20countable.3F/near/566916284)
---
[](https://gitpod.io/from-referrer/)
|
t-data
large-import
|
13/0 |
Mathlib/Data/Rat/Encodable.lean |
1 |
4 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-radar'] |
nobody |
11-18596 11 days ago |
11-15784 11 days ago |
11-50765 11 days |
| 25841 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Kővári–Sós–Turán theorem |
Prove the Kővári–Sós–Turán theorem (an upper bound on the Zarankiewicz function)
---
- [x] depends on: #19865
- [x] depends on: #20738
- [x] depends on: #27602
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #20240.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/20240* |
t-combinatorics |
484/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/KovariSosTuran.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,docs/1000.yaml |
6 |
11 |
['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] |
kmill assignee:kmill |
11-7324 11 days ago |
14-72633 14 days ago |
26-69963 26 days |
| 33214 |
JJYYY-JJY author:JJYYY-JJY |
chore(Data/List/Rotate): add simp attributes |
* Refs #7987 (SC: Data/List/Rotate)
* Add `@[simp]` to: `rotate_mod`, `rotate'_nil`, `rotate'_rotate'`, `rotate'_mod`, `rotate_rotate`, `getElem?_rotate`, `getElem_rotate`, `head?_rotate`, `map_rotate`.
* Verification: `lake build Mathlib.Data.List.Rotate`. |
t-data
new-contributor
|
7/0 |
Mathlib/Data/List/Rotate.lean |
1 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
11-7320 11 days ago |
27-72410 27 days ago |
27-71376 27 days |
| 28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`.
Summary of additions:
- **Full shift and shift action**
- `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type).
- Right shift `shift g x` with convention `(shift g x) h = x (h * g)`.
- **Cylinders and topology**
- `cylinder U x : Set (G → A)` for finite `U : Finset G`.
- Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed.
- Equality with dependent products:
`cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API.
- **Patterns, occurrences, and subshifts**
- `Pattern A G` with finite `support : Finset G` and `data : support → A`.
- `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law.
- `forbids F` and `Subshift A G` (closed, shift-invariant subsets).
- `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness.
- **Language on finite shapes and counting**
- `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`.
- **Entropy along a shape sequence**
- `limsupAtTop` (as an `sInf` of eventual upper bounds).
- `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)`
for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`).
- **Specializations**
- `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`.
- `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`.
Mathematical remarks:
- The API is **shape-parametric**: entropy is defined along user-provided finite shapes.
- On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss).
This PR does not assume amenability; the family of shapes is an explicit input.
Motivation:
Provide a clean, reusable base for symbolic dynamics on groups in mathlib.
Future work:
- Add a Følner predicate and prove shape-independence / limit existence on amenable groups.
- Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors).
- Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch).
|
t-dynamics
new-contributor
|
757/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
3 |
157 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
11-883 11 days ago |
10-83785 10 days ago |
86-20419 86 days |
| 32744 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas |
This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas.
The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable.
There are also some tool lemmas derived by the preimage lemma.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
147/0 |
Mathlib/ModelTheory/Definability.lean |
1 |
59 |
['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
10-72965 10 days ago |
10-71444 10 days ago |
38-13042 38 days |
| 33551 |
metakunt author:metakunt |
feat(Data/Nat/Factorization/PrimePow): Add Nat.nontrivial_primeFactors_of_two_le_of_not_isPrimePow |
|
t-data |
6/0 |
Mathlib/Data/Nat/Factorization/PrimePow.lean |
1 |
4 |
['Ruben-VandeVelde', 'github-actions', 'metakunt'] |
nobody |
10-37686 10 days ago |
10-37518 10 days ago |
14-53534 14 days |
| 32856 |
stepan2698-cpu author:stepan2698-cpu |
feat: definition of an irreducible representation |
Define irreducible monoid representations over a field and prove that a monoid representation is irreducible iff the corresponding module over the monoid algebra is simple. |
t-algebra
new-contributor
label:t-algebra$ |
129/10 |
Mathlib.lean,Mathlib/RepresentationTheory/Irreducible.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
3 |
23 |
['Whysoserioushah', 'erdOne', 'github-actions', 'stepan2698-cpu'] |
kim-em assignee:kim-em |
10-27852 10 days ago |
10-27004 10 days ago |
35-24312 35 days |
| 30640 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Acyclic): acyclic and bridge theorems |
---
- [x] depends on: #30542
- [x] depends on: #30570
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
76/82 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
7 |
['SnirBroshi', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
10-22430 10 days ago |
10-18664 10 days ago |
40-74747 40 days |
| 33657 |
vihdzp author:vihdzp |
chore(SetTheory/Cardinal/Arithmetic): switch `lift.{max u w} x = lift.{max v w} y` to `lift.{u} x = lift.{v} y` |
---
Lean can't often infer the extra `w` universe otherwise. Oh, if only we had some sort of `liftEq` predicate so we didn't have to bother with `lift` at all.
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
13/13 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
2 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
10-7323 10 days ago |
13-68908 13 days ago |
13-67874 13 days |
| 33662 |
Pjotr5 author:Pjotr5 |
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants |
### Summary
- Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`.
The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`).
This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`).
- Add strict-inequality variants:
`expect_lt_expect`, `expect_lt`, `lt_expect`.
- Add existence lemmas:
`exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`,
and `exists_lt_of_expect_lt_expect`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
46/16 |
Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean |
2 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
10-7322 10 days ago |
13-59757 13 days ago |
13-59643 13 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
|
14/5 |
Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
1 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
10-7321 10 days ago |
13-11627 13 days ago |
13-42271 13 days |
| 33672 |
euprunin author:euprunin |
chore: golf using `grind`. add `grind` annotations. |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `Orientation.nonneg_inner_and_areaForm_eq_zero_iff_sameRay`: 287 ms before, 336 ms after
* `PFunctor.liftr_iff`: 49 ms before, 93 ms after
* `IsAdjoinRootMonic.coeff_root_pow`: 119 ms before, 267 ms after
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
9/33 |
Mathlib/Analysis/InnerProductSpace/TwoDim.lean,Mathlib/Data/PFunctor/Univariate/Basic.lean,Mathlib/RingTheory/IsAdjoinRoot.lean |
3 |
3 |
['euprunin', 'github-actions', 'leanprover-radar'] |
dwrensha assignee:dwrensha |
10-7320 10 days ago |
13-32819 13 days ago |
13-31785 13 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
|
21/0 |
Mathlib/Probability/Distributions/Poisson.lean |
1 |
2 |
['Citronhat', 'github-actions'] |
urkud assignee:urkud |
10-7318 10 days ago |
12-17632 12 days ago |
13-12087 13 days |
| 26614 |
Rida-Hamadani author:Rida-Hamadani |
feat(SimpleGraph): add more API for `take`/`drop` |
The main lemma proves that taking `n` vertices of a walk results in a sub-walk of taking `k` vertices when `n` is less than or equal to `k`, alongside a similar lemma for dropping vertices.
---
- [x] depends on: #26655
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
58/0 |
Mathlib/Combinatorics/SimpleGraph/Walks/Operations.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Subwalks.lean |
2 |
20 |
['Rida-Hamadani', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
9-7309 9 days ago |
28-1284 28 days ago |
32-80490 32 days |
| 33611 |
urkud author:urkud |
feat(ImplicitFunction): add a parametric version |
---
I'm not sure if the supporting linear algebra lemmas are in the form we want to see them in Mathlib.
- [x] depends on: #33585
[](https://gitpod.io/from-referrer/)
|
t-analysis |
191/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Parametric.lean,Mathlib/LinearAlgebra/Prod.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
9-7304 9 days ago |
12-73099 12 days ago |
14-21631 14 days |
| 33649 |
vihdzp author:vihdzp |
feat(Analysis/Real/Hyperreal): more lemmas on `ω` and `ε` |
I've moved these around a bit, so as to ensure the lemmas about each constant are next to each other.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
label:t-algebra$ |
116/30 |
Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Ring/Archimedean.lean,Mathlib/Algebra/Order/Ring/StandardPart.lean,Mathlib/Analysis/Real/Hyperreal.lean |
4 |
6 |
['github-actions', 'vihdzp', 'wwylele'] |
kim-em assignee:kim-em |
9-7302 9 days ago |
13-76348 13 days ago |
13-75314 13 days |
| 33665 |
JovanGerb author:JovanGerb |
fix(addRelatedDecl): support imported theorems in module |
This PR lets `elementwise`, `to_fun`, etc. work on theorems that are imported (and the body of the theorem is not available). These kinds of declarations have the axiom constant info, which was not supported before. As a bonus, I've also made it support unsafe theorems.
I've removed the support for the auxiliary declaration being a `def`, because this is never used, and it wasn't clear to me what the expected behaviour there is exactly (e.g. should it be `reducible`?).
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
3/18 |
Mathlib/CategoryTheory/ConcreteCategory/Elementwise.lean,Mathlib/CategoryTheory/Elementwise.lean,Mathlib/Util/AddRelatedDecl.lean |
3 |
2 |
['adamtopaz', 'github-actions'] |
adamtopaz assignee:adamtopaz |
9-6758 9 days ago |
13-45076 13 days ago |
13-44042 13 days |
| 33025 |
JovanGerb author:JovanGerb |
feat(gcongr): beef up `@[gcongr]` tag to accept `↔` & any argument order |
This PR modifies the `@[gcongr]` tag to accept lemmas in more forms.
- Iff lemmas are now accepted, and are turned into an auxiliary lemmas that is simply one of the two implications.
- Implicational gcongr lemmas now don't need to have their arguments given in the "correct" order. An auxiliary lemma is generated if necessary.
The auxiliary lemma generation is done analogously to `simp` which creates little lemmas `Foo._simp_1`.,
I also went throught all lemmas that have `GCongr.` in the name, and removed all but one of them (the remaining one is `GCongr.mem_of_le_of_mem`)
A future PR may introduce the `gcongr at` tactic, which does `gcongr` but at hypotheses. This would be using the reverse direction of the iff lemmas tagged with `gcongr`. For this reason it is preferred to tag the iff lemma if possible.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
208/278 |
Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Analysis/SpecialFunctions/Arsinh.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Range.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Int/Basic.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Set/Insert.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/Interval/Set/Basic.lean,Mathlib/Order/Nucleus.lean,Mathlib/Order/Sublocale.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/SetTheory/ZFC/VonNeumann.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Translate/Core.lean,MathlibTest/GCongr/GCongr.lean |
30 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
8-84660 8 days ago |
8-79666 8 days ago |
31-78513 31 days |
| 33417 |
themathqueen author:themathqueen |
feat: `{Continuous}Linear{Isometry}Equiv.conj{Continuous, Star}AlgEquiv` are "almost" injective |
... "almost" meaning that they are colinear. I.e., `f.conj{Continuous, Star}AlgEquiv S = g.conj{Continuous, Star}AlgEquiv S` iff `f = α • g` for some (unitary) `α`.
Also, the same for `Unitary.conjStarAlgAut`. All in one PR since they all have analogous proofs.
---
- [x] depends on: #33301
[](https://gitpod.io/from-referrer/)
|
t-analysis
t-algebra
label:t-algebra$ |
243/4 |
Mathlib/Algebra/Central/End.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Star/UnitaryStarAlgAut.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Topology/Algebra/Module/Equiv.lean |
6 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
joelriou assignee:joelriou |
8-62059 8 days ago |
15-37843 15 days ago |
17-10369 17 days |
| 32144 |
EtienneC30 author:EtienneC30 |
feat: add a predicate HasGaussianLaw |
Define a predicate `HasGaussianLaw X P`, which states that under the measure `P`, the random variable `X` has a Gaussian distribution, i.e. `IsGaussian (P.map X)`.
---
- [x] depends on: #32280
- [x] depends on: #32719
[](https://gitpod.io/from-referrer/)
|
brownian
t-measure-probability
|
279/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Def.lean |
3 |
7 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kex-y assignee:kex-y |
8-47736 8 days ago |
8-47138 8 days ago |
42-49622 42 days |
| 33254 |
SnirBroshi author:SnirBroshi |
feat(Data/Nat/Lattice): `¬BddAbove s → sSup s = 0` |
---
Note that it can also be proven `by simp [h]` after the `ConditionallyCompleteLinearOrderBot` instance below it.
The theorem name matches the same theorems for other types: `Int.csSup_of_not_bdd_above`, `Real.sSup_of_not_bddAbove`, `NNReal.sSup_of_not_bddAbove`.
Also renamed related `Int` theorems to conform to the naming conventions.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60.C2.ACBddAbove.20s.20.E2.86.92.20sSup.20s.20.3D.200.60/with/565275221)
[](https://gitpod.io/from-referrer/)
|
t-data |
15/4 |
Mathlib/Data/Int/ConditionallyCompleteOrder.lean,Mathlib/Data/Nat/Lattice.lean |
2 |
3 |
['SnirBroshi', 'artie2000', 'github-actions', 'vihdzp'] |
nobody |
8-29780 8 days ago |
26-26126 26 days ago |
26-44708 26 days |
| 32971 |
Paul-Lez author:Paul-Lez |
feat(Data/Finsupp/Pointwise): generalise pointwise scalar multiplication of finsupps |
This PR continues the work from #24050.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24050 |
t-data |
7/4 |
Mathlib/Data/Finsupp/Pointwise.lean |
1 |
3 |
['Paul-Lez', 'artie2000', 'github-actions'] |
pechersky assignee:pechersky |
8-28741 8 days ago |
34-35102 34 days ago |
34-34068 34 days |
| 32888 |
staroperator author:staroperator |
feat(Tactic/FunProp): make `fun_prop` able to tag `→` and `∀` |
by representing forall as a function application internally. Also tag `Measurable.imp` and `Measurable.forall` which were rejected by `fun_prop`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
34/1 |
Mathlib/Lean/Expr/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/Tactic/FunProp/Mor.lean,MathlibTest/fun_prop.lean |
4 |
12 |
['JovanGerb', 'Komyyy', 'github-actions', 'staroperator'] |
eric-wieser assignee:eric-wieser |
8-21703 8 days ago |
8-22434 8 days ago |
16-49775 16 days |
| 33714 |
idontgetoutmuch author:idontgetoutmuch |
Riemannian metrics exist II |
Supersedes https://github.com/leanprover-community/mathlib4/pull/33519
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
1269/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetricTangentSpace.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
3 |
3 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
PatrickMassot assignee:PatrickMassot |
8-7319 8 days ago |
11-61660 11 days ago |
11-60626 11 days |
| 33753 |
SnO2WMaN author:SnO2WMaN |
doc(1000.yaml): Mention Tarski's Undefinability Theorem in FFL |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
3/0 |
docs/1000.yaml |
1 |
3 |
['SnO2WMaN', 'SnirBroshi', 'github-actions'] |
mariainesdff assignee:mariainesdff |
8-7314 8 days ago |
9-60876 9 days ago |
11-50324 11 days |
| 33774 |
SnO2WMaN author:SnO2WMaN |
doc(100.yaml, 1000.yaml): Update about Gödel's Incompleteness Theorem |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
4/4 |
docs/100.yaml,docs/1000.yaml |
2 |
2 |
['github-actions'] |
thorimur assignee:thorimur |
8-7308 8 days ago |
9-61094 9 days ago |
9-60060 9 days |
| 33697 |
artie2000 author:artie2000 |
feat(FieldTheory): real closed field |
* Define real closed fields
* Prove some very basic properties
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
117/0 |
Mathlib.lean,Mathlib/FieldTheory/IsRealClosed/Basic.lean |
2 |
40 |
['artie2000', 'github-actions', 'vihdzp'] |
dagurtomas assignee:dagurtomas |
7-86053 7 days ago |
8-27469 8 days ago |
12-54882 12 days |
| 33866 |
robin-carlier author:robin-carlier |
fix(AlgebraicTopology/SimplicialNerve): make `SimplicialThickening` a one field structure |
When debugging #33822, a build failure occured in `AlgebraicTopology/SimplicialNerve`, which was due to a bad
instance: linear orders have an automatic `Category` instance. Thus, recording a `LinearOrder` instance on `SimplicialThickening J` (a type alias for `J` when `J` is a linear order) would conflict with the second `Category` instance put later on that type (where the homs are the type of paths).
This is fixed by making `SimplicialThickening J` a one-field structure.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
t-category-theory
|
12/13 |
Mathlib/AlgebraicTopology/SimplicialNerve.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
7-34817 7 days ago |
7-30069 7 days ago |
7-29035 7 days |
| 33613 |
DavidLedvinka author:DavidLedvinka |
feat(Probability): `UniformOn_univ_instIsProbabilityMeasure` |
It is convenient to have an instance of `IsProbabilityMeasure` on a uniform distribution on `.univ` (to avoid the need for `haveI` statements). There is perhaps an argument for `abbrev uniform := uniformOn (.univ : Set Ω)` but I have not implemented this in this PR. |
t-measure-probability |
11/0 |
Mathlib/Probability/UniformOn.lean |
1 |
5 |
['DavidLedvinka', 'Ruben-VandeVelde', 'github-actions'] |
kex-y assignee:kex-y |
7-7331 7 days ago |
10-47407 10 days ago |
12-44493 12 days |
| 33736 |
fbarroero author:fbarroero |
feat(RingTheory/Polynomial/GaussNorm): The `gaussNorm` is an absolute value if `v` is a nonarchimedean absolute value |
We prove
```
Polynomial.gaussNorm_isAbsoluteValue {c : ℝ} {R : Type*} [Ring R] {v : AbsoluteValue R ℝ}
(hna : IsNonarchimedean v) (hc : 0 < c) : IsAbsoluteValue (gaussNorm v c)
```
---
[](https://gitpod.io/from-referrer/)
|
|
194/7 |
Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Order/Ring/IsNonarchimedean.lean,Mathlib/RingTheory/Polynomial/GaussNorm.lean |
3 |
4 |
['copilot-pull-request-reviewer', 'github-actions'] |
ADedecker assignee:ADedecker |
7-7329 7 days ago |
10-36832 10 days ago |
10-35798 10 days |
| 33784 |
tb65536 author:tb65536 |
refactor(Topology/Irreducible): weaken assumptions of `preimage_mem_irreducibleComponents_of_isPreirreducible_fiber` |
This PR weakens the surjectivity assumption of `preimage_mem_irreducibleComponents_of_isPreirreducible_fiber` to `(t ∩ Set.range f).Nonempty`. I also took the liberty of systematizing the file slightly, so that now there are 6 lemmas: preimage of (preirreducible / irreducible / irreducible component) assuming (preirreducible fibers / open embedding).
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
36/26 |
Mathlib/Topology/Irreducible.lean |
1 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
7-7324 7 days ago |
11-3819 11 days ago |
11-2785 11 days |
| 33786 |
hdmkindom author:hdmkindom |
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions |
This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n ℝ → Matrix p q ℝ`.
The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances.
mkdir Analysis/Matrix/Jacobian.lean
## Main definitions
- `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k`
## Main theorems
- `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian
- `jacobianMatrix_comp`: Chain rule for Jacobian matrices
- `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties
- `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties
|
t-analysis
new-contributor
|
219/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean |
2 |
1 |
['github-actions'] |
ADedecker assignee:ADedecker |
7-7322 7 days ago |
10-41997 10 days ago |
10-71701 10 days |
| 33795 |
alreadydone author:alreadydone |
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
417/145 |
Mathlib/AlgebraicGeometry/Modules/Tilde.lean,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 |
7 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
7-7320 7 days ago |
10-29385 10 days ago |
10-28351 10 days |
| 27936 |
alreadydone author:alreadydone |
feat(Algebra): additivize Dvd and Prime |
`Prime` can't be directly additivized, so we introduce `Preprime`, which drops the `≠ 0` condition, and additivize it to `AddPrime`. To show that `Preprime` is a reasonable definition, we show its connection to `Irreducible` under `IsPrimal` and `IsRegular` conditions. We also show that an element in a product monoid is preprime iff one component is a unit and the other is preprime, and the same with `Preprime` replaced by `Irreducible`.
Also additivize `IsPrimal`, `IsRelPrime` and `DecompositionMonoid`.
The motivation is that the primality of `single g 1` in `AddMonoidAlgebra k G` is connected to the primality of `g` in `G`.
---
I've checked [all 29 files](https://github.com/search?q=repo%3Aleanprover-community%2Fmathlib4%20%E2%88%A3%20to_additive&type=code) containing the `∣` symbol and the `to_additive` attribute and fixed the wrongly translated (`dvd` to `addDvd`) names.
TODO: connect (Add)Dvd to [ExistsMul/AddOfLE](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.html#ExistsMulOfLE)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
398/185 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
30 |
13 |
['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
6-52363 6 days ago |
6-48650 6 days ago |
104-24871 104 days |
| 33911 |
YaelDillies author:YaelDillies |
feat(Data/Set/Finite): make simp more powerful |
From ProofBench
---
[](https://gitpod.io/from-referrer/)
|
t-data |
13/9 |
Archive/Examples/Kuratowski.lean,Mathlib/Data/Finite/Defs.lean,Mathlib/Data/Set/Finite/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
6-45094 6 days ago |
6-39255 6 days ago |
6-38221 6 days |
| 33028 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): minimal and maximal cone tensor products are commutative |
Prove that the minimal and maximal cone tensor products are commutative.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
62/0 |
Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean |
2 |
13 |
['artie2000', 'bjornsolheim', 'github-actions'] |
nobody |
6-43768 6 days ago |
6-36484 6 days ago |
31-85593 31 days |
| 33491 |
themathqueen author:themathqueen |
feat(Analysis/InnerProductSpace): linear map is positive iff it equals the sum of rank-one operators |
... and equality of nonzero rank-one operators means the elements are colinear.
---
- [x] depends on: #33439
[](https://gitpod.io/from-referrer/)
|
t-analysis |
59/1 |
Mathlib/Analysis/InnerProductSpace/LinearMap.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean |
3 |
9 |
['github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
urkud assignee:urkud |
6-17251 6 days ago |
6-5572 6 days ago |
13-7436 13 days |
| 33118 |
thomaskwaring author:thomaskwaring |
feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest. |
We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree.
---
Each of these results (spanning forest & spanning tree) are proved in two versions: a general case where the forest / tree is found by extending a given acyclic subgraph, and the special case where that subgraph is empty.
- [ ] depends on: #32043 |
new-contributor
t-combinatorics
|
29/5 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thomaskwaring', 'vlad902'] |
b-mehta assignee:b-mehta |
6-7303 6 days ago |
16-4006 16 days ago |
16-75547 16 days |
| 33253 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Clique): avoid `Fintype`/`Finite` assumptions where possible |
Also prove `G.cliqueNum ≤ G.chromaticNumber` without any finiteness assumptions.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
39/40 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Coloring.lean |
2 |
1 |
['github-actions'] |
kmill assignee:kmill |
6-7302 6 days ago |
26-51176 26 days ago |
26-50142 26 days |
| 33288 |
vihdzp author:vihdzp |
chore(Combinatorics/SimpleGraph/Paths): review API |
This PR does the following:
- Add `grind` annotations.
- Rename theorems `X_isY` to the more idiomatic `isY_X`.
- Remove many redundant namespaces.
- Golf accordingly.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
154/122 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Metric.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walks/Maps.lean |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
6-7301 6 days ago |
12-13851 12 days ago |
15-38508 15 days |
| 33292 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/LineGraph): lift copies/isomorphisms to line-graph |
---
Non-injective homomorphisms (`G →g G'`) cannot be lifted to a homomorphism on line-graphs (`G.lineGraph →g G'.lineGraph`) because e.g. `∀ k > 1` there is a homomorphism from `pathGraph k` to `G'` iff `G'` has an edge, and `∀ n > 0, (pathGraph (n + 1)).lineGraph ≃ pathGraph n`, but there is no homomorphism from `pathGraph k` to `pathGraph 1` because it has no edges.
So for `G := pathGraph 3` and `G' := pathGraph 2` there is a `G →g G'` but no `G.lineGraph →g G'.lineGraph`.
But we can lift `Copy`/`Embedding`/`Iso`.
[](https://gitpod.io/from-referrer/)
|
large-import
t-combinatorics
|
47/4 |
Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Data/Sym/Sym2.lean |
2 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
6-7300 6 days ago |
23-73937 23 days ago |
25-8405 25 days |
| 33335 |
YaelDillies author:YaelDillies |
feat(Combinatorics/SimpleGraph): more about two-reachability |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
51/51 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/DeleteEdges.lean |
3 |
3 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
kmill assignee:kmill |
6-7299 6 days ago |
20-62926 20 days ago |
20-61892 20 days |
| 33347 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Basic): define dilatransvections |
Define `LinearEquiv.dilatransvections`.
These are linear equivalences whose associated linear map is a transvection.
This definition has the interest of being usable without any assumption on the base ring.
Over a division ring, they correspond exactly to those linear equivalences `e` such that `e - LinearMap.id` has rank at most one.
They (will) appear in Dieudonné's theorem that describes the generation of elements of the general linear group as products of several transvections and one additional dilatransvection.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
204/32 |
Mathlib/LinearAlgebra/Transvection.lean |
1 |
15 |
['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
riccardobrasca assignee:riccardobrasca |
6-7298 6 days ago |
9-48483 9 days ago |
20-43938 20 days |
| 33431 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simplegraphs 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
|
185/1 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
3 |
['NickAdfor', 'github-actions'] |
kmill assignee:kmill |
6-7297 6 days ago |
15-49445 15 days ago |
15-48411 15 days |
| 33527 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): `w.toSubgraph ≤ G' ↔ w.edgeSet ⊆ G'.edgeSet` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
9/1 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
1 |
4 |
['Rida-Hamadani', 'SnirBroshi', 'github-actions'] |
kmill assignee:kmill |
6-7296 6 days ago |
16-23026 16 days ago |
16-21992 16 days |
| 33825 |
euprunin author:euprunin |
chore: golf using `grind` |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `Finset.prod_insert_of_eq_one_if_notMem`: <10 ms before, 23 ms after
* `Finset.sym2_mono`: <10 ms before, 64 ms after
* `Finsupp.support_onFinset_subset`: <10 ms before, 14 ms after
* `Disjoint.ne_top_of_ne_bot`: <10 ms before, <10 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
4/10 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Data/Finset/Sym.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Order/Disjoint.lean |
4 |
1 |
['github-actions'] |
JovanGerb assignee:JovanGerb |
6-7290 6 days ago |
9-18594 9 days ago |
9-17560 9 days |
| 32891 |
felixpernegger author:felixpernegger |
feat(Topology/EMetricSpace): Introduction of ```Weak(Pseudo)EMetricSpace``` |
This PR introduces Weak(Pseudo)EMetric spaces, some basic properties and the fact that the One-Point Compactification of a Weak(Pseudo)EMetricSpace again has a Weak(Pseudo)EMetricSpace structure.
This is inspired by discussion at [this](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/EMetricSpace.20is.20broken/near/530540916) and based on #27756.
In short, types like ```ENNReal``` and ```ENat``` have a very "metric-like" structure, but are not yet a ```WeakPseudoEMetricSpace``` (which is the weakest form of a metric-like structure in mathlib). Therefore, the class```WeakEMetricSpace``` could be used to make more definitions applicable to ```ENNReal```, for instance EVartiationOn ([this](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/EMetricSpace/BoundedVariation.html#eVariationOn)).
As of now, this PR is still missing important properties like products and induced (and therefore subtypes) of ```Weak(Pseudo)EMetricSpace```'s and instances ```ENNReal``` and ```ENat``` (which should be rather easy however with the one-point compactification property). |
new-contributor
t-topology
|
470/10 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/EMetricSpace/Weak.lean |
3 |
4 |
['felixpernegger', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
j-loreaux assignee:j-loreaux |
5-65944 5 days ago |
9-32204 9 days ago |
11-75650 11 days |
| 33606 |
ScottCarnahan author:ScottCarnahan |
feat(Algebra/Lie): basics of loop algebras |
This PR introduces the Lie algebra of polynomial loops in a base Lie algebra, together with the 2-cocycle induced by a symmetric invariant bilinear form on the base Lie algebra.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
201/1 |
Mathlib.lean,Mathlib/Algebra/Lie/BaseChange.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/Loop.lean |
4 |
1 |
['github-actions'] |
ocfnash assignee:ocfnash |
5-60432 5 days ago |
7-12851 7 days ago |
11-27717 11 days |
| 32692 |
WilliamCoram author:WilliamCoram |
feat: define multivariate restricted power series |
We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property.
This work generalises my previous work in #26089 which will need to be refactored.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-number-theory
new-contributor
|
168/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean |
2 |
15 |
['WilliamCoram', 'erdOne', 'github-actions'] |
nobody |
5-51279 5 days ago |
5-50392 5 days ago |
6-70934 6 days |
| 30112 |
gaetanserre author:gaetanserre |
feat(Probability.Kernel): add representation of kernel as a map of a uniform measure |
Add results about isolation of kernels randomness. In particular, it shows that one
can write a Markov kernel as the map by a deterministic of a uniform measure on `[0, 1]`.
It corresponds to Lemma 4.22 in "[Foundations of Modern Probability](https://link.springer.com/book/10.1007/978-3-030-61871-1)" by Olav Kallenberg, 2021.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
189/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Probability/Kernel/Representation.lean |
3 |
10 |
['DavidLedvinka', 'RemyDegenne', 'gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot'] |
RemyDegenne assignee:RemyDegenne |
5-46813 5 days ago |
5-45102 5 days ago |
42-38461 42 days |
| 33907 |
dupuisf author:dupuisf |
feat(Asymptotics): Show that `f =O[atTop] g` from a recurrence relation |
This PR introduces two lemmas that are useful to show that `f =O[atTop] g` recursively using a recurrence relation, i.e. by proving that `f n ≤ C * g n` assuming that we know this for smaller values of `n`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
46/0 |
Mathlib/Analysis/Asymptotics/Lemmas.lean |
1 |
7 |
['ADedecker', 'dupuisf', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
5-42887 5 days ago |
5-42887 5 days ago |
6-9406 6 days |
| 32355 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): define and characterize simplicial pointed cones |
Define simplicial pointed cones.
Prove lemmas about simplicial (and generating simplicial) cones
# Notes
* I have tried alternative implementations (finite, finset, structure) If one can live with the extensional quantifier the finset seems better.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
new-contributor
|
116/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/Cone/Simplicial.lean |
3 |
37 |
['artie2000', 'bjornsolheim', 'github-actions'] |
nobody |
5-38840 5 days ago |
5-38845 5 days ago |
41-43107 41 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Tiling/TileSet.lean |
2 |
4 |
['github-actions', 'jsm28', 'vihdzp'] |
nobody |
5-29957 5 days ago |
6-13640 6 days ago |
6-12606 6 days |
| 33282 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Center): description of the center of the algebra of endomorphisms |
Describe the center of the algebra of endomorphisms: under suitable assumptions (eg, over a field),
they correspond to
- endomorphisms that commute with elementary transvections
- endomorphisms `f` such that `v` and `f v` are linearly dependent, for all `v`.
If `V` is an `R`-module, we say that an endomorphism `f : Module.End R V`
is a *homothety* with central ratio if there exists `a ∈ Set.center R`
such that `f x = a • x` for all `x`.
By docs#Module.End.mem_subsemiringCenter_iff, these linear maps constitute
the center of `Module.End R V`.
(When `R` is commutative, we can write `f = a • LinearMap.id`.)
In what follows, `V` is assumed to be a free `R`-module.
* `LinearMap.commute_transvections_iff_of_basis`:
if an endomorphism `f : V →ₗ[R] V` commutes with every elementary transvections
(in a given basis), then it is an homothety whose central ratio.
(Assumes that the basis is provided and has a non trivial set of indices.)
* `LinearMap.exists_eq_smul_id_of_forall_notLinearIndependent`:
over a commutative ring `R` which is a domain, an endomorphism `f : V →ₗ[R] V`
of a free domain such that `v` and `f v` are not linearly independent,
for all `v : V`, is a homothety.
* `LinearMap.exists_mem_center_apply_eq_smul_of_forall_notLinearIndependent`:
a variant that does not assume that `R` is commutative.
Then the homothety has central ratio.
* `LinearMap.exists_mem_center_apply_eq_smul_of_forall_notLinearIndependent_of_basis`:
a variant that does not assume that `R` has the strong rank condition,
but requires a basis.
Note. In the noncommutative case, the last two results do not hold
when the rank is equal to 1. Indeed, right multiplications
with noncentral ratio of the `R`-module `R` satisfy the property
that `f v` and `v` are linearly independent, for all `v : V`,
but they are not left multiplication by some element.
---
- [x] depends on: #33101
- [x] depends on: #33301 (for the mention of docs#Module.End.mem_subsemiringCenter_iff)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
263/4 |
Mathlib.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean |
6 |
20 |
['AntoineChambert-Loir', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
dagurtomas assignee:dagurtomas |
5-23121 5 days ago |
5-20577 5 days ago |
11-57551 11 days |
| 33221 |
stepan2698-cpu author:stepan2698-cpu |
feat: definition of an intertwining map |
Adds the definition of an intertwining map of representations, with an instance of an A-module structure. Proves that a multiplication by a central element is an intertwining map.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
162/11 |
Mathlib.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
3 |
6 |
['github-actions', 'ocfnash'] |
ocfnash assignee:ocfnash |
5-16258 5 days ago |
10-34183 10 days ago |
17-6397 17 days |
| 33466 |
Shreyas4991 author:Shreyas4991 |
refactor(Combinatorics/Digraph): add vertex sets |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
443/53 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
57 |
['Shreyas4991', 'SnirBroshi', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
5-15918 5 days ago |
5-39741 5 days ago |
6-48832 6 days |
| 33443 |
sahanwijetunga author:sahanwijetunga |
feat: Define Isometries of Bilinear Spaces |
---
We define Isometries of Bilinear Spaces, closely following the implementation of isometries of quadratic spaces.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
275/0 |
Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Isometry.lean,Mathlib/LinearAlgebra/BilinearForm/IsometryEquiv.lean |
3 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
5-10427 5 days ago |
5-8230 5 days ago |
18-34044 18 days |
| 33831 |
vihdzp author:vihdzp |
refactor(RingTheory/Polynomial/SmallDegreeVieta): convert to {p : R[X]} (hp : p.natDegree = 2) |
Co-authored-by: Christopher Hoskin
---
Adopted from #29921. I've applied all pending suggestions.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
112/48 |
Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
3 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
5-7321 5 days ago |
9-5351 9 days ago |
9-4317 9 days |
| 33895 |
jessealama author:jessealama |
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set |
This PR shows that several list operations from Lean core are primitive recursive:
- `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean)
- `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean)
- `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data
- `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data
- `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean)
- `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean)
The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations:
- `list_modify` specializes `list_modify'` with `β = Unit`
- `list_set` uses `list_modify'` via `List.set_eq_modify` |
new-contributor
t-computability
|
67/4 |
Mathlib/Computability/Primrec/List.lean |
1 |
1 |
['github-actions'] |
nobody |
4-66557 4 days ago |
4-65703 4 days ago |
4-64982 4 days |
| 32585 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms/EisensteinSeries/E2/Transform): E2 under the action of SL2 |
We show how E2 transforms under the slash action of SL2.
---
- [x] depends on : #32584
- [x] depends on : #32955
[](https://gitpod.io/from-referrer/)
|
|
465/1 |
Mathlib.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Summable.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean |
4 |
11 |
['CBirkbeck', 'github-actions', 'loefflerd', 'mathlib4-merge-conflict-bot'] |
loefflerd assignee:loefflerd |
4-56176 4 days ago |
4-55300 4 days ago |
17-27713 17 days |
| 32959 |
CBirkbeck author:CBirkbeck |
feat(NumberTheory/ModularForms/QExpansion): define qExpansion ring hom and some more API |
We construct the ring homomorphism from the graded ring of modular forms to power series. We prove develop some basic API for this and also prove the qExpansion coefficients are unique, which is useful to extracting the actual qExpansions of Eisenstein series.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
383/6 |
Mathlib/Analysis/Calculus/Deriv/Mul.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean |
3 |
1 |
['github-actions'] |
loefflerd assignee:loefflerd |
4-49551 4 days ago |
4-48339 4 days ago |
19-57214 19 days |
| 33397 |
themathqueen author:themathqueen |
feat(Topology/Algebra/Star/LinearMap): intrinsic star for continuous linear maps |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-topology
label:t-algebra$ |
104/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Star/LinearMap.lean |
2 |
12 |
['github-actions', 'j-loreaux', 'themathqueen'] |
ocfnash assignee:ocfnash |
4-47183 4 days ago |
5-60615 5 days ago |
20-37993 20 days |
| 33801 |
artie2000 author:artie2000 |
chore: add missing mem lemmas |
* Add missing `simp` lemmas `mem_foo` where a `simp` lemma `coe_foo` already exists
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
15/4 |
Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/Topology/Category/TopCat/Opens.lean,Mathlib/Topology/Sets/Opens.lean |
6 |
10 |
['artie2000', 'eric-wieser', 'github-actions'] |
eric-wieser assignee:eric-wieser |
4-32471 4 days ago |
4-30163 4 days ago |
8-84309 8 days |
| 34012 |
metakunt author:metakunt |
feat(Data/Nat/OrderOf): Add Nat.orderof |
It's useful to have orders just on natural numbers.
|
t-data |
60/0 |
Mathlib.lean,Mathlib/Data/Nat/OrderOf.lean |
2 |
1 |
['github-actions'] |
nobody |
4-23756 4 days ago |
4-22895 4 days ago |
4-21861 4 days |
| 31364 |
YaelDillies author:YaelDillies |
feat: binomial random graphs |
From LeanCamCombi and formal-conjectures
---
- [x] depends on: #31391
- [x] depends on: #31392
- [x] depends on: #31393
- [x] depends on: #31394
- [x] depends on: #31396
- [x] depends on: #31397
- [x] depends on: #31398
- [x] depends on: #31442
- [x] depends on: #31443
- [x] depends on: #31445
- [x] depends on: #31908
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
t-measure-probability
|
158/0 |
Mathlib.lean,Mathlib/Probability/Combinatorics/BinomialRandomGraph/Defs.lean,Mathlib/Probability/Combinatorics/README.md |
3 |
16 |
['DavidLedvinka', 'LibertasSpZ', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
4-21879 4 days ago |
4-64459 4 days ago |
39-249 39 days |
| 32215 |
jonasvanderschaaf author:jonasvanderschaaf |
feat(ModelTheory/Types): Construct a topology on CompleteType and prove the space is TotallySeparated |
---
- [x] depends on: #32213
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
t-logic
|
102/0 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
28 |
['Ruben-VandeVelde', 'Vierkantor', 'anishrajeev', 'dagurtomas', 'github-actions', 'jonasvanderschaaf', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
dagurtomas assignee:dagurtomas |
4-18106 4 days ago |
4-14396 4 days ago |
25-53238 25 days |
| 30985 |
erdOne author:erdOne |
feat(AlgbraicGeometry), `Hom(-, X)` commutes with inverse limits for schemes of finite presentation |
---
- [ ] depends on: #30988
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
208/0 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/CategoryTheory/Filtered/Basic.lean,Mathlib/Topology/Sets/OpenCover.lean |
4 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
4-7324 4 days ago |
7-14933 7 days ago |
7-13899 7 days |
| 33481 |
NoneMore author:NoneMore |
feat(ModelTheory/Encoding): add `Countable` instances for (bounded) formulas in countable languages |
Prepare for the OTT proof.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
27/0 |
Mathlib/ModelTheory/Encoding.lean |
1 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
4-7323 4 days ago |
16-76544 16 days ago |
17-57011 17 days |
| 33803 |
erdOne author:erdOne |
feat(RingTheory): integral closure commutes with standard etale basechange |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
260/3 |
Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/StandardEtale.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean |
5 |
1 |
['github-actions'] |
mariainesdff assignee:mariainesdff |
4-7320 4 days ago |
7-14651 7 days ago |
7-13617 7 days |
| 33843 |
euprunin author:euprunin |
chore: golf using `grind` and `simp` |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `ComplexShape.exists_distinct_prev_or`: <10 ms before, 22 ms after
* `ComplexShape.exists_distinct_next_or`: <10 ms before, 43 ms after
* `DFinsupp.filter_ne_eq_erase'`: <10 ms before, 23 ms after
* `List.Pairwise.rel_head_tail`: <10 ms before, 42 ms after
* `List.Pairwise.rel_head_of_rel_head_head`: <10 ms before, 63 ms after
* `EuclideanGeometry.oangle_eq_oangle_rev_of_two_zsmul_eq_of_angle_eq_pi_div_two`: 78 ms before, <10 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
7/26 |
Mathlib/Algebra/Homology/HasNoLoop.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean |
4 |
4 |
['Komyyy', 'github-actions'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
4-7317 4 days ago |
8-36683 8 days ago |
8-35649 8 days |
| 33845 |
bjornsolheim author:bjornsolheim |
feat(Analysis/Convex): barycenter of a standard simplex |
barycenter of a standard simplex
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
26/0 |
Mathlib/Analysis/Convex/StdSimplex.lean |
1 |
5 |
['bjornsolheim', 'eric-wieser', 'github-actions'] |
ADedecker assignee:ADedecker |
4-7316 4 days ago |
8-7882 8 days ago |
8-30555 8 days |
| 33852 |
zcyemi author:zcyemi |
feat(LinearAlgebra/AffineSpace/Independent): Add affineCombination_eq_lineMap_iff_weight_lineMap |
---
```lean
theorem AffineIndependent.affineCombination_eq_lineMap_iff_weight_lineMap {p : ι → P}
(ha : AffineIndependent k p) {w w₁ w₂ : ι → k} {s : Finset ι} (hw : ∑ i ∈ s, w i = 1)
(hw₁ : ∑ i ∈ s, w₁ i = 1) (hw₂ : ∑ i ∈ s, w₂ i = 1) (c : k) :
s.affineCombination k p w = AffineMap.lineMap (s.affineCombination k p w₁)
(s.affineCombination k p w₂) c ↔ ∀ i ∈ s, w i = AffineMap.lineMap (w₁ i) (w₂ i) c := by
```
This theorem is a parameterized reformulation of `affineCombination_mem_affineSpan_pair`.
It is convenient for rewriting when a concrete `lineMap` parameter is given.
|
t-algebra label:t-algebra$ |
23/0 |
Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
1 |
4 |
['github-actions', 'jsm28', 'zcyemi'] |
kim-em assignee:kim-em |
4-7315 4 days ago |
8-319 7 days ago |
8-5584 8 days |
| 33860 |
DavidLedvinka author:DavidLedvinka |
feat(Probability): Add Cauchy distribution |
|
t-measure-probability |
125/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Cauchy.lean |
2 |
1 |
['github-actions'] |
urkud assignee:urkud |
4-7314 4 days ago |
8-4928 8 days ago |
8-3894 8 days |
| 33864 |
Timeroot author:Timeroot |
feat(Computability/Primrec): Proving several Nat arithmetic functions are primrec |
Prove that gcd, lcm, coprimality, divisiblity, primality, factorial, descending factorial, powers, and various logarithms are all primitive recursive.
Co-authored-by: Aristotle Harmonic <[aristotle-harmonic@harmonic.fun](mailto:aristotle-harmonic@harmonic.fun)>
|
large-import |
195/4 |
Mathlib.lean,Mathlib/Computability/Primrec.lean,Mathlib/Computability/Primrec/List.lean,Mathlib/Computability/Primrec/Nat.lean,Mathlib/Data/Nat/Log.lean |
5 |
5 |
['eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
4-7312 4 days ago |
7-2206 7 days ago |
7-1172 7 days |
| 33764 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph/Diam): drop `Finite α` from `ediam_le_two_mul_radius` |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
22/5 |
Mathlib/Combinatorics/SimpleGraph/Diam.lean |
1 |
4 |
['IvanRenison', 'Rida-Hamadani', 'github-actions', 'vlad902'] |
nobody |
4-6803 4 days ago |
4-15383 4 days ago |
11-27989 11 days |
| 34018 |
CoolRmal author:CoolRmal |
feat: series representation of cosecant |
This PR adds
1. Some trignometric identities.
2. `tprod_pnat_odd_mul_even`, which is an invariant of [tprod_even_mul_odd](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Algebra/InfiniteSum/NatInt.html#tprod_even_mul_odd)
3. a series representation of `fun z => π / sin (π * z)`. An outline of the proof can be found in the PNT project: https://alexkontorovich.github.io/PrimeNumberTheoremAnd/blueprint/zeta-chapter.html#lem:abadeuleulmit1
---
[](https://gitpod.io/from-referrer/)
|
|
140/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean |
4 |
1 |
['github-actions'] |
nobody |
3-82733 3 days ago |
3-81068 3 days ago |
3-80034 3 days |
| 34026 |
SnkXyx author:SnkXyx |
feat(Algebra/MvPolynomial): add mainVariable |
Add `mainVariable` of `MvPolynomial`, the largest variable index appearing in the polynomial.
Main Theorems:
* `mainVariable_eq_bot_iff_eq_C`
* `mainVariable_sum_le`
* `mainVariable_prod_le`
* `degreeOf_eq_zero_of_mainVariable_lt`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
147/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/MainVariable.lean |
2 |
1 |
['github-actions'] |
nobody |
3-79469 3 days ago |
3-78595 3 days ago |
3-77561 3 days |
| 32367 |
BoltonBailey author:BoltonBailey |
feat(Computability): add FinEncodings for List Bool and pairs of types |
This PR contains `finEncoding`s relevant to developing complexity theory in downstream libraries. It is adapted from [this](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788)[#maths > Formalise the proposition P ≠NP @ 💬](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalise.20the.20proposition.20P.20.E2.89.A0NP/near/451765788) comment.
Co-authored-by: Daniel Weber
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-computability
|
77/21 |
Mathlib/Computability/Encoding.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/Sum/Basic.lean |
3 |
12 |
['BoltonBailey', 'MichaelStollBayreuth', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
3-71809 3 days ago |
4-17334 4 days ago |
47-20841 47 days |
| 33817 |
FlAmmmmING author:FlAmmmmING |
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem 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
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
19 |
['FlAmmmmING', 'github-actions', 'vihdzp'] |
nobody |
3-69382 3 days ago |
3-68543 3 days ago |
9-23376 9 days |
| 33905 |
plp127 author:plp127 |
chore(Order/RelClasses): name arguments of recursors |
Name the motive `motive` and name the minor premises something descriptive.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
12/9 |
Mathlib/Order/RelClasses.lean |
1 |
1 |
['Komyyy', 'github-actions'] |
nobody |
3-67124 3 days ago |
6-73837 6 days ago |
6-72803 6 days |
| 33236 |
JovanGerb author:JovanGerb |
refactor(translate): merge `expand` into `applyReplacementFun` |
This PR refactors the main translation loop (`applyReplacementFun`) of `to_additive `/`to_dual` so that it operates on free variables instead of loose bound variables. This will make it much easier to implement the reordering of arguments of arguments, which is something we need for `to_dual`. The other loop that was run beforehand, `expand`, was separate because it required free variables instead of loose bound variables, but now it won't make sense anymore to have it be a separate loop, so I've merged it into the `applyReplacementFun` implementation.
Ideally, we would want to use `Meta.transform` for this, but unfortunately this isn't good enough, because we need more control over when to do recursive calls. So, we copy/inline the implementation of `Meta.transform`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
97/78 |
Mathlib/Tactic/Translate/Core.lean,MathlibTest/toAdditive.lean |
2 |
14 |
['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
3-65264 3 days ago |
4-34677 4 days ago |
26-52575 26 days |
| 33826 |
euprunin author:euprunin |
chore: golf using `grind` |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `List.IsChain.tail`: <10 ms before, 12 ms after
* `List.IsChain.cons_of_ne_nil`: 12 ms before, 21 ms after
* `List.isChain_attachWith`: 148 ms before, 186 ms after
* `List.orderedInsert_erase`: 35 ms before, 73 ms after
* `PFunctor.Approx.head_succ'`: 24 ms before, 57 ms after
* `not_monotone_not_antitone_iff_exists_le_le`: 40 ms before, 119 ms after
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
7/76 |
Mathlib/Data/List/Chain.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/PFunctor/Univariate/M.lean,Mathlib/Order/Monotone/Basic.lean |
4 |
5 |
['euprunin', 'github-actions', 'tb65536', 'urkud'] |
tb65536 assignee:tb65536 |
3-64449 3 days ago |
9-16267 9 days ago |
9-15233 9 days |
| 33768 |
vihdzp author:vihdzp |
chore(Order/RelClasses): remove redundant instances |
---
[](https://gitpod.io/from-referrer/)
|
t-order
awaiting-bench
|
0/20 |
Mathlib/Order/RelClasses.lean |
1 |
8 |
['Vierkantor', 'github-actions', 'leanprover-radar', 'vihdzp'] |
Vierkantor assignee:Vierkantor |
3-51982 3 days ago |
3-51924 3 days ago |
9-55628 9 days |
| 34039 |
grunweg author:grunweg |
feat(finiteness): support `finiteness [h, h']` syntax |
This PR adds support for the `finiteness [h, h']` syntax. This can be combined with the existing versions, such as supporting aesop clauses or the `finiteness?` and `finiteness_nonterminal` variants. This allows golfing mathlib in a few places.
While adding tests, we take the opportunity to also test `finiteness?` and adding aesop clauses: these were previously untested. We also improve the tactic doc-string slightly: making it fully confirm to the new style guidelines is left for a future PR.
This PR is inspired by #30388.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
84/25 |
Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/Average.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean,Mathlib/Tactic/Finiteness.lean,MathlibTest/finiteness.lean |
7 |
2 |
['github-actions', 'grunweg'] |
nobody |
3-49091 3 days ago |
3-47362 3 days ago |
3-46328 3 days |
| 34040 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: generalize HasCompl.compl image/preimage lemmas to Involutive |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
23/14 |
Mathlib/Data/Set/Image.lean |
1 |
1 |
['github-actions'] |
nobody |
3-48328 3 days ago |
3-44803 3 days ago |
3-43769 3 days |
| 33314 |
YuvalFilmus author:YuvalFilmus |
feat(Trigonometric/Chebyshev/Basic): calculate iterated derivatives of T and U at 1 |
Added theorems for the iterated derivatives of T and U at 1.
These formulas are fractions, and so I also added theorems stating that the denominator divides the numerator.
---
- [ ] depends on: #33312
[](https://gitpod.io/from-referrer/)
|
|
148/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Basic.lean,Mathlib/RingTheory/Polynomial/Chebyshev.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-47758 3 days ago |
3-47760 3 days ago |
3-47608 3 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 `R`-modules `M` and `N` and a set `s` in `M`, `Submodule.dual p s` is the submodule in `N` consisting of all points `y` such that `0 = p x y` for all `x ∈ s`.
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
label:t-algebra$ |
239/0 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean |
2 |
1 |
['github-actions'] |
nobody |
3-46141 3 days ago |
4-26233 4 days ago |
4-25199 4 days |
| 33818 |
JohnnyTeutonic author:JohnnyTeutonic |
feat(Algebra/Lie/Classical): finrank of sl(n) equals n² - 1 |
Proves `finrank R (sl n R) = Fintype.card n ^ 2 - 1` using rank-nullity and `Matrix.trace_surjective`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
10/2 |
Mathlib/Algebra/Lie/Classical.lean |
1 |
9 |
['JohnnyTeutonic', 'github-actions', 'themathqueen'] |
alreadydone assignee:alreadydone |
3-45112 3 days ago |
9-38882 9 days ago |
9-46126 9 days |
| 33997 |
Vierkantor author:Vierkantor |
doc(Tactic): improve `tfae_have`/`tfae_finish` tactic docstring |
This PR rewrites the docstring for the `tfae` family of tactics to consistently match the [official style guide](https://github.com/leanprover/lean4/blob/master/doc/style.md#tactics), to make sure it is complete while not getting too long.
---
[](https://gitpod.io/from-referrer/)
|
documentation
t-meta
maintainer-merge
|
25/14 |
Mathlib/Tactic/TFAE.lean |
1 |
6 |
['Vierkantor', 'github-actions', 'joneugster', 'plp127'] |
joneugster assignee:joneugster |
3-44197 3 days ago |
4-33950 4 days ago |
4-32916 4 days |
| 33833 |
JovanGerb author:JovanGerb |
feat(reassoc): tag the generated declaration with `to_dual none` |
This PR adds the feature to `@[reassoc]` that it tags the generated declaration with `to_dual none` whenever the original declaration has been tagged with `to_dual`.
In practice, this means that when mixing uses of `to_dual` and `reassoc`, the `to_dual` should come before the `reassoc`, or as `to_dual (attr := reassoc)`.
In the rare case that the original expression is not tagged with `to_dual` because it is entirely self dual, we can use `@[reassoc +dual]`. This feature is show to work in #34008
In thi PR, `addRelatedDecl` is refactored so that the translated name needs to be supplied, instead of just a pre and postfix. This extra flexibility may come in handy later.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
maintainer-merge
|
54/23 |
Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/IsoReassoc.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/ToFun.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/CategoryTheory/Reassoc.lean |
8 |
6 |
['JovanGerb', 'chrisflav', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
3-41342 3 days ago |
4-12881 4 days ago |
8-74658 8 days |
| 26240 |
grunweg author:grunweg |
perf(Linter/Whitespace): use string slices more |
This will hopefully avoid some overhead from copying strings around (even if the overall effect is small).
---
[](https://gitpod.io/from-referrer/)
|
t-linter |
7/7 |
Mathlib/Tactic/Linter/Whitespace.lean |
1 |
11 |
['github-actions', 'grunweg', 'joneugster', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'leanprover-radar', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
3-40990 3 days ago |
3-44411 3 days ago |
154-7134 154 days |
| 33941 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): teach fun_prop about ωScottContinuous functions |
This PR adds the necessary lemmas and attributes for the `fun_prop` tactic with work with `ωScottContinuous` functions.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
81/31 |
Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean |
2 |
1 |
['github-actions'] |
nobody |
3-38807 3 days ago |
3-34384 3 days ago |
5-18434 5 days |
| 34049 |
smmercuri author:smmercuri |
fix: defeq abuse in `WithVal` |
`SMul` and `Algebra` instances should compose with `WithVal.equiv`
---
[](https://gitpod.io/from-referrer/)
|
|
72/57 |
Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean |
3 |
1 |
['github-actions'] |
nobody |
3-36900 3 days ago |
3-35497 3 days ago |
3-34463 3 days |
| 33981 |
eric-wieser author:eric-wieser |
fix: use the tracing API to detect trace options |
---
[](https://gitpod.io/from-referrer/)
|
easy
t-meta
maintainer-merge
|
2/2 |
Mathlib/Tactic/CC.lean,Mathlib/Tactic/Translate/Core.lean |
2 |
5 |
['JovanGerb', 'eric-wieser', 'github-actions', 'joneugster'] |
nobody |
3-35387 3 days ago |
5-9002 5 days ago |
5-7968 5 days |
| 34062 |
ADedecker author:ADedecker |
feat: more instances of PolynormableSpace |
Also add that a subspace of a locally convex space is convex.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
t-analysis
|
53/0 |
Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean |
2 |
1 |
['github-actions'] |
nobody |
3-28113 3 days ago |
3-26091 3 days ago |
3-25057 3 days |
| 33767 |
Whysoserioushah author:Whysoserioushah |
chore(RingTheory/Morita/Matrix): Finish the morita equivalence between matrix ring and the ring itself |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
92/7 |
Mathlib/RingTheory/Morita/Matrix.lean |
1 |
49 |
['Whysoserioushah', 'eric-wieser', 'github-actions'] |
erdOne assignee:erdOne |
3-21984 3 days ago |
3-21117 3 days ago |
10-81715 10 days |
| 33887 |
joelriou author:joelriou |
feat(CategoryTheory/Triangulated): fully faithful triangulated functors |
A fully faithful triangulated functor preserves and reflects distinguished triangles. If the target category satisfies the octahedron axiom (i.e. the category is triangulated), then the source category also is.
This is part of the formalization of spectral sequences #33842.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
40/0 |
Mathlib/CategoryTheory/Triangulated/Functor.lean |
1 |
1 |
['github-actions'] |
adamtopaz assignee:adamtopaz |
3-21816 3 days ago |
3-20879 3 days ago |
7-21845 7 days |
| 30744 |
grunweg author:grunweg |
feat: more extensions for differential geometry elaborators |
Support inferring a model with corners in all remaining instances in mathlib, except for products and direct sums:
- on Euclidean space, half-space or quadrants.
- for the units in a normed algebra (including GL(V))
- the unit interval
- on the complex unit circle
- on a metric sphere in a real or complex inner product space
- also support finding a model on a domain which is an `InnerProductSpace` (hence only indirectly a normed space)
---
- [x] depends on: #30413
- [x] depends on: #30879
- [x] depends on: #33923 (a 5 line fix)
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
t-meta
|
625/31 |
Mathlib/Geometry/Manifold/Notation.lean,MathlibTest/DifferentialGeometry/Notation.lean,MathlibTest/DifferentialGeometry/NotationAdvanced.lean,MathlibTest/DifferentialGeometry/NotationSphere.lean |
4 |
13 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thorimur'] |
thorimur assignee:thorimur |
3-20059 3 days ago |
3-18127 3 days ago |
3-17577 3 days |
| 33676 |
YuvalFilmus author:YuvalFilmus |
feat(Chebyshev/Orthogonality): Chebyshev T polynomials are orthogonal |
We prove that the Chebyshev T polynomials are orthogonal with respect to `1 / √ (1 - x ^ 2)`.
Similarly, one could show that the Chebyshev U polynomials are orthogonal with respect to `√ (1 - x ^ 2)`, which I will do once this PR is approved.
More generally, one defines an inner product space on the space of all real polynomials, where the inner product is as defined above.
I will be happy to add this to the present or a future PR.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
173/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean |
2 |
8 |
['YuvalFilmus', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'wwylele'] |
j-loreaux assignee:j-loreaux |
3-18815 3 days ago |
3-17973 3 days ago |
12-72490 12 days |
| 33972 |
YuvalFilmus author:YuvalFilmus |
feat(Analysis/Polynomial/Order): polynomial has fixed sign beyond largest root |
We prove that a polynomial has fixed sign beyond its largest root.
One could also prove similar results about the smallest root, but they will be more awkward since they will depend on the parity of the (natural) degree; suggestions welcome (perhaps for a future PR).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
73/0 |
Mathlib.lean,Mathlib/Analysis/Polynomial/Order.lean |
2 |
7 |
['YuvalFilmus', 'artie2000', 'github-actions', 'vihdzp'] |
nobody |
3-18329 3 days ago |
4-40869 4 days ago |
4-46647 4 days |
| 32438 |
JovanGerb author:JovanGerb |
feat: unfold-boundaries in `to_dual` |
This PR introduces a new feature to `to_dual` that allows us to have definitions whose dual is not definitionally equal to the dual of the value. This is crucial for many definitions that are dual to something morally but not definitionally. For example, `DecidableLE`, `Set.Ioo`, `Set.Ico`, `CovBy` , `Monotone`.
This adds 2 new files:
- `Mathlib.Tactic.Translate.UnfoldBoundary` contains the code for adding the casts into expressions
- `Mathlib.Tactic.Translate.TagUnfoldBoundary` contains the code for registering constants as needing a cast.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
large-import
|
469/44 |
Mathlib.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/TagUnfoldBoundary.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Tactic/Translate/UnfoldBoundary.lean,MathlibTest/ToDual.lean |
11 |
17 |
['JovanGerb', 'fpvandoorn', 'github-actions', 'leanprover-radar', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
3-16092 3 days ago |
3-12392 3 days ago |
16-79880 16 days |
| 33874 |
joelriou author:joelriou |
feat(Algebra/Homology/ShortComplex): cycles can be computed with a limit kernel fork |
We make a few additions to the homology API, as it shall be necessary to formalize spectral sequences #33842.
Let `S` be a short complex. The data of a kernel fork of `S.g` allows to compute `S.cycles`. Similarly, the data of a cokernel cofork of `S.f` allows to compute `S.opcycles`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
label:t-algebra$ |
52/1 |
Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean |
4 |
2 |
['github-actions', 'joelriou'] |
nobody |
3-14863 3 days ago |
3-13916 3 days ago |
3-12882 3 days |
| 34063 |
b-mehta author:b-mehta |
chore(Topology/Order): fix name of nhdsLT lemma |
The dual version of this was renamed over a year and a half ago, and it looks like this one was missed. In particular, all lemmas in mathlib about `𝓝[<]` are named `nhdsLT` with this one as the sole exception, and we choose the new name to match the dual `nhdsGT_neBot_of_exists_gt`.
Note that the statement itself appears different, but is definitionally equal to the old one, and again matches the dual.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
4/2 |
Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Order/DenselyOrdered.lean |
2 |
1 |
['github-actions'] |
nobody |
3-14396 3 days ago |
3-12662 3 days ago |
3-11628 3 days |
| 27785 |
staroperator author:staroperator |
chore(Algebra/Group/Submonoid): golf `Nat.addSubmonoidClosure_one` using `simp` |
This should improve the proof readability.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
bench-after-CI
label:t-algebra$ |
8/14 |
Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Order/Star/Basic.lean |
3 |
10 |
['github-actions', 'joneugster', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] |
joneugster assignee:joneugster |
3-12135 3 days ago |
3-9825 3 days ago |
29-38112 29 days |
| 31361 |
alreadydone author:alreadydone |
feat(Algebra/Order): convex subgroups |
---
- [x] depends on: #32886
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
399/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Convex.lean,Mathlib/Order/Birkhoff.lean,Mathlib/Order/Quotient.lean |
4 |
25 |
['alreadydone', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
Vierkantor assignee:Vierkantor |
3-11630 3 days ago |
3-23051 3 days ago |
7-61810 7 days |
| 33851 |
alreadydone author:alreadydone |
chore(Algebra): deprecate `CancelMonoidWithZero` |
The ring theory library already unbundles classes like `IsDomain`, and it's unusual for the monoid library to use bundled cancellative classes, leading to anti-patterns synthesizing bundled from unbundled like `IsDomain.toCancelMonoidWithZero`.
This PR removes `Cancel(Comm)MonoidWithZero` in favor of `[(Comm)MonoidWithZero] [IsCancelMulZero]`. In exchange, `UniqueFactorizationMonoid` and `(Normalized)GCDMonoid` now extend `IsCancelMul`.
Inspired by #33832, where generalizing `IsDomain.toCancelMonoidWithZero` to `IsCancelMulZero` led to timeouts.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2333851.20deprecate.20CancelMonoidWithZero/near/567433366
TODO: deprecate (Left/Right)CancelSemigroup/Monoid.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
360/384 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/GCDMonoid/FinsetLemmas.lean,Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean,Mathlib/Algebra/GCDMonoid/Multiset.lean,Mathlib/Algebra/GroupWithZero/Action/Faithful.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Basic.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Algebra/GroupWithZero/Idempotent.lean,Mathlib/Algebra/GroupWithZero/InjSurj.lean,Mathlib/Algebra/GroupWithZero/Nat.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Primal.lean,Mathlib/Algebra/GroupWithZero/Torsion.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Synonym.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Monoid/Associated.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Regular/Basic.lean,Mathlib/Algebra/Ring/Basic.lean,Mathlib/Algebra/Ring/CharZero.lean,Mathlib/Algebra/Ring/Divisibility/Lemmas.lean,Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean,Mathlib/Algebra/Ring/PUnit.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/Regular.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean,Mathlib/Analysis/Normed/Field/UnitBall.lean,Mathlib/Combinatorics/Additive/AP/Three/Defs.lean,Mathlib/Data/List/Prime.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/Nilpotent/Basic.lean,Mathlib/RingTheory/OreLocalization/OreSet.lean,Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/ContentIdeal.lean,Mathlib/RingTheory/Polynomial/Eisenstein/IsIntegral.lean,Mathlib/RingTheory/Polynomial/UniqueFactorization.lean,Mathlib/RingTheory/Prime.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Radical.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Basic.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Defs.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Finite.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Finsupp.lean,Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Ideal.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicative.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/SetTheory/Nimber/Field.lean,Mathlib/Tactic/FieldSimp/Lemmas.lean,MathlibTest/grind/panic.lean |
70 |
13 |
['alreadydone', 'github-actions', 'jcommelin', 'leanprover-radar'] |
nobody |
3-11172 3 days ago |
3-10108 3 days ago |
5-30707 5 days |
| 33323 |
harahu author:harahu |
doc(Algebra): fix file refs |
Address some stale file refs in `Algebra`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
4/3 |
Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/Module/OrderedSMul.lean |
3 |
5 |
['euprunin', 'github-actions', 'harahu', 'mathlib4-merge-conflict-bot'] |
ocfnash assignee:ocfnash |
3-7332 3 days ago |
6-79263 6 days ago |
10-10151 10 days |
| 33718 |
erdOne author:erdOne |
feat(RingTheory): predicate for `QuasiFiniteAt` |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-ring-theory
|
267/26 |
Mathlib/RingTheory/Etale/QuasiFinite.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean |
4 |
9 |
['chrisflav', 'erdOne', 'github-actions'] |
mattrobball assignee:mattrobball |
3-7329 3 days ago |
6-68618 6 days ago |
8-83924 8 days |
| 33746 |
ster99 author:ster99 |
feat(Algebra/Module/ZLattice): add lemma `floor b (m + x) = m + floor b x` and similar |
Prove lemmas corresponding to [Int.floor_intCast_add](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Floor/Ring.html#Int.floor_intCast_add) and similar for `ZLattice`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Module/ZLattice/Basic.lean |
1 |
2 |
['github-actions'] |
joelriou assignee:joelriou |
3-7328 3 days ago |
6-29588 6 days ago |
11-54193 11 days |
| 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
|
37/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean |
3 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
kex-y assignee:kex-y |
3-7327 3 days ago |
10-43445 10 days ago |
10-42411 10 days |
| 33840 |
vihdzp author:vihdzp |
feat(SetTheory/Ordinal/CantorNormalForm): Evaluate a Finsupp as a CNF |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
191/18 |
Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean |
2 |
3 |
['github-actions', 'plp127', 'vihdzp'] |
alreadydone assignee:alreadydone |
3-7325 3 days ago |
8-7827 8 days ago |
8-11861 8 days |
| 33878 |
xroblot author:xroblot |
feat(MulChar): generalize duality results on finite abelian groups to multiplicative characters |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-number-theory
|
324/21 |
Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/MulChar/Duality.lean,Mathlib/NumberTheory/MulChar/Lemmas.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean |
11 |
1 |
['github-actions'] |
tb65536 assignee:tb65536 |
3-7323 3 days ago |
6-60512 6 days ago |
7-32452 7 days |
| 33903 |
erdOne author:erdOne |
feat(RingTheory): local structure of monogenic unramified algebras |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
295/3 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/ResidueField/Polynomial.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/RingTheory/Unramified/LocalStructure.lean,Mathlib/RingTheory/Unramified/Locus.lean |
6 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
3-7321 3 days ago |
6-38776 6 days ago |
6-37742 6 days |
| 33924 |
martinwintermath author:martinwintermath |
feat(Order/ModularLattice): add some dual codisjoint lemma for modular lattices |
Add four codisjoint lemmas dual to existing disjoint lemmas for modular lattices:
* Add `codisjoint_inf_right_of_codisjoint_inf_left`
* Add `codisjoint_inf_left_of_codisjoint_inf_right`
* Add `isCompl_inf_right_of_isCompl_inf_left`
* Add `isCompl_inf_left_of_isCompl_inf_right`
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
34/13 |
Mathlib/Order/ModularLattice.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
3-7319 3 days ago |
6-21216 6 days ago |
6-20182 6 days |
| 32757 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection): the determinant of a transvection is equal to 1. |
Prove that the determinant of a transvection is equal to 1
The proof goes by showing that the determinant of `LinearMap.transvection f v` is `1 + f v` (even if `f v` is nonzero).
I first treat the case of a field, distinguishing whether `f v = 0` (so that we get
a transvection) or not (so that we have a dilation).
Then, by base change to the field of fractions, I can handle the case of a domain. Finally, the general case is treated by base change from the “universal case” where the base ring is the ring of polynomials in $$2n$$ indeterminates corresponding to the coefficients of $$f$$ and $$v$$.
---
- [x] depends on: #31138
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
255/0 |
Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Transvection.lean |
2 |
10 |
['AntoineChambert-Loir', 'alreadydone', 'eric-wieser', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
3-2768 3 days ago |
6-40828 6 days ago |
27-71615 27 days |
| 34052 |
JohnnyTeutonic author:JohnnyTeutonic |
feat(LinearAlgebra/Alternating): add map_eq_zero_of_card_lt |
Adds a theorem stating that an alternating map is zero on any input when the index type has strictly more elements than the target of the input function (pigeonhole principle).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
5/0 |
Mathlib/LinearAlgebra/Alternating/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
2-81550 2 days ago |
2-79706 2 days ago |
2-78672 2 days |
| 34044 |
YuvalFilmus author:YuvalFilmus |
feat(Chebyshev/RootsExtrema): Irrationality of roots of Chebyshev T (other than zero) |
---
[](https://gitpod.io/from-referrer/)
|
large-import |
53/4 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/NumberTheory/Niven.lean,Mathlib/RingTheory/Polynomial/Chebyshev.lean |
3 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
2-75765 2 days ago |
2-74785 2 days ago |
2-85446 2 days |
| 34072 |
yuanyi-350 author:yuanyi-350 |
feat(Chebyshev polynomials): Prove that the roots of the Chebyshev polynomials (except 0) are irrational. |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
large-import
|
41/3 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/NumberTheory/Niven.lean |
2 |
2 |
['YuvalFilmus', 'github-actions'] |
nobody |
2-75268 2 days ago |
2-81776 2 days ago |
2-80742 2 days |
| 31425 |
robertmaxton42 author:robertmaxton42 |
feat(Topology): implement delaborators for non-standard topology notation |
Add delaborators for unary and binary notation related to non-standard topologies in the TopologicalSpace namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
250/4 |
Mathlib.lean,Mathlib/Topology/Defs/Basic.lean,Mathlib/Util/DelabNonCanonical.lean,MathlibTest/Delab/TopologicalSpace.lean |
4 |
45 |
['eric-wieser', 'github-actions', 'jcommelin', 'kckennylau', 'robertmaxton42'] |
PatrickMassot assignee:PatrickMassot |
2-68564 2 days ago |
2-66578 2 days ago |
56-64193 56 days |
| 33939 |
mitchell-horner author:mitchell-horner |
chore(Analysis/Normed): redefine `seminormFromConst'` without `choose` |
Redefine `seminormFromConst'` using `iInf` instead of `choose`.
---
[](https://gitpod.io/from-referrer/)
|
|
134/96 |
Mathlib.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/Instances/Real/Lemmas.lean,Mathlib/Topology/Instances/Real/Periodic.lean |
6 |
15 |
['github-actions', 'mitchell-horner', 'plp127', 'vihdzp'] |
nobody |
2-61616 2 days ago |
2-60748 2 days ago |
5-70881 5 days |
| 33876 |
joelriou author:joelriou |
feat(Order): `WithBotTop` and the extended integers |
This files defines an abbreviation `WithBotTop ι` for `WithBot (WithTop ι)`.
We also introduce an abbreviation `EInt` for `WithBotTop ℤ`.
Kevin Buzzard is made a coauthor of the file because it is very similar to `Data.EReal.Basic`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-data
label:t-algebra$ |
79/0 |
Mathlib.lean,Mathlib/Order/WithBotTop.lean |
2 |
8 |
['ADedecker', 'github-actions', 'joelriou', 'vihdzp'] |
vihdzp assignee:vihdzp |
2-56914 2 days ago |
6-45509 6 days ago |
7-2002 7 days |
| 33880 |
joelriou author:joelriou |
feat(CategoryTheory/ComposableArrows): API for the composition of three arrows |
This shall be used in the formalization of spectral sequences #33842.
---
- [x] depends on: #33879
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
121/0 |
Mathlib.lean,Mathlib/CategoryTheory/ComposableArrows/Three.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
2-54981 2 days ago |
2-54983 2 days ago |
2-53949 2 days |
| 33838 |
chainstart author:chainstart |
feat(NumberTheory): add unitary divisors and unitary perfect numbers |
## Summary
This PR introduces the unitary divisor sum function σ* to Mathlib and proves that no odd unitary perfect numbers exist.
## Main Definitions
- `Nat.UnitaryDivisor d n`: A divisor `d` of `n` is unitary if `gcd(d, n/d) = 1`
- `Nat.unitaryDivisors n`: The `Finset` of all unitary divisors of `n`
- `Nat.unitaryDivisorSum n` (notation `σ*`): Sum of all unitary divisors
- `Nat.UnitaryPerfect n`: `n` is unitary perfect if `σ*(n) = 2n`
## Main Theorems
**Multiplicativity:**
- `unitaryDivisorSum_mul`: For coprime `m`, `n`, `σ*(mn) = σ*(m) · σ*(n)`
- Proved via explicit bijection between unitary divisors of `mn` and pairs of unitary divisors
**Prime Powers:**
- `unitaryDivisors_prime_pow`: The unitary divisors of `p^k` are exactly `{1, p^k}`
- `unitaryDivisorSum_prime_pow`: For prime `p` and `k ≥ 1`, `σ*(p^k) = p^k + 1`
**Unitary Perfect Numbers:**
- `no_odd_unitary_perfect`: There are no odd unitary perfect numbers > 1 (Subbarao-Warren 1966)
- `UnitaryPerfect.even`: Every unitary perfect number is even
- `UnitaryPerfect.eq_two_pow_mul_odd`: Every unitary perfect number has form `2^a · k` with `a ≥ 1`, `k` odd
## Mathematical Background
A unitary perfect number is a positive integer `n` such that the sum of its unitary divisors equals `2n`. This generalizes the classical perfect numbers. Only five unitary perfect numbers are known: 6, 60, 90, 87360, and one with 24 digits.
The main theorem (no odd unitary perfect numbers) was originally proved by Subbarao & Warren (1966) using prime factorization arguments. Our formalization uses `Nat.recOnPrimeCoprime` for structural induction.
## References
- Subbarao, M. V., & Warren, L. J. (1966). Unitary perfect numbers. *Canadian Mathematical Bulletin*, 9(2), 147-153.
- Wall, C. R. (1975). The fifth unitary perfect number. *Canadian Mathematical Bulletin*, 18(1), 115-122.
## Code Statistics
- **Files**: 2
- **Lines**: ~520
- **Theorems**: 21 public declarations
- **Sorry count**: 0
## Checklist
- [x] All theorem names follow mathlib conventions
- [x] All lines ≤ 100 characters
- [x] All public theorems have docstrings
- [x] No `sorry` or `admit`
- [x] Code builds successfully
- [ ] CI tests pass (awaiting verification) |
new-contributor
t-number-theory
|
554/0 |
Mathlib.lean,Mathlib/NumberTheory/UnitaryDivisor.lean,Mathlib/NumberTheory/UnitaryPerfect.lean |
3 |
17 |
['Ruben-VandeVelde', 'SnirBroshi', 'chainstart', 'github-actions', 'riccardobrasca', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
2-46972 2 days ago |
2-52523 2 days ago |
8-45425 8 days |
| 34022 |
adomasbaliuka author:adomasbaliuka |
feat(Tactic/Linter): refactor non-breaking-space-linter into a unicode-linter and add auto-fixing |
Replace the existing non-breaking-space-style-linter with an improved unicode-style linter and implement automatic fixes.
The blocklist could then be refined in future PRs.
Everything flagged by this linter can be fixed fully automatically with `lake exe lint-style --fix` or by commenting `bot fix style` on the PR.
---
- replacement of #17131 (due to PRs being made from forks now)
- tracking PR: #16215
## Zulip discussions:
- https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Whitelist.20for.20Unicode.3F
- https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Lean.20specific.20font
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-linter
|
211/33 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,MathlibTest/LintStyle.lean,scripts/nolints-style.txt |
7 |
23 |
['SnirBroshi', 'adomasbaliuka', 'github-actions', 'joneugster', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
2-46780 2 days ago |
2-48446 2 days ago |
2-83509 2 days |
| 33989 |
xroblot author:xroblot |
feat: elements of `adjoin S` are fixed by `m` iff elements of `S` are |
This PR proves:
```lean
(∀ x ∈ adjoin F S, m • x = x) ↔ (∀ x ∈ S, m • x = x)
```
both in the `Algebra.adjoin` and `IntermediateField.adjoin` cases
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/0 |
Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean |
2 |
5 |
['ADedecker', 'github-actions', 'xroblot'] |
nobody |
2-45805 2 days ago |
2-42912 2 days ago |
4-59825 4 days |
| 33909 |
YaelDillies author:YaelDillies |
feat(SetTheory/Cardinal): more lemmas about `ENat` |
and deduplicate a few pairs.
From ProofBench
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
77/47 |
Mathlib/Data/Finite/Card.lean,Mathlib/Data/Set/Card.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/RingTheory/Length.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Cardinal/NatCount.lean,Mathlib/SetTheory/Cardinal/ToNat.lean |
8 |
2 |
['github-actions', 'vihdzp'] |
nobody |
2-41592 2 days ago |
2-40724 2 days ago |
2-39690 2 days |
| 32374 |
adamtopaz author:adamtopaz |
feat(Tactic/WildcardUniverse): Foo.{*, _, v*, max u v} |
This PR creates an elaborator for syntax of the form `Foo.{*, _, v*, max u v}`. A `*` indicates that a new universe parameter should be created, `_` and `max u v` elaborate using the existing level elaboration (so `_` elaborates to a level mvar). The syntax `v*` creates a level parameter of the form `v_n` for some value of `n`.
The newly created level parameters are ordered in a particular way to match the order in which they appear in the syntax. For example, in `Foo.{*, _, v*, max u v}`, the level parameter associated with `*` will come before the other universes, including the parameter created by `v*`, and the parameters `u` and `v`. Similarly the parameter associated with `v*` will come *after* the one for `*`, and before both `u` and `v`.
Note: Unlike `Category* C`, where we understand exactly how the universes involved in `C` (both in the term and its type) relate to the level parameter of the morphisms, we can't expect such precise control in general. For example, when `C.{u} : Type 0`, `Category* C` places the morphism level `v_1` before `u`, but `Category.{*} C` places it after `u`. In other words, `Foo.{...}` only reorders the level parameters based on the parameters that appear in the (elaborated) `...`, without any regard to the universes that appear in the *arguments* to `Foo.{...}`.
Co-authored-by: Claude
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
703/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/WildcardLevel.lean,MathlibTest/WildcardLevel.lean |
4 |
35 |
['JovanGerb', 'adamtopaz', 'github-actions'] |
dwrensha assignee:dwrensha |
2-38647 2 days ago |
45-25037 45 days ago |
47-5267 47 days |
| 33961 |
JovanGerb author:JovanGerb |
feat(to_dual): don't translate the order on `Prop` |
It had been noticed on Zulip that there are lemmas talking about the order on `Prop`, in which `to_dual` should not revert that order. In a sense `Prop` is just as much a fixed type as e.g. `Nat`. This PR adds this check to `shouldTranslate`.
I would have expected more translations to break, but it seems that the only thing we need to do is to tell it to not go into the second argument of `Subtype` when checking if a type is fixed.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
30/13 |
Mathlib/Tactic/ToAdditive.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Translate/Core.lean,MathlibTest/ToDual.lean,MathlibTest/toAdditive.lean |
5 |
2 |
['github-actions', 'joneugster'] |
joneugster assignee:joneugster |
2-38091 2 days ago |
2-38091 2 days ago |
4-23769 4 days |
| 34041 |
tb65536 author:tb65536 |
feat(LinearAlgebra/Matrix/Permutation): `permMatrix` as a homomorphism |
This PR adds `permMatrix` as a homomorphism. This requires introducing an extra inverse because `permMatrix` is actually an antihomomorphism.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
20/1 |
Mathlib/LinearAlgebra/Matrix/Permutation.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
nobody |
2-36772 2 days ago |
2-35573 2 days ago |
3-27989 3 days |
| 34070 |
JovanGerb author:JovanGerb |
feat: use `push _ ∈ _` |
This PR is an experiment, replacing a bunch of proofs by `push _ ∈ _`. This makes the proofs shorter, because you don't have to explicitly write down the theorems that are being used. But it is not clear to me at all that this is desirable.
---
[](https://gitpod.io/from-referrer/)
|
|
54/52 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Algebra/Star/Subalgebra.lean,Mathlib/Analysis/Analytic/IsolatedZeros.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/TangentCone/ProperSpace.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Gamma/BohrMollerup.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Sigmoid.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/CategoryTheory/Limits/Shapes/MultiequalizerPullback.lean,Mathlib/CategoryTheory/Limits/Shapes/Preorder/WellOrderContinuous.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/SetLike/Basic.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Measure/EverywherePos.lean,Mathlib/NumberTheory/LSeries/Injectivity.lean,Mathlib/Order/BooleanAlgebra/Set.lean,Mathlib/Probability/Kernel/Disintegration/CondCDF.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean,Mathlib/Topology/LocallyFinite.lean,Mathlib/Topology/MetricSpace/Ultra/Basic.lean |
40 |
1 |
['github-actions'] |
nobody |
2-34128 2 days ago |
2-33256 2 days ago |
2-32222 2 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
|
51/1 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
8 |
['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] |
nobody |
2-32667 2 days ago |
15-29276 15 days ago |
16-18913 16 days |
| 34077 |
kbuzzard author:kbuzzard |
feat: increase priority of instSMulOfMul |
WIP.
If my understanding of the benchmarks is correct, #31040 was disastrous. This PR is just an experiment to see if re-introducing `[Mul α] : SMul α α` as a high priority instance (rather than core's instance [`instSMulOfMul`](https://leanprover-community.github.io/mathlib4_docs/Init/Prelude.html#instSMulOfMul), which is priority 910) actually speeds mathlib up. It was inspired by #33908 (another "this should be quick to fail and if it fits then it's almost certainly what we want" prio change). If this works well then probably we should be asking core to reconsider the priority of their instance there.
I don't know the correct way to change the priority of a core instance in mathlib, and I didn't know if just changing the priority naively would work repo-wide rather than just file-wide, which was why this PR introduces a second instance. It should almost certainly not be merged in this form even if it results in a speed-up.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
3/5 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean |
2 |
16 |
['alreadydone', 'github-actions', 'kbuzzard', 'leanprover-radar'] |
nobody |
2-25172 2 days ago |
2-28725 2 days ago |
2-30294 2 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 |
11 |
['SnirBroshi', 'floor-licker', 'github-actions'] |
nobody |
2-24929 2 days ago |
2-24098 2 days ago |
2-23064 2 days |
| 33822 |
robin-carlier author:robin-carlier |
feat(Meta/CategoryTheory): `cancelIso` simproc |
In this PR, we define a `cancelIso` simplification procedure.
The scope of the procedure is to recognize compositions of the form `f ≫ g` or `f ≫ g ≫ h` where `g` is inverse to `f`, and cancel them accordingly.
This is particularly useful as more often than not, simp normal forms for isomorphisms do not easily make inverse pairs recognizable: `F.map (G.map (H.map e.hom))) ≫ F.map (G.map (H.map e.inv)))` is an expression in `simp`normal form, but using `Iso.hom_inv_id` requires backwards rewriting of `Functor.map_comp`.
Because of this, many _ad hoc_ lemmas handling this pattern were added to the library, e.g `CategoryTheory.Iso.inv_hom_id_app_app_app`, `CategoryTheory.MonoidalCategory.hom_inv_whiskerRight`, etc.
This simproc is an attempt at lessening the need for new extra lemmas of this form.
The core working of the simproc is as follows:
1. When encountering a composition `f ≫ g`, check if the target of `g` is the source of `f`
2. If so, try to synth an `IsIso` instance on `f` (in all the patterns mentioned above, such instances are available). Do nothing and return if there is no such instance.
4. Run `push inv` on both `inv f` and `g`, putting them in "inv-normal form" and compare the results. If they match, build (using the proofs provided by `push`) a proof of `f ≫ g = 𝟙 _`, and return it as the result of the procedure.
In practice, the case where `g` itself is a composition is handled on its own, allowing the simproc to correctly fire on right-associated expressions (which are the chosen simp normal forms in category theory).
Because this simproc relies on `push`, it is naturally extensible by mean of rigorous `@[push]` annotations within the library.
:robot: Tests were initially generated by Gemini.
---
While the particular problem that this simproc solves might intersect with the capabilities of grind, I believe it is an useful thing
to have. In my experience, the place where its absence is most annoying is when carrying computation-heavy proofs in bicategory theory, where I’ve encountered terms of the form `A ◁ B ◁ C ◁ D ◁ e.inv ▷ E ▷ F ▷ G ▷ H ≫ A ◁ B ◁ C ◁ D ◁ e.hom ▷ E ▷ F ▷ G ▷ H `, where `A, B, C' etc might have long names. Doing `show ... = 𝟙 _ by grind` would be very long.
This has also value for goals grind is not currently solving due to lack of annotations, but whose simp normal forms make such terms appear.
In the future, I think the infrastructure of this simproc might give a nice backend towards a cleaner implementation of the `rotate_iso%` elaborator I proposed in #25747, making it natively extensible via `@[push]` annotations.
- [x] depends on: #33820
[](https://gitpod.io/from-referrer/)
|
t-category-theory
t-meta
|
248/1 |
Mathlib.lean,Mathlib/CategoryTheory/NatIso.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CategoryTheory/CancelIso.lean,MathlibTest/CategoryTheory/CancelIso.lean |
5 |
57 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'robin-carlier'] |
nobody |
2-20045 2 days ago |
2-21348 2 days ago |
2-33628 2 days |
| 33863 |
urkud author:urkud |
feat: generalize some lemmas about linear ordered topological spaces |
Currently, lemmas about `Filter.map ((↑) : Set.Iio a → X) Filter.atTop` etc
assume that the ambient type is densely ordered.
However, it suffices to require that `a` is an `Order.IsSuccPrelimit`.
Make this generalization and move the lemmas to a new file.
Also, use the new lemmas to drop a `[DenselyOrdered _]` assumption
in one lemma in measure theory.
These more precise statements are also useful when dealing with, e.g.,
linear ordered topologies defined by ordinals.
---
[](https://gitpod.io/from-referrer/) |
|
226/130 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Exp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Topology/Order/AtTopBotIxx.lean,Mathlib/Topology/Order/DenselyOrdered.lean |
7 |
7 |
['github-actions', 'leanprover-radar', 'sgouezel', 'urkud'] |
sgouezel assignee:sgouezel |
2-8153 2 days ago |
2-6443 2 days ago |
7-75828 7 days |
| 28208 |
Sebi-Kumar author:Sebi-Kumar |
feat(Topology): add the definition `foldTrans` to concatenate finite sequences of paths |
Add `foldTrans`, which folds the function `Path.trans` across a sequence of paths with compatible endpoints, corresponding to the concatenation of a finite sequence of paths. This is implemented with `Fin.dfoldl` from the Batteries library. Prove basic properties about `foldTrans` (i.e., how it behaves with respect to `Path.refl`, `Path.subpath`, and homotopies).
---
To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`, following the proof from Hatcher's "Algebraic Topology."
- [x] depends on: #27261
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
110/0 |
Mathlib.lean,Mathlib/Topology/FoldTrans.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ocfnash assignee:ocfnash |
2-7313 2 days ago |
5-8675 5 days ago |
5-9295 5 days |
| 31613 |
xyzw12345 author:xyzw12345 |
feat(RepresentationTheory/GroupCohomology): Non-abelian Group Cohomology |
In this PR, we develop the theory of non-abelian group cohomology, following the section in GTM 67 - Local Fields by Jean-Pierre Serre. We defined H0 and H1, constructed the connection maps, proved the long exact sequence, and constructed natural isomorphisms between our H0, H1 and the existing `groupCohomology` API.
Co-authored by:
Jiedong Jiang @jjdishere
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
label:t-algebra$ |
634/0 |
Mathlib.lean,Mathlib/GroupTheory/Subgroup/Center.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/NonAbelian.lean,Mathlib/RepresentationTheory/Rep.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
2-7312 2 days ago |
5-40431 5 days ago |
5-39397 5 days |
| 32186 |
urkud author:urkud |
feat(Integral): estimate displacement by the integral of the speed |
This PR adds yet another form of the Mean Value Theorem.
From https://github.com/urkud/SardMoreira
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
207/0 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DistLEIntegral.lean |
2 |
1 |
['github-actions'] |
RemyDegenne assignee:RemyDegenne |
2-7311 2 days ago |
9-73539 9 days ago |
53-21222 53 days |
| 33726 |
alreadydone author:alreadydone |
feat(Analysis): (complex) polynomials as branched coverings |
originally proposed by @urkud in #33425
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
t-analysis
|
129/1 |
Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Analysis/Complex/CoveringMap.lean,Mathlib/Topology/Algebra/Polynomial.lean,Mathlib/Topology/Covering/Basic.lean |
4 |
10 |
['alreadydone', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
2-7309 2 days ago |
5-68447 5 days ago |
11-51304 11 days |
| 33788 |
harahu author:harahu |
chore(Algebra): move `LinearMap.ker_restrictScalars` |
Resolve an old TODO by moving `LinearMap.ker_restrictScalars` to a location in `Mathlib/Algebra/Module/Submodule`.
The TODO referenced lemmas in plural, but only `LinearMap.ker_restrictScalars` seemed to fit. I assume any other lemmas might already have been moved at an earlier point.
---
Notes for reviewers:
- The new location in `Mathlib/Algebra/Module/Submodule/Ker.lean` was chosen somewhat arbitrarily in favor of `Mathlib/Algebra/Module/Submodule/RestrictScalars.lean`. Please consider whether `Ker.lean` is the optimal location for this lemma.
- I haven't moved content in mathlib before – do I need to add a deprecation alias in the original file, or is the way I've done it fine?
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/17 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Module/Submodule/Ker.lean |
2 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot', 'mcdoll', 'tb65536'] |
Vierkantor assignee:Vierkantor |
2-7308 2 days ago |
5-67140 5 days ago |
9-85987 9 days |
| 33884 |
vihdzp author:vihdzp |
chore(Order/Hom/BoundedLattice): remove `initialize_simps_projections` |
---
Follow-up to #30378, see [this comment](https://github.com/leanprover-community/mathlib4/pull/30378#issuecomment-3453031006).
[](https://gitpod.io/from-referrer/)
|
t-order |
6/11 |
Mathlib/Order/Hom/BoundedLattice.lean,Mathlib/Order/Hom/WithTopBot.lean |
2 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
2-7307 2 days ago |
5-74435 5 days ago |
5-73401 5 days |
| 33894 |
vihdzp author:vihdzp |
chore: move `Archimedean` to a new `Defs` file |
I've also moved the most basic theorems (`exists_nat_lt`, etc.) to this file. This greatly decreases the imports needed to use these classes.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
119/66 |
Mathlib.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Defs.lean,Mathlib/Data/Real/Archimedean.lean |
4 |
2 |
['github-actions', 'vihdzp'] |
dagurtomas assignee:dagurtomas |
2-7304 2 days ago |
5-73340 5 days ago |
5-72306 5 days |
| 33936 |
cameronfreer author:cameronfreer |
feat(NumberTheory/LSeries): add positivity and real-valuedness lemmas for Riemann zeta |
Add lemmas about the Riemann zeta function for real arguments greater than 1:
- `riemannZeta_pos_of_one_lt`: `riemannZeta x` is positive in `ComplexOrder` for real `x > 1`
- `riemannZeta_re_pos_of_one_lt`: the real part of `riemannZeta x` is positive for real `x > 1`
- `riemannZeta_im_eq_zero_of_one_lt`: `riemannZeta x` has zero imaginary part for real `x > 1`
The positivity result follows from `LSeries.positive`, using that the L-series of the constant function 1 equals the Riemann zeta function on the domain of convergence. The key insight is that `0 < z` in `ComplexOrder` simultaneously encodes `z.re > 0` and `z.im = 0` (via `Complex.pos_iff`), so positivity implies real-valuedness.
This adds a new import of `Mathlib.NumberTheory.LSeries.Positivity` to `Dirichlet.lean`. The `ComplexOrder` scope is limited to a dedicated nested section to avoid affecting typeclass inference elsewhere.
This generalizes `riemannZeta_even_im_eq_zero` from the [Sphere Packing project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean/blob/7d4461f1/SpherePacking/ModularForms/Eisenstein.lean#L836-L846), which is now a corollary. |
new-contributor
t-number-theory
sphere-packing
|
25/0 |
Mathlib/NumberTheory/LSeries/Dirichlet.lean |
1 |
4 |
['cameronfreer', 'github-actions', 'metakunt'] |
alexjbest assignee:alexjbest |
2-7303 2 days ago |
6-3700 6 days ago |
6-2666 6 days |
| 33947 |
urkud author:urkud |
chore: move `Complex.expPartialHomeomorph` |
Also rename it to `Complex.expOpenPartialHomeomorph`.
---
I'm not 100% sure we need to move it.
It's a leftover from an older version of #33423.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
36/26 |
Mathlib/Analysis/SpecialFunctions/Complex/Log.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean |
2 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
2-7302 2 days ago |
5-33773 5 days ago |
5-32739 5 days |
| 33962 |
loefflerd author:loefflerd |
feat(Analysis/Normed): generalize `smul` on cts [multi-]linear maps |
Allow scalar multiplication by more general types (not just normed fields) that act reasonably on the target of the map.
Mostly this just involves swapping typeclass assumptions, but the file `Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean` needed a more intensive refactor to separate out the results that are valid over a general base ring from those that really require a `NontriviallyNormedField`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
212/150 |
Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Analysis/Normed/Operator/BoundedLinearMaps.lean,Mathlib/Analysis/Normed/Operator/Mul.lean,Mathlib/Topology/Algebra/Module/LinearMap.lean,Mathlib/Topology/Algebra/Module/Multilinear/Basic.lean |
7 |
3 |
['github-actions', 'leanprover-radar', 'loefflerd'] |
j-loreaux assignee:j-loreaux |
2-7299 2 days ago |
5-39333 5 days ago |
5-38299 5 days |
| 33971 |
seewoo5 author:seewoo5 |
feat(DihedralGroup): center of D_n for odd n \ge 3 trivial |
---
Center of dihedral group $D_n$ for odd $n \ge 3$ is trivial. Note that initial code was written by Claude Opus 4.5.
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
22/1 |
Mathlib/GroupTheory/SpecificGroups/Dihedral.lean |
1 |
1 |
['github-actions'] |
tb65536 assignee:tb65536 |
2-7296 2 days ago |
5-33329 5 days ago |
5-32295 5 days |
| 33974 |
mckoen author:mckoen |
feat(CategoryTheory/Functor): pushout-products and pullback-powers |
Adds basic API for pushout-products and pullback-powers (also called the Leibniz constructions). Moves the API for `PushoutObjObj` and `PullbackObjObj` from `Mathlib.CategoryTheory.LiftingProperties.ParametrizedAdjunction` and uses this API to define the Leibniz bifunctors on the associated arrow categories.
- https://ncatlab.org/nlab/show/pushout-product
- https://ncatlab.org/nlab/show/pushout-product
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
423/122 |
Mathlib.lean,Mathlib/CategoryTheory/LiftingProperties/ParametrizedAdjunction.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackObjObj.lean |
3 |
8 |
['github-actions', 'joelriou', 'mckoen', 'robin-carlier'] |
nobody |
2-6419 2 days ago |
2-5558 2 days ago |
4-13159 4 days |
| 33363 |
BoltonBailey author:BoltonBailey |
feat: add `empty_eq_image` simp lemmas |
Creates new simp lemmas `image_eq_empty`, similar to existing simp lemmas, but with the LHS equality reversed, so that simp can identify these when in this form.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
7/0 |
Mathlib/Data/Finset/Image.lean,Mathlib/Data/Set/Image.lean |
2 |
3 |
['github-actions', 'urkud'] |
TwoFX assignee:TwoFX |
2-1697 2 days ago |
22-10798 22 days ago |
22-9764 22 days |
| 34090 |
urkud author:urkud |
feat(Topology/Algebra,Analysis): arithemtic operations on `TendstoLocallyUniformly` |
---
I'm going to fix some inconsistencies about `fun_op` vs `op` before marking it ready for review.
[](https://gitpod.io/from-referrer/)
|
|
288/20 |
Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/UniformSpace/LocallyUniformConvergence.lean |
4 |
1 |
['github-actions'] |
nobody |
1-83684 1 day ago |
1-81504 1 day ago |
1-81836 1 day |
| 33441 |
dupuisf author:dupuisf |
feat: add `LawfulInv` class for types with an inverse that behaves like `Ring.inverse` |
This PR introduces a new typeclass `LawfulInv` for types which have an `Inv` instance that is equal to zero on non-invertible elements. This is meant to replace `Ring.inverse`. The current plan is to do this refactor in several steps:
1. This PR, which only introduces the class and adds instances for matrices and continuous linear maps.
2. Add instances for all C*-algebras, and make `CStarAlgebra` extend this.
3. Deprecate `Ring.inverse`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
185/27 |
Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/Topology/Algebra/Module/Equiv.lean |
7 |
31 |
['dupuisf', 'eric-wieser', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'plp127'] |
nobody |
1-82320 1 day ago |
1-82320 1 day ago |
6-44621 6 days |
| 33504 |
ldct author:ldct |
feat: Add lemmas for DihedralGroup.fintypeHelper |
Using `fin_cases` to reason about `DihedralGroup` elements exposes the internal `fintypeHelper` instances, which has no exported API
```
example (g : DihedralGroup 3) : (g^6 = 1) := by
fin_cases g
<;> dsimp
--
6 goals
case «0»
⊢ DihedralGroup.fintypeHelper✝ (Sum.inl 0) ^ 6 = 1
...
```
this PR adds simp lemma that convert them to constructors, which do have API
```
6 goals
case «0»
⊢ 1 ^ 6 = 1
case «1»
⊢ DihedralGroup.r 1 ^ 6 = 1
case «2»
⊢ DihedralGroup.r 2 ^ 6 = 1
```
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
8/0 |
Mathlib/GroupTheory/SpecificGroups/Dihedral.lean |
1 |
3 |
['Komyyy', 'github-actions', 'tb65536'] |
Komyyy assignee:Komyyy |
1-82317 1 day ago |
16-78616 16 days ago |
16-77582 16 days |
| 33990 |
YaelDillies author:YaelDillies |
chore(SetTheory/Cardinal): remove explicit argument to `nat_lt_aleph0` |
It is almost never used. Also rename to `natCast_lt_aleph0` and add `natCast_le_aleph0`.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
88/100 |
Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Cardinality.lean,Mathlib/FieldTheory/Finite/Polynomial.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/SeparableClosure.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/Dimension/ErdosKaplansky.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Dimension/Finrank.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Continuum.lean,Mathlib/SetTheory/Cardinal/Divisibility.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/SetTheory/Cardinal/Free.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Cardinal/Regular.lean,Mathlib/SetTheory/Cardinal/ToNat.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean |
30 |
6 |
['YaelDillies', 'github-actions', 'vihdzp'] |
nobody |
1-72834 1 day ago |
4-62131 4 days ago |
4-61097 4 days |
| 33765 |
JovanGerb author:JovanGerb |
feat(Order/CompleteLattice/Defs): `to_dual` for `CompleteSemilattice`s |
This PR uses `to_dual` for `CompleteSemilatticeSup` and `CompleteSemilatticeInf`. These will need to be refactored/deprecated in the future, but I think it makes sense to make the code smaller (using `to_dual`) before such a refactor.
---
- [ ] depends on: #33760
[](https://gitpod.io/from-referrer/)
|
t-order |
30/78 |
Mathlib/Order/CompleteLattice/Defs.lean |
1 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
1-71651 1 day ago |
3-13009 3 days ago |
3-34206 3 days |
| 34080 |
JovanGerb author:JovanGerb |
chore(Order/Bounds/Basic): rename `lub_Iio_le` to `le_of_isLUB_Iio` |
Rename `lub_Iio_le`, as was requested in #33760
---
[](https://gitpod.io/from-referrer/)
|
|
7/4 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Probability/Process/Stopping.lean |
2 |
1 |
['github-actions', 'vihdzp'] |
nobody |
1-68930 1 day ago |
2-26342 2 days ago |
2-25308 2 days |
| 34034 |
YanYablonovskiy author:YanYablonovskiy |
feat(Order): order types |
Adding the basic definitions around order types, the equivalence classes of linear orders under order isomorphism.
---
See draft discussion at #33420 and refactoring task #28278 .
- [x] depends on: #33663
- [x] depends on: #31889
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
262/17 |
Mathlib.lean,Mathlib/Order/Category/LinOrd.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Types/Defs.lean |
4 |
51 |
['YaelDillies', 'YanYablonovskiy', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
1-67707 1 day ago |
1-66471 1 day ago |
2-43756 2 days |
| 33964 |
JovanGerb author:JovanGerb |
feat(Order/Interval/Set): `to_dual` for `Iio`/`Iic` |
This PR tags `Iio`/`Ioi` and `Iic`/`Ici` with `to_dual`. Unfortuately we can't do this yet for `Ioc`/`Ico` and `Ioo` and `Icc`, as we need to have #32438
---
[](https://gitpod.io/from-referrer/)
|
t-order |
88/202 |
Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/Order/Interval/Set/Basic.lean |
6 |
4 |
['JovanGerb', 'github-actions', 'vihdzp'] |
nobody |
1-67463 1 day ago |
3-40657 3 days ago |
4-46402 4 days |
| 32030 |
newell author:newell |
feat(Analysis/AperiodicOrder/Delone): Delone Sets |
---
Initial definitions and lemmas for Delone Sets.
[](https://gitpod.io/from-referrer/)
|
t-analysis
large-import
|
217/7 |
Mathlib.lean,Mathlib/Analysis/AperiodicOrder/Delone/Basic.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean |
4 |
84 |
['YaelDillies', 'github-actions', 'j-loreaux', 'newell', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
1-66504 1 day ago |
1-66504 1 day ago |
11-68376 11 days |
| 34017 |
erdOne author:erdOne |
feat(AlgebraicGeometry): sections of fibered products of flat schemes |
---
[](https://gitpod.io/from-referrer/)
|
|
304/2 |
Mathlib/Algebra/Module/LinearMap/Polynomial.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
5 |
1 |
['github-actions'] |
nobody |
1-60903 1 day ago |
1-59167 1 day ago |
1-58133 1 day |
| 33965 |
gasparattila author:gasparattila |
feat(Topology/MetricSpace/Closeds): define a metric on `Compacts` |
This PR defines an `EMetricSpace` instance on `Compacts` using the Hausdorff distance, analogously with the existing metrics on `Closeds` and `NonemptyCompacts`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
32/0 |
Mathlib/Topology/MetricSpace/Closeds.lean |
1 |
3 |
['gasparattila', 'github-actions', 'urkud'] |
dagurtomas assignee:dagurtomas |
1-59593 1 day ago |
5-40679 5 days ago |
5-39645 5 days |
| 33966 |
gasparattila author:gasparattila |
feat(Topology): characterization of `LocallyConnectedSpace` in terms of `IsTopologicalBasis` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
13/0 |
Mathlib/Topology/Connected/LocallyConnected.lean |
1 |
4 |
['gasparattila', 'github-actions', 'urkud'] |
j-loreaux assignee:j-loreaux |
1-54011 1 day ago |
1-54011 1 day ago |
5-472 5 days |
| 33121 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Hasse): paths in a graph are isomorphic to path graphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
|
38/1 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
6 |
['MrQubo', 'github-actions', 'mitchell-horner'] |
b-mehta assignee:b-mehta |
1-49886 1 day ago |
25-54335 25 days ago |
30-59822 30 days |
| 29243 |
yoh-tanimoto author:yoh-tanimoto |
feat(Analysis/InnerProductSpace/Projection/Submodule): add `sup_orthogonal` for `ClosedSubmodules` |
prove that the closed submodule generated by the orthogonal complements of two submodules is the orthogonal complement of the intersection.
motivation: needed to define standard subspaces in a Hilbert space #29251
https://ems.press/content/serial-article-files/48171
- [x] depends on: #29230 for `Lattice` `CompleteLattice`
- [x] depends on: #29241 for the definition of `orthogonal` |
|
28/0 |
Mathlib/Analysis/InnerProductSpace/Projection/Basic.lean,Mathlib/Analysis/InnerProductSpace/Projection/Submodule.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-47800 1 day ago |
1-46668 1 day ago |
2-16217 2 days |
| 29235 |
yoh-tanimoto author:yoh-tanimoto |
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE |
add `ClosedSubmodule.mapEquiv` for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with `closure` and `⊔`.
motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by `Complex.I`) #29251
https://ems.press/content/serial-article-files/48171
- [x] depends on: #29230 for `Lattice` `CompleteLattice` |
t-topology |
66/1 |
Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean |
1 |
6 |
['github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'yoh-tanimoto'] |
fpvandoorn assignee:fpvandoorn |
1-47309 1 day ago |
3-80269 3 days ago |
81-72568 81 days |
| 33709 |
wangying11123 author:wangying11123 |
feat(Analysis/Convex/Between): betweenness from differences on the same ray |
Add `wbtw_of_sameRay_vsub_left`, saying that if the vectors from a point x to points y and z lie on the same ray, then y is weakly between x and z, or z is weakly between x and y. |
new-contributor
t-convex-geometry
|
24/0 |
Mathlib/Analysis/Convex/Between.lean |
1 |
8 |
['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'wangying11123'] |
nobody |
1-43059 1 day ago |
1-43059 1 day ago |
11-49089 11 days |
| 34091 |
staroperator author:staroperator |
feat(SetTheory/Cardinal): generalize infinite pigeonhole principle |
1. generalize `infinite_pigeonhole_card_lt` and `exists_infinite_fiber` only to require the domain `β` to be infinite instead of codomain `α`.
2. add `exists_uncountable_fiber` for uncountable sets.
3. fix a TODO in `le_range_of_union_finset_eq_top` (and also golf).
PS: thanks ChatGPT for providing the informal proofs.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
41/20 |
Mathlib/LinearAlgebra/Basis/Cardinality.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean |
3 |
1 |
['github-actions'] |
nobody |
1-38669 1 day ago |
1-80148 1 day ago |
1-81558 1 day |
| 31719 |
maksym-radziwill author:maksym-radziwill |
feat: Borel-Caratheodory (2nd revision) |
This proves the Borel-Caratheodory theorem, for the previous iteration see https://github.com/leanprover-community/mathlib4/pull/30424
CC: @grunweg @j-loreaux @Ruben-VandeVelde @wwylele
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
143/0 |
Mathlib.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,docs/1000.yaml |
3 |
7 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'maksym-radziwill', 'mathlib4-merge-conflict-bot'] |
nobody |
1-34340 1 day ago |
1-33503 1 day ago |
1-66688 1 day |
| 34112 |
euprunin author:euprunin |
chore: golf using `grind` and add `grind` annotations |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `Quandle.conj_swap`: 63 ms before, 35 ms after 🎉
* `Quiver.stronglyConnectedComponent_singleton_iff`: 17 ms before, 84 ms after
* `Finset.memberSubfamily_union_nonMemberSubfamily`: <10 ms before, 94 ms after
* `Finset.mem_sigmaLift`: 58 ms before, 72 ms after
* `Equiv.Perm.support_swap_mul_eq`: 41 ms before, 109 ms after
* `FirstOrder.Language.Theory.IsComplete.eq_complete_theory`: 13 ms before, 47 ms after
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
15/72 |
Mathlib/Algebra/Quandle.lean,Mathlib/Combinatorics/Quiver/ConnectedComponent.lean,Mathlib/Combinatorics/SetFamily/Compression/Down.lean,Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/Data/Multiset/AddSub.lean,Mathlib/Data/Multiset/Replicate.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/ModelTheory/Semantics.lean |
11 |
1 |
['github-actions'] |
nobody |
1-31119 1 day ago |
1-27875 1 day ago |
1-26841 1 day |
| 34111 |
themathqueen author:themathqueen |
feat(Algebra/Star/LinearMap): the convolutive intrinsic star ring on linear maps |
There is a star ring on linear maps from coalgebras to star-algebras, where the ring structure is given by [convNonUnitalNonAssocRing](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Coalgebra/Convolution.html#LinearMap.convNonUnitalNonAssocRing) and the star structure is given by [intrinsicStarAddMonoid](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Star/LinearMap.html#LinearMap.intrinsicStarAddMonoid), given that `star comul = comm ∘ₗ comul`. This is true, for example, in finite-dimensional C*-algebras under the GNS construction [PositiveLinearMap.GNS](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/CStarAlgebra/GelfandNaimarkSegal.html#PositiveLinearMap.GNS) and the adjoint coalgebra #30880.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
35/1 |
Mathlib/Algebra/Star/LinearMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
1-31112 1 day ago |
1-28799 1 day ago |
1-27765 1 day |
| 33411 |
IlPreteRosso author:IlPreteRosso |
feat(Topology/Algebra/InfiniteSum): Discrete convolution and Cauchy product APIs |
This is the first PR is a series of PRs towards the proposed API and ℓ1 Banach algebra.
Defines discrete convolution of functions `f : M → E` and `g : M → E'` over a monoid `M`
using a bilinear map `L : E →ₗ[S] E' →ₗ[S] F`:
`(f ⋆[L] g) x = ∑' (a, b) : mulFiber x, L (f a) (g b)`
where `def mulFiber (x : M) : Set (M × M) := Set.mulAntidiagonal Set.univ Set.univ x`
The major changes are (from the last review)
- Move file to new location
- Change protected to private, add irreducible attribute to `tripleFiber` (~25 lines)
- Add convolution assoc variant theorems (see RM below) (~100 lines)
- Add distribution theorems and smul/identity related lemmas (~50 lines)
- Finish part of TODO in [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html#Finset.sigmaAntidiagonalEquivProd) to match API needs. Basically restating the defs and theorems in @[to_additive]. (~50 lines)
- Also removed some less useful lemmas: some linearMap.Mul alias of bilinear version lemmas by just passing in linearMap.Mul ℕ R; remove convolution_apply, just use the definition of convolution;
RM: While `ringConvolution_assoc` (reviewed last time) is preparing for Cauchy product (Finset, see section MulAntidiagonal), the new `completeUniformRingConvolution_assoc` is for lpOneBanachAlgebra (tsum, complete space, less compatibility hypotheses needed), which is going to be another PR. |
t-analysis
new-contributor
|
868/11 |
Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean |
3 |
25 |
['IlPreteRosso', 'github-actions', 'j-loreaux', 'plp127'] |
urkud assignee:urkud |
1-28923 1 day ago |
1-26643 1 day ago |
12-82168 12 days |
| 34114 |
bilichboris author:bilichboris |
feat(Algebra/Algebra/Subalgebra): generalize iSupLift to T ≤ iSup K |
This PR generalizes `Subalgebra.iSupLift` (in `Mathlib/Algebra/Algebra/Subalgebra/Directed.lean`) by weakening the hypothesis `hT : T = iSup K` to the more flexible assumption `hT : T ≤ iSup K`.
This closes a TODO comment in the file.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
39/23 |
Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/FieldTheory/Extension.lean |
2 |
1 |
['github-actions'] |
nobody |
1-28797 1 day ago |
1-28898 1 day ago |
1-27864 1 day |
| 34103 |
yoh-tanimoto author:yoh-tanimoto |
chore(Analysis/InnerProductSpace/Orthogonal): add simp attrib, rename |
add simp attrib to `mem_orthogonal_iff` and rename various lemmas to follow the naming convention |
t-analysis |
9/4 |
Mathlib/Analysis/InnerProductSpace/Orthogonal.lean |
1 |
6 |
['github-actions', 'themathqueen', 'yoh-tanimoto'] |
nobody |
1-20950 1 day ago |
1-19944 1 day ago |
1-42847 1 day |
| 34069 |
artie2000 author:artie2000 |
feat(Algebra/Order/Algebra): algebra is ordered iff inclusion map is monotone |
* Prove that an extension of ordered semirings forms an ordered algebra iff the inclusion map is injective
* Reorganise section variables for clarity
The typeclass `PartialOrder α` in `IsOrderedModule.of_algebraMap_mono` can be generalised to `Preorder α`. This has no mathematical application and all the other lemmas are proved over a partially ordered type, so this generalisation was not made.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-order
label:t-algebra$ |
18/7 |
Mathlib/Algebra/Order/Algebra.lean |
1 |
1 |
['github-actions'] |
nobody |
1-18847 1 day ago |
1-17230 1 day ago |
1-16196 1 day |
| 34061 |
tb65536 author:tb65536 |
feat(RingTheory/IsPrimary): generalize `isPrimary_inf` to submodules |
This PR generalizes `isPrimary_inf` and `isPrimary_finset_inf` from ideals to submodules.
---
- [ ] depends on: #34060
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
39/29 |
Mathlib/RingTheory/Ideal/IsPrimary.lean,Mathlib/RingTheory/IsPrimary.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-18665 1 day ago |
1-18665 1 day ago |
1-26161 1 day |
| 33119 |
euprunin author:euprunin |
chore: golf using `grind` |
---
**Note.** Note that although this PR contains substantial golfing, some of the changes lead to slower compilation times, so there is a clear trade-off to consider. Reviewer input is welcome.
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `prime_pow_iff`: 14 ms before, 62 ms after
* `Turing.BlankRel.trans`: <10 ms before, 126 ms after
* `Finset.eq_singleton_iff_nonempty_unique_mem`: <10 ms before, 56 ms after
* `Orientation.inner_eq_zero_iff_eq_zero_or_eq_smul_rotation_pi_div_two`: 90 ms before, 55 ms after 🎉
* `Equiv.swap_bijOn_self`: 11 ms before, 83 ms after
* `Equiv.swap_bijOn_exchange`: <10 ms before, 100 ms after
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
5/47 |
Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Computability/Tape.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean,Mathlib/Logic/Equiv/Set.lean |
4 |
12 |
['JovanGerb', 'euprunin', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
1-17971 1 day ago |
1-23092 1 day ago |
3-44538 3 days |
| 34046 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Splits): add `Splits.image_rootSet_of_monic` |
This PR adds a new lemma `Splits.image_rootSet_of_monic` as well as extracting some commonly used variables to the top of the section. I also took the liberty of removing the `IsSimpleRing R` assumption from `Splits.aeval_eq_prod_aroots_of_monic`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
27/10 |
Mathlib/Algebra/Polynomial/Splits.lean |
1 |
2 |
['erdOne', 'github-actions'] |
nobody |
1-17028 1 day ago |
1-17028 1 day ago |
2-49169 2 days |
| 34101 |
chrisflav author:chrisflav |
feat(AlgebraicGeometry): morphisms of finite type induce essentially of finite type stalk maps |
---
Is the import increase fine? If not, I can make a new file `RingHom.EssFiniteType`
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
101/11 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/FiniteType.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/EssentialFiniteness.lean,Mathlib/RingTheory/RingHom/EssFiniteType.lean |
5 |
2 |
['erdOne', 'github-actions'] |
nobody |
1-15435 1 day ago |
1-16885 1 day ago |
1-42894 1 day |
| 34118 |
tb65536 author:tb65536 |
refactor(RingTheory/Ideal/AssociatedPrime/Basic): switch definition over to `colon` |
This PR switches the definition of `AssociatedPrime` over to `colon`. One advantage of this is that it gives a generalization to `CommSemiring`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
59/53 |
Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/Regular/Depth.lean |
4 |
1 |
['github-actions'] |
nobody |
1-11996 1 day ago |
1-11996 1 day ago |
1-10962 1 day |
| 33780 |
ooovi author:ooovi |
feat(Geometry/Convex/Cone): lineality space of pointed cones |
Define the lineality space `PointedCone.lineal` as the submodule `C ⊓ -C`. Prove that it is the largest submodule of the cone, which is sometimes used as an alternative definition.
Co-authored-by: Martin Winter
---
dependency of #33664
- [x] depends on #33761
- [ ] depends on #33942
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry |
178/1 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Support.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
4 |
11 |
['artie2000', 'eric-wieser', 'github-actions', 'martinwintermath', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
1-11992 1 day ago |
1-11078 1 day ago |
7-82211 7 days |
| 33917 |
tb65536 author:tb65536 |
feat(Algebra/Module/LocalizedModule/Submodule): add `inf` and `sup` API |
This PR adds some more API for `localized₀` and `localized'`. In particular, we show that localization of submodule distributes over finite intersections and arbitrary unions.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
58/1 |
Mathlib/Algebra/Module/LocalizedModule/Submodule.lean |
1 |
2 |
['erdOne', 'github-actions'] |
mariainesdff assignee:mariainesdff |
1-11831 1 day ago |
1-11831 1 day ago |
6-26962 6 days |
| 34092 |
staroperator author:staroperator |
feat(SetTheory/ZFC): properties of `ZFSet.omega` |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
large-import
|
67/8 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Cardinal.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean |
4 |
5 |
['github-actions', 'staroperator', 'vihdzp'] |
nobody |
1-10529 1 day ago |
1-9685 1 day ago |
1-75897 1 day |
| 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
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
3 |
['JovanGerb', 'github-actions'] |
JovanGerb assignee:JovanGerb |
1-9789 1 day ago |
5-41146 5 days ago |
10-44364 10 days |
| 34109 |
metakunt author:metakunt |
feat(NumberTheory/FactorizationProperties): Infinite abundant numbers, then golf |
|
t-number-theory |
67/30 |
Mathlib/NumberTheory/FactorisationProperties.lean |
1 |
5 |
['github-actions', 'metakunt'] |
nobody |
1-9705 1 day ago |
1-8850 1 day ago |
1-36641 1 day |
| 32278 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): excenters on sides of faces |
Add lemmas about when an excenter of a simplex is on the same / opposite side of a face of that simplex (opposite a vertex) as that vertex.
---
- [ ] depends on: #31205
- [ ] depends on: #32273
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
107/0 |
Mathlib/Geometry/Euclidean/Incenter.lean |
1 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
1-7310 1 day ago |
4-55526 4 days ago |
4-59507 4 days |
| 33416 |
vihdzp author:vihdzp |
chore(Order/GameAdd): add `elab_as_elim` attributes |
This PR does three things:
- Rename `GameAdd.fix` to the more illustrative `GameAdd.recursion`
- Add `elab_as_elim` attributes on `GameAdd.recursion`
- Deprecate the duplicate `GameAdd.induction`
---
[](https://gitpod.io/from-referrer/)
|
t-order |
24/14 |
Mathlib/Order/GameAdd.lean,Mathlib/SetTheory/PGame/Order.lean,Mathlib/SetTheory/ZFC/Ordinal.lean |
3 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
1-7305 1 day ago |
20-4448 20 days ago |
20-3414 20 days |
| 33819 |
bjornsolheim author:bjornsolheim |
feat(Analysis/Convex): diameter of a standard simplex |
diameter of a standard simplex
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
48/0 |
Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Topology/MetricSpace/Pseudo/Pi.lean |
2 |
8 |
['bjornsolheim', 'github-actions', 'j-loreaux', 'themathqueen'] |
ADedecker assignee:ADedecker |
1-7304 1 day ago |
5-3828 5 days ago |
8-21127 8 days |
| 33901 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/Span): add inter/union/sInf/sSup lemmas for Submodule.span |
This PR adds theorems about the interaction of `Submodule.span` with the lattice operations:
* `inter`, `sInf` and `biInter` lemmas for `Submodule.span`
* `union`, `sSup` and `biUnion` lemmas for `Submodule.span`
It also adds `@[simp]` to `span_union`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
25/0 |
Mathlib/LinearAlgebra/Span/Defs.lean |
1 |
3 |
['github-actions', 'themathqueen'] |
kim-em assignee:kim-em |
1-7303 1 day ago |
6-39467 6 days ago |
6-38433 6 days |
| 33930 |
chrisflav author:chrisflav |
feat(AlgebraicGeometry): gluing colimits in `P.Over ⊤ S` |
Let `D : J ⥤ P.Over ⊤ S` be a diagram and `𝒰` a locally directed open cover of `S`
(e.g., the cover of all affine opens of `S`). Suppose the restrictions
of `D` to `Dᵢ : J ⥤ P.Over ⊤ (𝒰.X i)` have a colimit for every `i`, then we show
that also `D` has a colimit under suitable assumptions.
This can be used to reduce existence of certain colimits in `P.Over ⊤ S` to the case where
`S` is affine.
From Pi1.
---
- [x] depends on: #33898
- [x] depends on: #33932
- [x] depends on: #33931
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
329/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/AlgebraicGeometry/RelativeGluing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
1-7301 1 day ago |
4-27219 4 days ago |
4-26185 4 days |
| 33980 |
martinwintermath author:martinwintermath |
feat(RingTheory/Finiteness/Basic): add lemmas for restricting scalars |
This PR adds three lemmas that transfer `Submodule.FG` across restricting scalars from a semiring `A` to a semiring `R` under the assumption `Module.Finite R A` . This includes
* `fg_restrictScalars` which proves that `restrictScalars` preserves `FG`
* `fg_restrictScalars_iff` as the iff version of the above
* `span_submodule_fg_of_fg` which proves that the `A`-span of an `FG` `R`-submodule is `FG`.
The PR also contains the following changes to related lemmas:
* renaming `fg_restrictScalars` to `fg_restrictScalars_of_surjective` emphasizing the hypothesis `Function.Surjective (algebraMap R A)`
* adding a `sections RestrictScalars` that also contains the above lemma
* restructuring variables in the above section
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
39/9 |
Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean |
2 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
1-7299 1 day ago |
4-58522 4 days ago |
5-6863 5 days |
| 33984 |
erdOne author:erdOne |
feat(AlgebraicGeometry): quasi-finite morphisms |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
107/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean |
2 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
1-7298 1 day ago |
5-5480 5 days ago |
5-4446 5 days |
| 33986 |
martinwintermath author:martinwintermath |
feat(Order/ModularLattice): add lemmas to construct IsCompl from Disjoint/Codisjoint on complemented modular lattices |
This PR adds two lemmas to construct `IsCompl` from `Disjoint`/`Codisjoint` on a complemented modular lattices:
* `Disjoint.exists_isCompl` enlarges one element of a disjoint pair to obtain a complementary pair.
* `Codisjoint.exists_isCompl` shrinks one element of a codisjoint pair to obtain a complementary pair.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
17/0 |
Mathlib/Order/ModularLattice.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
1-7297 1 day ago |
4-54939 4 days ago |
4-84287 4 days |
| 34013 |
euprunin author:euprunin |
chore: golf with `grind` to reduce explicit lemma references |
---
The goal of this golfing PR is to decrease the number of times lemmas are called explicitly (replacing calls to lemmas with calls to tactics). Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (shown if ≥10 ms before or after):
* `comp_mul_left`: <10 ms before, <10 ms after 🎉
* `comp_mul_right`: <10 ms before, <10 ms after 🎉
* `mul_left_comm`: <10 ms before, <10 ms after 🎉
* `mul_right_comm`: <10 ms before, <10 ms after 🎉
* `mul_mul_mul_comm`: <10 ms before, <10 ms after 🎉
* `mul_rotate`: <10 ms before, <10 ms after 🎉
* `mul_rotate'`: <10 ms before, <10 ms after 🎉
* `pow_eq_pow_mod`: <10 ms before, <10 ms after 🎉
* `List.concat_eq_reverse_cons`: <10 ms before, <10 ms after 🎉
* `Prod.mk_right_injective`: <10 ms before, <10 ms after 🎉
* `Prod.mk_left_injective`: <10 ms before, <10 ms after 🎉
* `Set.not_subset`: <10 ms before, <10 ms after 🎉
* `Set.mem_dite_univ_right`: <10 ms before, <10 ms after 🎉
* `forall_existsUnique_iff'`: 13 ms before, 13 ms after 🎉
* `min_ne_bot`: 18 ms before, 13 ms after 🎉
This golfing PR is batched under the following guidelines:
* Up to ~5 changed files per PR
* Up to ~25 changed declarations per PR
* Up to ~100 changed lines per PR
---
[](https://gitpod.io/from-referrer/)
|
|
16/18 |
Mathlib/Algebra/Group/Basic.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean |
5 |
1 |
['github-actions', 'metakunt'] |
sgouezel assignee:sgouezel |
1-7296 1 day ago |
4-19810 4 days ago |
4-18776 4 days |
| 34015 |
erdOne author:erdOne |
feat(AlgebraicGeometry): category of schemes affine over a base |
---
[](https://gitpod.io/from-referrer/)
|
|
554/2 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AffineOver.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean |
8 |
1 |
['github-actions'] |
sgouezel assignee:sgouezel |
1-7293 1 day ago |
4-16037 4 days ago |
4-15003 4 days |
| 34016 |
Citronhat author:Citronhat |
feat(WithTop): add WithTop.add_lt_add and reuse in ENNReal |
- resolve TODO: add `WithTop.add_lt_add and` use it for `ENNReal.add_lt_add`
- resolve TODO: replace `addLECancellable_iff_ne` proof with `WithTop.addLECancellable_iff_ne_top` |
new-contributor |
12/16 |
Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
2 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
1-7292 1 day ago |
4-14333 4 days ago |
4-13299 4 days |
| 34020 |
erdOne author:erdOne |
feat(AlgebraicGeometry): `FinitaryExtensive Scheme` |
---
[](https://gitpod.io/from-referrer/)
|
|
42/10 |
Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/CategoryTheory/Extensive.lean |
2 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
1-7290 1 day ago |
4-11301 4 days ago |
4-10267 4 days |
| 33021 |
farmanb author:farmanb |
feat(RingTheory/IdealFilter): add ideal filters and Gabriel filters |
This PR introduces ideal filters on a ring and the notion of a Gabriel filter.
Main additions:
* `IdealFilter A`: filters on the lattice of ideals of a ring `A`
* `IsUniform`: the uniformity (T1–T3) condition
* `gabrielComposition` and notation `•`
* `IsGabriel`: Gabriel filters (axiom T4)
* A characterization `IsGabriel ↔ IsUniform ∧ F • F = F`
This is preparatory infrastructure for future work relating Gabriel filters to Giraud subcategories.
This development is motivated by Theorem 10.2 in Bo Stenström, *Rings and Modules of Quotients*, which identifies equivalence classes of Giraud subcategories with linear (Gabriel) topologies on a ring.
The present PR provides the ring-theoretic filter infrastructure needed for that result.
---
- [ ] depends on: #33390
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
220/0 |
Mathlib.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,docs/references.bib |
3 |
54 |
['erdOne', 'farmanb', 'github-actions', 'mathlib4-dependent-issues-bot'] |
mattrobball assignee:mattrobball |
1-5988 1 day ago |
1-4872 1 day ago |
14-16630 14 days |
| 33821 |
JohnnyTeutonic author:JohnnyTeutonic |
feat(LinearAlgebra/Matrix/Hermitian): add IsSkewHermitian predicate |
Adds `IsSkewHermitian` predicate for matrices satisfying Aᴴ = -A.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
70/0 |
Mathlib/LinearAlgebra/Matrix/Hermitian.lean |
1 |
15 |
['JohnnyTeutonic', 'github-actions', 'themathqueen'] |
nobody |
1-3411 1 day ago |
1-2316 1 day ago |
3-81590 3 days |
| 29942 |
smmercuri author:smmercuri |
feat(InfinitePlace/Completion): embeddings of `w.Completion` factor through embeddings of `v.Completion` when `w` extends `v` |
If `w : InfinitePlace L` and `v : InfinitePlace K` are such that we have `Algebra v.Completion w.Completion`, then `extensionEmbedding w : L →+* ℂ` factors through `extensionEmbedding v : K →+* ℂ` (provided the completion algebras are well behaved with respect to the base algebra `Algebra K L`).
---
- [x] depends on: #27978
- [x] depends on: #29969
- [x] depends on: #29944
[](https://gitpod.io/from-referrer/)
|
FLT
t-number-theory
|
102/15 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Embeddings.lean,Mathlib/Topology/MetricSpace/Completion.lean |
4 |
6 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-2042 1 day ago |
5-24521 5 days ago |
52-12242 52 days |
| 34100 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): more `smulLeftCLM` lemmas for tempered distributions |
Corresponding to the addition of `smulLeftCLM` lemmas for `SchwartzMap`, we add the same kind of lemmas for
tempered distributions.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
33/3 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
2 |
1 |
['github-actions'] |
nobody |
1-1513 1 day ago |
1-361 23 hours ago |
0-85727 23 hours |
| 34094 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Sheaves): use `abbrev` for `Presheaf`, `IsSheaf`, and 'Sheaf' |
Changing `TopCat.Presheaf`, `TopCat.Presheaf.IsSheaf`, and 'TopCat.Sheaf' from defs to abbrevs.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
3/4 |
Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/Sheaf.lean |
2 |
3 |
['github-actions', 'leanprover-radar', 'robin-carlier'] |
nobody |
0-80762 22 hours ago |
0-79925 21 hours ago |
1-76408 1 day |
| 33539 |
BryceT233 author:BryceT233 |
feat(RingTheory/MvPolynomial): powers of ideal of variables |
1. Added a new file `Mathlib/Algebra/Group/Pointwise/Set/Finsupp.lean` for results about pointwise operations on sets and finitely supported functions
2. Provided more APIs for `MvPolynomial.restrictSupport` and defined `restrictSupportIdeal` to be the ideal determined by `restrictSupport R s` when `s` is an upper set
3. Defined `MvPolynomial.idealOfVars` to be the ideal spanned by all variables in `MvPolynomial` and provided results about its powers
4. Provided some helper results while golfing
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-ring-theory
new-contributor
|
250/2 |
Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finsupp.lean,Mathlib/Algebra/Group/TypeTags/Pointwise.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean |
7 |
20 |
['BryceT233', 'erdOne', 'github-actions', 'vihdzp'] |
erdOne assignee:erdOne |
0-70549 19 hours ago |
0-67920 18 hours ago |
6-77911 6 days |
| 33188 |
BryceT233 author:BryceT233 |
feat: MvPowerSeries.rename |
This file establishes the `rename` operation on multivariate power series under an embedding,
which modifies the set of variables.
This file is patterned after `MvPolynomials/Rename.lean`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
large-import
|
305/1 |
Mathlib.lean,Mathlib/Data/Finsupp/Antidiagonal.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean |
6 |
8 |
['BryceT233', 'Komyyy', 'erdOne', 'github-actions'] |
erdOne assignee:erdOne |
0-68510 19 hours ago |
0-68161 18 hours ago |
5-59319 5 days |
| 33636 |
mcdoll author:mcdoll |
feat(Analysis/Distribution): the Laplacian on Schwartz functions |
We introduce a notation type-class for the Laplacian, change the definition of `InnerProductSpace.laplacian` to `Laplacian.laplacian` and define the Laplacian using the sum of second derivatives on Schwartz functions.
We define an abstract Laplacian for any space with `LineDeriv` in order to avoid duplication for other function spaces (in particular, this will be reused for the tempered distribution Laplacian).
---
- [x] depends on: #34027
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
|
310/34 |
Mathlib/Analysis/Distribution/DerivNotation.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Deriv.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean |
5 |
19 |
['github-actions', 'j-loreaux', 'mathlib4-dependent-issues-bot', 'mcdoll', 'sgouezel'] |
urkud assignee:urkud |
0-62472 17 hours ago |
0-61531 16 hours ago |
6-75968 6 days |
| 33744 |
bilichboris author:bilichboris |
feat(RingTheory): Class Group of a Unique Factorization Domain is trivial |
Add a theorem that the class group of a unique factorization domain is trivial.
Together with the PR relating `ClassGroup` to `PicardGroup`, this will close a TODO in `Mathlib.RingTheory.PicardGroup` that the Picard Group of a UFD is trivial.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
155/1 |
Mathlib.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean |
5 |
50 |
['alreadydone', 'bilichboris', 'erdOne', 'github-actions', 'jcommelin', 'kim-em', 'tb65536', 'vlad902'] |
erdOne assignee:erdOne |
0-60237 16 hours ago |
0-59227 16 hours ago |
9-11152 9 days |
| 33336 |
fbarroero author:fbarroero |
feat(NumberTheory/MahlerMeasure): Kronecker's Theorem for the Mahler Measure |
This PR adds Kronecker's Theorem for the Mahler Measure, which characterizes integer polynomials with Mahler measure equal to 1.
Main result
```
Polynomial.pow_eq_one_of_mahlerMeasure_eq_one {p : ℤ[X]} (h : (map (castRingHom ℂ) p).mahlerMeasure = 1)
{z : ℂ} (hz₀ : z ≠ 0) (hz : z ∈ p.aroots ℂ) : ∃ n, 0 < n ∧ z ^ n = 1
```
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory |
126/9 |
Mathlib/Algebra/Order/BigOperators/Ring/Multiset.lean,Mathlib/NumberTheory/MahlerMeasure.lean |
2 |
27 |
['MichaelStollBayreuth', 'copilot-pull-request-reviewer', 'fbarroero', 'github-actions', 'mathlib4-merge-conflict-bot'] |
tb65536 assignee:tb65536 |
0-53474 14 hours ago |
1-14451 1 day ago |
12-25881 12 days |
| 33274 |
YuvalFilmus author:YuvalFilmus |
feat(LinearAlgebra/Lagrange): Formula for iterated derivative of a polynomial using Lagrange interpolation |
We give a formula for the iterated derivative of a polynomial at a point using Lagrange interpolation.
This will be used to prove that Chebyshev polynomials maximize iterated derivatives at points x≥1.
---
- [x] depends on: #33161
- [x] depends on: #33193
- [ ] depends on: #33194
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
65/0 |
Mathlib/LinearAlgebra/Lagrange.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
0-53217 14 hours ago |
4-40988 4 days ago |
4-39954 4 days |
| 31121 |
jessealama author:jessealama |
feat: add ComplexShape.EulerCharSigns for generalized Euler characteristic |
Add `ComplexShape.EulerCharSigns` typeclass providing the alternating signs `χ : ι → ℤˣ` for Euler characteristic computations. Instances are provided for `up ℕ`, `down ℕ`, `up ℤ`, and `down ℤ`.
The Euler characteristic definitions (`eulerChar` and `eulerCharTsum`) are defined on `GradedObject` with `ComplexShape` as an explicit parameter. The `HomologicalComplex` versions are abbreviations that apply these to `C.X` and `C.homology`. Both finite and infinite sum versions are provided.
Split from #29713 as suggested by @joelriou. |
t-algebra
t-category-theory
label:t-algebra$ |
206/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Algebra/Homology/EulerCharacteristic.lean,Mathlib/Algebra/Notation/Support.lean |
4 |
15 |
['github-actions', 'jessealama', 'joelriou', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
mattrobball assignee:mattrobball |
0-43879 12 hours ago |
0-43879 11 hours ago |
29-796 29 days |
| 33797 |
SnirBroshi author:SnirBroshi |
chore(Order/Defs/Unbundled): deprecate `IsTotal` in favor of core's `Std.Total` |
---
[Mathlib's `IsTotal`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Defs/Unbundled.html#IsTotal)
[Core's `Std.Total`](https://leanprover-community.github.io/mathlib4_docs/Init/Core.html#Std.Total)
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Relation.20properties.20duplication/near/544638270)
[](https://gitpod.io/from-referrer/)
|
t-order |
124/107 |
Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Ordmap/Invariants.lean,Mathlib/Data/Ordmap/Ordset.lean,Mathlib/Data/Prod/Basic.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Sigma/Lex.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Comparable.lean,Mathlib/Order/Compare.lean,Mathlib/Order/Defs/Unbundled.lean,Mathlib/Order/Directed.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/Order/UpperLower/CompleteLattice.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean,Mathlib/Topology/Semicontinuity/Basic.lean |
33 |
14 |
['SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot', 'urkud', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
0-37581 10 hours ago |
0-33056 8 hours ago |
8-34688 8 days |
| 34123 |
staroperator author:staroperator |
feat(Data/Set/Finite): finite distributivity for complete distributive lattices |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
52/0 |
Mathlib/Data/Set/Finite/Lattice.lean |
1 |
11 |
['github-actions', 'plp127', 'staroperator'] |
nobody |
0-28870 8 hours ago |
0-26177 6 hours ago |
0-47984 13 hours |
| 34095 |
IlPreteRosso author:IlPreteRosso |
feat(Data/Finsupp/Single): generalize single_eq_set_indicator |
Generalize `Finsupp.single_eq_set_indicator` to arbitrary functions, with the old statement available as `single_eq_set_indicator'`:
```lean
theorem single_eq_set_indicator (a : α) (f : α → M) :
⇑(single a (f a)) = Set.indicator {a} f
|
t-data
easy
new-contributor
|
9/2 |
Mathlib/Data/Finsupp/Single.lean |
1 |
3 |
['github-actions', 'jcommelin'] |
nobody |
0-27395 7 hours ago |
0-30219 8 hours ago |
1-41429 1 day |
| 33656 |
metakunt author:metakunt |
feat(Data/Nat/Choose): Add sum_range_multichoose |
|
maintainer-merge
t-data
|
6/0 |
Mathlib/Data/Nat/Choose/Sum.lean |
1 |
14 |
['b-mehta', 'eric-wieser', 'github-actions', 'joneugster', 'metakunt'] |
nobody |
0-25797 7 hours ago |
0-58768 16 hours ago |
13-58811 13 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 |
| 32552 |
ksenono author:ksenono |
feat(SetTheory/Cardinal): helpers for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
new-contributor
|
70/0 |
Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
2 |
33 |
['SnirBroshi', 'b-mehta', 'github-actions', 'ksenono', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
36-77854 1 month ago |
37-12862 37 days ago |
42-54521 42 days |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
127/1 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean |
2 |
8 |
['SnirBroshi', 'github-actions', 'ksenono'] |
awainverse assignee:awainverse |
32-82375 1 month ago |
32-81448 32 days ago |
43-18338 43 days |
| 32570 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): bipartite subgraphs and vertex-disjoint graphs for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
22/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
10 |
['SnirBroshi', 'github-actions'] |
kmill assignee:kmill |
32-81915 1 month ago |
32-81007 32 days ago |
42-80053 42 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
maintainer-merge
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
63 |
['YaelDillies', 'ctchou', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
YaelDillies assignee:YaelDillies |
31-15291 1 month ago |
31-14335 31 days ago |
49-73505 49 days |
| 32826 |
felixpernegger author:felixpernegger |
feat(Data/Tuple/Sort): Permutation is monotone iff its the identity |
Sort of permutation is its inverse + Permutation is monotone iff its the identity |
t-data
new-contributor
|
19/0 |
Mathlib/Data/Fin/Tuple/Sort.lean |
1 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
31-7337 1 month ago |
35-51584 35 days ago |
37-83188 37 days |
| 32910 |
felixpernegger author:felixpernegger |
feat(Data/Nat/Choose): two binomial coefficient sum identities |
This PR proves two well-known sum identities around binomial coefficients.
While there are probably hundreds of such identities, these two seem to be well known enough to be in mathlib (i.e. are mentioned in the Wikipedia [article](https://en.wikipedia.org/wiki/Binomial_coefficient#math_8) about binomial coefficients). |
new-contributor
t-data
|
31/0 |
Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean |
2 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
30-7307 30 days ago |
35-41126 35 days ago |
35-40092 35 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.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
531/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Partition/EulerComb.lean |
2 |
5 |
['chiyunhsu', 'github-actions', 'tb65536', 'vihdzp'] |
b-mehta assignee:b-mehta |
28-7326 28 days ago |
32-65482 32 days ago |
32-64448 32 days |
| 33109 |
felixpernegger author:felixpernegger |
feat(Data/Nat/Choose): Binomial inversion |
This PR adds binomial inversion (also called binomial transform), which is a useful method for proving binomial identities.
It is tricky to find direct references to binomial inversion, but for example [this](https://en.wikipedia.org/wiki/Binomial_transform#Binomial_convolution) Wikipedia article mentions it ("The formula").
The first theorem ```alternating_sum_choose_mul_of_alternating_sum_choose_mul``` could be refined (we only need the hypothesis ```h``` up to some point), but this seems to needlessly complicate it. |
new-contributor |
107/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Inversion.lean |
2 |
4 |
['felixpernegger', 'github-actions', 'wwylele'] |
dagurtomas assignee:dagurtomas |
28-7316 28 days ago |
30-38337 30 days ago |
30-65644 30 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
label:t-algebra$ |
17/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
18 |
['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
25-69099 25 days ago |
25-67938 25 days ago |
51-56534 51 days |
| 33280 |
michelsol author:michelsol |
feat(MeasureTheory/Integral/IntervalIntegral): add variant `integral_deriv_eq_sub_uIoo` of 2nd theorem of calculus. |
Add a continuous on uIcc, differentiable on uIoo, deriv version of the 2nd fundamental theorem of calculus.
This corresponds to what is written [here](https://en.wikipedia.org/wiki/Fundamental_theorem_of_calculus#Second_part).
For example it makes it easier to compute the integral :
```lean4
∫ x : ℝ in 0..1, (√(1 - x ^ 2))⁻¹ = ∫ x : ℝ in 0..1, deriv arcsin x = arcsin 1 - arcsin 0
```
It is not possible to use [`interval_deriv_eq_sub`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.html#intervalIntegral.integral_deriv_eq_sub) which requires differentiability on all of [0,1], as `arcsin` isn't differentiable at 1.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
14/0 |
Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
1 |
1 |
['github-actions'] |
EtienneC30 assignee:EtienneC30 |
22-7308 22 days ago |
25-31953 25 days ago |
25-30919 25 days |
| 30962 |
WangYiran01 author:WangYiran01 |
feat(Combinatorics/Enumerative): add lattice path lemmas and counts |
This PR adds definitions and theorems about monotone lattice paths:
- Defines `pathCount`, `pathCountFrom`, `SubdiagProp`, and related structures.
- Proves closed forms such as `pathCount_eq_closed`.
- Adds Dyck/ballot subdiagonal property (`SubdiagProp`).
All code builds successfully with `lake build`. |
t-combinatorics
new-contributor
|
76/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/RecLatticePath.lean |
2 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
21-59585 21 days ago |
21-58762 21 days ago |
41-3947 41 days |
| 33520 |
NoneMore author:NoneMore |
feat(ModelTheory/ElementarySubstructures): add a variant of Tarski-Vaught test taking sets as input |
There should exist an `ElementarySubstructure.copy` such that we can directly bundle the set itself instaed of its closure as an elementary substructure.
The other direction depends on #33458.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
63/0 |
Mathlib/ModelTheory/ElementarySubstructures.lean |
1 |
1 |
['github-actions'] |
nobody |
16-44519 16 days ago |
16-55922 16 days ago |
16-54888 16 days |
| 33458 |
NoneMore author:NoneMore |
feat(ModelTheory): add lifting for embeddings to languages with constants |
Prepare for a generalized Tarski-Vaught test with a set as input instead of a substructure.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
46/0 |
Mathlib/ModelTheory/ElementaryMaps.lean,Mathlib/ModelTheory/LanguageMap.lean |
2 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
14-7319 14 days ago |
17-64371 17 days ago |
17-63337 17 days |
| 28708 |
sjh227 author:sjh227 |
feat(LinearAlgebra): define row- and column-stochastic matrices |
This PR defines row- and column-stochastic matrices, and relates them to doubly stochastic matrices (which are already in mathlib).
---
|
t-data
new-contributor
|
255/6 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/Analysis/Convex/DoublyStochasticMatrix.lean,Mathlib/LinearAlgebra/Matrix/Stochastic.lean |
4 |
29 |
['dupuisf', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'sjh227'] |
pechersky assignee:pechersky |
12-7330 12 days ago |
15-19581 15 days ago |
15-30052 15 days |
| 33359 |
sun123zxy author:sun123zxy |
feat(Algebra/Module/SpanRank): add comparing lemmas for span rank |
---
Split from PR #33247
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
55/6 |
Mathlib/Algebra/Module/SpanRank.lean |
1 |
9 |
['erdOne', 'eric-wieser', 'github-actions', 'sun123zxy'] |
eric-wieser assignee:eric-wieser |
11-34589 11 days ago |
11-34589 11 days ago |
17-30340 17 days |
| 33214 |
JJYYY-JJY author:JJYYY-JJY |
chore(Data/List/Rotate): add simp attributes |
* Refs #7987 (SC: Data/List/Rotate)
* Add `@[simp]` to: `rotate_mod`, `rotate'_nil`, `rotate'_rotate'`, `rotate'_mod`, `rotate_rotate`, `getElem?_rotate`, `getElem_rotate`, `head?_rotate`, `map_rotate`.
* Verification: `lake build Mathlib.Data.List.Rotate`. |
t-data
new-contributor
|
7/0 |
Mathlib/Data/List/Rotate.lean |
1 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
11-7320 11 days ago |
27-72410 27 days ago |
27-71376 27 days |
| 28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`.
Summary of additions:
- **Full shift and shift action**
- `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type).
- Right shift `shift g x` with convention `(shift g x) h = x (h * g)`.
- **Cylinders and topology**
- `cylinder U x : Set (G → A)` for finite `U : Finset G`.
- Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed.
- Equality with dependent products:
`cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API.
- **Patterns, occurrences, and subshifts**
- `Pattern A G` with finite `support : Finset G` and `data : support → A`.
- `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law.
- `forbids F` and `Subshift A G` (closed, shift-invariant subsets).
- `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness.
- **Language on finite shapes and counting**
- `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`.
- **Entropy along a shape sequence**
- `limsupAtTop` (as an `sInf` of eventual upper bounds).
- `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)`
for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`).
- **Specializations**
- `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`.
- `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`.
Mathematical remarks:
- The API is **shape-parametric**: entropy is defined along user-provided finite shapes.
- On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss).
This PR does not assume amenability; the family of shapes is an explicit input.
Motivation:
Provide a clean, reusable base for symbolic dynamics on groups in mathlib.
Future work:
- Add a Følner predicate and prove shape-independence / limit existence on amenable groups.
- Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors).
- Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch).
|
t-dynamics
new-contributor
|
757/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
3 |
157 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
11-883 11 days ago |
10-83785 10 days ago |
86-20419 86 days |
| 32744 |
NoneMore author:NoneMore |
feat(ModelTheory/Definablity): add `DefinableFun` definition and lemmas |
This PR adds two basic shapes of definable sets and `DefinableFun` definition with relevant lemmas.
The main result is `Set.Definable.preimage_of_map` asserting that the preimage of a definable set under a definable map is definable.
There are also some tool lemmas derived by the preimage lemma.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
147/0 |
Mathlib/ModelTheory/Definability.lean |
1 |
59 |
['NoneMore', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
10-72965 10 days ago |
10-71444 10 days ago |
38-13042 38 days |
| 32856 |
stepan2698-cpu author:stepan2698-cpu |
feat: definition of an irreducible representation |
Define irreducible monoid representations over a field and prove that a monoid representation is irreducible iff the corresponding module over the monoid algebra is simple. |
t-algebra
new-contributor
label:t-algebra$ |
129/10 |
Mathlib.lean,Mathlib/RepresentationTheory/Irreducible.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
3 |
23 |
['Whysoserioushah', 'erdOne', 'github-actions', 'stepan2698-cpu'] |
kim-em assignee:kim-em |
10-27852 10 days ago |
10-27004 10 days ago |
35-24312 35 days |
| 33662 |
Pjotr5 author:Pjotr5 |
feat(Algebra/Order/BigOperators/Expect): add lemmas and strict variants |
### Summary
- Combine `le_expect_nonempty_of_subadditive` and `le_expect_of_subadditive` into a single lemma `le_expect_of_subadditive`.
The extra assumptions `(hs : s.Nonempty)` and `(h_zero : m 0 = 0)` are unnecessary (since `m 0 = 0` follows from `h_div`).
This requires a small downstream update to `Mathlib/Analysis/RCLike/Basic.lean` (`norm_expect_le`).
- Add strict-inequality variants:
`expect_lt_expect`, `expect_lt`, `lt_expect`.
- Add existence lemmas:
`exists_le_of_expect_le_expect`, `exists_le_of_le_expect`, `exists_le_of_expect_le`,
and `exists_lt_of_expect_lt_expect`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
46/16 |
Mathlib/Algebra/Order/BigOperators/Expect.lean,Mathlib/Analysis/RCLike/Basic.lean |
2 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
10-7322 10 days ago |
13-59757 13 days ago |
13-59643 13 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
|
14/5 |
Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
1 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
10-7321 10 days ago |
13-11627 13 days ago |
13-42271 13 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
|
21/0 |
Mathlib/Probability/Distributions/Poisson.lean |
1 |
2 |
['Citronhat', 'github-actions'] |
urkud assignee:urkud |
10-7318 10 days ago |
12-17632 12 days ago |
13-12087 13 days |
| 33714 |
idontgetoutmuch author:idontgetoutmuch |
Riemannian metrics exist II |
Supersedes https://github.com/leanprover-community/mathlib4/pull/33519
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
1269/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetricTangentSpace.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
3 |
3 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
PatrickMassot assignee:PatrickMassot |
8-7319 8 days ago |
11-61660 11 days ago |
11-60626 11 days |
| 33753 |
SnO2WMaN author:SnO2WMaN |
doc(1000.yaml): Mention Tarski's Undefinability Theorem in FFL |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
3/0 |
docs/1000.yaml |
1 |
3 |
['SnO2WMaN', 'SnirBroshi', 'github-actions'] |
mariainesdff assignee:mariainesdff |
8-7314 8 days ago |
9-60876 9 days ago |
11-50324 11 days |
| 33774 |
SnO2WMaN author:SnO2WMaN |
doc(100.yaml, 1000.yaml): Update about Gödel's Incompleteness Theorem |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
4/4 |
docs/100.yaml,docs/1000.yaml |
2 |
2 |
['github-actions'] |
thorimur assignee:thorimur |
8-7308 8 days ago |
9-61094 9 days ago |
9-60060 9 days |
| 33786 |
hdmkindom author:hdmkindom |
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions |
This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n ℝ → Matrix p q ℝ`.
The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances.
mkdir Analysis/Matrix/Jacobian.lean
## Main definitions
- `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k`
## Main theorems
- `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian
- `jacobianMatrix_comp`: Chain rule for Jacobian matrices
- `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties
- `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties
|
t-analysis
new-contributor
|
219/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean |
2 |
1 |
['github-actions'] |
ADedecker assignee:ADedecker |
7-7322 7 days ago |
10-41997 10 days ago |
10-71701 10 days |
| 33118 |
thomaskwaring author:thomaskwaring |
feat(Combinatorics/SimpleGraph/Acyclic): every graph has a spanning forest. |
We show that every graph has a spanning forest: defined to be an acyclic subgraph with the same reachability relation as the larger graph. As a special case, every connected graph has a spanning tree.
---
Each of these results (spanning forest & spanning tree) are proved in two versions: a general case where the forest / tree is found by extending a given acyclic subgraph, and the special case where that subgraph is empty.
- [ ] depends on: #32043 |
new-contributor
t-combinatorics
|
29/5 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'thomaskwaring', 'vlad902'] |
b-mehta assignee:b-mehta |
6-7303 6 days ago |
16-4006 16 days ago |
16-75547 16 days |
| 33431 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simplegraphs 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
|
185/1 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
3 |
['NickAdfor', 'github-actions'] |
kmill assignee:kmill |
6-7297 6 days ago |
15-49445 15 days ago |
15-48411 15 days |
| 32891 |
felixpernegger author:felixpernegger |
feat(Topology/EMetricSpace): Introduction of ```Weak(Pseudo)EMetricSpace``` |
This PR introduces Weak(Pseudo)EMetric spaces, some basic properties and the fact that the One-Point Compactification of a Weak(Pseudo)EMetricSpace again has a Weak(Pseudo)EMetricSpace structure.
This is inspired by discussion at [this](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/EMetricSpace.20is.20broken/near/530540916) and based on #27756.
In short, types like ```ENNReal``` and ```ENat``` have a very "metric-like" structure, but are not yet a ```WeakPseudoEMetricSpace``` (which is the weakest form of a metric-like structure in mathlib). Therefore, the class```WeakEMetricSpace``` could be used to make more definitions applicable to ```ENNReal```, for instance EVartiationOn ([this](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/EMetricSpace/BoundedVariation.html#eVariationOn)).
As of now, this PR is still missing important properties like products and induced (and therefore subtypes) of ```Weak(Pseudo)EMetricSpace```'s and instances ```ENNReal``` and ```ENat``` (which should be rather easy however with the one-point compactification property). |
new-contributor
t-topology
|
470/10 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/EMetricSpace/Weak.lean |
3 |
4 |
['felixpernegger', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
j-loreaux assignee:j-loreaux |
5-65944 5 days ago |
9-32204 9 days ago |
11-75650 11 days |
| 32692 |
WilliamCoram author:WilliamCoram |
feat: define multivariate restricted power series |
We define multivariate restricted power series over a normed ring R, and show the properties that they form a ring when R has the ultrametric property.
This work generalises my previous work in #26089 which will need to be refactored.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-number-theory
new-contributor
|
168/0 |
Mathlib.lean,Mathlib/RingTheory/MvPowerSeries/Restricted.lean |
2 |
15 |
['WilliamCoram', 'erdOne', 'github-actions'] |
nobody |
5-51279 5 days ago |
5-50392 5 days ago |
6-70934 6 days |
| 32355 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): define and characterize simplicial pointed cones |
Define simplicial pointed cones.
Prove lemmas about simplicial (and generating simplicial) cones
# Notes
* I have tried alternative implementations (finite, finset, structure) If one can live with the extensional quantifier the finset seems better.
---
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
new-contributor
|
116/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/Cone/Simplicial.lean |
3 |
37 |
['artie2000', 'bjornsolheim', 'github-actions'] |
nobody |
5-38840 5 days ago |
5-38845 5 days ago |
41-43107 41 days |
| 33221 |
stepan2698-cpu author:stepan2698-cpu |
feat: definition of an intertwining map |
Adds the definition of an intertwining map of representations, with an instance of an A-module structure. Proves that a multiplication by a central element is an intertwining map.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
162/11 |
Mathlib.lean,Mathlib/RepresentationTheory/Intertwining.lean,Mathlib/RepresentationTheory/Subrepresentation.lean |
3 |
6 |
['github-actions', 'ocfnash'] |
ocfnash assignee:ocfnash |
5-16258 5 days ago |
10-34183 10 days ago |
17-6397 17 days |
| 33443 |
sahanwijetunga author:sahanwijetunga |
feat: Define Isometries of Bilinear Spaces |
---
We define Isometries of Bilinear Spaces, closely following the implementation of isometries of quadratic spaces.
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
275/0 |
Mathlib.lean,Mathlib/LinearAlgebra/BilinearForm/Isometry.lean,Mathlib/LinearAlgebra/BilinearForm/IsometryEquiv.lean |
3 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
5-10427 5 days ago |
5-8230 5 days ago |
18-34044 18 days |
| 33895 |
jessealama author:jessealama |
feat(Computability/Primrec): add list_take, list_drop, list_modify, and list_set |
This PR shows that several list operations from Lean core are primitive recursive:
- `list_take`: [`List.take`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean)
- `list_drop`: [`List.drop`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/TakeDrop.lean)
- `list_modifyHead'`: [`List.modifyHead`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data
- `list_modify'`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean) with external data
- `list_modify`: [`List.modify`](https://github.com/leanprover/lean4/blob/master/src/Init/Data/List/Nat/Modify.lean)
- `list_set`: [`List.set`](https://github.com/leanprover/lean4/blob/master/src/Init/Prelude.lean)
The primed versions (`list_modify'`, `list_modifyHead'`) take a function `g : β → α → α` that depends on external data of type `β`. This generalization enables deriving the other operations:
- `list_modify` specializes `list_modify'` with `β = Unit`
- `list_set` uses `list_modify'` via `List.set_eq_modify` |
new-contributor
t-computability
|
67/4 |
Mathlib/Computability/Primrec/List.lean |
1 |
1 |
['github-actions'] |
nobody |
4-66557 4 days ago |
4-65703 4 days ago |
4-64982 4 days |
| 32215 |
jonasvanderschaaf author:jonasvanderschaaf |
feat(ModelTheory/Types): Construct a topology on CompleteType and prove the space is TotallySeparated |
---
- [x] depends on: #32213
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
t-logic
|
102/0 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
28 |
['Ruben-VandeVelde', 'Vierkantor', 'anishrajeev', 'dagurtomas', 'github-actions', 'jonasvanderschaaf', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
dagurtomas assignee:dagurtomas |
4-18106 4 days ago |
4-14396 4 days ago |
25-53238 25 days |
| 33481 |
NoneMore author:NoneMore |
feat(ModelTheory/Encoding): add `Countable` instances for (bounded) formulas in countable languages |
Prepare for the OTT proof.
---
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
27/0 |
Mathlib/ModelTheory/Encoding.lean |
1 |
1 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
4-7323 4 days ago |
16-76544 16 days ago |
17-57011 17 days |
| 34026 |
SnkXyx author:SnkXyx |
feat(Algebra/MvPolynomial): add mainVariable |
Add `mainVariable` of `MvPolynomial`, the largest variable index appearing in the polynomial.
Main Theorems:
* `mainVariable_eq_bot_iff_eq_C`
* `mainVariable_sum_le`
* `mainVariable_prod_le`
* `degreeOf_eq_zero_of_mainVariable_lt`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
147/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/MainVariable.lean |
2 |
1 |
['github-actions'] |
nobody |
3-79469 3 days ago |
3-78595 3 days ago |
3-77561 3 days |
| 33817 |
FlAmmmmING author:FlAmmmmING |
fix(Combinatorics/Enumerative/Schroder.lean): Fix the definition and theorem 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
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
19 |
['FlAmmmmING', 'github-actions', 'vihdzp'] |
nobody |
3-69382 3 days ago |
3-68543 3 days ago |
9-23376 9 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 `R`-modules `M` and `N` and a set `s` in `M`, `Submodule.dual p s` is the submodule in `N` consisting of all points `y` such that `0 = p x y` for all `x ∈ s`.
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
label:t-algebra$ |
239/0 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean |
2 |
1 |
['github-actions'] |
nobody |
3-46141 3 days ago |
4-26233 4 days ago |
4-25199 4 days |
| 33941 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): teach fun_prop about ωScottContinuous functions |
This PR adds the necessary lemmas and attributes for the `fun_prop` tactic with work with `ωScottContinuous` functions.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
81/31 |
Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean |
2 |
1 |
['github-actions'] |
nobody |
3-38807 3 days ago |
3-34384 3 days ago |
5-18434 5 days |
| 33746 |
ster99 author:ster99 |
feat(Algebra/Module/ZLattice): add lemma `floor b (m + x) = m + floor b x` and similar |
Prove lemmas corresponding to [Int.floor_intCast_add](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Floor/Ring.html#Int.floor_intCast_add) and similar for `ZLattice`
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Module/ZLattice/Basic.lean |
1 |
2 |
['github-actions'] |
joelriou assignee:joelriou |
3-7328 3 days ago |
6-29588 6 days ago |
11-54193 11 days |
| 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
|
37/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean |
3 |
2 |
['MichaelStollBayreuth', 'github-actions'] |
kex-y assignee:kex-y |
3-7327 3 days ago |
10-43445 10 days ago |
10-42411 10 days |
| 33924 |
martinwintermath author:martinwintermath |
feat(Order/ModularLattice): add some dual codisjoint lemma for modular lattices |
Add four codisjoint lemmas dual to existing disjoint lemmas for modular lattices:
* Add `codisjoint_inf_right_of_codisjoint_inf_left`
* Add `codisjoint_inf_left_of_codisjoint_inf_right`
* Add `isCompl_inf_right_of_isCompl_inf_left`
* Add `isCompl_inf_left_of_isCompl_inf_right`
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
34/13 |
Mathlib/Order/ModularLattice.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
3-7319 3 days ago |
6-21216 6 days ago |
6-20182 6 days |
| 33838 |
chainstart author:chainstart |
feat(NumberTheory): add unitary divisors and unitary perfect numbers |
## Summary
This PR introduces the unitary divisor sum function σ* to Mathlib and proves that no odd unitary perfect numbers exist.
## Main Definitions
- `Nat.UnitaryDivisor d n`: A divisor `d` of `n` is unitary if `gcd(d, n/d) = 1`
- `Nat.unitaryDivisors n`: The `Finset` of all unitary divisors of `n`
- `Nat.unitaryDivisorSum n` (notation `σ*`): Sum of all unitary divisors
- `Nat.UnitaryPerfect n`: `n` is unitary perfect if `σ*(n) = 2n`
## Main Theorems
**Multiplicativity:**
- `unitaryDivisorSum_mul`: For coprime `m`, `n`, `σ*(mn) = σ*(m) · σ*(n)`
- Proved via explicit bijection between unitary divisors of `mn` and pairs of unitary divisors
**Prime Powers:**
- `unitaryDivisors_prime_pow`: The unitary divisors of `p^k` are exactly `{1, p^k}`
- `unitaryDivisorSum_prime_pow`: For prime `p` and `k ≥ 1`, `σ*(p^k) = p^k + 1`
**Unitary Perfect Numbers:**
- `no_odd_unitary_perfect`: There are no odd unitary perfect numbers > 1 (Subbarao-Warren 1966)
- `UnitaryPerfect.even`: Every unitary perfect number is even
- `UnitaryPerfect.eq_two_pow_mul_odd`: Every unitary perfect number has form `2^a · k` with `a ≥ 1`, `k` odd
## Mathematical Background
A unitary perfect number is a positive integer `n` such that the sum of its unitary divisors equals `2n`. This generalizes the classical perfect numbers. Only five unitary perfect numbers are known: 6, 60, 90, 87360, and one with 24 digits.
The main theorem (no odd unitary perfect numbers) was originally proved by Subbarao & Warren (1966) using prime factorization arguments. Our formalization uses `Nat.recOnPrimeCoprime` for structural induction.
## References
- Subbarao, M. V., & Warren, L. J. (1966). Unitary perfect numbers. *Canadian Mathematical Bulletin*, 9(2), 147-153.
- Wall, C. R. (1975). The fifth unitary perfect number. *Canadian Mathematical Bulletin*, 18(1), 115-122.
## Code Statistics
- **Files**: 2
- **Lines**: ~520
- **Theorems**: 21 public declarations
- **Sorry count**: 0
## Checklist
- [x] All theorem names follow mathlib conventions
- [x] All lines ≤ 100 characters
- [x] All public theorems have docstrings
- [x] No `sorry` or `admit`
- [x] Code builds successfully
- [ ] CI tests pass (awaiting verification) |
new-contributor
t-number-theory
|
554/0 |
Mathlib.lean,Mathlib/NumberTheory/UnitaryDivisor.lean,Mathlib/NumberTheory/UnitaryPerfect.lean |
3 |
17 |
['Ruben-VandeVelde', 'SnirBroshi', 'chainstart', 'github-actions', 'riccardobrasca', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
2-46972 2 days ago |
2-52523 2 days ago |
8-45425 8 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
|
51/1 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
8 |
['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] |
nobody |
2-32667 2 days ago |
15-29276 15 days ago |
16-18913 16 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 |
11 |
['SnirBroshi', 'floor-licker', 'github-actions'] |
nobody |
2-24929 2 days ago |
2-24098 2 days ago |
2-23064 2 days |
| 28208 |
Sebi-Kumar author:Sebi-Kumar |
feat(Topology): add the definition `foldTrans` to concatenate finite sequences of paths |
Add `foldTrans`, which folds the function `Path.trans` across a sequence of paths with compatible endpoints, corresponding to the concatenation of a finite sequence of paths. This is implemented with `Fin.dfoldl` from the Batteries library. Prove basic properties about `foldTrans` (i.e., how it behaves with respect to `Path.refl`, `Path.subpath`, and homotopies).
---
To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`, following the proof from Hatcher's "Algebraic Topology."
- [x] depends on: #27261
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
110/0 |
Mathlib.lean,Mathlib/Topology/FoldTrans.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ocfnash assignee:ocfnash |
2-7313 2 days ago |
5-8675 5 days ago |
5-9295 5 days |
| 33936 |
cameronfreer author:cameronfreer |
feat(NumberTheory/LSeries): add positivity and real-valuedness lemmas for Riemann zeta |
Add lemmas about the Riemann zeta function for real arguments greater than 1:
- `riemannZeta_pos_of_one_lt`: `riemannZeta x` is positive in `ComplexOrder` for real `x > 1`
- `riemannZeta_re_pos_of_one_lt`: the real part of `riemannZeta x` is positive for real `x > 1`
- `riemannZeta_im_eq_zero_of_one_lt`: `riemannZeta x` has zero imaginary part for real `x > 1`
The positivity result follows from `LSeries.positive`, using that the L-series of the constant function 1 equals the Riemann zeta function on the domain of convergence. The key insight is that `0 < z` in `ComplexOrder` simultaneously encodes `z.re > 0` and `z.im = 0` (via `Complex.pos_iff`), so positivity implies real-valuedness.
This adds a new import of `Mathlib.NumberTheory.LSeries.Positivity` to `Dirichlet.lean`. The `ComplexOrder` scope is limited to a dedicated nested section to avoid affecting typeclass inference elsewhere.
This generalizes `riemannZeta_even_im_eq_zero` from the [Sphere Packing project](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean/blob/7d4461f1/SpherePacking/ModularForms/Eisenstein.lean#L836-L846), which is now a corollary. |
new-contributor
t-number-theory
sphere-packing
|
25/0 |
Mathlib/NumberTheory/LSeries/Dirichlet.lean |
1 |
4 |
['cameronfreer', 'github-actions', 'metakunt'] |
alexjbest assignee:alexjbest |
2-7303 2 days ago |
6-3700 6 days ago |
6-2666 6 days |
| 34034 |
YanYablonovskiy author:YanYablonovskiy |
feat(Order): order types |
Adding the basic definitions around order types, the equivalence classes of linear orders under order isomorphism.
---
See draft discussion at #33420 and refactoring task #28278 .
- [x] depends on: #33663
- [x] depends on: #31889
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
262/17 |
Mathlib.lean,Mathlib/Order/Category/LinOrd.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/Types/Defs.lean |
4 |
51 |
['YaelDillies', 'YanYablonovskiy', 'github-actions', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
nobody |
1-67707 1 day ago |
1-66471 1 day ago |
2-43756 2 days |
| 33709 |
wangying11123 author:wangying11123 |
feat(Analysis/Convex/Between): betweenness from differences on the same ray |
Add `wbtw_of_sameRay_vsub_left`, saying that if the vectors from a point x to points y and z lie on the same ray, then y is weakly between x and z, or z is weakly between x and y. |
new-contributor
t-convex-geometry
|
24/0 |
Mathlib/Analysis/Convex/Between.lean |
1 |
8 |
['MichaelStollBayreuth', 'YaelDillies', 'github-actions', 'wangying11123'] |
nobody |
1-43059 1 day ago |
1-43059 1 day ago |
11-49089 11 days |
| 33411 |
IlPreteRosso author:IlPreteRosso |
feat(Topology/Algebra/InfiniteSum): Discrete convolution and Cauchy product APIs |
This is the first PR is a series of PRs towards the proposed API and ℓ1 Banach algebra.
Defines discrete convolution of functions `f : M → E` and `g : M → E'` over a monoid `M`
using a bilinear map `L : E →ₗ[S] E' →ₗ[S] F`:
`(f ⋆[L] g) x = ∑' (a, b) : mulFiber x, L (f a) (g b)`
where `def mulFiber (x : M) : Set (M × M) := Set.mulAntidiagonal Set.univ Set.univ x`
The major changes are (from the last review)
- Move file to new location
- Change protected to private, add irreducible attribute to `tripleFiber` (~25 lines)
- Add convolution assoc variant theorems (see RM below) (~100 lines)
- Add distribution theorems and smul/identity related lemmas (~50 lines)
- Finish part of TODO in [Prod.lean](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Antidiag/Prod.html#Finset.sigmaAntidiagonalEquivProd) to match API needs. Basically restating the defs and theorems in @[to_additive]. (~50 lines)
- Also removed some less useful lemmas: some linearMap.Mul alias of bilinear version lemmas by just passing in linearMap.Mul ℕ R; remove convolution_apply, just use the definition of convolution;
RM: While `ringConvolution_assoc` (reviewed last time) is preparing for Cauchy product (Finset, see section MulAntidiagonal), the new `completeUniformRingConvolution_assoc` is for lpOneBanachAlgebra (tsum, complete space, less compatibility hypotheses needed), which is going to be another PR. |
t-analysis
new-contributor
|
868/11 |
Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Topology/Algebra/InfiniteSum/DiscreteConvolution.lean |
3 |
25 |
['IlPreteRosso', 'github-actions', 'j-loreaux', 'plp127'] |
urkud assignee:urkud |
1-28923 1 day ago |
1-26643 1 day ago |
12-82168 12 days |
| 34114 |
bilichboris author:bilichboris |
feat(Algebra/Algebra/Subalgebra): generalize iSupLift to T ≤ iSup K |
This PR generalizes `Subalgebra.iSupLift` (in `Mathlib/Algebra/Algebra/Subalgebra/Directed.lean`) by weakening the hypothesis `hT : T = iSup K` to the more flexible assumption `hT : T ≤ iSup K`.
This closes a TODO comment in the file.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
39/23 |
Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/FieldTheory/Extension.lean |
2 |
1 |
['github-actions'] |
nobody |
1-28797 1 day ago |
1-28898 1 day ago |
1-27864 1 day |
| 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
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
3 |
['JovanGerb', 'github-actions'] |
JovanGerb assignee:JovanGerb |
1-9789 1 day ago |
5-41146 5 days ago |
10-44364 10 days |
| 33901 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/Span): add inter/union/sInf/sSup lemmas for Submodule.span |
This PR adds theorems about the interaction of `Submodule.span` with the lattice operations:
* `inter`, `sInf` and `biInter` lemmas for `Submodule.span`
* `union`, `sSup` and `biUnion` lemmas for `Submodule.span`
It also adds `@[simp]` to `span_union`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
25/0 |
Mathlib/LinearAlgebra/Span/Defs.lean |
1 |
3 |
['github-actions', 'themathqueen'] |
kim-em assignee:kim-em |
1-7303 1 day ago |
6-39467 6 days ago |
6-38433 6 days |
| 33980 |
martinwintermath author:martinwintermath |
feat(RingTheory/Finiteness/Basic): add lemmas for restricting scalars |
This PR adds three lemmas that transfer `Submodule.FG` across restricting scalars from a semiring `A` to a semiring `R` under the assumption `Module.Finite R A` . This includes
* `fg_restrictScalars` which proves that `restrictScalars` preserves `FG`
* `fg_restrictScalars_iff` as the iff version of the above
* `span_submodule_fg_of_fg` which proves that the `A`-span of an `FG` `R`-submodule is `FG`.
The PR also contains the following changes to related lemmas:
* renaming `fg_restrictScalars` to `fg_restrictScalars_of_surjective` emphasizing the hypothesis `Function.Surjective (algebraMap R A)`
* adding a `sections RestrictScalars` that also contains the above lemma
* restructuring variables in the above section
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
39/9 |
Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean |
2 |
1 |
['github-actions'] |
mattrobball assignee:mattrobball |
1-7299 1 day ago |
4-58522 4 days ago |
5-6863 5 days |
| 33986 |
martinwintermath author:martinwintermath |
feat(Order/ModularLattice): add lemmas to construct IsCompl from Disjoint/Codisjoint on complemented modular lattices |
This PR adds two lemmas to construct `IsCompl` from `Disjoint`/`Codisjoint` on a complemented modular lattices:
* `Disjoint.exists_isCompl` enlarges one element of a disjoint pair to obtain a complementary pair.
* `Codisjoint.exists_isCompl` shrinks one element of a codisjoint pair to obtain a complementary pair.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
17/0 |
Mathlib/Order/ModularLattice.lean |
1 |
1 |
['github-actions'] |
Vierkantor assignee:Vierkantor |
1-7297 1 day ago |
4-54939 4 days ago |
4-84287 4 days |
| 34016 |
Citronhat author:Citronhat |
feat(WithTop): add WithTop.add_lt_add and reuse in ENNReal |
- resolve TODO: add `WithTop.add_lt_add and` use it for `ENNReal.add_lt_add`
- resolve TODO: replace `addLECancellable_iff_ne` proof with `WithTop.addLECancellable_iff_ne_top` |
new-contributor |
12/16 |
Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
2 |
1 |
['github-actions'] |
robin-carlier assignee:robin-carlier |
1-7292 1 day ago |
4-14333 4 days ago |
4-13299 4 days |
| 33021 |
farmanb author:farmanb |
feat(RingTheory/IdealFilter): add ideal filters and Gabriel filters |
This PR introduces ideal filters on a ring and the notion of a Gabriel filter.
Main additions:
* `IdealFilter A`: filters on the lattice of ideals of a ring `A`
* `IsUniform`: the uniformity (T1–T3) condition
* `gabrielComposition` and notation `•`
* `IsGabriel`: Gabriel filters (axiom T4)
* A characterization `IsGabriel ↔ IsUniform ∧ F • F = F`
This is preparatory infrastructure for future work relating Gabriel filters to Giraud subcategories.
This development is motivated by Theorem 10.2 in Bo Stenström, *Rings and Modules of Quotients*, which identifies equivalence classes of Giraud subcategories with linear (Gabriel) topologies on a ring.
The present PR provides the ring-theoretic filter infrastructure needed for that result.
---
- [ ] depends on: #33390
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
220/0 |
Mathlib.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,docs/references.bib |
3 |
54 |
['erdOne', 'farmanb', 'github-actions', 'mathlib4-dependent-issues-bot'] |
mattrobball assignee:mattrobball |
1-5988 1 day ago |
1-4872 1 day ago |
14-16630 14 days |
| 34094 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Sheaves): use `abbrev` for `Presheaf`, `IsSheaf`, and 'Sheaf' |
Changing `TopCat.Presheaf`, `TopCat.Presheaf.IsSheaf`, and 'TopCat.Sheaf' from defs to abbrevs.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
3/4 |
Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/Sheaf.lean |
2 |
3 |
['github-actions', 'leanprover-radar', 'robin-carlier'] |
nobody |
0-80762 22 hours ago |
0-79925 21 hours ago |
1-76408 1 day |
| 33539 |
BryceT233 author:BryceT233 |
feat(RingTheory/MvPolynomial): powers of ideal of variables |
1. Added a new file `Mathlib/Algebra/Group/Pointwise/Set/Finsupp.lean` for results about pointwise operations on sets and finitely supported functions
2. Provided more APIs for `MvPolynomial.restrictSupport` and defined `restrictSupportIdeal` to be the ideal determined by `restrictSupport R s` when `s` is an upper set
3. Defined `MvPolynomial.idealOfVars` to be the ideal spanned by all variables in `MvPolynomial` and provided results about its powers
4. Provided some helper results while golfing
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-ring-theory
new-contributor
|
250/2 |
Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finsupp.lean,Mathlib/Algebra/Group/TypeTags/Pointwise.lean,Mathlib/Data/Finsupp/Weight.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/Ideal.lean |
7 |
20 |
['BryceT233', 'erdOne', 'github-actions', 'vihdzp'] |
erdOne assignee:erdOne |
0-70549 19 hours ago |
0-67920 18 hours ago |
6-77911 6 days |
| 33188 |
BryceT233 author:BryceT233 |
feat: MvPowerSeries.rename |
This file establishes the `rename` operation on multivariate power series under an embedding,
which modifies the set of variables.
This file is patterned after `MvPolynomials/Rename.lean`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
large-import
|
305/1 |
Mathlib.lean,Mathlib/Data/Finsupp/Antidiagonal.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/RingTheory/MvPowerSeries/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Rename.lean |
6 |
8 |
['BryceT233', 'Komyyy', 'erdOne', 'github-actions'] |
erdOne assignee:erdOne |
0-68510 19 hours ago |
0-68161 18 hours ago |
5-59319 5 days |
| 33744 |
bilichboris author:bilichboris |
feat(RingTheory): Class Group of a Unique Factorization Domain is trivial |
Add a theorem that the class group of a unique factorization domain is trivial.
Together with the PR relating `ClassGroup` to `PicardGroup`, this will close a TODO in `Mathlib.RingTheory.PicardGroup` that the Picard Group of a UFD is trivial.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
155/1 |
Mathlib.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/PicardGroup.lean,Mathlib/RingTheory/UniqueFactorizationDomain/ClassGroup.lean |
5 |
50 |
['alreadydone', 'bilichboris', 'erdOne', 'github-actions', 'jcommelin', 'kim-em', 'tb65536', 'vlad902'] |
erdOne assignee:erdOne |
0-60237 16 hours ago |
0-59227 16 hours ago |
9-11152 9 days |
| 34095 |
IlPreteRosso author:IlPreteRosso |
feat(Data/Finsupp/Single): generalize single_eq_set_indicator |
Generalize `Finsupp.single_eq_set_indicator` to arbitrary functions, with the old statement available as `single_eq_set_indicator'`:
```lean
theorem single_eq_set_indicator (a : α) (f : α → M) :
⇑(single a (f a)) = Set.indicator {a} f
|
t-data
easy
new-contributor
|
9/2 |
Mathlib/Data/Finsupp/Single.lean |
1 |
3 |
['github-actions', 'jcommelin'] |
nobody |
0-27395 7 hours ago |
0-30219 8 hours ago |
1-41429 1 day |