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 |
26054 |
FMLJohn author:FMLJohn |
feat(RingTheory/GradedAlgebra/Homogeneous/Subsemiring): homogeneous subsemirings of a graded semiring |
---
[](https://gitpod.io/from-referrer/)
In this pull request, we have defined homogeneous subsemirings of `GradedRing 𝒜` where `𝒜 : ι → σ`, `SetLike σ A` and `AddSubmonoidClass σ A`.
## Main definitions
For any `R : Subsemiring A`:
* `Subsemiring.IsHomogeneous 𝒜 R`: The property that a subsemiring is closed under `GradedRing.proj`.
* `HomogeneousSubsemiring 𝒜`: The structure extending subsemirings which satisfy `Subsemiring.IsHomogeneous`. |
t-ring-theory |
120/0 |
Mathlib.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Subsemiring.lean |
2 |
1 |
['github-actions'] |
kim-em assignee:kim-em |
77-52073 2 months ago |
77-52073 2 months ago |
126-20783 126 days |
24730 |
YaelDillies author:YaelDillies |
feat(RingTheory): group-like elements |
Define group-like elements in a bialgebra, ie elements such that `η a = 1` and `Δ a = a ⊗ₜ a`.
We prove that group-like elements of a coalgebra over a domain are linearly independent, group-like elements of a bialgebra form a monoid, group-like elements of a Hopf algebra form a group.
From Toric
Co-authored-by: Michał Mrugała
---
- [x] depends on: #24747
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
309/0 |
Mathlib.lean,Mathlib/RingTheory/Bialgebra/GroupLike.lean,Mathlib/RingTheory/Coalgebra/GroupLike.lean,Mathlib/RingTheory/HopfAlgebra/GroupLike.lean |
4 |
42 |
['Julian-Kuelshammer', 'Parcly-Taxel', 'Whysoserioushah', 'YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'smorel394'] |
eric-wieser assignee:eric-wieser |
77-51967 2 months ago |
77-51967 2 months ago |
164-9015 164 days |
26770 |
Jun2M author:Jun2M |
feat(Combinatorics/Graph) : subgraph relations and operations on `Graph` |
This PR creates a new file `Combinatorics/Graph/Subgraph.lean`. In it, the PR introduces a partial order on graphs by subgraph relation, defines relations `IsInducedSubgraph`, `IsSpanningSubgraph` and `IsClosedSubgraph`. Further, it introduce operations `EdgeRestrict`, `EdgeDelete`, `induce` and `VertexDelete`.
Co-authored-by: Peter Nelson
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
703/0 |
Mathlib.lean,Mathlib/Combinatorics/Graph/Subgraph.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
75-83141 2 months ago |
109-8219 3 months ago |
109-8253 109 days |
26765 |
KiringYJ author:KiringYJ |
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance |
Add two small features to `MeasureTheory/PiSystem`:
1. SetLike instance
`instance : SetLike (DynkinSystem α) (Set α)`
This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style.
2. `DynkinSystem.pi_lambda` lemma
Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`.
Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately.
Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs.
No breaking changes.
No dependencies.
|
new-contributor
t-measure-probability
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
13 |
['EtienneC30', 'KiringYJ', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
74-83140 2 months ago |
82-32789 2 months ago |
109-20623 109 days |
27534 |
PierreQuinton author:PierreQuinton |
feat: a typeclass for `sSup`/`sInf` to be lawful |
Adds lawful infima and suprema type classes.
A preorder with lawful suprema: whenever a set has a least upper bound, `sSup` returns a least upper bound for that set.
A preorder with lawful infima: whenever a set has a greatest lower bound, `sInf` returns a greastest lower bound for that set.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
121/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean |
3 |
25 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'plp127', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
74-46917 2 months ago |
86-30214 2 months ago |
86-30239 86 days |
24850 |
pechersky author:pechersky |
feat(Topology/UniformSpace/Ultra): uniform spaces induced by pseudometrics are ultra if system is ultra |
Any uniform space has a natural system of pseudometrics definable on it,
comprised of those pseudometrics constructed from a descending chain of
equivalence relation entourages. In a nonarchimedean uniformity, this pseudometric system
induces the uniformity.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #23111 |
t-topology |
509/1 |
Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean |
3 |
8 |
['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'pechersky'] |
urkud assignee:urkud |
70-83157 2 months ago |
133-70467 4 months ago |
149-15992 149 days |
28198 |
Sebi-Kumar author:Sebi-Kumar |
feat(Analysis/InnerProductSpace/PiL2): Add instances for EuclideanSpace rank and EuclideanSpace being infinite |
Add an instance for `Fact (Module.finrank 𝕜 (EuclideanSpace 𝕜 (Fin n)) = n)` which is needed to apply [stereographic'](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Geometry/Manifold/Instances/Sphere.html#stereographic') to EuclideanSpace. Also add an instance for `Infinite (EuclideanSpace 𝕜 ι)` where `ι` is a nonempty fintype. I wasn't sure if these should go in separate pull requests, but they seemed similar enough to me. Thank you to Kenny Lau for the suggestions at [#mathlib4 > Instances for EuclideanSpace](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Instances.20for.20EuclideanSpace).
---
To provide additional context, I am new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza. My goal is to contribute that the `n`-sphere is simply connected for `n > 1`.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
6/0 |
Mathlib/Analysis/InnerProductSpace/PiL2.lean |
1 |
1 |
['github-actions'] |
urkud assignee:urkud |
64-83132 2 months ago |
72-9968 2 months ago |
72-10005 72 days |
28072 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): make tactic rw_val_equiv |
Co-authored by Aaron Liu and Bhavik Mehta.
A tactic to rewrite relations such as `max (v₁ x) (v₁ y) * v₁ z < 1` into `max (v₂ x) (v₂ y) * v₂ z < 1` , given `h : v₁.IsEquiv v₂`.
Allowed relations are `≤`, `<`, `=`, `≠`.
Allowed operations are: `0`, `1`, `v₁ r`, `⁻¹`, `^` (both `ℕ` and `ℤ`), `*`, `/`, `min`, `max`.
Examples:
```lean
example {R Γ₁ Γ₂ : Type} [Ring R]
[LinearOrderedCommMonoidWithZero Γ₁] [LinearOrderedCommMonoidWithZero Γ₂]
{v₁ : Valuation R Γ₁} {v₂ : Valuation R Γ₂}
(h : v₁.IsEquiv v₂) {y z : R} :
{x | v₁ x ^ 2 * min (v₁ y) (v₁ z) ≤ 1} = {x | v₂ x ^ 2 * min (v₂ y) (v₂ z) ≤ 1} := by
rw_val_equiv h
```
It is also possible to use `←` to rewrite in the opposite direction, and to use `at h1 h3 ⊢` to specify which hypotheses (and/or goal) to rewrite, similar to the syntax of `rw`. There is also `rwa_val_equiv` to work like `rwa`.
---
Zulip: [#Is there code for X? > Tactics for comparing equivalent valuations](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Tactics.20for.20comparing.20equivalent.20valuations)
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
455/13 |
Mathlib/RingTheory/Valuation/Basic.lean,MathlibTest/Simproc/ValEquiv.lean |
2 |
34 |
['b-mehta', 'eric-wieser', 'github-actions', 'kckennylau', 'pechersky', 'plp127'] |
erdOne assignee:erdOne |
63-83147 2 months ago |
74-18439 2 months ago |
74-79335 74 days |
28125 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics): basic definition of simplicial complexes |
This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean.
---
This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one.
We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. |
new-contributor
t-combinatorics
|
374/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean |
5 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
62-83155 2 months ago |
74-15224 2 months ago |
74-15260 74 days |
28186 |
Sebi-Kumar author:Sebi-Kumar |
feat(Topology/Homotopy/Path): Add IsEquiv instance for Path.Homotopic |
Add `instance : IsEquiv (Path x₀ x₁) Homotopic` to the library. Allow use of lemmas like `of_eq` when proving two paths are homotopic.
---
To provide additional context, I am relatively new to contributing to Mathlib, and I am doing so as a part of the Fields Undergraduate Summer Research Program hosted at the University of Western Ontario and supervised by Chris Kapulkin and Daniel Carranza. My goal is to prove that the `n`-sphere is simply connected for `n > 1`.
Also, I am not super familiar with `IsEquiv` and when it should/shouldn't be used. I just wanted to use a lemma like `Path.Homotopic.of_eq` at one point while working on my code, and thought this was the best way to add such a result to the library.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
5/0 |
Mathlib/Topology/Homotopy/Path.lean |
1 |
4 |
['Sebi-Kumar', 'github-actions', 'kckennylau'] |
PatrickMassot assignee:PatrickMassot |
62-83152 2 months ago |
72-28082 2 months ago |
72-28121 72 days |
28399 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: ring-theoretic fractions in Rat |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
47/0 |
Mathlib.lean,Mathlib/RingTheory/Localization/Rat.lean |
2 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
59-83161 1 month ago |
68-56097 2 months ago |
68-56135 68 days |
27245 |
rirarika author:rirarika |
feat: multivariate polynomial ring properties about irreducibility |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
88/0 |
Mathlib.lean,Mathlib/Algebra/MvPolynomial/Irreducible.lean |
2 |
5 |
['alreadydone', 'github-actions', 'mbkybky'] |
alreadydone assignee:alreadydone |
59-29549 1 month ago |
95-57995 3 months ago |
95-58029 95 days |
28531 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: remove Cardinal imports from Topology.Algebra.InfiniteSum.Group |
---
[](https://gitpod.io/from-referrer/)
|
|
51/15 |
Mathlib.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Topology/Algebra/InfiniteSum/Const.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/InfiniteSum/Order.lean,Mathlib/Topology/Algebra/InfiniteSum/Real.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean,Mathlib/Topology/Instances/NNReal/Lemmas.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/PartitionOfUnity.lean |
16 |
4 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions'] |
TwoFX assignee:TwoFX |
58-83127 1 month ago |
66-7579 2 months ago |
66-7553 66 days |
28132 |
dupuisf author:dupuisf |
feat: preliminary `grind` tags for `IsUnit` |
This PR adds preliminary `grind` tags for the `IsUnit` predicate.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
61/17 |
Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
57-83132 1 month ago |
66-79480 2 months ago |
66-79455 66 days |
28325 |
pechersky author:pechersky |
feat(WithZeroTopology): `locallyCompactSpace_iff_locallyFiniteOrder_units` |
On the way to golf/generalize the proof that
locally compact valued fields have locally finite valuation groups as embodied in
`Valued.integer.locallyFiniteOrder_units_mrange_of_isCompact_integer` ]
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-order
t-topology
|
160/2 |
Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/Compactness/Compact.lean |
3 |
1 |
['github-actions'] |
PatrickMassot assignee:PatrickMassot |
57-83129 1 month ago |
69-65345 2 months ago |
69-68046 69 days |
27824 |
ChrisHughes24 author:ChrisHughes24 |
feat(Calculus): exists_gt_of_deriv_pos and variants |
---
I created a new file for this as I anticipate there will be many lemmas relating derivatives and monotonicity in future. Some lemmas relating deriviatives to monotonicity are already in mathlib and should maybe moved to the file (e.g. docs#HasDerivWithinAt.nonneg_of_monotoneOn).
I stated them in as much generality as I could, copying the generality of `HasDerivWithinAt.nonneg_of_monotoneOn`.
- [x] depends on: #28039
[](https://gitpod.io/from-referrer/)
|
t-analysis |
85/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/Deriv/Order.lean |
2 |
29 |
['ChrisHughes24', 'EtienneC30', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
56-83158 1 month ago |
67-26958 2 months ago |
71-44646 71 days |
25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
55-45396 1 month ago |
148-2522 4 months ago |
148-2566 148 days |
26914 |
quangvdao author:quangvdao |
feat(Data/PFunctor/Univariate): more definitions for univariate `PFunctor` |
This PR defines several basic definitions of `PFunctor`, including zero, one, constants, monomials, coproduct (sum), product, sigma, pi, tensor product, universe lifting, and equivalence.
We also add: (1) simple lemmas connecting the basic definitions, (2) an automatically derived ext lemma for `PFunctor` via `@[ext]` attribute
Some things I'm not clear on:
- I define `HAdd` and `HMul` instances for coproduct and product of poly functors having different universe levels. Should I also define `Add` and `Mul` instances for poly functors having the same universe level?
- Is it ok to define notation for tensor product, i.e. `@[inherit_doc] scoped infixr:80 " ⊗ " => tensor`? I'm worried it might clash with other notation.
- Need a double-check on the priority of notation.
Some future definitions to add:
- Various equivalences arising from arithmetic identities, e.g., `P + 0 ≃ₚ P`.
- Definitions of Lenses and Charts (each of them will be a file or even a folder)
- Exponential objects (corresponding to both `prod` and `tensor`)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
144/5 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
19 |
['alexkeizer', 'eric-wieser', 'github-actions', 'quangvdao'] |
eric-wieser assignee:eric-wieser |
55-30112 1 month ago |
104-84219 3 months ago |
104-84254 104 days |
23238 |
YaelDillies author:YaelDillies |
feat: extended floor and ceil |
My motivation for this is to prove `ENat.toENNReal (⨆ i, f i) = ⨆ i, ENat.toENNReal (f i)` and `ENat.toENNReal (⨅ i, f i) = ⨅ i, ENat.toENNReal (f i)`. Kalle Kytölä independently needs this for his formalisation of statistical physics.
From MiscYD
---
- [x] depends on: #24781
- [x] depends on: #24782
See #15269 for a past attempt.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
235/0 |
Mathlib.lean,Mathlib/Algebra/Order/Floor/Extended.lean |
2 |
25 |
['YaelDillies', 'b-mehta', 'eric-wieser', 'github-actions', 'grunweg', 'kkytola', 'mathlib4-dependent-issues-bot', 'urkud'] |
alreadydone assignee:alreadydone |
55-24388 1 month ago |
163-21753 5 months ago |
210-73961 210 days |
22662 |
plp127 author:plp127 |
feat: Localization.Away.lift (computably) |
This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`.
---
- [x] depends on: #24791
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
74/0 |
Mathlib/RingTheory/Localization/Away/Basic.lean |
1 |
17 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'plp127', 'vihdzp'] |
mariainesdff assignee:mariainesdff |
54-82918 1 month ago |
163-1133 5 months ago |
229-1105 229 days |
26484 |
peabrainiac author:peabrainiac |
feat(Geometry/Diffeology): basics of diffeological spaces |
Introduces diffeological spaces, smooth maps between them, the D-topology and the standard diffeology on finite-dimensional normed spaces.
---
This PR continues the work from #21969. |
t-differential-geometry |
471/0 |
Mathlib.lean,Mathlib/Geometry/Diffeology/Basic.lean,docs/references.bib |
3 |
10 |
['JovanGerb', 'github-actions', 'grunweg', 'lecopivo', 'peabrainiac'] |
grunweg assignee:grunweg |
53-54780 1 month ago |
115-75996 3 months ago |
115-80738 115 days |
26240 |
grunweg author:grunweg |
perf(CommandLinterLinter): use Substring more |
Probably, these changes make little difference, but let's find out.
---
[](https://gitpod.io/from-referrer/)
|
t-linter
RFC
|
14/15 |
Mathlib/Tactic/Linter/CommandStart.lean |
1 |
5 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
joneugster assignee:joneugster |
53-54536 1 month ago |
123-5699 4 months ago |
123-10301 123 days |
25856 |
MichaelStollBayreuth author:MichaelStollBayreuth |
perf(Data.Real.Sqrt): make Real.sqrt irreducible |
We try to see what happens if we make Real.sqrt irreducible.
There are cases where this makes unification very significantly faster, compare [#mathlib4 > Coercion triggers timeout @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Coercion.20triggers.20timeout/near/517177117).
(Migrated manually from #24752)
---
[](https://gitpod.io/from-referrer/)
|
migrated-from-branch
t-data
|
7/5 |
Mathlib/Data/Real/Sqrt.lean |
1 |
5 |
['MichaelStollBayreuth', 'github-actions', 'j-loreaux', 'leanprover-bot'] |
ericrbg assignee:ericrbg |
51-10891 1 month ago |
51-15607 1 month ago |
120-42196 120 days |
25920 |
BoltonBailey author:BoltonBailey |
feat(Data/Finsupp/Basic): `Finsupp.optionElim'` |
Similar to how Finsupp.cons constructs a map Fin (n + 1) →₀ M from a map Fin n →₀ M,
we define Finsupp.optionElim' to construct a map Option α →₀ M from a map α →₀ M, given an additional value for none. We base this on the new optionEquiv definition. As a function, it behaves as Option.elim', hence the name.
We prove a variety of API lemmas, based on those for Finsupp.cons, to bring the definitions more in line with the contents of Data/Finsupp/Fin.
We also refactor to a new file to help avoid a too-long file and make this more analogous to Finsupp.cons
Original PR: https://github.com/leanprover-community/mathlib4/pull/13861
- [x] depends on: #26309 |
migrated-from-branch
t-data
|
114/23 |
Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Option.lean |
2 |
15 |
['BoltonBailey', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
50-62779 1 month ago |
50-67825 1 month ago |
115-38303 115 days |
27308 |
xyzw12345 author:xyzw12345 |
feat(LinearAlgebra/SymmetricAlgebra): IsSymmetricAlgebra |
This PR continues the work from #24602.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24602 |
t-algebra label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/SymmetricAlgebra/Basic.lean,Mathlib/LinearAlgebra/SymmetricAlgebra/Basis.lean |
2 |
3 |
['github-actions', 'mattrobball', 'xyzw12345'] |
mattrobball assignee:mattrobball |
48-57261 1 month ago |
93-34085 3 months ago |
93-34128 93 days |
28831 |
qawbecrdtey author:qawbecrdtey |
feat(Logic/Equiv/List): add `decodeList_encodeList_eq_self` and removed unnecessary linter options |
---
This is useful when we call `encode` and `decode` of a list to define a new `Encoder` involving `List`s.
```lean
theorem decodeList_encodeList_eq_self (l : List α) : decodeList (encodeList l) = some l
```
[](https://gitpod.io/from-referrer/)
|
t-logic |
7/6 |
Mathlib/Logic/Equiv/List.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
47-83159 1 month ago |
58-77203 1 month ago |
58-77235 58 days |
26277 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences |
This file contains elementary definitions involving congruence
relations and morphisms for semirings, rings, and algebras.
* `RingCon.ker`: the kernel of a monoid homomorphism as a congruence relation
* `RingCon.lift`, `RingCon.liftₐ`: the homomorphism / the algebra morphism
on the quotient given that the congruence is in the kernel
* `RingCon.map`, `RingCon.mapₐ`: homomorphism / algebra morphism
from a smaller to a larger quotient
* `RingCon.quotientKerEquivRangeS`, `RingCon.quotientKerEquivRange`,
`RingCon.quotientKerEquivRangeₐ` :
the first isomorphism theorem for semirings (using `RingHom.rangeS`),
rings (using `RingHom.range`) and algebras (using `AlgHom.range`).
* `RingCon.comapQuotientEquivRangeS`, `RingCon.comapQuotientEquivRange`,
`RingCon.comapQuotientEquivRangeₐ` : the second isomorphism theorem
for semirings (using `RingHom.rangeS`), rings (using `RingHom.range`)
and algebras (using `AlgHom.range`).
* `RingCon.quotientQuotientEquivQuotient`, `RingCon.quotientQuotientEquivQuotientₐ` :
the third isomorphism theorem for semirings (or rings) and algebras
It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
554/2 |
Mathlib.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/Congruence/Defs.lean,Mathlib/RingTheory/Congruence/Hom.lean |
5 |
4 |
['AntoineChambert-Loir', 'eric-wieser', 'github-actions'] |
joneugster assignee:joneugster |
46-59809 1 month ago |
77-52195 2 months ago |
121-8408 121 days |
28613 |
espottesmith author:espottesmith |
feat(Combinatorics): define undirected hypergraphs |
This PR defines undirected hypergraphs:
```
@[ext]
structure Hypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The hyperedge set -/
hyperedgeSet : Set (Set α)
/-- All hyperedges must be subsets of the vertex set -/
hyperedge_isSubset_vertexSet : ∀ ⦃e⦄, e ∈ hyperedgeSet → e ⊆ vertexSet
```
In addition to the main definition, some additional definitions and related lemmas are provided:
- vertex adjacency
- hyperedge adjacency
- vertex "stars"
- special cases (loops, empty hypergraphs, trivial hypergraphs, complete hypergraphs, simple hypergraphs, k-uniform hypergraphs, and d-regular hypergraphs)
- (some) hypergraph cardinality
- subhypergraphs, induced subhypergraphs, and partial hypergraphs
This implementation is certainly bare-bones. I'm submitting this PR at this point, rather than when my developments are more fleshed out, because there has been some interest in others contributing to hypergraph formalization in mathlib.
In the near future, goals include:
- defining incidence matrices (i.e., conversion from `Hypergraph α` to `Matrix α (Set α) β`
- coersion/generalization of graph as 2-uniform hypergraph
- conversion of a hypergraph into its associated clique graph/two-section graph
- constructing the dual of a hypergraph (note: on first blush, this appears somewhat challenging, given that we define hyperedges as `Set α` rather than some other type `β`)
- rank and co-rank
- walks, paths, cycles, etc. on hypergraphs
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
375/0 |
Mathlib.lean,Mathlib/Combinatorics/Hypergraph/Basic.lean |
2 |
52 |
['b-mehta', 'espottesmith', 'github-actions', 'jt496', 'lauramonk', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
46-49205 1 month ago |
46-49205 1 month ago |
52-35386 52 days |
29028 |
themathqueen author:themathqueen |
feat(Algebra/Star): define `unitary R →* StarAlgEquiv S R R` |
Every unitary defines a star-algebra automorphism (this is an extension of a special version of `MulSemiringAction.toRingEquiv` for unitaries).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
64/0 |
Mathlib.lean,Mathlib/Algebra/Star/UnitaryStarAlgAut.lean |
2 |
14 |
['eric-wieser', 'github-actions', 'themathqueen'] |
eric-wieser assignee:eric-wieser |
46-27801 1 month ago |
53-51690 1 month ago |
55-22294 55 days |
19046 |
j-loreaux author:j-loreaux |
feat: define class `SemigroupAction` |
---
If I can get this building with minimal performance impact, I would like to change the names to:
`MulAction → MonoidAction`
`SemigroupAction → MulAction`
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
48/26 |
Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/LinearAlgebra/Eigenspace/Matrix.lean,Mathlib/LinearAlgebra/FreeModule/Finite/Quotient.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean,Mathlib/RingTheory/Trace/Basic.lean |
13 |
10 |
['alreadydone', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] |
jcommelin assignee:jcommelin |
45-83161 1 month ago |
54-12991 1 month ago |
60-40274 60 days |
29040 |
PMKielstra author:PMKielstra |
feat: trapezoidal rule for integration |
This PR defines the trapezoidal rule and proves the standard error bound on it in terms of bounds on the second derivative.
I have vague plans of using this plus interval arithmetic to develop a tactic that can automatically close goals of the form `\integral x in a..b, f x < y` or similar.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
273/0 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean |
3 |
40 |
['PMKielstra', 'github-actions', 'tb65536'] |
kex-y assignee:kex-y |
45-83155 1 month ago |
55-3648 1 month ago |
55-4084 55 days |
29082 |
grunweg author:grunweg |
RFC: tag `IsInducing` and `Is{Open,Closed,}Embedding` with `fun_prop` |
I have not tested if this is usable in practice; perhaps it is not.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
37/5 |
Mathlib/Topology/Constructions.lean,Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/Maps/Basic.lean |
3 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
45-83152 1 month ago |
54-15404 1 month ago |
54-15434 54 days |
28511 |
YaelDillies author:YaelDillies |
feat(Finsupp): `congr!`-compatible version of `prod_congr` |
`congr!` doesn't like the `g1 x (f x)` appearing in the hypothesis of `Finsupp.prod_congr`: `f x` isn't a free variable.
Note: A few proofs broke due to `simp` using `congr` lemmas internally.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
17/11 |
Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean |
5 |
12 |
['JovanGerb', 'YaelDillies', 'eric-wieser', 'github-actions', 'kmill'] |
kmill assignee:kmill |
44-47839 1 month ago |
66-54294 2 months ago |
66-54326 66 days |
24184 |
YaelDillies author:YaelDillies |
feat: `[G : H]` notation for the index of `H : Subgroup G` |
This is a cute notation which I wrote for FLT. Not sure whether we want it in mathlib nor how to include `relindex` in the picture.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
RFC
label:t-algebra$ |
5/0 |
Mathlib/GroupTheory/Index.lean |
1 |
8 |
['YaelDillies', 'erdOne', 'github-actions', 'j-loreaux', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
38-18051 1 month ago |
38-18076 1 month ago |
186-5789 186 days |
27936 |
alreadydone author:alreadydone |
feat(Algebra): additivize Dvd and Prime |
`Prime` can't be directly additivized, so we introduce `Preprime`, which drops the `≠ 0` condition, and additivize it to `AddPrime`. To show that `Preprime` is a reasonable definition, we show its connection to `Irreducible` under `IsPrimal` and `IsRegular` conditions. We also show that an element in a product monoid is preprime iff one component is a unit and the other is preprime, and the same with `Preprime` replaced by `Irreducible`.
Also additivize `IsPrimal`, `IsRelPrime` and `DecompositionMonoid`.
The motivation is that the primality of `single g 1` in `AddMonoidAlgebra k G` is connected to the primality of `g` in `G`.
---
I've checked [all 29 files](https://github.com/search?q=repo%3Aleanprover-community%2Fmathlib4%20%E2%88%A3%20to_additive&type=code) containing the `∣` symbol and the `to_additive` attribute and fixed the wrongly translated (`dvd` to `addDvd`) names.
TODO: connect (Add)Dvd to [ExistsMul/AddOfLE](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Monoid/Unbundled/ExistsOfLE.html#ExistsMulOfLE)
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
400/191 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/Divisibility/Basic.lean,Mathlib/Algebra/Divisibility/Finite.lean,Mathlib/Algebra/Divisibility/Hom.lean,Mathlib/Algebra/Divisibility/Prod.lean,Mathlib/Algebra/Divisibility/Units.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/Prime/Defs.lean,Mathlib/Algebra/Prime/Lemmas.lean,Mathlib/Algebra/Prime/Prod.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/GroupTheory/Coset/Card.lean,Mathlib/GroupTheory/Exponent.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/GroupAction/Period.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
30 |
11 |
['JovanGerb', 'adomani', 'alreadydone', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
38-10318 1 month ago |
38-17465 1 month ago |
76-66746 76 days |
27252 |
Parcly-Taxel author:Parcly-Taxel |
feat: sharp bounds for `‖exp (I * x) - 1‖` when `x` is real |
From Carleson |
carleson
t-analysis
|
44/0 |
Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean |
2 |
13 |
['Parcly-Taxel', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
37-83140 1 month ago |
45-49165 1 month ago |
46-55620 46 days |
29055 |
vihdzp author:vihdzp |
feat: `Ordinal.toENat` |
We essentially copy the Cardinal/ENat file but make it for ordinals instead. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2317758.20Ordinal.2EtoENat/near/479768508) for some prior discussion on this PR (particularly, the duplication and how there's no easy way to resolve it.)
---
Moved from #17758.
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
292/0 |
Mathlib.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/ENat.lean |
6 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
37-83138 1 month ago |
54-49370 1 month ago |
54-49386 54 days |
22039 |
YaelDillies author:YaelDillies |
feat: simproc for computing `Finset.Ixx` of natural numbers |
---
- [x] depends on: #22290
- [x] depends on: #22559
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
315/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Util/Qq.lean |
4 |
64 |
['FLDutchmann', 'Paul-Lez', 'YaelDillies', 'eric-wieser', 'github-actions', 'grunweg', 'kckennylau', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'urkud'] |
eric-wieser assignee:eric-wieser |
37-51625 1 month ago |
188-49857 6 months ago |
244-10565 244 days |
26544 |
vihdzp author:vihdzp |
feat(SetTheory/ZFC/Ordinal): Lean ordinals to ZFC ordinals |
We define `Ordinal.toZFSet` and prove that its outputs are precisely the ZFC ordinals. Moved from #19985.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-set-theory
|
166/5 |
Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Ordinal.lean,Mathlib/SetTheory/ZFC/PSet.lean,Mathlib/SetTheory/ZFC/Rank.lean |
4 |
23 |
['alreadydone', 'github-actions', 'leanprover-community-bot-assistant', 'staroperator', 'vihdzp'] |
b-mehta assignee:b-mehta |
36-83133 1 month ago |
44-51691 1 month ago |
71-29046 71 days |
22043 |
YaelDillies author:YaelDillies |
chore: shortcut instance for `Neg ℤˣ` |
This lets us avoid importing `Ring` in downstream files (most of the effect is to come).
---
[](https://gitpod.io/from-referrer/)
|
file-removed
t-algebra
label:t-algebra$ |
20/47 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Nat.lean,Mathlib/Algebra/Group/Int/Units.lean,Mathlib/Algebra/Order/Ring/Abs.lean,Mathlib/Algebra/Ring/Int/Units.lean,Mathlib/Algebra/Ring/NegOnePow.lean,Mathlib/Data/Fintype/Units.lean,Mathlib/Data/Int/AbsoluteValue.lean,Mathlib/Data/Int/Associated.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/NumberTheory/NumberField/Basic.lean,MathlibTest/Zify.lean |
12 |
17 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors'] |
eric-wieser assignee:eric-wieser |
36-55546 1 month ago |
160-38583 5 months ago |
245-11605 245 days |
26580 |
vasnesterov author:vasnesterov |
feat(Tactic/Order): translate linear orders to `Int` |
It was [pointed out](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/tactic.20for.20partial.20orders/near/515897754) that `order` is not complete for linear orders with lattice operations (while it remains complete for linear orders without lattice operations and for general lattices without assuming linearity). The problem for linear orders with lattice operations is NP-hard, but it can be translated from an arbitrary type to `Int` and then solved using a smart and efficient procedure (such as `omega`). This PR implements such a translation within the `order` tactic.
Co-authored-by: Aaron Liu
---
- [x] depends on: #26354
[](https://gitpod.io/from-referrer/) |
t-meta |
300/29 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/Graph/Basic.lean,Mathlib/Tactic/Order/Preprocessing.lean,Mathlib/Tactic/Order/ToInt.lean,MathlibTest/order.lean |
7 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vasnesterov'] |
alexjbest assignee:alexjbest |
36-30534 1 month ago |
36-30542 1 month ago |
100-44843 100 days |
26110 |
YaelDillies author:YaelDillies |
feat: sharp monoids |
Define sharp monoids, which are the monoids whose only unit is `1`. This concept is useful in log geometry and in particular shows up in the theory of affine monoids.
This concept already existed in the guise of `Subsingleton Mˣ`, but giving it a name makes it easier to refer to and uncovers some missing instances.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
51/30 |
Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/Divisibility.lean,Mathlib/Data/List/Prime.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/IntegralDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/NormalizedFactors.lean,Mathlib/RingTheory/Valuation/Integers.lean |
18 |
7 |
['YaelDillies', 'b-mehta', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
adomani assignee:adomani |
36-29684 1 month ago |
40-24115 1 month ago |
124-24155 124 days |
29422 |
jsm28 author:jsm28 |
fix(Data/Finset/Max): Use `DecidableEq` for `insert` lemmas |
These `insert` in these lemma statements uses a `DecidableEq` instance derived from `LinearOrder`; make them syntactically more general by passing in a `DecidableEq` instance separately. (Some `insert` lemmas in this file already take `DecidableEq` hypotheses.)
---
[](https://gitpod.io/from-referrer/)
|
t-data |
8/8 |
Mathlib/Data/Finset/Max.lean |
1 |
2 |
['eric-wieser', 'github-actions'] |
nobody |
36-25424 1 month ago |
43-81102 1 month ago |
43-81078 43 days |
28973 |
YaelDillies author:YaelDillies |
feat(TensorProduct): `lTensor` as an `AlgHom` and other lemmas |
From Toric
Co-authored-by: Michał Mrugała
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
21/0 |
Mathlib/RingTheory/TensorProduct/Basic.lean |
1 |
7 |
['YaelDillies', 'eric-wieser', 'github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
35-64521 1 month ago |
35-84119 1 month ago |
20-32669 20 days |
29324 |
tb65536 author:tb65536 |
refactor(Analysis/Calculus/IteratedDeriv/Defs): tweak statement of `iteratedDerivWithin_one` |
This PR removes the `x` from `iteratedDerivWithin_one` to make it match `iteratedDerivWithin_zero`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
3/2 |
Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions', 'grunweg'] |
grunweg assignee:grunweg |
34-20929 1 month ago |
48-16871 1 month ago |
48-16847 48 days |
25831 |
ScottCarnahan author:ScottCarnahan |
feat (RingTheory/HahnSeries): Powers of a binomial |
This PR introduces powers of a binomial `single g 1 - single g' 1` in a Hahn series, where the powers take values in a binomial ring. These series behave as one would expect with respect to addition of powers, and comparison with natural number powers. They are often used in the theory of vertex algebras.
---
- [x] depends on: #25830
- [x] depends on: #27497
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24102.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24102* |
t-ring-theory |
132/0 |
Mathlib.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Binomial.lean,Mathlib/RingTheory/HahnSeries/HEval.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean |
5 |
13 |
['ScottCarnahan', 'github-actions', 'kbuzzard', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
kbuzzard assignee:kbuzzard |
33-18811 1 month ago |
68-6202 2 months ago |
68-7655 68 days |
29761 |
bwangpj author:bwangpj |
feat: Chinese Remainder Theorem for `ZMod n` |
Define `ZMod.equivPi`, the Chinese Remainder Theorem for `ZMod n`, decomposing it as a product of `ZMod` over its prime power factors.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
22/0 |
Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/ZMod/QuotientRing.lean |
2 |
8 |
['Ruben-VandeVelde', 'bwangpj', 'github-actions', 'j-loreaux'] |
nobody |
33-5412 1 month ago |
33-5412 1 month ago |
33-56794 33 days |
26096 |
vasnesterov author:vasnesterov |
feat(Topology/Instances): Cantor set is the set of ternary numbers without `1`s |
* Prove `ofDigits_zero_two_sequence_mem_cantorSet`: If `x = 0.d₀d₁...` in base-3, and none of the digits `dᵢ` is `1`, then `x` belongs to the Cantor set.
* Prove `ofDigits_zero_two_sequence_unique`: such a representation is uniquie.
* Define `toTernary` which converts a real number from the Cantor set to its ternary representation without `1`s.
* Prove `ofDigits_cantorToTernary : ofDigits (cantorToTernary x) = x`.
---
This is a prerequisite for #26136.
- [x] depends on: #26001
- [x] depends on: #26021
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
231/0 |
Mathlib/Topology/Instances/CantorSet.lean,scripts/noshake.json |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
jcommelin assignee:jcommelin |
32-83147 1 month ago |
40-9286 1 month ago |
40-9640 40 days |
29530 |
ShreckYe author:ShreckYe |
feat(Dynamics/PeriodicPts): some theorems for `Pi.map` in `Dynamics/PeriodicPts` analogous to those for `Prod.map` |
Split from #29204. Some namespace prefixes are added in `GroupTheory/OrderOfElement.lean` to distinguish the extra imports introduced.
- [ ] depends on: #29528
|
large-import |
77/8 |
Mathlib/Dynamics/PeriodicPts/Defs.lean,Mathlib/Dynamics/PeriodicPts/Lemmas.lean,Mathlib/GroupTheory/OrderOfElement.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dupuisf assignee:dupuisf |
32-83141 1 month ago |
40-22574 1 month ago |
40-23225 40 days |
27306 |
xyzw12345 author:xyzw12345 |
feat: `lie_ring` tactic and `LieReduce` command |
This PR continues the work from #22196.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22196 |
t-meta |
810/2 |
Mathlib.lean,Mathlib/Algebra/Lie/Derivation/AdjointAction.lean,Mathlib/Tactic.lean,Mathlib/Tactic/LieAlgebra/Basic.lean,Mathlib/Tactic/LieAlgebra/LieRingNF.lean,Mathlib/Util/AtomM.lean,MathlibTest/lie_ring.lean,scripts/noshake.json |
8 |
12 |
['JovanGerb', 'github-actions', 'xyzw12345'] |
JovanGerb assignee:JovanGerb |
32-69155 1 month ago |
42-73744 1 month ago |
90-40820 90 days |
26829 |
pechersky author:pechersky |
feat(RingTheory/Valuation): Valuation.leAddSubgroup and ideal/submodule versions of ltAddSubgroup |
Extracted from #25450 without changing how Valued works
---
[](https://gitpod.io/from-referrer/)
@faenuccio hopefully this bypasses any wait on #14752 because I am not changing Valued files. |
t-ring-theory |
173/0 |
Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean |
2 |
7 |
['JovanGerb', 'github-actions', 'mariainesdff', 'mathlib4-merge-conflict-bot', 'pechersky'] |
mariainesdff assignee:mariainesdff |
32-28701 1 month ago |
74-19087 2 months ago |
106-79997 106 days |
29400 |
ShreckYe author:ShreckYe |
feat(`Algebra/BigOperators`): products of the results of insertion and removal on tuples and lists, and some needed lemmas |
|
large-import |
102/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/Vector/Basic.lean,Mathlib/Data/Fin/Tuple/Basic.lean |
6 |
6 |
['ShreckYe', 'bryangingechen', 'eric-wieser', 'github-actions'] |
bryangingechen assignee:bryangingechen |
32-8585 1 month ago |
44-44537 1 month ago |
44-44579 44 days |
27429 |
smorel394 author:smorel394 |
feat(RepresentationTheory/FinGroupCharZero): applications of Maschke's theorem |
Prove some properties of representations that follow from Maschke's theorem:
* If `G` is a finite group whose order is invertible in a field `k`, then every object of `Rep k G` (resp. `FDRep k G`) is injective and projective.
* For an object `V` of `FDRep k G`, when `k` is an algebraically closed field in which the order of `G` is invertible:
(1) `V` is simple if and only `V ⟶ V` is a `k`-vector space of dimension `1` (`FDRep.simple_iff_end_is_rank_one`);
(2) When `k` is characteristic zero, `V` is simple if and only if `∑ g : G, V.character g * V.character g⁻¹ = Fintype.card G` (`FDRep.simple_iff_char_is_norm_one`).
Note: This used to be #27165, but it was closed for some reason I don't understand.
- [x] depends on: #27154
- [x] depends on: #27134
- [x] depends on: #27125
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
jcommelin assignee:jcommelin |
31-83158 1 month ago |
39-28895 1 month ago |
39-29244 39 days |
29562 |
ShreckYe author:ShreckYe |
feat(Analysis/SpecialFunctions/Trigonometric): tangent half-angle substitution |
|
t-analysis |
82/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Complex.lean |
1 |
1 |
['github-actions'] |
urkud assignee:urkud |
31-83153 1 month ago |
40-27995 1 month ago |
40-28033 40 days |
29235 |
yoh-tanimoto author:yoh-tanimoto |
feat(Topology/Algebra/Module/ClosedSubmodule): add `mapEquiv`, a variation of `ClosedSubmodule.map` for CLE |
add `ClosedSubmodule.mapEquiv` for continuous linear equivalence. In this case, a closed submodule is mapped to a closed submodule, so the definitions are easier and behave nicely with `closure` and `⊔`.
motivation: needed to define standard subspaces in a Hilbert space (scalar multiplication by `Complex.I`) #29251
https://ems.press/content/serial-article-files/48171
- [x] depends on: #29230 for `Lattice` `CompleteLattice` |
t-topology |
69/1 |
Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
fpvandoorn assignee:fpvandoorn |
31-6487 1 month ago |
39-26301 1 month ago |
39-28586 39 days |
22151 |
alreadydone author:alreadydone |
feat(RingTheory): a semiprimary ring is Noetherian/Artinian iff its Jacobson radical is fg |
A key fact used is `Module.FG.smul`: if `I` is a two-sided ideal of `R` that is f.g. as a left ideal and `N` is a f.g. `R`-module, then `I • M` is also a f.g. `R`-module.
Many lemmas about coprimality of ideals are also generalized to the noncommutative, two-sided setting.
---
- [x] depends on: #21904
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
233/166 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/Extension/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Ideal.lean,Mathlib/RingTheory/HopkinsLevitzki.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
10 |
['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
eric-wieser assignee:eric-wieser |
29-14089 29 days ago |
29-14155 29 days ago |
209-13207 209 days |
29497 |
xyzw12345 author:xyzw12345 |
feat(Counterexamples): A ring such that dim A = 1 but dim A[x] = 3 |
In this PR, we constructed an example of a commutative ring `A` that satisfies `ringKrullDim A = 1` but `ringKrullDim A[X] = 3`, following the construction of
https://math.stackexchange.com/questions/1267419/examples-of-rings-whose-polynomial-rings-have-large-dimension
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
176/0 |
Counterexamples.lean,Counterexamples/DimensionPolynomial.lean,Mathlib.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/RingTheory/KrullDimension/LocalRing.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean |
7 |
15 |
['github-actions', 'joelriou', 'kbuzzard', 'kckennylau', 'kim-em', 'xyzw12345'] |
joelriou assignee:joelriou |
28-85477 28 days ago |
28-85477 28 days ago |
40-29277 40 days |
29688 |
tb65536 author:tb65536 |
feat(FieldTheory/IsGaloisGroup): prove the Galois correspondence for `IsGaloisGroup` |
This PR reproves the Galois correspondence for `IsGaloisGroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
89/0 |
Mathlib/FieldTheory/Galois/IsGaloisGroup.lean |
1 |
1 |
['github-actions'] |
joneugster assignee:joneugster |
28-83147 28 days ago |
36-11463 1 month ago |
36-11439 36 days |
29624 |
mcdoll author:mcdoll |
feat(LinearAlgebra/LinearPMap): add definition of resolvent and first resolvent identity |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
180/2 |
Mathlib/LinearAlgebra/LinearPMap.lean |
1 |
2 |
['github-actions', 'mcdoll'] |
kim-em assignee:kim-em |
28-10515 28 days ago |
36-21466 1 month ago |
36-21442 36 days |
28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
5 |
['JaafarTanoukhi', 'NotWearingPants', 'Rida-Hamadani', 'github-actions'] |
kmill assignee:kmill |
27-26402 27 days ago |
58-16639 1 month ago |
58-16671 58 days |
28967 |
utkuokur author:utkuokur |
refactor(Combinatorics/SimpleGraph/Walk): simplify proof of "support_tail_of_not_nil" |
The proof of the lemma named "support_tail_of_not_nil" is shortened. Since "support_tail" is not needed anymore, it is removed.
@[deprecated (since := "2025-08-26")] sign is added for the removed "support_tail".
The library references to "support_tail" are replaced with "support_tail_of_not_nil".
To keep [@simp] on "cons_support_tail" and avoid the linter error, the [@simp] of "support_tail_of_not_nil" (previously on "support_tail") is removed. There might be a better way that I am missing, to deal with the linter error.
---
Additionally, a merge conflict with `master` was resolved by keeping the
generalized `support_tail_of_not_nil` and reintroducing `support_tail` as
a deprecated alias for compatibility.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
7/10 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
2 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
awainverse assignee:awainverse |
27-17716 27 days ago |
43-11888 1 month ago |
56-27798 56 days |
27307 |
xyzw12345 author:xyzw12345 |
feat(RingTheory/GradedAlgebra): homogeneous relation |
This PR continues the work from #22279.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22279 |
t-ring-theory |
391/0 |
Mathlib.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousRelation.lean |
9 |
9 |
['chrisflav', 'eric-wieser', 'github-actions', 'ocfnash', 'xyzw12345'] |
mattrobball assignee:mattrobball |
26-83149 26 days ago |
78-23136 2 months ago |
93-34450 93 days |
29596 |
alreadydone author:alreadydone |
chore(Algebra): extract `Submonoid.IsLocalizationMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
282/119 |
Mathlib.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Lemmas.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/RingTheory/Extension/Presentation/Submersive.lean,Mathlib/RingTheory/Localization/Defs.lean |
7 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
26-83145 26 days ago |
34-36702 1 month ago |
38-49622 38 days |
29411 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix/Rank): rank factorization |
The rank factorization derived from `Module.finBasis`.
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
20/0 |
Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean |
2 |
1 |
['github-actions'] |
jcommelin assignee:jcommelin |
26-26456 26 days ago |
44-9384 1 month ago |
44-9376 44 days |
29526 |
llllvvuu author:llllvvuu |
feat: `Multiset.map f` identifies `f` up to permutation |
Motivation: Reason about `Fintype`-indexed families via `Multiset` equality.
Example use case 1:
```lean
theorem Matrix.IsHermitian.cfc_eigenvalues {d : Type*} [Fintype d] [DecidableEq d]
{M : Matrix d d 𝕜} (hM : M.IsHermitian) (f : ℝ → ℝ)
(hcfc : Matrix.IsHermitian (cfc f M) := cfc_predicate f M) :
∃ (e : d ≃ d), hcfc.eigenvalues = f ∘ hM.eigenvalues ∘ e := by
have := hcfc.roots_charpoly_eq_eigenvalues.symm
rw [hM.charpoly_cfc_eq f, Polynomial.roots_prod] at this; swap
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
have he := (Multiset.compTriple_equivOfMapUnivEq this).comp_eq
simp_rw [← Function.comp_def RCLike.ofReal, ← Function.comp_def f, Function.comp_assoc] at he
exact ⟨_, RCLike.ofReal_injective.comp_left he.symm⟩
```
Example use case 2 (on top of https://github.com/leanprover-community/mathlib4/pull/29610):
```lean
theorem LinearMap.Eigenbasis.μ_equiv {ι ι' R G : Type*} [Fintype ι] [Fintype ι']
[CommRing R] [IsDomain R] [AddCommGroup G] [Module R G] [Module.Free R G] [Module.Finite R G]
{f : Module.End R G} (B₁ : f.Eigenbasis ι) (B₂ : f.Eigenbasis ι') :
∃ e : ι ≃ ι', B₁.μ = B₂.μ ∘ e := by
classical
have := congr(Polynomial.roots $(B₁.charpoly_eq.symm.trans B₂.charpoly_eq))
rw [Polynomial.roots_prod, Polynomial.roots_prod] at this; rotate_left
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
exact ⟨Multiset.equivOfMapUnivEq this, (Multiset.compTriple_equivOfMapUnivEq this).comp_eq.symm⟩
```
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
t-data |
35/0 |
Mathlib/Data/Multiset/Fintype.lean |
1 |
8 |
['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'vihdzp', 'wwylele'] |
nobody |
26-26124 26 days ago |
40-81554 1 month ago |
40-81546 40 days |
29488 |
Timeroot author:Timeroot |
feat: 'said' tactic |
Functionally similar to `says`, but explicitly not for checking output or even saying there ever was output. `X said Y` just means that `X` was part of the process for (a human, or machine, or both) to generate `Y`.
Based on this [#mathlib4 > noisy simp says in CI @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/noisy.20simp.20says.20in.20CI/near/538443152) Zulip discussion
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
40/0 |
Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/Says.lean,MathlibTest/says.lean |
4 |
3 |
['JovanGerb', 'MichaelStollBayreuth', 'github-actions'] |
JovanGerb assignee:JovanGerb |
25-83146 25 days ago |
33-55120 1 month ago |
41-74666 41 days |
29771 |
Vierkantor author:Vierkantor |
refactor(TacticAnalysis): use full CommandElabM context in test |
Running the `rwMerge` linter on the whole of Mathlib reveals that the tactic analysis framework did not always correctly pass the environment to the test step of a pass. By running the test in a full `CommandElabM` and adding a `ContextInfo` and `TacticInfo`, we can access the right environment (using the `ctxI.runTacticCode` function). There are still a few subtle issues to do with notation but I would like to get this fix in first, since it involves some larger refactors.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
44/17 |
Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean |
3 |
7 |
['adomani', 'bryangingechen', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
kim-em assignee:kim-em |
25-83140 25 days ago |
33-30666 1 month ago |
33-47193 33 days |
29538 |
YaelDillies author:YaelDillies |
refactor(FractionalIdeal): use algebraic order theory API |
Instantiate instances earlier and use generic lemmas instead of the `FractionalIdeal`-specific ones.
Also rename `_nonzero` in lemma names to `_ne_zero`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
158/176 |
Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean |
8 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
23-83135 23 days ago |
37-38845 1 month ago |
37-38828 37 days |
29791 |
llllvvuu author:llllvvuu |
feat(Order): lemmas about `iSupIndep` |
* generalize `Finset.SupIndep` "bind" operations from `DistribLattice` to `IsModularLattice`
* new lemma `iSupIndep.iInf`
* more characterizations of `iSupIndep` on submodules:
* `iSupIndep_iff_finset_sum_eq_zero_imp_eq_zero`
* `iSupIndep_iff_finset_sum_eq_imp_eq`
* add `@[simp]` and `@[grind]` attributes which were helpful for these proofs
Original motivation was to have the following fact:
```lean
theorem iSupIndep_iInf_genEigenspace [NoZeroSMulDivisors R M] {α : Type*} (f : α → End R M)
(k : ℕ∞) : iSupIndep fun μ : α → R ↦ ⨅ a : α, ((f a).genEigenspace (μ a)) k :=
.iInf (f · |>.genEigenspace · k) (f · |>.independent_genEigenspace k)
```
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
t-order |
166/62 |
Mathlib/Data/Finset/Disjoint.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Finset/Lattice/Union.lean,Mathlib/Data/Finset/Sigma.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/Logic/Embedding/Basic.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/SupIndep.lean |
11 |
12 |
['github-actions', 'leanprover-bot', 'llllvvuu'] |
bryangingechen assignee:bryangingechen |
23-83134 23 days ago |
31-79723 1 month ago |
32-16941 32 days |
29512 |
grunweg author:grunweg |
feat: check for PR titles which do not start with "feat" etc. |
We ignore draft PRs and PRs with the WIP label.
The set of checks is intentionally kept small, and could be expanded in the
future.
---
More basic version of #16303: given that mathlib's statistics will use the PR kind, let's make sure PR kinds are somewhat appropriate.
[](https://gitpod.io/from-referrer/)
|
|
365/0 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/ValidatePRTitle.lean,lakefile.lean,scripts/README.md,scripts/check_title_labels.lean |
10 |
17 |
['bryangingechen', 'eric-wieser', 'github-actions', 'grunweg'] |
bryangingechen assignee:bryangingechen |
23-64671 23 days ago |
41-27106 1 month ago |
41-27081 41 days |
28719 |
mitchell-horner author:mitchell-horner |
refactor: redefine `IsTuranMaximal` |
Redefined `IsTuranMaximal := G.IsExtremal (CliqueFree · (r + 1))` and
- replaced `classical` in `IsTuranMaximal.le_iff_eq` with `DecidableRel`
- refactored `turanGraph.instDecidableRelAdj`, `turanGraph_zero`, `exists_isTuranMaximal`
- added `open Fintype`
- replaced `simp only` with `rw` or `simp_rw`
---
- [x] depends on: #28721
- [x] depends on: #29054
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
33/46 |
Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean |
1 |
8 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mitchell-horner', 'vihdzp'] |
kmill assignee:kmill |
23-53416 23 days ago |
23-56747 23 days ago |
50-75868 50 days |
25843 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define `between` subgraphs |
The simple graph `G.between s t` is the subgraph of `G` containing edges that connect a vertex in the set `s` to a vertex in the set `t`.
---
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24948.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24948* |
t-combinatorics |
86/0 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
23-53392 23 days ago |
130-37504 4 months ago |
130-37478 130 days |
29369 |
vlad902 author:vlad902 |
feat(SimpleGraph): `IsSubwalk` of common Walk decompositions |
Add some helper lemmas to show that decompositions of walks are sub-walks. |
t-combinatorics |
61/17 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkDecomp.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
22-83148 22 days ago |
46-22225 1 month ago |
46-22267 46 days |
29121 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: MvPolynomial.symmetricSubalgebra.{aevalMultiset,sumPolynomial} |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
192/0 |
Mathlib.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Eval.lean |
2 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
22-57686 22 days ago |
52-82813 1 month ago |
52-82845 52 days |
29735 |
vihdzp author:vihdzp |
feat: order instances on quotients |
We define a `Preorder (Quotient s)` instance in the natural way, and prove that it can be strengthened to a `LinearOrder` when all equivalence classes are `OrdConnected`.
---
See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Quotient.20of.20linear.20order.20is.20linear.20order/near/539915988) for some long-winded discussion about this.
[](https://gitpod.io/from-referrer/)
|
t-order |
125/0 |
Mathlib.lean,Mathlib/Order/Quotient.lean |
2 |
3 |
['github-actions', 'plp127'] |
bryangingechen assignee:bryangingechen |
22-39941 22 days ago |
34-67390 1 month ago |
34-67423 34 days |
27416 |
joelriou author:joelriou |
feat(Algebra/Homology): Ext modules |
In this PR, we show that if `C` is a `R`-linear abelian category, then there is a `R`-module structure on the groups `Ext X Y n` for `X` and `Y` in `C` and `n : ℕ`.
---
- [x] depends on: #26031
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
t-category-theory
label:t-algebra$ |
164/12 |
Mathlib.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/Linear.lean,Mathlib/Algebra/Homology/DerivedCategory/Linear.lean,Mathlib/CategoryTheory/Shift/ShiftedHom.lean |
5 |
7 |
['Thmoas-Guan', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
dagurtomas assignee:dagurtomas |
12-45473 12 days ago |
29-28848 29 days ago |
29-28967 29 days |
29877 |
Komyyy author:Komyyy |
feat: inner product of the gradient |
Also, this PR enables the `conj` notation in the file.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
37/10 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean |
1 |
1 |
['github-actions'] |
hrmacbeth assignee:hrmacbeth |
21-83132 21 days ago |
29-41996 29 days ago |
29-41973 29 days |
29888 |
mcdoll author:mcdoll |
feat(Analysis/Normed): Extend densely defined LinearMaps to CLM |
This PR both adds a new and more user-friendly way to extend a CLM defined on a dense subspace.
It also moves the old definition to the same file and as a side effect, we reduce the import tree.
The moved parts are not modified except for adapting the sections and imports.
Original definition of `ContinuousLinearMap.extend` was by Zhouhang Zhou in 2019 (mathlib3 PR #1649)
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
254/86 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/MeasureTheory/Integral/SetToL1.lean |
5 |
2 |
['github-actions', 'mcdoll'] |
hrmacbeth assignee:hrmacbeth |
21-83131 21 days ago |
29-9199 29 days ago |
29-26948 29 days |
29341 |
joelriou author:joelriou |
feat(Topology): the topology generated by a family of spaces |
Some categories of topological spaces are "convenient" in the sense that they have nice categorical properties (e.g. they have limits, colimits and are cartesian closed). This PR is the first in a series towards showing that delta generated spaces form a cartesian closed monoidal category (see https://github.com/joelriou/topcat-model-category/blob/852a514c1d955ab586507bcd5a7b5efb99c6c3df/TopCatModelCategory/Convenient/CartesianClosed.lean#L92 for the general result), and this result is part of my formalization effort towards the Quillen model category structure on simplicial sets.
In this PR, given a family `X` of topological spaces, and a topological space `Y`, we introduce the `X`-generated topology on `Y`, which is coinduced by all continuous maps `X i → Y`.
(Eventually, this will generalize previous works by Dagur Asgeirsson and Ben Eltschig about compactly/delta generated spaces in mathlib. At some point, their definitions will be refactored as particular cases of the definitions in this PR series.)
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
291/0 |
Mathlib.lean,Mathlib/Topology/Convenient/GeneratedBy.lean,docs/references.bib |
3 |
10 |
['github-actions', 'joelriou', 'peabrainiac'] |
jcommelin assignee:jcommelin |
21-26330 21 days ago |
47-52398 1 month ago |
47-52373 47 days |
29909 |
Vierkantor author:Vierkantor |
feat(CI): add build output to CI workflows |
This PR uses the Zulip build report script (originally developed for the nightly-regression-report workflow) to add a summary of build output to other Zulip posts about workflow results. This allows us to more easily see the origin of a failure. This requires redoing the script a little to make it a bit more flexible, and the output is slightly reformatted to become consistent across the various workflows (4 of them that post to Zulip).
We don't do so for the nightly-testing failures, since those run in a different workflow, and it would be a lot of work to access the command output from another workflow.
---
[](https://gitpod.io/from-referrer/)
|
CI |
93/69 |
.github/workflows/daily.yml,.github/workflows/nightly-docgen.yml,.github/workflows/nightly-regression-report.yml,scripts/zulip_build_report.sh |
4 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
20-83124 20 days ago |
28-34499 28 days ago |
28-34476 28 days |
25974 |
scholzhannah author:scholzhannah |
feat(Topology/Compactness/CompactlyCoherentSpace): compact coherentification (k-ification) |
This PR defines the notion of turning an arbitrary topological space into a compactly coherent space. Compactly coherent spaces are commonly referred to as "compactly generated spaces" or "k-spaces" in the literature while the operation of turning a space into such as space is called the "k-ification". There are however three different notions that are described with this name. To disambiguate we use the names "compactly coherent space" and "compactcoherentification" here. See [this wikipedia page](https://en.wikipedia.org/wiki/Compactly_generated_space) for an explanation of these notions.
This PR continues the work from #25318.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25318
Co-authored-by: Floris van Doorn |
large-import
t-topology
|
174/5 |
Mathlib/Topology/Compactness/CompactlyCoherentSpace.lean |
1 |
4 |
['github-actions', 'joelriou', 'scholzhannah'] |
ADedecker assignee:ADedecker |
20-53381 20 days ago |
21-39103 21 days ago |
120-19512 120 days |
29306 |
YaelDillies author:YaelDillies |
chore(GroupTheory/GroupAction/Basic): don't import `Module` |
This is useful to be able to replace `NoZeroSMulDivisors` with `Module.IsTorsionFree` later.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
16/17 |
Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/LinearAlgebra/Projectivization/Cardinality.lean |
2 |
8 |
['YaelDillies', 'eric-wieser', 'github-actions', 'riccardobrasca'] |
eric-wieser assignee:eric-wieser |
20-48512 20 days ago |
44-60333 1 month ago |
48-21675 48 days |
26332 |
Timeroot author:Timeroot |
feat(ModelTheory/Definability): TermDefinable functions |
This PR continues the work from #23506.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23506 |
t-logic |
145/0 |
Mathlib/Data/Rel.lean,Mathlib/ModelTheory/Definability.lean,scripts/noshake.json |
3 |
28 |
['Timeroot', 'github-actions', 'mathlib4-merge-conflict-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
20-37645 20 days ago |
36-28730 1 month ago |
117-76916 117 days |
26287 |
mbkybky author:mbkybky |
feat(Data/ENat/Lattice): coercion to `WithBot ℕ∞` commutes with `biSup` |
The coercion from `ℕ∞` to `WithBot ℕ∞` commutes with `biSup` and `biInf`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
24/0 |
Mathlib/Data/ENat/Lattice.lean |
1 |
5 |
['github-actions', 'kckennylau', 'mbkybky'] |
ericrbg assignee:ericrbg |
20-33474 20 days ago |
20-33474 20 days ago |
100-34696 100 days |
25969 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupHomology/Functoriality): the degree 1 part of the corestriction-coinflation exact sequence |
Given a `G`-representation `A` and a normal subgroup `S` of `G`, this PR defines the corestriction-coinflation short complex
`H₁(S, A) ⟶ H₁(G, A) ⟶ H₁(G ⧸ S, A_S)` induced by the natural inclusion `S → G` and projections `G → G / S, A → A_S`. We prove it's exact, and that the righthand map is an epimorphism.
---
- [x] depends on: #21652
- [x] depends on: #21732
- [x] depends on: #21733
- [x] depends on: #21735
- [x] depends on: #21736
- [x] depends on: #21738
- [x] depends on: #25868
- [x] depends on: #25873
- [x] depends on: #25880
- [x] depends on: #25884
- [x] depends on: #25888
- [x] depends on: #25939
- [x] depends on: #25952
[](https://gitpod.io/from-referrer/)
---
*Earlier version at #22656.*
|
t-algebra label:t-algebra$ |
262/9 |
Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean |
5 |
n/a |
['101damnations', 'github-actions', 'jcommelin', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
20-14349 20 days ago |
unknown |
unknown |
26923 |
oliver-butterley author:oliver-butterley |
feat(Dynamics/BirkhoffSum): add the pointwise ergodic theorem (Birkhoff's) |
The Pointwise Ergodic Theorem, also known as Birkhoff's Ergodic Theorem.
Co-authored-by: Lua Viana Reis
- [x] depends on: #26074
- [x] depends on: #26807
- [x] depends on: #26810
- [x] depends on: #26840
- [x] depends on: #26842
- [x] depends on: #26848
- [x] depends on: #26851
- [x] depends on: #26852
- [x] depends on: #26853
- [x] depends on: #27008
- [x] depends on: #28901
Zulip: [PR thread](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2326923.20The.20pointwise.20ergodic.20theorem.20.28Birkhoff's.29/with/527835158)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-dynamics
|
401/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean |
2 |
13 |
['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
urkud assignee:urkud |
19-50658 19 days ago |
56-69501 1 month ago |
63-38967 63 days |
29964 |
Vierkantor author:Vierkantor |
feat(TacticAnalysis): check if we are in a `try`/`anyGoals` context |
This PR adds a check if the tactic is being run in a `try` or `anyGoals` call, so that we do not add a warning for the original tactic failing in this context. This was the source of a few "original tactic failed" in the `grind` regression reports.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
71/31 |
Mathlib/Tactic/TacticAnalysis.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,MathlibTest/TacticAnalysis.lean |
3 |
1 |
['github-actions'] |
adamtopaz assignee:adamtopaz |
18-83149 18 days ago |
26-55545 26 days ago |
26-55522 26 days |
29967 |
kim-em author:kim-em |
chore: fix longest pole utilities, and verify in CI |
We should consider outright deleting these. The fact that they were broken is good evidence they haven't been used recently. Sebastian also has a good replacement available (that is aware of the module system), although I'm not sure it's deployed yet. |
CI |
26/22 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml,LongestPole/Main.lean,LongestPole/Unused.lean |
6 |
2 |
['bryangingechen', 'github-actions'] |
bryangingechen assignee:bryangingechen |
18-83148 18 days ago |
26-46750 26 days ago |
26-46785 26 days |
29734 |
bwangpj author:bwangpj |
feat(Probability/Kernel): \phi-irreducibility of kernels |
Define powers of kernels, the Chapman-Kolmogorov equations, as well as \phi-irreducibility of kernels, following Robert-Casella, "Monte Carlo Statistical Methods", Definition 6.13.
Co-authored-by: Matteo Cipollina @or4nge19
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
160/8 |
Mathlib.lean,Mathlib/Probability/Kernel/Composition/Comp.lean,Mathlib/Probability/Kernel/Composition/CompMap.lean,Mathlib/Probability/Kernel/Irreducible.lean,docs/references.bib |
5 |
6 |
['RemyDegenne', 'bwangpj', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
18-42685 18 days ago |
28-31843 28 days ago |
34-70880 34 days |
27400 |
dleijnse author:dleijnse |
feat: define geometrically reduced algebras |
Define geometrically reduced algebras, and prove that if all finitely generated subalgebras of an algebra `A` are geometrically reduced, then `A` is geometrically reduced.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
117/0 |
Mathlib.lean,Mathlib/RingTheory/Adjoin/FG.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Nilpotent/Defs.lean,Mathlib/RingTheory/Nilpotent/GeometricallyReduced.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
6 |
72 |
['dleijnse', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
18-37109 18 days ago |
18-37146 18 days ago |
85-48957 85 days |
26267 |
vasnesterov author:vasnesterov |
feat(Analysis/Calculus): Taylor series converges to function on whole ball |
* Prove `FormalMultilinearSeries.AnalyticOnNhd`: the sum of series is analytic on its ball of convergence.
* Prove `AnalyticOn.hasFPowerSeriesOnBall`: a variant of `AnalyticAt.hasFPowerSeriesAt` which gives convergence to the function on the ball of convergence.
---
- [x] depends on: #23745
- [x] depends on: #23747
- [x] depends on: #23748
- [x] depends on: #26247
This PR continues the work from #23749.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23749 |
t-analysis |
65/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/ChangeOrigin.lean,Mathlib/Analysis/Calculus/IteratedDeriv/ConvergenceOnBall.lean |
3 |
5 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'vasnesterov'] |
urkud assignee:urkud |
18-29387 18 days ago |
62-33946 2 months ago |
109-18813 109 days |
29705 |
llllvvuu author:llllvvuu |
feat(LinearAlgebra/Matrix): formula for charpoly of an inverse matrix |
Co-authored-by: Aristotle Harmonic
---
- [x] depends on: #29709 to re-organized some imports
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/0 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
7 |
['github-actions', 'llllvvuu', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
Vierkantor assignee:Vierkantor |
18-14920 18 days ago |
26-29548 26 days ago |
26-39104 26 days |
29982 |
hrmacbeth author:hrmacbeth |
feat: new `isolate` tactic |
This PR adds a new tactic, `isolate`, which "solves for x" in an equation or relation. For example:
```lean
example (a b : ℝ) (f : ℝ → ℝ) : 5 * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / 5`
```
The `isolate` tactic may generate side goals, if these are necessary to justify the transformation. The tactic will attempt to justify such side goals using `positivity` (as in the above example), unification, or type class inference, but if unsuccessful will present them to the user. For example:
```lean
example (a b c : ℝ) (f : ℝ → ℝ) : c * f a - 3 < b := by
isolate f a
-- new goal: `⊢ f a < (b + 3) / c`
-- second (side) new goal: `⊢ 0 < c`
```
The `isolate` tactic is extensible. Coverage may be extended to new relations and new operations-to-be-undone by tagging appropriate lemmas with the new `@[isolate]` attribute.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
863/3 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Isolate.lean,Mathlib/Tactic/Isolate/Core.lean,Mathlib/Tactic/Isolate/Tagging.lean,Mathlib/Tactic/Relation/Symm.lean,MathlibTest/Isolate/Heavyweight.lean,MathlibTest/Isolate/Lightweight.lean,scripts/noshake.json |
12 |
23 |
['JovanGerb', 'PatrickMassot', 'github-actions', 'hrmacbeth', 'kim-em'] |
JovanGerb assignee:JovanGerb |
17-83155 17 days ago |
25-8898 25 days ago |
25-8880 25 days |
29999 |
jeremypparker author:jeremypparker |
chore(Analysis/Fourier/AddCircle): remove stale comment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
0/1 |
Mathlib/Analysis/Fourier/AddCircle.lean |
1 |
2 |
['Ruben-VandeVelde', 'github-actions', 'jeremypparker'] |
sgouezel assignee:sgouezel |
17-83153 17 days ago |
25-51901 25 days ago |
25-51933 25 days |
29376 |
vlad902 author:vlad902 |
feat(SimpleGraph): helper lemmas for `Walk.IsSubwalk` |
|
t-combinatorics |
29/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
17-52930 17 days ago |
45-60847 1 month ago |
45-60880 45 days |
25814 |
vlad902 author:vlad902 |
feat(SimpleGraph): weaker condition for paths in acyclic graphs |
`IsAcyclic.isPath_iff_chain'` defines a weaker condition for proving that a walk is a path, in particular it shows that rather than proving that all vertices in the support of a walk are distinct, one must only show that consecutive edges are distinct (e.g. every other vertex must be distinct.) This leads to a simple corollary that trails are also paths in acyclic graphs.
I had a need for this when formalizing Cayley graphs, since this condition maps cleanly onto words in free groups being reduced.
---
*This PR continues the work from #25630.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25630* |
t-combinatorics |
38/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Paths.lean |
2 |
2 |
['github-actions', 'vlad902'] |
kmill assignee:kmill |
17-51926 17 days ago |
131-35339 4 months ago |
131-35312 131 days |
29164 |
vlad902 author:vlad902 |
feat(SimpleGraph): Hall's Marriage Theorem for bipartite graphs |
Derive the graph theoretic proof of Hall's marriage theorem from the combinatorial version.
Note that I specifically implement this for the more general case of infinite graphs that are locally finite (e.g. every vertex has only finite neighbors.) As a result, the theorem depends on some category theoretic infrastructure required for the infinite combinatorial formulation of Hall's Marriage Theorem and hence I've placed the theorems into their own file to avoid requiring it in `Matching.lean`
- [ ] depends on: #29162 |
t-combinatorics |
130/7 |
Mathlib.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Hall.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,docs/1000.yaml |
5 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
b-mehta assignee:b-mehta |
17-43211 17 days ago |
37-72156 1 month ago |
37-75379 37 days |
29365 |
staroperator author:staroperator |
feat(SetTheory/ZFC): add `ZFSet.card` |
The same as `ZFSet.rank`, we define `ZFSet.card` as `ZFSet.{u} → Cardinal.{u}` and prove some basic properties.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
123/4 |
Mathlib.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Cardinal.lean |
4 |
21 |
['YaelDillies', 'github-actions', 'staroperator', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
17-20828 17 days ago |
17-20828 17 days ago |
46-13931 46 days |
27107 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(GroupTheory/GroupAction/SubMulAction/Combination) : combinations and group actions |
`Nat.Combination X n` is the type all `s : Finset X` such that `s.card = n`.
This PR provides some API for this subtype and the `SubMulAction` it inherits when a group acts on `X`.
It will be used in conjunction with the description of some maximal subgroups of `Equiv.Perm X` to construct primitive actions.
Question on the names: when `X` is a fintype, there is `Finset.powersetCard` that gives the same object, as a `Finset`. But the present PR also applies when `X` is infinite. Then maybe `Nat.Combination` should be renamed as `Set.powersetCard`?
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
324/0 |
Mathlib.lean,Mathlib/Data/Fintype/EquivFin.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean |
4 |
39 |
['AntoineChambert-Loir', 'alreadydone', 'github-actions', 'tb65536'] |
alreadydone assignee:alreadydone |
17-14209 17 days ago |
77-51587 2 months ago |
99-81326 99 days |
25183 |
YaelDillies author:YaelDillies |
feat: convolution product on linear maps from a coalgebra to an algebra |
Construct the ring structure on linear maps `C → A` where `C` is a coalgebra and `A` an algebra, where multiplication is given by
`(f * g)(x) = ∑ f x₍₁₎ * g x₍₂₎` in Sweedler notation or
```
|
μ
| | / \
f * g = f g
| | \ /
δ
|
```
diagrammatically, where `μ` stands for multiplication and `δ` for comultiplication.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.60Mul.60.20instance.20on.20algebra.20homomorphisms.20from.20monoid.20algebra)
From Toric
Co-authored-by: Michał Mrugała
Co-authored-by: Yunzhou Xie
---
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
261/10 |
Mathlib.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/RingTheory/Coalgebra/Convolution.lean,Mathlib/RingTheory/Regular/RegularSequence.lean |
7 |
88 |
['YaelDillies', 'erdOne', 'eric-wieser', 'github-actions', 'kbuzzard', 'smorel394', 'themathqueen'] |
kbuzzard assignee:kbuzzard |
16-61034 16 days ago |
54-51891 1 month ago |
149-17937 149 days |
26720 |
vlad902 author:vlad902 |
feat(SimpleGraph): lemmas relating edges and darts to the support |
Useful lemmas to make it easier to pass between the support/edges/darts of a walk.
- [x] depends on: #25812
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
27/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
9 |
['b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] |
b-mehta assignee:b-mehta |
16-44859 16 days ago |
16-44859 16 days ago |
39-71373 39 days |
29833 |
vlad902 author:vlad902 |
feat(Set): helper lemmas about set cardinality |
A few lemmas I needed in formalizing Dilworth's theorem and vertex covers.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
19/0 |
Mathlib/Data/Set/Card.lean |
1 |
13 |
['Ruben-VandeVelde', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] |
nobody |
16-34308 16 days ago |
17-7220 17 days ago |
31-43548 31 days |
30245 |
vlad902 author:vlad902 |
feat(Set): finite cardinality iff `[Finite]` |
Add a lemma making it easy to derive `Finite α` from `ENat.card α < ⊤`. Note that immediately above, the following three lemmas are defined:
```lean
@[simp high]
theorem card_eq_top_of_infinite [Infinite α] : card α = ⊤ := by ...
@[simp] lemma card_eq_top : card α = ⊤ ↔ Infinite α := by ...
@[simp] theorem card_lt_top_of_finite [Finite α] : card α < ⊤ := by ...
```
`card_lt_top` is the analog of `card_eq_top`, so symmetry implies that `card_lt_top_of_finite` should be marked `@[simp high]` and `card_lt_top` should be marked `@[simp]`. I find this use of `@[simp]` a bit surprising so I wanted to highlight this to reviewers.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
3/1 |
Mathlib/SetTheory/Cardinal/Finite.lean |
1 |
1 |
['github-actions'] |
nobody |
16-33469 16 days ago |
16-33471 16 days ago |
16-33510 16 days |
26347 |
mans0954 author:mans0954 |
feat(Data/Finset/RangeDistance): abs_sub_lt_of_mem_finset_range |
This PR continues the work from #23161.
Original PR: https://github.com/leanprover-community/mathlib4/pull/23161 |
t-data |
30/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
2 |
['github-actions', 'mans0954'] |
alreadydone assignee:alreadydone |
16-23497 16 days ago |
78-50129 2 months ago |
119-59533 119 days |
26885 |
pechersky author:pechersky |
feat(Topology/ValuativeRel): ValuativeTopology 𝒪[K] |
and even when not a field, `ValuativeRel 𝒪[K]`
This is an example of something achievable with the new declarations that wasn't possible with Valued
Such that we can discuss the valuations on the subring without always using coercions
But to achieve this, one needs some juggling of the value groups
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26834
- [ ] depends on : #30135
|
t-algebra
t-topology
t-number-theory
label:t-algebra$ |
73/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
9 |
['erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
alreadydone assignee:alreadydone |
16-14350 16 days ago |
55-17093 1 month ago |
105-2098 105 days |
30259 |
erdOne author:erdOne |
feat(Valuation): uniformizer of discrete valuation |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
31/0 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
1 |
2 |
['github-actions', 'pechersky'] |
nobody |
15-84477 15 days ago |
15-85838 15 days ago |
15-85876 15 days |
26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26713
- [x] depends on: #26826
|
t-algebra
t-analysis
t-number-theory
label:t-algebra$ |
211/27 |
Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
33 |
['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
kbuzzard assignee:kbuzzard |
15-83325 15 days ago |
69-29642 2 months ago |
106-8956 106 days |
30009 |
ADedecker author:ADedecker |
chore: rename `IsTopologicalGroup.toUniformSpace` to `IsTopologicalGroup.rightUniformSpace` |
I have plans to finally do left and right uniformities properly, but I'd like to do some of the remaining before the fact to ease review.
I also take this opportunity to remove a duplication of private lemmas `extend_Z_bilin_aux` and `extend_Z_bilin_key`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
104/184 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Operator/Compact.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/Topology/Algebra/Group/Defs.lean,Mathlib/Topology/Algebra/InfiniteSum/Group.lean,Mathlib/Topology/Algebra/InfiniteSum/NatInt.lean,Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean,Mathlib/Topology/Algebra/Module/Alternating/Topology.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Algebra/Module/Multilinear/Topology.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/UniformFilterBasis.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean,Mathlib/Topology/ContinuousMap/Algebra.lean |
23 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
PatrickMassot assignee:PatrickMassot |
15-83150 15 days ago |
23-19540 23 days ago |
24-32945 24 days |
30246 |
dwrensha author:dwrensha |
make Nat.digits use well-founded recursion once again |
#25864 made `Nat.digits` structurally recursive, which has some benefits. In doing so, however, it added significant complexity. As brought up in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/structural.20recursion.20instead.20of.20well.20founded/near/543172385), on the balance that PR might not be considered an improvement.
The present PR reverts that change (but keeps a code golf that was bundled with it).
Note that recent improvements to core Lean mean that `simp` can handle the structurally recursive version without a problem:
```lean
example : digits 10 123456789 = [9,8,7,6,5,4,3,2,1] := by
simp [digits, digitsAux]
```
---
[](https://gitpod.io/from-referrer/)
|
t-data |
7/45 |
Mathlib/Data/Nat/Digits/Defs.lean |
1 |
7 |
['alreadydone', 'dwrensha', 'github-actions', 'plp127'] |
nobody |
15-82952 15 days ago |
16-25081 16 days ago |
16-25113 16 days |
28557 |
ShreckYe author:ShreckYe |
feat(Data/Nat/Factorization): some results on equality of powers of naturals proved from factorization |
I came across some math olympiad problems in number theory that could benefit from these theorems, expecially those on the prime power equality `p ^ m = a ^ n`. A specialized `eq_of_factorization_eq'` is added BTW to help with proof search. |
t-data |
100/0 |
Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean |
3 |
13 |
['Ruben-VandeVelde', 'ShreckYe', 'github-actions'] |
pechersky assignee:pechersky |
15-71257 15 days ago |
15-72941 15 days ago |
62-67086 62 days |
28484 |
euprunin author:euprunin |
chore(Data): deprecate `toReal_eq_toReal`, `count_eq_of_nodup` and `smul_mat_cons` |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
16/25 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib/Data/ENNReal/Real.lean,Mathlib/Data/List/Dedup.lean,Mathlib/Data/List/FinRange.lean,Mathlib/Data/List/Nodup.lean,Mathlib/LinearAlgebra/Matrix/Notation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Real.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Integral/Layercake.lean,Mathlib/Probability/Distributions/Exponential.lean,Mathlib/Probability/Independence/Integration.lean,Mathlib/Probability/Kernel/Condexp.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean |
13 |
13 |
['b-mehta', 'bryangingechen', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'pechersky', 'qawbecrdtey'] |
pechersky assignee:pechersky |
15-25931 15 days ago |
15-25931 15 days ago |
64-55799 64 days |
28950 |
Vierkantor author:Vierkantor |
fix(TacticAnalysis): remove syntax range check |
In #28802 we discovered the tactic analysis framework does not fire on declarations using `where` clauses. The reason is that `def foo where ...` gets turned into `def foo := { ... }`, and the `{ ... }` syntax is assigned a range outside of the `where ...` syntax; this causes the syntax range check to omit the whole declaration body. Moreover, [Verso involves pieces of syntax without any range at all](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Possible.20Verso.E2.80.93Mathlib.20conflict/with/543352839). So the range of a piece of syntax is essentially meaningless and we should not check it at all.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
18/11 |
Mathlib/Tactic/TacticAnalysis.lean,MathlibTest/TacticAnalysis.lean |
2 |
3 |
['Vierkantor', 'github-actions', 'thorimur'] |
robertylewis assignee:robertylewis |
15-25432 15 days ago |
56-51205 1 month ago |
56-51180 56 days |
28389 |
euprunin author:euprunin |
chore(Algebra/Group/Subgroup): deprecate `sup_subgroupOf_eq` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
9/13 |
Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/GroupTheory/PGroup.lean |
2 |
4 |
['Ruben-VandeVelde', 'chrisflav', 'euprunin', 'github-actions'] |
chrisflav assignee:chrisflav |
15-11661 15 days ago |
15-12120 15 days ago |
38-49416 38 days |
26985 |
agjftucker author:agjftucker |
feat(Analysis/Calculus/Implicit): define implicitFunOfProdDomain |
This PR continues the work from #16743.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16743
---
- [x] depends on: #28352
[](https://gitpod.io/from-referrer/) |
new-contributor
t-analysis
|
107/4 |
Mathlib/Analysis/Calculus/Implicit.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
14-83153 14 days ago |
22-57241 22 days ago |
22-58819 22 days |
29425 |
pechersky author:pechersky |
feat(NumberTheory/Padics/Torsion): `HasEnoughRootsOfUnity ℤ_[p] (p - 1)` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #29403
- [x] depends on: #29404
- [x] depends on: #29405
- [x] depends on: #29408
- [x] depends on: #29424
|
t-ring-theory |
179/0 |
Mathlib.lean,Mathlib/NumberTheory/Padics/Torsion.lean,Mathlib/RingTheory/ZMod/Torsion.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
14-83148 14 days ago |
22-28018 22 days ago |
22-28650 22 days |
29642 |
pechersky author:pechersky |
chore(RingTheory/AdicValuation,LaurentSeries): switch to `WithZero.exp` instead of coercions of `Multiplicative.ofAdd` |
as requested at
https://github.com/leanprover-community/mathlib4/pull/27339#issuecomment-3285102305
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
58/68 |
Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/NumberTheory/NumberField/FinitePlaces.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DedekindDomain/SelmerGroup.lean,Mathlib/RingTheory/LaurentSeries.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
mattrobball assignee:mattrobball |
14-83147 14 days ago |
22-35942 22 days ago |
30-46310 30 days |
30293 |
vlad902 author:vlad902 |
feat(SimpleGraph): there exists a maximal path/trail in a graph with finite edges |
Inspired by [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Help.20me.20learn.20good.20style.3A.20IsTree/near/543395218)
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
27/1 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean |
1 |
2 |
['github-actions', 'vlad902'] |
nobody |
14-31459 14 days ago |
14-52328 14 days ago |
14-52360 14 days |
26398 |
ChrisHughes24 author:ChrisHughes24 |
feat(ModelTheory): definable functions |
---
Possibly this should be generalized to partial functions.
I migrated the PR by hand instead of using the script.
- [x] depends on: #20166
- [x] depends on: #20161
- [x] depends on: #20115
- [x] depends on: #20174
- [x] depends on: #20175
- [x] depends on: #21948
[](https://gitpod.io/from-referrer/)
|
t-logic |
618/0 |
Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean |
2 |
9 |
['ChrisHughes24', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'staroperator'] |
fpvandoorn assignee:fpvandoorn |
14-25953 14 days ago |
118-54018 3 months ago |
118-54267 118 days |
29361 |
FlAmmmmING author:FlAmmmmING |
feat: Catalan generating function as a formal power series |
We introduce the Catalan generating function as a formal power series over `ℕ`.
## Main Definitions
* `PowerSeries.catalanSeries`: The Catalan generating function as a power series.
## Main Results
* `PowerSeries.sum_coeff_X_catalanSeries`: When `n` is a natural number,
each term in the sum `coeff i X * catalan (n - i)` is 0 except for `i = 1`.
* `PowerSeries.coeff_X_mul_catalanSeries`: The coefficient of `X * catalanSeries` at `X^n` is
`catalan (n - 1)` when `n > 0`.
* `PowerSeries.catalanSeries_one_add_X_mul_self_sq`: The Catalan generating function satisfies the
equation `catalanSeries = 1 + X * catalanSeries ^ 2`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
71/0 |
Mathlib.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
2 |
4 |
['Ruben-VandeVelde', 'github-actions', 'wwylele'] |
kbuzzard assignee:kbuzzard |
13-59750 13 days ago |
46-55825 1 month ago |
46-55854 46 days |
30287 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): define `IsCompleteBetween` |
`IsCompleteBetween` is the condition that two subsets of vertices are completely connected in a simple graph.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
20/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'vlad902'] |
nobody |
13-33707 13 days ago |
15-2345 15 days ago |
15-2345 15 days |
30337 |
kckennylau author:kckennylau |
chore: delete wrong docstring for irrelevant ideal |
The expression given `{a | ∀ (i : ι), i ≤ 0 → aᵢ = 0}` does not define an ideal, because it is not closed under (external) multiplication. For example, if x has grade 1 and y has grade -2, then x will be in this "ideal", but xy will not.
Zulip discussion: [#mathlib4 > irrelevant ideal cannot be generalised](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/irrelevant.20ideal.20cannot.20be.20generalised/near/543800961)
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
0/5 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean |
1 |
1 |
['github-actions'] |
nobody |
13-23409 13 days ago |
13-23434 13 days ago |
13-23470 13 days |
29960 |
yonggyuchoimath author:yonggyuchoimath |
feat(Algebra/Category/Ring): equalizers of pushout maps of tensor product inclusions |
This PR defines a ring map `S →ₗ[R] S ⊗[R] S : s ↦ (s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)` for an `R`-algebra `S`, and show that its kernel is exactly (the image of) `R` if `S` is faithfully flat over `R`.
Changes:
* `TensorProduct.AlgebraTensorModule.distribBaseChange`: Origianlly takes `M` and `N`, where `M` is an `R`-module with an additional instance `IsScalarTower R A M`. This is unnecessary, so I changed the `M` and `N` into `N` and `Q`, now both of which are merely modules over `R`.
Main results :
* Add compatibility of `Algebra.TensorProduct.includeLeft` (or `Algebra.TensorProduct.includeRight`) with `TensorProduct.AlgebraTensorModule.distribBaseChange` and `LinearMap.lTensor`
* Define `Algebra.TensorProduct.includeLeftSubRight`, which is the `R`-linear map `S →ₗ[R] S ⊗[R] S` sending `s : S` to `(s ⊗ₜ[R] 1) - (1 ⊗ₜ[R] s)`.
* `Algebra.TensorProduct.exactIncludeLeftSubRight_of_faithfullyFlat`: the pair `algebraMap : R → S` and `includeLeftSubRight R S : S → S ⊗[R] S` is exact if `S` is a faithfully flat `R`-algebra. |
new-contributor |
229/1 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/IncludeLeftSubRight.lean |
4 |
3 |
['erdOne', 'github-actions', 'yonggyuchoimath'] |
TwoFX assignee:TwoFX |
12-83149 12 days ago |
21-17033 21 days ago |
23-51501 23 days |
30071 |
Jlh18 author:Jlh18 |
feat: dualize Pseudofunctor.CoGrothendieck results to Pseudofunctor.Grothendieck |
Continuing from #29681, dualize all definitions and lemmas in the namespace `Pseudofunctor.CoGrothendieck` to results in the namespace `Pseudofunctor.Grothendieck`.
- [ ] depends on: #29681
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
121/9 |
Mathlib/CategoryTheory/Bicategory/Grothendieck.lean |
1 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
riccardobrasca assignee:riccardobrasca |
12-83146 12 days ago |
20-15889 20 days ago |
20-26394 20 days |
30107 |
grunweg author:grunweg |
chore: track occurrences of 'nonrec' as technical debt |
Matches leanprover-community/leanprover-community.github.io#689: only merge when that is deemed a good idea.
--------
TODO: make the count more robust, for instance count all occurrences of "^nonrec " plus those of "^[private|protected] nonrec ".
---
[](https://gitpod.io/from-referrer/)
|
tech debt
CI
|
1/0 |
scripts/technical-debt-metrics.sh |
1 |
1 |
['github-actions'] |
robertylewis assignee:robertylewis |
12-83144 12 days ago |
20-56032 20 days ago |
20-56010 20 days |
30116 |
FormulaRabbit81 author:FormulaRabbit81 |
feat(Measure): proof that a relatively compact set of measures is tight |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-measure-probability
|
196/2 |
Mathlib/MeasureTheory/Measure/Tight.lean |
1 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
12-83144 12 days ago |
20-7000 20 days ago |
20-7033 20 days |
29322 |
xroblot author:xroblot |
feat(RingTheory/Localization/AtPrime): bijection between prime ideals |
Let `R ⊆ S` be an extension of rings and `p` be a prime ideal of `R`. Denote by `Rₚ` the localization of `R` at the complement of `p` and by `Sₚ` the localization of `S` at the (image) of the complement of `p`.
In this PR, we study the extension `Rₚ ⊆ Sₚ` and the relation between the (nonzero) prime ideals of `Sₚ` and the prime ideals of `S` above `p`. In particular, we prove that (under suitable conditions) they are in bijection. In a following PR #27706, we prove that the residual degree and ramification index are preserved by this bijection.
Note. The new file `RingTheory.Localization.AtPrime.Extension` is imported in `RingTheory.Trace.Quotient` because one function from the latter was moved to the former, but the plan is eventually to move the isomorphisms proved in `RingTheory.Trace.Quotient` to `RingTheory.Localization.AtPrime.Basic` and `RingTheory.Localization.AtPrime.Extension` where they belong. This will be done in #27706.
---
|
t-ring-theory |
147/8 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Instances.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Localization/AtPrime/Extension.lean,Mathlib/RingTheory/Trace/Quotient.lean |
6 |
11 |
['chrisflav', 'github-actions', 'xroblot'] |
chrisflav assignee:chrisflav |
12-59552 12 days ago |
12-59552 12 days ago |
45-62521 45 days |
30355 |
kckennylau author:kckennylau |
feat(Logic): graded functions |
This PR defines a class of graded functions, called `GradedFunLike`. It is intended to be used in #30312 to characterise a class of graded ring homomorphisms, where it is invoked as `[GradedFunLike F 𝒜 ℬ] [RingHomClass F A B]`.
---
[](https://gitpod.io/from-referrer/)
|
t-data |
41/0 |
Mathlib.lean,Mathlib/Data/FunLike/Graded.lean |
2 |
1 |
['github-actions'] |
nobody |
12-42489 12 days ago |
12-82960 12 days ago |
12-82997 12 days |
30364 |
xroblot author:xroblot |
chore(FractionRing): generalize an instance |
The instance that deduce from a tower of domains `A ⊆ B ⊆ C` that there is a tower `Frac A ⊆ Frac B ⊆ Frac C` can be generalized to `A ⊆ B ⊆ K` implies `Frac A ⊆ Frac B ⊆ K` where `K` is a field (and exactly the same proof works!).
---
|
t-ring-theory |
4/4 |
Mathlib/RingTheory/Localization/FractionRing.lean |
1 |
7 |
['github-actions', 'grunweg', 'jcommelin', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'xroblot'] |
nobody |
12-25876 12 days ago |
12-25876 12 days ago |
12-38206 12 days |
29856 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Ring/Basic): Add NonUnitalNonAssocSeminormedRing and NonUnitalNonAssocNormedRing |
Adds the classes `NonUnitalNonAssocSeminormedRing` and `NonUnitalNonAssocNormedRing` and relaxes the `NonUnitalSeminormedRing` section to `NonUnitalNonAssocSeminormedRing`.
Examples of non-unital non-associative normed rings include non-untial JB-algebras and non-unital JB*-algebras.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
110/11 |
Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean |
2 |
1 |
['github-actions'] |
ADedecker assignee:ADedecker |
12-24173 12 days ago |
30-36714 1 month ago |
30-36723 30 days |
29871 |
zach1502 author:zach1502 |
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation |
This PR adds two lemmas formalizing standard Gaussian pivot identities:
* `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`:
After applying the canonical left/right transvection products that clear the last column and row,
the pivot (bottom-right) entry of a matrix is unchanged.
Marked `@[simp]`.
* `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`:
If the pivot entry is nonzero, then the determinant of the matrix factors as
the determinant of the top-left block times the pivot entry, after performing
the canonical transvections.
This is the usual Gauss–pivot determinant identity.
* Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas
are usable by `simp`/`simpa`.
---
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
3 |
['github-actions', 'riccardobrasca', 'zach1502'] |
riccardobrasca assignee:riccardobrasca |
12-20605 12 days ago |
29-13035 29 days ago |
29-78497 29 days |
29976 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Topology/Semicontinuous): lower bounds on compact sets |
Prove that lower semicontinuous functions attain their lower bound on nonempty compact sets, and the analogous lemma for upper semicontinuous functions.
By the way, add several basic results for semicontinuous functions, relating the WithinAt, At, On versions.
Co-authored with @ADedecker
---
[](https://gitpod.io/from-referrer/)
|
|
300/1 |
Mathlib/Order/Filter/Extr.lean,Mathlib/Topology/Semicontinuous.lean |
2 |
1 |
['github-actions'] |
TwoFX assignee:TwoFX |
12-14191 12 days ago |
26-16111 26 days ago |
26-16086 26 days |
28560 |
euprunin author:euprunin |
chore(Combinatorics/Quiver): golf entire `lift_spec` using `rfl` |
---
Show trace profiling of lift_spec : <10 ms before, <10 ms after 🎉
### Trace profiling of `lift_spec` before PR 28560
```diff
diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean
index 33e371b283..76a3371b36 100644
--- a/Mathlib/Combinatorics/Quiver/Symmetric.lean
+++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean
@@ -164,6 +164,7 @@ def lift [HasReverse V'] (φ : Prefunctor V V') :
| Sum.inl g => φ.map g
| Sum.inr g => reverse (φ.map g)
+set_option trace.profiler true in
theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') :
Symmetrify.of.comp (Symmetrify.lift φ) = φ := by
fapply Prefunctor.ext
```
```
✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.3s)
Build completed successfully (147 jobs).
```
### Trace profiling of `lift_spec` after PR 28560
```diff
diff --git a/Mathlib/Combinatorics/Quiver/Symmetric.lean b/Mathlib/Combinatorics/Quiver/Symmetric.lean
index 33e371b283..3adf874946 100644
--- a/Mathlib/Combinatorics/Quiver/Symmetric.lean
+++ b/Mathlib/Combinatorics/Quiver/Symmetric.lean
@@ -164,13 +164,10 @@ def lift [HasReverse V'] (φ : Prefunctor V V') :
| Sum.inl g => φ.map g
| Sum.inr g => reverse (φ.map g)
+set_option trace.profiler true in
theorem lift_spec [HasReverse V'] (φ : Prefunctor V V') :
Symmetrify.of.comp (Symmetrify.lift φ) = φ := by
- fapply Prefunctor.ext
- · rintro X
- rfl
- · rintro X Y f
- rfl
+ tauto
theorem lift_reverse [h : HasInvolutiveReverse V']
(φ : Prefunctor V V') {X Y : Symmetrify V} (f : X ⟶ Y) :
```
```
✔ [147/147] Built Mathlib.Combinatorics.Quiver.Symmetric (1.2s)
Build completed successfully (147 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
easy
|
2/6 |
Mathlib/Combinatorics/Quiver/Symmetric.lean |
1 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
12-8712 12 days ago |
12-8712 12 days ago |
65-25062 65 days |
27664 |
pechersky author:pechersky |
feat(Topology,Analysis): discrete topology metric space and normed groups |
Explicit construction of the discrete topology metric space and normed groups where `dist x y = 1` for all `x != y`
Provide PseudoMetricSpace, MetricSpace, Seminormed(Add)Group, and Normed(Add)Group constructions
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
137/0 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/MetricSpace/Basic.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean |
3 |
4 |
['github-actions', 'kckennylau', 'pechersky'] |
urkud assignee:urkud |
12-7014 12 days ago |
83-73163 2 months ago |
83-73147 83 days |
28906 |
gasparattila author:gasparattila |
feat(Topology/Algebra/Module): `prod` and `coprod` as `ContinuousLinearEquiv`s |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
40/4 |
Mathlib/Topology/Algebra/Module/LinearMapPiProd.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
2 |
4 |
['github-actions', 'kckennylau'] |
jcommelin assignee:jcommelin |
12-6939 12 days ago |
57-23325 1 month ago |
57-23356 57 days |
27754 |
Parcly-Taxel author:Parcly-Taxel |
feat: `finCycle` as iterated `finRotate` |
Originally used in #25786, but eventually discovered to be unnecessary. |
t-logic |
26/5 |
Mathlib/Logic/Equiv/Fin/Rotate.lean |
1 |
1 |
['github-actions', 'kckennylau'] |
fpvandoorn assignee:fpvandoorn |
12-6029 12 days ago |
82-31499 2 months ago |
82-31543 82 days |
27365 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupHomology): homology of finite cyclic groups |
Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0`.
When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation.
In this PR we show that for `A : Rep k G`, `(A ⊗ P)_G` is isomorphic to `Chains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the homology of this complex computes group homology.
---
- [x] depends on: #27362
- [x] depends on: #27361
- [x] depends on: #27363
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
142/1 |
Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/FiniteCyclic.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
11-83153 11 days ago |
19-30057 19 days ago |
19-32504 19 days |
29744 |
espottesmith author:espottesmith |
feat(Combinatorics): define directed hypergraphs |
This PR defines directed hypergraphs:
```
@[ext]
structure DiHypergraph (α : Type*) where
/-- The vertex set -/
vertexSet : Set α
/-- The edge set -/
edgeSet : Set ((Set α) × (Set α))
/-- Each edge is a pair (s, d), where s ⊆ vertexSet and d ⊆ vertexSet -/
edge_src_dst_isSubset_vertexSet' : ∀ ⦃e⦄, e ∈ edgeSet → e.1 ⊆ vertexSet ∧ e.2 ⊆ vertexSet
```
Additional definitions:
- tail/head stars and negative/positive stars
- some special cases (B-Graph, F-Graph, BF-Graph, and what I'm calling a "non-endless" dihypergraph, where neither the source/tail nor the destination/head are empty)
- Vertex and (hyper)edge adjacency
- isolated vertices
- empty and nonempty dihypergraphs
The design employed here is based off of #28613, but this PR does not depend on that one.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
391/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
11-83151 11 days ago |
34-45751 1 month ago |
34-45795 34 days |
30123 |
erdOne author:erdOne |
feat(Topology): add `IsCompact.closure_eq_nhdsKer` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
11/0 |
Mathlib/Topology/Separation/Regular.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
11-83150 11 days ago |
19-47223 19 days ago |
19-47256 19 days |
30124 |
erdOne author:erdOne |
feat(RingTheory): `IsAdicComplete I R ↔ CompleteSpace R ∧ T2Space R` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-topology
label:t-algebra$ |
40/0 |
Mathlib/Order/Filter/Bases/Basic.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Topology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Separation/Basic.lean |
5 |
1 |
['github-actions'] |
alreadydone assignee:alreadydone |
11-83149 11 days ago |
19-46160 19 days ago |
19-46263 19 days |
30141 |
shalliso author:shalliso |
fix(Topology/Baire/Lemmas): fix index type in isMeagre_iUnion |
The index set ι needs to be of type Sort* instead of type Type* in isMeagre_iUnion otherwise I get the following message when I try to use it:
typeclass instance problem is stuck, it is often due to metavariables
Countable ?m.27
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
|
1/1 |
Mathlib/Topology/GDelta/Basic.lean |
1 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
11-83145 11 days ago |
19-9479 19 days ago |
19-9513 19 days |
29347 |
themathqueen author:themathqueen |
refactor(Algebra/Star/StarAlgHom): let `StarAlgEquiv` extend `StarRingEquiv` instead of `RingEquiv` |
Instead of having `StarAlgEquiv` extend `RingEquiv` and have properties `map_star'` and `map_smul'`, it now extends `StarRingEquiv` with only `map_smul'`.
---
Will add more API in the next PR.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
29/36 |
Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean |
2 |
5 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'themathqueen'] |
dupuisf and kbuzzard assignee:dupuisf assignee:kbuzzard |
11-76232 11 days ago |
45-9668 1 month ago |
47-32621 47 days |
26975 |
Whysoserioushah author:Whysoserioushah |
feat: a norm_num extension for complex numbers |
co-authored-by : @thefundamentaltheor3m, @hrmacbeth
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
350/0 |
Mathlib.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/NormNumI.lean,MathlibTest/norm_numI.lean |
5 |
52 |
['JovanGerb', 'Whysoserioushah', 'dupuisf', 'eric-wieser', 'github-actions', 'hrmacbeth'] |
robertylewis assignee:robertylewis |
11-40250 11 days ago |
96-20874 3 months ago |
96-25182 96 days |
29539 |
YaelDillies author:YaelDillies |
feat: monoid algebras are invariant under base change |
From Toric
Co-authored-by: Michał Mrugała
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
large-import
|
112/6 |
Mathlib.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/RingTheory/TensorProduct/MonoidAlgebra.lean |
3 |
5 |
['YaelDillies', 'github-actions', 'plp127'] |
mattrobball assignee:mattrobball |
11-36766 11 days ago |
40-64199 1 month ago |
40-65600 40 days |
27047 |
YaelDillies author:YaelDillies |
feat: `MonoidHom.toAdditiveRight` as a `MulEquiv` |
From Toric
---
- [x] depends on: #29800
I haven't yet been very thorough with the new lemmas. I first want to hear thoughts about the names
[](https://gitpod.io/from-referrer/)
|
toric
t-algebra
label:t-algebra$ |
31/7 |
Mathlib/Algebra/Group/TypeTags/Hom.lean |
1 |
6 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
adomani assignee:adomani |
11-35975 11 days ago |
11-36294 11 days ago |
79-73787 79 days |
29449 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): add Turán density related theorems |
Refactors `tendsto_turanDensity` and implements `turanDensity_eq_sInf` and `isContained_of_card_edgeFinset` (theorems that are common in proofs involving Turán density).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
51/14 |
Mathlib/Combinatorics/SimpleGraph/Extremal/TuranDensity.lean |
1 |
13 |
['YaelDillies', 'github-actions', 'mitchell-horner'] |
YaelDillies assignee:YaelDillies |
11-35540 11 days ago |
15-68016 15 days ago |
41-86088 41 days |
29582 |
YaelDillies author:YaelDillies |
chore: rename `_root_.prop` to `instFiniteProp` |
This was a surprising name!
---
[](https://gitpod.io/from-referrer/)
|
t-data |
1/1 |
Mathlib/Data/Fintype/EquivFin.lean |
1 |
12 |
['YaelDillies', 'bryangingechen', 'eric-wieser', 'github-actions', 'grunweg', 'plp127'] |
nobody |
11-34799 11 days ago |
11-34846 11 days ago |
14-36181 14 days |
30404 |
mariainesdff author:mariainesdff |
feat(RingTheory/DedekindDomain/AdicValuation): add eq_of_valuation_isEquiv_valuation |
Co-authored-by: @Louddy
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
12/1 |
Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
1 |
1 |
['github-actions'] |
nobody |
11-32905 11 days ago |
11-33423 11 days ago |
11-33469 11 days |
30408 |
kckennylau author:kckennylau |
feat(RingTheory): more algebra instances for HomogeneousLocalization and linear constructors |
This PR introduces the instance `Algebra R₀ (HomogeneousLocalization 𝒜 x)` as well as two linear constructors `mkₗ` and `Away.mkₗ` that fix the denominator.
Zulip discussion: [#mathlib4 > Some algebra instance for graded algebra and homog loc](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Some.20algebra.20instance.20for.20graded.20algebra.20and.20homog.20loc/with/544178649)
---
Split from #26061.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
65/20 |
Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean |
1 |
1 |
['github-actions'] |
nobody |
11-31187 11 days ago |
11-31187 11 days ago |
11-31256 11 days |
30126 |
YaelDillies author:YaelDillies |
feat: characterise when `Set.rangeFactorization` is injective |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
10/3 |
Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Operations.lean |
2 |
2 |
['github-actions', 'plp127'] |
nobody |
11-27445 11 days ago |
11-27509 11 days ago |
11-44899 11 days |
30391 |
rudynicolop author:rudynicolop |
feat(Data/List): list splitting definitions and lemmas |
This PR continues the work from #24395.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 |
t-data
new-contributor
|
151/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
4 |
['BoltonBailey', 'github-actions', 'rudynicolop'] |
nobody |
11-6177 11 days ago |
12-3318 12 days ago |
12-3355 12 days |
30420 |
erdOne author:erdOne |
feat(Topology): Units of nonnegative elements |
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-algebra
label:t-algebra$ |
35/0 |
Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Topology/Algebra/Field.lean |
2 |
1 |
['github-actions'] |
nobody |
11-4230 11 days ago |
11-4230 11 days ago |
11-9633 11 days |
25907 |
mans0954 author:mans0954 |
feat: low order roots of unity |
This PR continues the work from #25470.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25470 |
t-algebra label:t-algebra$ |
182/0 |
Mathlib/Algebra/CharP/Invertible.lean,Mathlib/RingTheory/RootsOfUnity/Complex.lean |
2 |
3 |
['github-actions', 'mans0954', 'urkud'] |
kim-em assignee:kim-em |
10-83261 10 days ago |
128-42202 4 months ago |
128-42241 128 days |
29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
1 |
['github-actions'] |
awainverse assignee:awainverse |
10-83161 10 days ago |
27-26684 27 days ago |
27-26722 27 days |
30121 |
idontgetoutmuch author:idontgetoutmuch |
Principal fiber bundle core |
A structure capturing what it means to be a principal fibre bundle.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-differential-geometry
|
227/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean |
2 |
5 |
['github-actions', 'grunweg'] |
hrmacbeth assignee:hrmacbeth |
10-83159 10 days ago |
18-60812 18 days ago |
19-53764 19 days |
30148 |
mbkybky author:mbkybky |
chore(RingTheory/Spectrum/Prime/Module): golf `stableUnderSpecialization_support` using `mem_support_mono` |
Golf [Module.stableUnderSpecialization_support](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Spectrum/Prime/Module.html#Module.stableUnderSpecialization_support) using [Module.mem_support_mono](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Support.html#Module.mem_support_mono).
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
2/6 |
Mathlib/RingTheory/Spectrum/Prime/Module.lean |
1 |
1 |
['github-actions'] |
chrisflav assignee:chrisflav |
10-83156 10 days ago |
18-74455 18 days ago |
18-74490 18 days |
30180 |
mcdoll author:mcdoll |
feat(Analysis/Calculus): add a version of bounding iterated derivatives of compositions with fewer assumptions on differentiability |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
17/3 |
Mathlib/Analysis/Calculus/ContDiff/Bounds.lean |
1 |
1 |
['github-actions'] |
hrmacbeth assignee:hrmacbeth |
10-83152 10 days ago |
18-22788 18 days ago |
18-22826 18 days |
30182 |
urkud author:urkud |
feat(Calculus): derivative of `ContinuousMultilinearMap.compContinuousLinearMap` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
136/1 |
Mathlib.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean |
3 |
1 |
['github-actions'] |
hrmacbeth assignee:hrmacbeth |
10-83151 10 days ago |
18-9379 18 days ago |
18-9415 18 days |
30336 |
kckennylau author:kckennylau |
feat(RingTheory): some lemmas about the irrelevant ideal |
This PR adds some lemmas about the irrelevant ideal of a graded ring, such as the fact that it is the iSup of each positively graded component.
---
Split from #26061.
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
49/5 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean |
1 |
1 |
['github-actions'] |
nobody |
10-57918 10 days ago |
13-29033 13 days ago |
13-29069 13 days |
30431 |
kckennylau author:kckennylau |
feat(RingTheory): a homogeneous submodule is the span of its homogeneous elements |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
22/0 |
Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean |
2 |
1 |
['github-actions'] |
nobody |
10-56659 10 days ago |
10-56659 10 days ago |
10-56700 10 days |
28893 |
joelriou author:joelriou |
refactor(AlgebraicTopology): redefine the topological simplex using the convexity API |
Before this PR, the n-dimensional topological simplex (in the `AlgebraicTopology` hierarchy) was defined as a subtype of `Fin (n + 1) → ℝ≥0`, which did not interact well with the convexity API which assumes the ambient type is a vector space. In this PR, we redefine the topological simplex functor (as a cosimplicial object in `TopCat`) using the already existing `stdSimplex` from `Analysis.Convex`.
---
- [x] depends on: #28891
- [x] depends on: #28869
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
t-convex-geometry
large-import
maintainer-merge
|
91/108 |
Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SingularSet.lean,Mathlib/AlgebraicTopology/TopologicalSimplex.lean,Mathlib/Analysis/Convex/StdSimplex.lean |
4 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
10-34058 10 days ago |
19-42097 19 days ago* |
0-2609 43 minutes* |
30029 |
ADedecker author:ADedecker |
feat: define IsRightUniformGroup and IsLeftUniformGroup |
This mostly contains the definition and additional documentation. Future PRs will take care of expanding the theory, and proving in particular that `IsUniformGroup` is precisely the conjuction of these two typeclasses.
---
- [x] depends on: #30025
[](https://gitpod.io/from-referrer/)
|
t-topology |
199/36 |
Mathlib/Topology/Algebra/IsUniformGroup/Basic.lean,Mathlib/Topology/Algebra/IsUniformGroup/Defs.lean |
2 |
12 |
['ADedecker', 'github-actions', 'leanprover-bot', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
PatrickMassot assignee:PatrickMassot |
10-30968 10 days ago |
23-19418 23 days ago |
23-30649 23 days |
29437 |
SnirBroshi author:SnirBroshi |
feat(Data/Seq): add Seq.subsequence and prove basic theorems about it |
I added `Seq.subsequence` to compose a sequence with a monotone function, creating a subsequence. Aliased to `Seq.comp` since it's a composition.
I also added `Nat.le_induction_step_iff` which is needed to prove a subsequence is a sequence. This proves the comment at the top of `Defs.lean` that says "if `f n = none`, then `f m = none` for all `m ≥ n`" while `IsSeq` only talks about `n+1`.
For completion I added the same statement for `Int`.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-data
new-contributor
|
104/0 |
Mathlib/Data/Int/Init.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Seq/Defs.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
10-29511 10 days ago |
34-43960 1 month ago |
43-31448 43 days |
29758 |
SnirBroshi author:SnirBroshi |
feat(RingTheory/RootsOfUnity): exp(pi * i * q) is a root of unity for rational q |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
28/1 |
Mathlib/RingTheory/RootsOfUnity/Complex.lean |
1 |
5 |
['Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'kckennylau'] |
chrisflav assignee:chrisflav |
10-28887 10 days ago |
33-1562 1 month ago |
33-8561 33 days |
30163 |
SnirBroshi author:SnirBroshi |
feat(Data/Set/Lattice): useful equivalences of `biUnion` and `biInter` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
25/0 |
Mathlib/Data/Set/Lattice.lean |
1 |
1 |
['github-actions'] |
nobody |
10-17135 10 days ago |
18-38004 18 days ago |
18-38054 18 days |
30213 |
SnirBroshi author:SnirBroshi |
feat(Data/List/GetD): golf and add lemmas for `get` and `getElem?` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
18/16 |
Mathlib/Data/List/GetD.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
10-16481 10 days ago |
17-9623 17 days ago |
17-9820 17 days |
30214 |
SnirBroshi author:SnirBroshi |
feat(Data/List/Basic): add `Fin` variants of `*mem_iff_getElem` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
2 |
['SnirBroshi', 'github-actions'] |
nobody |
10-16329 10 days ago |
17-7344 17 days ago |
17-8096 17 days |
30215 |
SnirBroshi author:SnirBroshi |
feat(Data/List/NodupEquivFin): add equiv with `count = 1` hypothesis |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
7/2 |
Mathlib/Data/List/NodupEquivFin.lean |
1 |
2 |
['SnirBroshi', 'github-actions'] |
nobody |
10-16158 10 days ago |
17-7415 17 days ago |
17-7799 17 days |
30216 |
SnirBroshi author:SnirBroshi |
feat(Data/List/Basic): `get` is surjective iff every element is in the list |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
13/0 |
Mathlib/Data/List/Basic.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'themathqueen'] |
nobody |
10-15820 10 days ago |
17-7408 17 days ago |
17-7442 17 days |
30217 |
SnirBroshi author:SnirBroshi |
feat(Data/List/GetD): `getD` is surjective iff every element is in the list |
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
19/0 |
Mathlib/Data/List/GetD.lean |
1 |
2 |
['github-actions', 'themathqueen'] |
nobody |
10-15655 10 days ago |
17-7161 17 days ago |
17-7197 17 days |
28793 |
grunweg author:grunweg |
feat: smooth immersions |
Define smooth immersions between manifolds.
We use a definition which allows for corners, infinite dimension and arbitrary fields.
Future PRs will
- prove that immersions are C^n (#28796),
- prove another characterisation of immersions: f is immersed at x iff the differential df_x splits,
i.e. is injective, has closed range and its image has a closed complement,
and in particular that a map between finite-dimensional manifolds over a complete field is an
immersion iff its differential is injective,
- use this to prove that the product (#28853) and composition of immersions is an immersion,
- use this theory to give more conceptual proofs of half of `Manifold/Instances/Icc.lean` (#29077)
- define smooth embeddings and immersed and embedded smooth submanifolds
---
- [x] depends on: #28701
Most of the above has been done at https://github.com/grunweg/mathlib4/tree/MR-define-immersions.
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry |
487/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/IsImmersionEmbedding.lean,Mathlib/Geometry/Manifold/LocalSourceTargetProperty.lean,docs/references.bib |
4 |
98 |
['chrisflav', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
10-11971 10 days ago |
12-75446 12 days ago |
24-13028 24 days |
30354 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity/WalkCounting): a spanning subgraph has the same or more connected components |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
8/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean |
2 |
1 |
['github-actions'] |
nobody |
10-3068 10 days ago |
12-86176 12 days ago |
12-86209 12 days |
30429 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity): a graph is either connected or its complement is |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
17/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
1 |
1 |
['github-actions'] |
nobody |
10-2655 10 days ago |
10-69270 10 days ago |
10-69304 10 days |
30423 |
erdOne author:erdOne |
feat(RingTheory): API for valuative rel |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
164/28 |
Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Trivial.lean |
2 |
2 |
['github-actions', 'pechersky'] |
nobody |
10-90 10 days ago |
11-4659 11 days ago |
11-4691 11 days |
27946 |
plp127 author:plp127 |
refactor: have `MetrizableSpace` not depend on `MetricSpace` |
Some theorems for uniform spaces with a countably generated uniformity do not mention their uniformity in any of the hypotheses or the conclusion (for example `UniformSpace.isCompact_iff_isSeqCompact`). This PR allows those theorems to be stated for (pseudo)metrizable spaces without importing the real numbers.
- Use `TopologicalSpace.pseudoMetrizableSpaceUniformity` to endow a pseudometrizable space with a compatible uniformity,
and use `TopologicalSpace.pseudoMetrizableSpaceUniformity_countably_generated` to show that this is countably generated.
- `TopologicalSpace.pseudoMetrizableSpacePseudoMetric` and `TopologicalSpace.metrizableSpaceMetric` have been moved to `Mathlib/Topology/Metrizable/Uniformity.lean`.
See also #2032
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
128/102 |
Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean,Mathlib/Topology/Compactness/PseudometrizableLindelof.lean,Mathlib/Topology/GDelta/MetrizableSpace.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/ContinuousMap.lean,Mathlib/Topology/Metrizable/Real.lean,Mathlib/Topology/Metrizable/Uniformity.lean |
7 |
11 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] |
urkud assignee:urkud |
9-24870 9 days ago |
9-29863 9 days ago |
78-16885 78 days |
29143 |
RemyDegenne author:RemyDegenne |
feat(Probability/Decision): basic properties of the Bayes risk |
- Comparison of the Bayes risk and the minimax risk
- Maximal value of the Bayes risk and particular cases where it equals that value
- Data-processing inequality
---
- [x] depends on: #29137
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-measure-probability
|
262/1 |
Mathlib.lean,Mathlib/Probability/Decision/Risk/Basic.lean,Mathlib/Probability/Decision/Risk/Defs.lean |
3 |
16 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
EtienneC30 assignee:EtienneC30 |
9-16678 9 days ago |
9-16678 9 days ago |
22-61534 22 days |
30478 |
riccardobrasca author:riccardobrasca |
feat: remove separability assumption from Algebra.dvd_algebraMap_intNorm_self |
Continuing the work of #30323 and #30448 we remove the separability assumption from `Algebra.dvd_algebraMap_intNorm_self`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
27/19 |
Mathlib/RingTheory/Ideal/Norm/RelNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean |
2 |
1 |
['github-actions'] |
nobody |
9-12122 9 days ago |
9-12184 9 days ago |
9-12184 9 days |
30047 |
ooovi author:ooovi |
feat(Combinatorics/SimpleGraph): edge labellings |
Add edge labellings for `SimpleGraph` as well as some basic lemmata.
---
This is mostly a cleaned up part of @b-mehta's lean4 port of their [formalisation of an exponentially better upper bound on Ramsey numbers ](https://github.com/b-mehta/ExponentialRamsey/). I need these definitions for another project on Ramsey theory.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
234/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/EdgeLabelling.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Counting.lean |
5 |
45 |
['YaelDillies', 'b-mehta', 'github-actions', 'ooovi', 'vlad902'] |
b-mehta assignee:b-mehta |
8-83135 8 days ago |
16-31449 16 days ago |
21-41909 21 days |
30486 |
vihdzp author:vihdzp |
feat: `f r = r` for `f : ℝ →+* ℝ` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
t-algebra
easy
label:t-algebra$ |
6/0 |
Mathlib/Data/Real/CompleteField.lean |
1 |
5 |
['github-actions', 'plp127', 'vihdzp'] |
nobody |
8-78702 8 days ago |
8-83027 8 days ago |
8-83067 8 days |
30489 |
vihdzp author:vihdzp |
feat: more lemmas on `AntisymmRel` |
---
Downstreamed from the CGT repo.
[](https://gitpod.io/from-referrer/)
|
t-order |
23/3 |
Mathlib/Order/Antisymmetrization.lean |
1 |
1 |
['github-actions'] |
nobody |
8-78057 8 days ago |
8-78356 8 days ago |
8-78389 8 days |
26457 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(Mathlib/GroupTheory/Perm/MaximalSubgroups): maximal subgroups of the permutation group |
* `Equiv.Perm.isCoatom_stabilizer`: when `s : Set α` is not empty, nor its complementary subset, and if the cardinality of `s` is not half of that of `α`, then `MulAction.stabilizer (Equiv.Perm α) s` is a maximal subgroup of the symmetric group `Equiv.Perm α`.
This is the *intransitive case* of the O'Nan-Scott classification.
## TODO
* Appplication to primitivity of the action of `Equiv.Perm α` on finite combinations of `α`.
* Finish the classification
---
- [x] depends on: #26282
- [x] depends on: #26281
- [x] depends on: #26280
- [x] depends on: #26279
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
525/2 |
Mathlib.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,docs/references.bib |
8 |
n/a |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
8-76016 8 days ago |
unknown |
unknown |
30416 |
SnirBroshi author:SnirBroshi |
feat(Logic/Relation): lemmas relating `Relation.Map` and `Function.onFun` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
32/0 |
Mathlib/Logic/Relation.lean |
1 |
1 |
['github-actions'] |
nobody |
8-74837 8 days ago |
11-15537 11 days ago |
11-17765 11 days |
26219 |
Thmoas-Guan author:Thmoas-Guan |
feat(RingTheory/KrullDimension): Krull Dimension of quotient regular sequence |
We show that if M is a finite module over a Noetherian local ring R, [r₁, …, rₙ] is an M-sequence, then dim M⧸(r₁, …, rₙ)M + n = dim M.
Co-authored-by: Yongle Hu @mbkybky
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
225/15 |
Mathlib.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/KrullDimension/Module.lean,Mathlib/RingTheory/KrullDimension/Regular.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/Nakayama.lean,Mathlib/RingTheory/Support.lean |
9 |
n/a |
['Thmoas-Guan', 'chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'mbkybky'] |
chrisflav assignee:chrisflav |
8-71542 8 days ago |
unknown |
unknown |
30069 |
IvanRenison author:IvanRenison |
feat(Combinatorics/SimpleGraph): add lemma `IsTree.dist_ne_of_adj` and necessary lemmas |
This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
34/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
8 |
['github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] |
nobody |
8-57990 8 days ago |
8-58009 8 days ago |
21-21213 21 days |
26259 |
Raph-DG author:Raph-DG |
feat(Topology): Connecting different notions of locally finite |
In this PR we connect the notions of local finiteness of an indexed family of sets (as in LocallyFinite) and of a set of sets (as in Function.locallyFinsuppWithin)
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
30/0 |
Mathlib/Topology/LocallyFinsupp.lean |
1 |
20 |
['Raph-DG', 'chrisflav', 'github-actions', 'jcommelin', 'kckennylau', 'urkud'] |
jcommelin assignee:jcommelin |
8-55985 8 days ago |
8-55986 8 days ago |
112-73842 112 days |
30171 |
smmercuri author:smmercuri |
feat(DedekindDomain/AdicValuation): `le_one` lemmas for `HeightOneSpectrum.valuation` and specialisations to `Rat` |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
55/0 |
Mathlib/RingTheory/DedekindDomain/AdicValuation.lean |
1 |
5 |
['erdOne', 'github-actions', 'smmercuri'] |
erdOne assignee:erdOne |
8-46911 8 days ago |
18-27692 18 days ago |
18-27723 18 days |
30238 |
kebekus author:kebekus |
feat: behavior of divisors when taking powers of meromorphic functions |
Establish the behavior of divisors when taking powers of meromorphic functions. For consistency, provide `_fun`-versions of several simple lemmas.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-analysis
|
135/4 |
Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/Meromorphic/Order.lean |
4 |
51 |
['YaelDillies', 'bryangingechen', 'github-actions', 'kebekus'] |
nobody |
8-44719 8 days ago |
8-44719 8 days ago |
14-41098 14 days |
30499 |
harahu author:harahu |
doc(AkraBazzi): minor tweaks and additions |
Broken out of #29464 to simplify review.
---
[](https://gitpod.io/from-referrer/)
|
t-computability |
19/13 |
Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean |
2 |
7 |
['github-actions', 'grunweg', 'harahu'] |
nobody |
8-40417 8 days ago |
8-40417 8 days ago |
8-43465 8 days |
27433 |
YaelDillies author:YaelDillies |
refactor: make `⇑e⁻¹ = e.symm` simp |
From BrauerGroup and ClassFieldTheory
---
[](https://gitpod.io/from-referrer/)
|
|
217/255 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Order/Rearrangement.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/GroupTheory/Perm/Basic.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Finite.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/Logic/Equiv/Set.lean |
16 |
5 |
['dwrensha', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
8-19122 8 days ago |
9-60204 9 days ago |
65-18891 65 days |
27258 |
JovanGerb author:JovanGerb |
Imo2020 q6 |
Original PR: #23431
This PR adds a solution to IMO 2020 Q6. It follows the solution that I found when I was participating in the IMO. I used the statement formalization that was given by @jsm28.
TODO: The function `project a b p` that is defined here should be replaced with `signedDist a p (b -ᵥ a)`.
---
- [x] depends on: #27257
[](https://gitpod.io/from-referrer/)
|
IMO |
346/0 |
Archive.lean,Archive/Imo/Imo2020Q6.lean |
2 |
4 |
['dwrensha', 'github-actions', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
8-16702 8 days ago |
29-28835 29 days ago |
29-30115 29 days |
30481 |
vihdzp author:vihdzp |
feat: `CoeFun` for `Lex` and `Colex` |
If `F` is a function type, we should be able to treat `Lex F` as a function type too. This diminishes the visual clutter of going to and from `Lex`.
This design was already present for pi types, but wasn't accounted for with neither of `DFinsupp` or `Finsupp`.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
32/18 |
Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/Synonym.lean |
4 |
1 |
['github-actions'] |
nobody |
7-85814 7 days ago |
9-364 9 days ago |
9-349 9 days |
30261 |
SnirBroshi author:SnirBroshi |
feat(Algebra/Ring/Basic): add `a / -b = -a / b` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
5/3 |
Mathlib/Algebra/Ring/Basic.lean |
1 |
1 |
['github-actions'] |
joelriou assignee:joelriou |
7-83149 7 days ago |
15-82518 15 days ago |
15-82555 15 days |
30280 |
SnirBroshi author:SnirBroshi |
chore(Algebra/Order/Monoid/Unbundled/MinMax): golf three lemmas using `grind` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
3/6 |
Mathlib/Algebra/Order/Monoid/Unbundled/MinMax.lean |
1 |
1 |
['euprunin', 'github-actions'] |
ocfnash assignee:ocfnash |
7-83147 7 days ago |
15-11228 15 days ago |
15-11260 15 days |
30285 |
kckennylau author:kckennylau |
chore: document Spec(R) notation in docstring of Spec |
#30272 changed the `Spec(R)` notation to scoped, so I am including this new information in the docstring of `AlgebraicGeometry.Spec`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
13/0 |
Mathlib/AlgebraicGeometry/Scheme.lean |
1 |
1 |
['github-actions'] |
alexjbest assignee:alexjbest |
7-83145 7 days ago |
15-4916 15 days ago |
15-4951 15 days |
30143 |
Jlh18 author:Jlh18 |
feat(CategoryTheory/Adjunction/PartialAdjunction): add symm naturality lemmas for HomEquiv and lift functor |
Add two lemmas for `partialRightAdjointHomEquiv` to help work with `partialRightAdjointHomEquiv.symm`.
Add a definition `Functor.PartialRightAdjointSource.lift` to help with defining functors into the category `PartialRightAdjointSource`.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
14/0 |
Mathlib/CategoryTheory/Adjunction/PartialAdjoint.lean |
1 |
4 |
['Jlh18', 'github-actions', 'joelriou'] |
TwoFX assignee:TwoFX |
7-76223 7 days ago |
7-76308 7 days ago |
18-43712 18 days |
27254 |
yuanyi-350 author:yuanyi-350 |
2025 imo problem3 |
- [x] depends on: #28788
- [x] depends on: #28790
- [x] depends on: #28829
---
[](https://gitpod.io/from-referrer/)
|
IMO |
231/0 |
Archive.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean |
3 |
28 |
['github-actions', 'jsm28', 'kbuzzard', 'leanprover-community-bot-assistant', 'madvorak', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'themathqueen', 'wwylele', 'yuanyi-350'] |
jsm28 assignee:jsm28 |
7-54301 7 days ago |
48-85243 1 month ago |
82-60105 82 days |
26961 |
mariainesdff author:mariainesdff |
feat(RingTheory/PowerSeries/Substitution): add API |
Co-authored-by: @AntoineChambert-Loir
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
57/5 |
Mathlib/RingTheory/PowerSeries/Basic.lean,Mathlib/RingTheory/PowerSeries/Substitution.lean |
2 |
13 |
['Ruben-VandeVelde', 'github-actions', 'mariainesdff', 'mattrobball'] |
mattrobball assignee:mattrobball |
7-50963 7 days ago |
33-45623 1 month ago |
80-65643 80 days |
30324 |
EtienneC30 author:EtienneC30 |
feat: introduce covarianceBilin |
The `covarianceBilin` associated to a measure on a Hilbert space is the positive semidefinite continuous bilinear form which represents its covariance.
---
- [x] depends on: #30417
From BrownianMotion
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
171/2 |
Mathlib/Probability/Moments/CovarianceBilin.lean,Mathlib/Probability/Moments/CovarianceBilinDual.lean,Mathlib/Topology/Algebra/Module/StrongTopology.lean |
3 |
5 |
['RemyDegenne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
7-49846 7 days ago |
7-49870 7 days ago |
10-33218 10 days |
27567 |
themathqueen author:themathqueen |
feat(LinearAlgebra/TensorProduct/Associator): add `lid` and `assoc` tensor lemmas |
This adds `TensorProduct.lid_tensor` and `TensorProduct.assoc_tensor`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
31/2 |
Mathlib/LinearAlgebra/TensorProduct/Associator.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
2 |
2 |
['github-actions', 'themathqueen'] |
mattrobball assignee:mattrobball |
7-41848 7 days ago |
72-18328 2 months ago |
86-11155 86 days |
30004 |
luigi-massacci author:luigi-massacci |
feat(MeasureTheory/Integral/TestAgainst): integrating BCFs against a finite measure or an L1Loc map as CLMs |
This PR merges #29511 and #29748. Create a new file `TestAgainst.lean` with definitions wrapping integration against a finite measure or a locally integrable map as continuous linear maps on bounded continuous functions.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
t-analysis
|
112/1 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/TestAgainst.lean |
3 |
45 |
['EtienneC30', 'github-actions', 'j-loreaux', 'luigi-massacci'] |
EtienneC30 assignee:EtienneC30 |
7-40078 7 days ago |
7-40097 7 days ago |
24-48196 24 days |
29941 |
themathqueen author:themathqueen |
feat(Algebra/Star): define the intrinsic star on linear maps |
This pr defines the _intrinsic_ star operation on linear maps `E →ₗ F` where `(star f) x = star (f (star x))`.
This corresponds to a map being star-preserving, i.e., a map is self-adjoint iff it is star-preserving.
This is scoped to `IntrinsicStar` as to not conflict with the global instance on `E →ₗ[𝕜] E` on finite-dimensional Hilbert spaces, where `star` is defined as `LinearMap.adjoint`. These are mathematically distinct instances.
In a finite-dimensional C⋆-algebra with a positive linear functional, which induces the GNS Hilbert space (TODO) and a coalgebra given by the adjoint of the multiplication map and the algebra unit map (TODO), we get a star ring where multiplication is given by the convolution product (#25183) and star is given by the intrinsic star.
In such a space, we can then define the isomorphism `(E →ₗ[ℂ] F) ≃⋆ₐ (F ⊗[ℂ] Eᵐᵒᵖ)`, which is an important identification in the theory of non-commutative graphs.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
96/0 |
Mathlib.lean,Mathlib/Algebra/Star/LinearMap.lean |
2 |
3 |
['github-actions', 'ocfnash', 'themathqueen'] |
ocfnash assignee:ocfnash |
7-36858 7 days ago |
10-30686 10 days ago |
27-38218 27 days |
28602 |
gmcninch-tufts author:gmcninch-tufts |
feat(Algebra/Polynomial/Module): prove equivalence of a certain tensor product with PolynomialModule |
For a commutative ring `R` and an `R`-module `M`, construct an equivalence between the `R[X]`-modules `R[X] ⊗[R] M` and
`PolynomialModule R M`.
This equivalence enables application of some base-change results to `PolynomialModule R M` .
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
210/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Module/TensorProduct.lean |
2 |
4 |
['github-actions', 'kckennylau'] |
jcommelin assignee:jcommelin |
7-18791 7 days ago |
64-32228 2 months ago |
64-32263 64 days |
30560 |
dwrensha author:dwrensha |
fix(LinearAlgebra/Alternating/Basic): avoid deep recursion in MultilinearMap.alternatization |
Makes `MultilinearMap.alternatization` an `irreducible_def` to avoid errors
about deep recursion.
This is an update of #15045 according to the suggestions in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820).
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
36/9 |
Mathlib/LinearAlgebra/Alternating/Basic.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,MathlibTest/DetOne.lean |
3 |
5 |
['dwrensha', 'eric-wieser', 'github-actions'] |
nobody |
7-5413 7 days ago |
7-10949 7 days ago |
7-10987 7 days |
30562 |
dwrensha author:dwrensha |
fix(Data/Fintype/Perm): make the main logic of Equiv.instFintype irreducible |
Adds a new `irreducible_def` for the main branch of `Equiv.instFintype` to avoid errors about deep recursion.
This is an update of #15045 and #30560 according to the discussion in those PRs and in [this zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/kernel.20deep.20recursion.20detected/near/454301820).
---
[](https://gitpod.io/from-referrer/)
|
|
15/8 |
Mathlib/Combinatorics/Derangements/Finite.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean |
3 |
1 |
['github-actions'] |
nobody |
7-5367 7 days ago |
7-5439 7 days ago |
7-5415 7 days |
30526 |
SnirBroshi author:SnirBroshi |
chore(Logic/Relation): use `Subrelation` to state theorems |
chore(Logic/Relation): replace every `∀ x y, r x y → r' x y` with `Subrelation r r'`
---
[](https://gitpod.io/from-referrer/)
|
|
79/73 |
Mathlib/CategoryTheory/IsConnected.lean,Mathlib/CategoryTheory/Limits/Types/Filtered.lean,Mathlib/CategoryTheory/Limits/Types/Shapes.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/Interval/Finset/Basic.lean |
7 |
1 |
['github-actions', 'vihdzp'] |
nobody |
7-1119 7 days ago |
7-74115 7 days ago |
7-74091 7 days |
30564 |
vihdzp author:vihdzp |
chore(Combinatorics/SetFamily/KruskalKatona): remove outdated comment |
The referenced diamond was fixed in #29436.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
easy
documentation
|
0/5 |
Mathlib/Combinatorics/SetFamily/KruskalKatona.lean |
1 |
1 |
['github-actions'] |
nobody |
6-85463 6 days ago |
6-85661 6 days ago |
6-85648 6 days |
29186 |
winstonyin author:winstonyin |
feat: IsIntegralCurve for solutions to ODEs |
I define `IsIntegralCurve` etc. for solutions to ODEs on vector spaces. The translation and scaling lemmas are also included. This parallels `IsMIntegralCurve` etc. for manifolds.
Moved from #26534.
- [x] depends on: #26563
---
[](https://gitpod.io/from-referrer/)
|
t-dynamics
t-analysis
t-differential-geometry
|
298/100 |
Mathlib.lean,Mathlib/Analysis/ODE/Basic.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Geometry/Manifold/IntegralCurve/Basic.lean,Mathlib/Geometry/Manifold/IntegralCurve/Transform.lean |
5 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
sgouezel assignee:sgouezel |
6-83149 6 days ago |
51-16592 1 month ago |
51-16728 51 days |
30275 |
staroperator author:staroperator |
feat(Order/WellFoundedSet): `partiallyWellOrderedOn_univ_iff` and `Pi.wellQuasiOrderedLE` |
Connect `Set.PartiallyWellOrderedOn` with `WellQuasiOrdered` and `Set.IsPWO` with `WellQuasiOrderedLE`. Add an instance `Pi.wellQuasiOrderedLE` for Dickson's lemma.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
30/0 |
Mathlib/Order/RelIso/Set.lean,Mathlib/Order/WellFoundedSet.lean,Mathlib/Order/WellQuasiOrder.lean |
3 |
2 |
['github-actions', 'vihdzp'] |
Vierkantor assignee:Vierkantor |
6-83148 6 days ago |
15-26361 15 days ago |
15-26394 15 days |
30302 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): generalise Proj and HomogeneousLocalization to graded rings |
This PR generalises `AlgebraicGeometry.Proj` to take in a graded ring (with an arbitrary `AddSubgroupClass` in a `CommRing`). Currently it takes in a `GradedAlgebra`. `HomogeneousLocalization` is also generalised to graded ring.
Zulip discussion: [#mathlib4 >Proj should take GradedRing](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proj.20should.20take.20GradedRing/near/543071427)
---
Preamble to #26061.
[](https://gitpod.io/from-referrer/)
|
|
125/101 |
Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/FiniteType.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean |
8 |
6 |
['github-actions', 'kckennylau', 'leanprover-bot'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
6-83146 6 days ago |
14-27403 14 days ago |
14-27425 14 days |
30557 |
SnirBroshi author:SnirBroshi |
feat(Logic/Relation): a relation is reflexive iff it subsumes the equality relation |
feat(Logic/Relation): a relation is reflexive iff it subsumes the equality relation, and irreflexive iff the inequality relation subsumes it
---
[](https://gitpod.io/from-referrer/)
|
t-logic |
6/0 |
Mathlib/Logic/Relation.lean |
1 |
2 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
6-79443 6 days ago |
7-13399 7 days ago |
7-13436 7 days |
30471 |
loefflerd author:loefflerd |
feat(Topology/Algebra/Order/Archimedean): subgroups cyclic iff discrete |
An add subgroup of the reals (or similar groups) is discrete iff it's cyclic, and related statements.
---
- [ ] depends on: #29743
[](https://gitpod.io/from-referrer/)
|
t-topology |
77/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Order/ArchimedeanDiscrete.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
6-65104 6 days ago |
7-2706 7 days ago |
7-2788 7 days |
30415 |
joelriou author:joelriou |
feat(Topology/Sheaves): the equivalence `Over U ≌ Opens U` for `U : Opens X` |
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
55/0 |
Mathlib.lean,Mathlib/Topology/Sheaves/Over.lean |
2 |
4 |
['erdOne', 'github-actions', 'joelriou'] |
nobody |
6-57165 6 days ago |
6-57165 6 days ago |
10-67230 10 days |
30525 |
515801431 author:515801431 |
Polya_counting |
This PR introduces basic definitions and results about colorings under permutation group actions.
A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition:
(g • c) x = c (g⁻¹ • x)
This formalizes the natural action of relabeling the elements of X.
Main definitions
MulAction (Equiv.Perm X) (X → Y):
The action of the permutation group on colorings via precomposition.
coloringEquiv (c₁ c₂ : X → Y) : Prop:
Two colorings are equivalent if they lie in the same orbit under this action, i.e.
∃ f : Equiv.Perm X, f • c₁ = c₂.
Main results
smul_eq_iff_mem_stabilizer:
Characterizes when two group actions on the same coloring are equal, showing that
g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c.
coloringEquiv_equivalence:
Proves that coloringEquiv defines an equivalence relation on X → Y.
orbit_size_eq_index:
Reformulates the orbit–stabilizer theorem in the context of colorings:
|orbit c| = |Perm X| / |stabilizer c|
Motivation
These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. |
new-contributor
t-combinatorics
|
111/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean |
2 |
2 |
['IvanRenison', 'github-actions'] |
nobody |
6-54463 6 days ago |
7-77145 7 days ago |
7-77182 7 days |
29946 |
smmercuri author:smmercuri |
feat(InfinitePlace/Ramification): embeddings of unramified/ramified infinite places satisfy `IsUnmixed/IsMixed` |
---
- [x] depends on: #29945
[](https://gitpod.io/from-referrer/)
|
FLT
t-number-theory
|
67/1 |
Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
1 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri', 'xroblot'] |
alexjbest assignee:alexjbest |
6-53613 6 days ago |
22-48664 22 days ago |
22-58742 22 days |
27290 |
themathqueen author:themathqueen |
feat: define `Star` on tensor products |
This pr defines the `Star`, `StarAddMonoid`, `StarModule`, `StarMul`, and `StarRing` instances on tensor product spaces.
---
- [x] depends on: #27288
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
55/0 |
Mathlib.lean,Mathlib/Algebra/Star/TensorProduct.lean,Mathlib/RingTheory/TensorProduct/Basic.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mcdoll', 'themathqueen'] |
alreadydone assignee:alreadydone |
6-49453 6 days ago |
23-27763 23 days ago |
23-28576 23 days |
26790 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/Enumerative/Bell.lean): define standard Bell number |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
46/1 |
Mathlib/Combinatorics/Enumerative/Bell.lean |
1 |
11 |
['AntoineChambert-Loir', 'FlAmmmmING', 'eric-wieser', 'github-actions', 'kckennylau', 'madvorak'] |
awainverse assignee:awainverse |
6-39052 6 days ago |
108-28554 3 months ago |
108-28590 108 days |
30582 |
RemyDegenne author:RemyDegenne |
feat: extension of a function to the closure of a submodule |
- define the closure of a set in a complete space as an `AbstractCompletion`
- add instances about submodules
- add a coercion from a submodule to its topological closure
- add induction lemmas on topological closures of submodules
- define the extension of a function on a submodule to the closure of a submodule
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
138/1 |
Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/UniformSpace/AbstractCompletion.lean |
2 |
1 |
['github-actions'] |
nobody |
6-36134 6 days ago |
6-36136 6 days ago |
6-36176 6 days |
30542 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2): `fromRel` is monotonic |
---
[](https://gitpod.io/from-referrer/)
|
t-data |
11/1 |
Mathlib/Data/Sym/Sym2.lean |
1 |
5 |
['SnirBroshi', 'b-mehta', 'github-actions', 'vihdzp'] |
nobody |
6-34154 6 days ago |
7-43723 7 days ago |
7-43755 7 days |
28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
# Symbolic dynamics on groups: core API and entropy along finite shapes
This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`.
## Summary of additions
- **Full shift and shift action**
- `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type).
- Right shift `shift g x` with convention `(shift g x) h = x (h * g)`.
- **Cylinders and topology**
- `cylinder U x : Set (G → A)` for finite `U : Finset G`.
- Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed.
- Equality with dependent products:
`cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API.
- **Patterns, occurrences, and subshifts**
- `Pattern A G` with finite `support : Finset G` and `data : support → A`.
- `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law.
- `forbids F` and `Subshift A G` (closed, shift-invariant subsets).
- `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness.
- **Language on finite shapes and counting**
- `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`.
- **Entropy along a shape sequence**
- `limsupAtTop` (as an `sInf` of eventual upper bounds).
- `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)`
for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`).
- **Specializations**
- `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`.
- `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`.
## Mathematical remarks
- The API is **shape-parametric**: entropy is defined along user-provided finite shapes.
- On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss).
This PR does not assume amenability; the family of shapes is an explicit input.
## Motivation
Provide a clean, reusable base for symbolic dynamics on groups in mathlib.
## Future work
- Add a Følner predicate and prove shape-independence / limit existence on amenable groups.
- Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors).
- Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch).
|
new-contributor
t-dynamics
|
751/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
3 |
84 |
['Sfgangloff', 'eric-wieser', 'github-actions', 'kckennylau', 'sgouezel'] |
sgouezel assignee:sgouezel |
6-29873 6 days ago |
6-29873 6 days ago |
50-47402 50 days |
30534 |
joelriou author:joelriou |
chore(CategoryTheory/EssentiallySmall): adding an instance |
Before this PR, `example (C : Type w) [SmallCategory C] : EssentiallySmall.{w} C := inferInstance` would not work. We fix this by making `essentiallySmall_of_small_of_locallySmall` an instance.
Consequently, we need to make certain universes explicit in a few proofs. Some instances in `Sites.Equivalence` are transformed into lemmas because it seems they shadowed more basic instances.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
91/35 |
Mathlib.lean,Mathlib/Algebra/Category/Grp/Subobject.lean,Mathlib/AlgebraicGeometry/Modules/Presheaf.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Sheaf.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/EssentiallySmall.lean,Mathlib/CategoryTheory/Generator/Abelian.lean,Mathlib/CategoryTheory/Limits/Filtered.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Filtered.lean,Mathlib/CategoryTheory/Sites/Equivalence.lean,Mathlib/CategoryTheory/Sites/LeftExact.lean,Mathlib/CategoryTheory/Sites/PreservesSheafification.lean,Mathlib/CategoryTheory/Sites/Whiskering.lean,Mathlib/Condensed/Discrete/Basic.lean,Mathlib/Condensed/Light/AB.lean,Mathlib/Condensed/Light/CartesianClosed.lean,Mathlib/Condensed/Light/Instances.lean,Mathlib/Condensed/Light/Module.lean,MathlibTest/CategoryTheory/Sites/ConcreteSheafification.lean |
22 |
5 |
['github-actions', 'joelriou', 'leanprover-bot'] |
nobody |
6-25068 6 days ago |
6-25068 6 days ago |
6-25755 6 days |
30594 |
j-loreaux author:j-loreaux |
feat: generalize continuity results for the continuous functional calculus |
Under suitable conditions `x ↦ cfc f (a x)` is continuous. Previously these conditions were that there was a single compact set on which `f` was continuous, and which contained the spectra of all `a x`. However, this is a bit too stringent for some purposes and so we generalize it here. In particular, it suffices that the spectra `a x` are covered by a family of compact sets `s x` (on each of which `f` is continuous) satisfying the property that each `s x₀` contains the spectra `a x` for `x` sufficiently close to `x₀`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
94/81 |
Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean |
1 |
1 |
['github-actions'] |
nobody |
6-9572 6 days ago |
6-9636 6 days ago |
6-9625 6 days |
29033 |
faenuccio author:faenuccio |
feat(Analysis.LocallyConvex): a linear map is surjective iff its image contains a ball, or a closed ball, or a sphere |
Prove that a linear map is surjective if and only if its image contains either a ball or a sphere.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
|
135/15 |
Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Normed/Operator/Basic.lean |
4 |
30 |
['ADedecker', 'eric-wieser', 'faenuccio', 'github-actions', 'j-loreaux', 'mathlib4-merge-conflict-bot'] |
nobody |
6-7489 6 days ago |
6-10820 6 days ago |
6-85929 6 days |
30535 |
kckennylau author:kckennylau |
feat(RingTheory): make FormallySmooth, FormallyEtale, and FormallyUnramified universe-polymorphic |
This PR makes `FormallySmooth`, `FormallyEtale`, and `FormallyUnramified` universe-polymorphic.
In particular, the constructor `FormallySmooth.comp_surjective'` now talks about rings in a fixed universe, and then the lemma `FormallySmooth.comp_surjective` (without the prime) talks about any arbitrary universe. The same happens for `FormallyEtale.comp_bijective(')`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
211/140 |
Mathlib/RingTheory/Etale/Basic.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Etale/Pi.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Kaehler.lean,Mathlib/RingTheory/Smooth/Local.lean,Mathlib/RingTheory/Smooth/Locus.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Smooth/StandardSmoothCotangent.lean,Mathlib/RingTheory/Unramified/Basic.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/RingTheory/Unramified/Locus.lean,Mathlib/RingTheory/Unramified/Pi.lean |
15 |
9 |
['erdOne', 'github-actions', 'kckennylau', 'leanprover-bot'] |
nobody |
6-2500 6 days ago |
7-35883 7 days ago |
7-35870 7 days |
30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
1 |
['github-actions'] |
b-mehta assignee:b-mehta |
5-83142 5 days ago |
18-48898 18 days ago |
18-48932 18 days |
30179 |
EtienneC30 author:EtienneC30 |
feat: uncurrying the product measure gives the product measure |
---
- [x] depends on: #30161
- [x] depends on: #30178
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
51/0 |
Mathlib/Probability/ProductMeasure.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
RemyDegenne assignee:RemyDegenne |
5-83141 5 days ago |
13-19556 13 days ago |
13-19537 13 days |
30233 |
Komyyy author:Komyyy |
refactor(Topology/Sequences): generalize seq-compactness lemmas to metrizable space |
* [`IsSeqCompact.isCompact`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#IsSeqCompact.isCompact)
* [`UniformSpace.isCompact_iff_isSeqCompact`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#UniformSpace.isCompact_iff_isSeqCompact)
* [`UniformSpace.compactSpace_iff_seqCompactSpace`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/Sequences.html#UniformSpace.compactSpace_iff_seqCompactSpace)
These are lemmas on uniform spaces which has countable uniformity, so can be generalized to pseudo-metrizable space.
From [CLT](https://github.com/RemyDegenne/CLT)
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
20/7 |
Mathlib/Topology/Sequences.lean,docs/overview.yaml,docs/undergrad.yaml |
3 |
1 |
['github-actions'] |
grunweg assignee:grunweg |
5-83140 5 days ago |
13-51194 13 days ago |
13-51669 13 days |
30335 |
joelriou author:joelriou |
feat(CategoryTheory/Adjunction): more mate compatibilities |
We obtain various lemmas about adjunctions between functors by computing `conjugateEquiv` in case of associators, unitors, and whiskerings. We deduce a way to obtain compatibilites with respect to composition of functors of left adjoints assuming that we have these compatibilites for right adjoints. In #30318, this shall be applied to the study of the compatibilities with respect to composition of the pullback functors for presheaves of modules.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
214/4 |
Mathlib.lean,Mathlib/CategoryTheory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Adjunction/CompositionIso.lean,Mathlib/CategoryTheory/Adjunction/Mates.lean |
4 |
5 |
['github-actions', 'joelriou'] |
robin-carlier assignee:robin-carlier |
5-83135 5 days ago |
13-30357 13 days ago |
13-30334 13 days |
30598 |
jsm28 author:jsm28 |
feat(Analysis/SpecialFunctions/Trigonometric/Angle): equality from equality of twice angles |
Add lemmas that two angles less than `π / 2` are equal if and only if twice those angles are equal, along with a separate lemma
```lean
lemma toReal_neg_eq_neg_toReal_iff {θ : Angle} : (-θ).toReal = -(θ.toReal) ↔ θ ≠ π := by
```
which isn't directly connected but turns out to be useful in the same application (dealing with angles in right-angled triangles that are less then `π / 2`, when you have two such triangles that are oppositely-oriented).
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
33/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean |
1 |
1 |
['github-actions'] |
nobody |
5-82277 5 days ago |
5-82347 5 days ago |
5-82325 5 days |
30602 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Walk): `mapLe` preservation lemmas |
feat(Combinatorics/SimpleGraph/Walk): specialize `map` preservation lemmas from for `mapLe`
---
It's hard to use the existing `map` lemmas when dealing with `mapLe`, specifically the lemmas for `support`/`edges`/`edgeSet` contain a map in the `map` version but not in the `mapLe` version, since `mapLe` maps walks with `id`.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
21/1 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
1 |
['github-actions'] |
nobody |
5-74138 5 days ago |
5-74138 5 days ago |
5-74198 5 days |
29004 |
euprunin author:euprunin |
chore: change from `:= by rfl` to `:= rfl` |
For `@[simp]` lemmas this makes them usable by `dsimp`; others are stylistic cleanup (but they're now "`dsimp`-ready" if tagged later).
---
[](https://gitpod.io/from-referrer/)
|
|
138/242 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Order/Hom/MonoidWithZero.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Ring/Hom/Defs.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/Calculus/FDeriv/Prod.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Closed/Monoidal.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Presheaf.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Mod_.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/Real/Embedding.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Subtype.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/Reduced.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/LinearAlgebra/TensorProduct/Pi.lean,Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/FactorisationProperties.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/BoundedOrder/Basic.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/ZFC/Class.lean,Mathlib/Tactic/Module.lean,Mathlib/Tactic/NormNum/PowMod.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/WeakDual.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/ZeroLimit.lean,Mathlib/Topology/Category/TopCat/Opens.lean,Mathlib/Topology/ContinuousMap/Units.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/Sets/Closeds.lean |
95 |
22 |
['eric-wieser', 'euprunin', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
5-60938 5 days ago |
18-9179 18 days ago |
27-81844 27 days |
29430 |
RemyDegenne author:RemyDegenne |
refactor(Probability): change stopping times to take values in `WithTop` |
This PR changes stopping times to have type `Ω → WithTop ι` instead of `Ω → ι`.
Previously, a stopping time for a filtration indexed by Nat had to have value in Nat. That's not representative of the way stopping times are used in probability. A typical stopping time is the first time at which we see a head in an infinite sequence of coin flips. That time could be infinite (although it is almost surely finite). We can't represent it with a `Ω → Nat` stopping time: if we choose an arbitrary value in Nat for the event that it is infinite, we destroy the stopping time property.
We faced that issue in the `BorelCantelli` file, in which we avoided such a possibly infinite stopping time by introducing a sequence of bounded stopping times. We had to prove additional lemmas about them since we could not directly use the API for stopped processes. With the new type, that file is greatly simplified as the API is directly usable, and we can write the proof as we would on paper.
The issue with the previous stopping time implementation was noted in [Ying and Degenne, A Formalization of Doob’s Martingale Convergence Theorems in mathlib, CPP 2023, https://dl.acm.org/doi/pdf/10.1145/3573105.3575675].
Other changes:
- the sigma-algebra generated by a stopping time is now a sub-sigma algebra by definition
- `measurableSet_eq_stopping_time` is generalized and the now useless `measurableSet_eq_stopping_time_of_countable` is removed
- `hitting` is renamed to `hittingBtwn`
- a new `hittingAfter` is introduced and used in the Borel-Cantelli proof. That proof is now much simpler since we can use a stopped process as intended instead of going around the limitations of the previous stopping time implementation.
---
- [x] depends on: #29466
- [x] depends on: #30543
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
952/554 |
Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Probability/Martingale/OptionalSampling.lean,Mathlib/Probability/Martingale/OptionalStopping.lean,Mathlib/Probability/Martingale/Upcrossing.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/Probability/Process/Stopping.lean |
7 |
11 |
['RemyDegenne', 'github-actions', 'kex-y', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
5-52201 5 days ago |
5-53483 5 days ago |
11-28484 11 days |
29354 |
themathqueen author:themathqueen |
refactor(Algebra/Algebra/Equiv): allow for non-unital `AlgEquiv` |
This refactors `AlgEquiv` to allow for non-unital algebras. More specifically, we weaken the type class assumptions from:
```lean
structure AlgEquiv (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B]
[Algebra R A] [Algebra R B]
```
to
```lean
structure AlgEquiv (R A B : Type*) [Add A] [Add B] [Mul A] [Mul B] [SMul R A] [SMul R B]
```
Instead of a `commutes'` field, we now have a `map_smul'` field. We also include a definition `AlgEquiv.ofCommutes` which takes in a `RingEquiv` and a `commutes'` field to match before and for convenience.
`StarAlgEquiv` now extends `AlgEquiv`. We also generalize a few files to allow for non-unital.
I suspect there are a few more things to generalize, but will leave this for later.
Co-authored-by: Jireh Loreaux
---
Revives #8686.
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
573/498 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Pi.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/Basic.lean,Mathlib/Algebra/Category/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/ToDirectSum.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Taylor.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Star/StarAlgHom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/Data/Matrix/Composition.lean,Mathlib/Data/Matrix/DualNumber.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/FieldTheory/RatFunc/Basic.lean,Mathlib/FieldTheory/Separable.lean,Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean,Mathlib/LinearAlgebra/Complex/Module.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean,Mathlib/LinearAlgebra/Matrix/Charpoly/LinearMap.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Matrix/Unique.lean,Mathlib/LinearAlgebra/TensorProduct/Graded/Internal.lean,Mathlib/LinearAlgebra/TensorProduct/Subalgebra.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Bialgebra/Equiv.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/Etale/Field.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Flat/Equalizer.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/Invariant/Basic.lean,Mathlib/RingTheory/Invariant/Profinite.lean,Mathlib/RingTheory/IsTensorProduct.lean,Mathlib/RingTheory/Jacobson/Artinian.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/Kaehler/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/MatrixAlgebra.lean,Mathlib/RingTheory/MvPolynomial/Localization.lean,Mathlib/RingTheory/Norm/Basic.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/PolynomialAlgebra.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/RingHom/FiniteType.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/Smooth/Basic.lean,Mathlib/RingTheory/Smooth/Pi.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/RingTheory/TensorProduct/Pi.lean,Mathlib/RingTheory/TensorProduct/Quotient.lean,Mathlib/RingTheory/Trace/Basic.lean,Mathlib/RingTheory/Unramified/Field.lean,Mathlib/Topology/Algebra/Algebra/Equiv.lean,Mathlib/Topology/Algebra/Module/FiniteDimension.lean,Mathlib/Topology/LocallyConstant/Algebra.lean,MathlibTest/GalNotation.lean |
98 |
27 |
['fpvandoorn', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
joelriou assignee:joelriou |
5-43800 5 days ago |
5-51478 5 days ago |
38-13925 38 days |
30609 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/Enumerative/Catalan.lean): Add definition of large and small Schroder. |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
77/1 |
Mathlib/Combinatorics/Enumerative/Catalan.lean |
1 |
1 |
['github-actions'] |
nobody |
5-35929 5 days ago |
5-37336 5 days ago |
5-37379 5 days |
28296 |
strihanje01 author:strihanje01 |
feat(Combinatorics/Additive/VerySmallDoubling): Hamidoune's Freiman-Kneser theorem for nonabelian groups |
Prove the noncommutative Freiman-Kneser theorem for doubling less than 2 - ε
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-combinatorics
|
289/3 |
Mathlib/Combinatorics/Additive/VerySmallDoubling.lean |
1 |
21 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'strihanje01'] |
YaelDillies assignee:YaelDillies |
5-31971 5 days ago |
5-31971 5 days ago |
56-35121 56 days |
25758 |
YaelDillies author:YaelDillies |
chore: shortcut instance `CompleteLattice α → PartialOrder α` |
This avoids using the path `CompleteLattice α → CompletePartialOrder α → PartialOrder α` that goes through `Order.CompletePartialOrder` and makes it appear used to our automation, such as `shake` or `#min_imports`.
This is a followup to #25358.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
7/0 |
Mathlib/Order/CompleteLattice/Defs.lean |
1 |
10 |
['Ruben-VandeVelde', 'Vierkantor', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
Vierkantor assignee:Vierkantor |
5-28198 5 days ago |
5-28198 5 days ago |
131-55068 131 days |
30608 |
grunweg author:grunweg |
feat: another lemma about derivatives of parametric integrals |
On the path towards proving that integrating smooth functions is smooth.
From the sphere-eversion project; I am just upstreaming this.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
125/0 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean |
1 |
3 |
['Ruben-VandeVelde', 'github-actions'] |
nobody |
5-26519 5 days ago |
5-28110 5 days ago |
5-28093 5 days |
28833 |
yury-harmonic author:yury-harmonic |
feat(MvPolynomial/Expand): more lemmas |
---
- [x] depends on: #28832
- [x] depends on: #28830
[](https://gitpod.io/from-referrer/)
|
|
88/18 |
Mathlib/Algebra/MvPolynomial/Eval.lean,Mathlib/Algebra/MvPolynomial/Expand.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
5-13132 5 days ago |
58-13485 1 month ago |
58-15231 58 days |
30137 |
vlad902 author:vlad902 |
feat(SimpleGraph): characterise when `SimpleGraph V` is a subsingleton/nontrivial |
Helper lemmas I found useful in mutliple PRs for dispatching trivial cases.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-combinatorics
|
14/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
5 |
['YaelDillies', 'github-actions', 'vlad902'] |
YaelDillies assignee:YaelDillies |
5-12088 5 days ago |
5-12088 5 days ago |
19-13878 19 days |
30003 |
vlad902 author:vlad902 |
feat(Order): helper lemmas for `IsChain`/`IsAntichain` |
These were useful in formalizing Dilworth's theorem.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
23/2 |
Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean |
2 |
23 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vlad902'] |
YaelDillies assignee:YaelDillies |
5-10013 5 days ago |
7-21441 7 days ago |
24-74831 24 days |
29956 |
SnirBroshi author:SnirBroshi |
feat(Algebra/Polynomial): small and useful lemmas |
feat(Algebra/Polynomial): added many small and useful lemmas about polynomials
---
[](https://gitpod.io/from-referrer/)
|
large-import
new-contributor
t-algebra
label:t-algebra$ |
294/90 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Polynomial/Eval/Coeff.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean,Mathlib/Algebra/Polynomial/Eval/Degree.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/IsAlgClosed/Basic.lean,Mathlib/FieldTheory/IsSepClosed.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/RingTheory/SimpleRing/Basic.lean,Mathlib/RingTheory/Trace/Basic.lean |
16 |
64 |
['SnirBroshi', 'erdOne', 'github-actions', 'kckennylau', 'leanprover-bot', 'mathlib4-merge-conflict-bot'] |
ocfnash assignee:ocfnash |
4-83141 4 days ago |
12-79977 12 days ago |
26-54905 26 days |
30363 |
smmercuri author:smmercuri |
feat: `PadicInt` is isomorphic to the integers of the uniform space completion `(Rat.padicValuation p).Completion` |
- Uniform isomorphism between `𝒪[(Rat.padicValuation p).Completion]` and `ℤ_[p]`
- A homeomorphism `e : X ≃ Y` gives a closed set `{ x : X | p x ↔ q (e x) }` for clopen subsets given by `p` and `q`
- Move `Padic.isUnit_den` to an earlier file to avoid having to import `Padics.RingHoms` unnecessarily
---
- [x] depends on: #30361
[](https://gitpod.io/from-referrer/)
|
|
67/21 |
Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/RingHoms.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Topology/Homeomorph/Defs.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
dwrensha assignee:dwrensha |
4-83140 4 days ago |
12-26886 12 days ago |
12-29420 12 days |
30378 |
mans0954 author:mans0954 |
refactor(Order/Hom/Lattice): Use default `initialize_simps_projections` configuration for `LatticeHom`. |
Use default `initialize_simps_projections` configuration for `LatticeHom`.
I'm not sure what was originally intended by the TODO, but this appears to work.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
4/7 |
Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/Hom/WithTopBot.lean |
2 |
1 |
['github-actions'] |
bryangingechen assignee:bryangingechen |
4-83138 4 days ago |
12-27144 12 days ago |
12-27179 12 days |
30382 |
joelriou author:joelriou |
feat(CategoryTheory): Guitart exact squares and Kan extensions |
Given a Guitart exact square `w : T ⋙ R ⟶ L ⋙ B`, we show that pointwise left Kan extensions along `R` give, by composition, pointwise left Kan extensions along `L`.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
161/12 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Pointwise.lean,Mathlib/CategoryTheory/GuitartExact/KanExtension.lean,Mathlib/CategoryTheory/Limits/Final.lean |
4 |
1 |
['github-actions'] |
adamtopaz assignee:adamtopaz |
4-83137 4 days ago |
12-23706 12 days ago |
12-23683 12 days |
30626 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity/Connected): {`Subsingleton`, `Unique`, `Nonempty`} instances for `ConnectedComponent` |
feat(Combinatorics/SimpleGraph/Connectivity/Connected): add {`Subsingleton`, `Unique`, `Nonempty`} instances for `ConnectedComponent`
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
4/4 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
1 |
1 |
['github-actions'] |
nobody |
4-83071 4 days ago |
4-83083 4 days ago |
4-83127 4 days |
30390 |
joelriou author:joelriou |
feat(CategoryTheory/GuitartExact): exact square involving Over categories |
Given `F : C ⥤ D` and `X : C`, we show that if the binary product of `X` and `Y` exists for any `Y`, and `F` commutes to it, then there is a Guitart exact square with `Over.post F : Over X ⥤ Over (F.obj X)` on the top, `F` on the bottom, and `Over.forget` on the left and right sides.
(In combination with #30382 and #30386, this can be used to show results about the functoriality of categories of (pre)sheaves.)
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
75/0 |
Mathlib.lean,Mathlib/CategoryTheory/GuitartExact/Over.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/BinaryProducts.lean |
3 |
1 |
['github-actions'] |
dagurtomas assignee:dagurtomas |
4-61333 4 days ago |
12-6450 12 days ago |
12-6428 12 days |
29824 |
themathqueen author:themathqueen |
feat(Algebra/Order/Star): add `StarOrderedRing (Π i, A i)` |
---
- [x] depends on: #29823
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
38/0 |
Mathlib.lean,Mathlib/Algebra/Order/Star/Pi.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'themathqueen'] |
joneugster assignee:joneugster |
4-48987 4 days ago |
12-48525 12 days ago |
12-48923 12 days |
28819 |
ScottCarnahan author:ScottCarnahan |
feat (Data/Finsupp): define convolution smul for finsupps on formal functions |
This is a generalization of the multiplication action of the ring of Laurent polynomials on the space of formal power series with unbounded pole terms.
---
- [x] depends on: #28876
[](https://gitpod.io/from-referrer/)
|
|
86/0 |
Mathlib.lean,Mathlib/Data/Finsupp/PointwiseSMul.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
tb65536 assignee:tb65536 |
4-48617 4 days ago |
13-6576 13 days ago |
14-14826 14 days |
28604 |
alreadydone author:alreadydone |
chore(Algebra/Ring/Defs): add two classes (minimally invasive version) |
Add the missing `NonAssocComm(Semi)ring` classes and add some missing instances between existing classes. Contrary to #28532, the approach here doesn't add any new `extends`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
59/17 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean |
3 |
21 |
['alreadydone', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
4-30005 4 days ago |
20-947 20 days ago |
20-59963 20 days |
30037 |
linesthatinterlace author:linesthatinterlace |
feat: Fin.find update |
We currently define `Fin.find` in a way that is redundant (in the sense that it is just equivalent to `Fin.find?` in batteries). This PR replaces it with a definition that works closer to `Nat.find`, and links the new definition of `Fin.find` to `Fin.find?` in the natural way.
---
[](https://gitpod.io/from-referrer/)
|
|
159/104 |
Mathlib/Data/Fin/Tuple/Basic.lean |
1 |
7 |
['github-actions', 'linesthatinterlace', 'llllvvuu', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
4-27152 4 days ago |
22-23993 22 days ago |
23-79898 23 days |
29395 |
YaelDillies author:YaelDillies |
refactor: make `PosMulMono` and alike custom classes |
In the current setup, users get confusing non-beta-reduced goals involving a subtype when trying to provide an instance of `PosMulMono`.
This PR changes it to be a custom structure with the expected fields.
This follows `PosSMulMono` and alike.
---
[](https://gitpod.io/from-referrer/)
|
t-order
t-algebra
label:t-algebra$ |
197/268 |
Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Defs.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Pi.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/InjSurj.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Order/Ring/Opposite.lean,Mathlib/Algebra/Order/Ring/Prod.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Num/Lemmas.lean,Mathlib/Order/Filter/FilterProduct.lean,Mathlib/Order/Filter/Ring.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,MathlibTest/GRewrite.lean |
22 |
16 |
['Vierkantor', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
4-25167 4 days ago |
4-25195 4 days ago |
36-20717 36 days |
30633 |
joelriou author:joelriou |
feat(SetTheory): more API for HasCardinalLT |
We add stability lemmas for `HasCardinalLT X κ` for sigma types, binary products, etc when `κ` is regular (or at least infinite).
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory |
103/0 |
Mathlib/SetTheory/Cardinal/HasCardinalLT.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
2 |
1 |
['github-actions'] |
nobody |
4-16763 4 days ago |
4-41076 4 days ago |
4-41053 4 days |
30518 |
euprunin author:euprunin |
chore(Cache): remove "No files to download" message. make `lake exe cache get` less verbose |
Fixes #27038.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
28/29 |
Cache/IO.lean,Cache/Requests.lean |
2 |
11 |
['YaelDillies', 'euprunin', 'github-actions'] |
nobody |
4-11543 4 days ago |
5-24158 5 days ago |
8-18228 8 days |
28141 |
YaelDillies author:YaelDillies |
chore: deprecate `BialgHom.coe_toLinearMap` |
`BialgHom.toLinearMap` is a fake projection.
From Toric
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
|
5/11 |
Mathlib/RingTheory/Bialgebra/Hom.lean |
1 |
8 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
alreadydone assignee:alreadydone |
4-7836 4 days ago |
4-7836 4 days ago |
73-60250 73 days |
30559 |
SnirBroshi author:SnirBroshi |
feat(Data/Sym/Sym2): add `Sym2.diagSet` |
feat(Data/Sym/Sym2): add `Sym2.diagSet`, the set of elements on the diagonal
---
This should help state theorems in simple graphs more easily (e.g. see `SimpleGraph.edgeSet_fromEdgeSet`, `SimpleGraph.edgeSet_sdiff_sdiff_isDiag`, `SimpleGraph.edgeSet_subset_setOf_not_isDiag`) and more importantly work with such statements.
[](https://gitpod.io/from-referrer/)
|
t-data |
39/6 |
Mathlib/Data/Sym/Sym2.lean |
1 |
1 |
['github-actions'] |
nobody |
3-85738 3 days ago |
7-11600 7 days ago |
7-11639 7 days |
27606 |
CBirkbeck author:CBirkbeck |
Eisenstein q exp identity |
---
- [x] depends on: #26016
- [x] depends on: #27212
- [x] depends on: #27837
- [x] depends on: #27839
- [x] depends on: #27840
- [x] depends on: #28690
- [x] depends on: #27838
- [x] depends on: #27841
- [x] depends on: #27844
[](https://gitpod.io/from-referrer/)
|
large-import |
124/6 |
Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean |
1 |
11 |
['MichaelStollBayreuth', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
dagurtomas assignee:dagurtomas |
3-83166 3 days ago |
11-43759 11 days ago |
12-22421 12 days |
27953 |
CoolRmal author:CoolRmal |
feat(ProbabilityTheory): Conditional Jensen's Inequality |
This PR adds conditional Jensen's inequality.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
526/10 |
Mathlib.lean,Mathlib/Analysis/NormedSpace/HahnBanach/Separation.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
sgouezel assignee:sgouezel |
3-83165 3 days ago |
11-76147 11 days ago |
20-26181 20 days |
30396 |
urkud author:urkud |
feat(DivergenceTheorem): add 2 versions |
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
52/0 |
Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean |
1 |
1 |
['github-actions'] |
kex-y assignee:kex-y |
3-83158 3 days ago |
11-54977 11 days ago |
11-55008 11 days |
30410 |
ADedecker author:ADedecker |
feat: `isProperMap_fst_of_compactSpace`, `IsProperMap.restrictPreimage` |
---
This also moves `isClosedMap_snd_of_compactSpace` to prove it via properness, but I'm happy to revert this change if needed.
- [x] depends on: #30406
[](https://gitpod.io/from-referrer/)
|
t-topology |
45/18 |
Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/IsClosedRestrict.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/Maps/Proper/Basic.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
jcommelin assignee:jcommelin |
3-83155 3 days ago |
11-13494 11 days ago |
11-14298 11 days |
30345 |
vlad902 author:vlad902 |
feat(Order): replace the implementation of `Set.chainHeight` |
`Set.chainHeight` is unused in Mathlib--it was a previous attempt to formalize heights for preorders before `Order.height` came into use. The current implementation `Set.chainHeight` is previously defined for Sets that had an `LT` order but it's behavior was unexpected for relations that were not strict orders, e.g. singleton sets with a reflexive relation would have infinite height.
LE is such a relation so this implementation is very limited in what it could be used for. I replace it with an implementation that:
- Is defined for arbitrary relations instead of using `[LT]`.
- Uses `IsChain` instead of `List.IsChain` for defining chains. This is equivalent for transitive relations, but behaves differently for non- transitive relations--it requires that all elements in the set are comparable instead of just comparability between neighboring elements in the List. This makes the definition better behaved for e.g. reflexive relations and better matches the definition of chain height typically used in the literature.
The API has been slimmed down but what remains largely matches the previous API.
Discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Definitions.20for.20chain.20height.2Fpartitions/near/542823244)
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-order
|
128/292 |
Mathlib/Order/Height.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
3-63910 3 days ago |
3-63935 3 days ago |
12-43350 12 days |
30136 |
vlad902 author:vlad902 |
feat(SimpleGraph): lemmas characterizing graphs that are not complete/empty |
Two helper lemmas that I've found useful in several other PRs that characterize graphs that are neither complete nor empty.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-combinatorics
|
8/0 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
11 |
['YaelDillies', 'github-actions', 'vlad902'] |
YaelDillies assignee:YaelDillies |
3-50131 3 days ago |
3-50131 3 days ago |
16-35238 16 days |
30638 |
alreadydone author:alreadydone |
feat(Algebra): `SemimoduleCat`, category of modules over semiring |
+ Introduce SemimoduleCat, the category of semimodules (mathlib's Module) over a Semiring. The new file ModuleCat/Semi.lean is copied from ModuleCat/Basic.lean. The additive/linear instances would require #28826.
+ Construct the symmetric monoidal structure on SemimoduleCat, and transport it to the same structure on ModuleCat (in a way preserving pre-existing defeqs) using the equivalence `ModuleCat.equivalenceSemimoduleCat` between the categories. Just a few proofs in the Representation library need to be fixed (in a straightforward way). Public API for ModuleCat is duplicated to SemimoduleCat.
+ Rename `symmetricCategory/monoidalLinear/exactPairingOf(Fully)Faithful` to `SymmetricCategory.ofFaithful` etc. following [CategoryTheory.BraidedCategory.ofFaithful](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/Braided/Basic.html#CategoryTheory.BraidedCategory.ofFaithful).
+ Remove some `noncomputable section`s and make some noncomputable defs computable.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-category-theory
label:t-algebra$ |
789/102 |
Mathlib.lean,Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Semi.lean,Mathlib/CategoryTheory/Action/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Braided/Transport.lean,Mathlib/CategoryTheory/Monoidal/Linear.lean,Mathlib/CategoryTheory/Monoidal/Rigid/OfEquivalence.lean,Mathlib/CategoryTheory/Monoidal/Subcategory.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Induced.lean,Mathlib/RepresentationTheory/Rep.lean |
18 |
1 |
['github-actions'] |
nobody |
3-47793 3 days ago |
3-84137 3 days ago |
3-84121 3 days |
29980 |
mans0954 author:mans0954 |
refactor(RingTheory/Polynomial/Resultant/Quadratic): Re-implement QuadraticDiscriminant for R[X] |
Re-implement `Algebra/QuadraticDiscriminant` for polynomials.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/discriminants.20of.20low.20degree.20polynomials/with/538010519)
---
- [ ] depends on: #29981
[](https://gitpod.io/from-referrer/)
|
|
208/0 |
Mathlib.lean,Mathlib/RingTheory/Polynomial/Resultant/Quadratic.lean |
2 |
3 |
['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot'] |
JovanGerb assignee:JovanGerb |
3-44884 3 days ago |
13-16425 13 days ago |
13-20307 13 days |
30206 |
SnirBroshi author:SnirBroshi |
feat(Combinators/SimpleGraph/Hamiltonian): `p.support.length = Fintype.card α` |
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-combinatorics
easy
|
5/0 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
4 |
['SnirBroshi', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
3-38708 3 days ago |
3-39932 3 days ago |
17-20646 17 days |
30650 |
JovanGerb author:JovanGerb |
perf(reassoc, to_app, elementwise): don't pass the same proof to the kernel again |
In `reassoc`, `to_app`, `elementwise`, the proof of the original lemma was being used to prove the modified lemma. This is silly, because the modified lemma can be proved using the original lemma directly. Hence, this PR modifies `addRelatedDecl` to include this optimization.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
12/12 |
Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Reassoc.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean |
4 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
3-25477 3 days ago |
3-25477 3 days ago |
3-29209 3 days |
28375 |
euprunin author:euprunin |
chore(Analysis/SpecialFunctions/Pow): golf entire `rpow_lt_rpow_of_exponent_neg` and `rpow_le_rpow_of_exponent_nonpos` |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
easy
|
4/14 |
Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
1 |
4 |
['JonBannon', 'Ruben-VandeVelde', 'euprunin', 'github-actions', 'grunweg'] |
urkud assignee:urkud |
3-23060 3 days ago |
3-23060 3 days ago |
40-70905 40 days |
30515 |
euprunin author:euprunin |
chore(Data/Nat): golf `findGreatest_eq_iff` using `grind` |
---
Show trace profiling of findGreatest_eq_iff : 21 ms before, 39 ms after
### Trace profiling of `findGreatest_eq_iff` before PR 30515
```diff
diff --git a/Mathlib/Data/Nat/Find.lean b/Mathlib/Data/Nat/Find.lean
index 4ac5779f75..8e95d6e030 100644
--- a/Mathlib/Data/Nat/Find.lean
+++ b/Mathlib/Data/Nat/Find.lean
@@ -176,6 +176,7 @@ lemma findGreatest_succ (n : ℕ) :
lemma findGreatest_of_not (h : ¬ P (n + 1)) : findGreatest P (n + 1) = findGreatest P n := by
simp [Nat.findGreatest, h]
+set_option trace.profiler true in
lemma findGreatest_eq_iff :
Nat.findGreatest P k = m ↔ m ≤ k ∧ (m ≠ 0 → P m) ∧ ∀ ⦃n⦄, m < n → n ≤ k → ¬P n := by
induction k generalizing m with
```
```
ℹ [103/103] Built Mathlib.Data.Nat.Find (710ms)
info: Mathlib/Data/Nat/Find.lean:180:0: [Elab.async] [0.021505] elaborating proof of Nat.findGreatest_eq_iff
[Elab.definition.value] [0.020637] Nat.findGreatest_eq_iff
[Elab.step] [0.020109] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
constructor
· rintro ⟨hle, hP, hm⟩
refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
· rintro ⟨hle, hP, hm⟩
refine ⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP, fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
rintro rfl
exact hk (hP k.succ_ne_zero)
[Elab.step] [0.020104] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
constructor
· rintro ⟨hle, hP, hm⟩
refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
· rintro ⟨hle, hP, hm⟩
refine
⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP, fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
rintro rfl
exact hk (hP k.succ_ne_zero)
[Elab.step] [0.020100] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
constructor
· rintro ⟨hle, hP, hm⟩
refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
· rintro ⟨hle, hP, hm⟩
refine
⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP, fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
rintro rfl
exact hk (hP k.succ_ne_zero)
[Elab.step] [0.014891]
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
constructor
· rintro ⟨hle, hP, hm⟩
refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
· rintro ⟨hle, hP, hm⟩
refine
⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP, fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
rintro rfl
exact hk (hP k.succ_ne_zero)
[Elab.step] [0.014884]
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
constructor
· rintro ⟨hle, hP, hm⟩
refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
· rintro ⟨hle, hP, hm⟩
refine
⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP, fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
rintro rfl
exact hk (hP k.succ_ne_zero)
Build completed successfully (103 jobs).
```
### Trace profiling of `findGreatest_eq_iff` after PR 30515
```diff
diff --git a/Mathlib/Data/Nat/Find.lean b/Mathlib/Data/Nat/Find.lean
index 4ac5779f75..091200bd46 100644
--- a/Mathlib/Data/Nat/Find.lean
+++ b/Mathlib/Data/Nat/Find.lean
@@ -176,6 +176,7 @@ lemma findGreatest_succ (n : ℕ) :
lemma findGreatest_of_not (h : ¬ P (n + 1)) : findGreatest P (n + 1) = findGreatest P n := by
simp [Nat.findGreatest, h]
+set_option trace.profiler true in
lemma findGreatest_eq_iff :
Nat.findGreatest P k = m ↔ m ≤ k ∧ (m ≠ 0 → P m) ∧ ∀ ⦃n⦄, m < n → n ≤ k → ¬P n := by
induction k generalizing m with
@@ -194,16 +195,7 @@ lemma findGreatest_eq_iff :
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
- constructor
- · rintro ⟨hle, hP, hm⟩
- refine ⟨le_trans hle k.le_succ, hP, fun n hlt hle ↦ ?_⟩
- rcases Decidable.lt_or_eq_of_le hle with hlt' | rfl
- exacts [hm hlt <| Nat.lt_succ_iff.1 hlt', hk]
- · rintro ⟨hle, hP, hm⟩
- refine ⟨Nat.lt_succ_iff.1 (lt_of_le_of_ne hle ?_), hP,
- fun n hlt hle ↦ hm hlt (le_trans hle k.le_succ)⟩
- rintro rfl
- exact hk (hP k.succ_ne_zero)
+ grind
lemma findGreatest_eq_zero_iff : Nat.findGreatest P k = 0 ↔ ∀ ⦃n⦄, 0 < n → n ≤ k → ¬P n := by
simp [findGreatest_eq_iff]
```
```
ℹ [103/103] Built Mathlib.Data.Nat.Find (704ms)
info: Mathlib/Data/Nat/Find.lean:180:0: [Elab.async] [0.040019] elaborating proof of Nat.findGreatest_eq_iff
[Elab.definition.value] [0.039235] Nat.findGreatest_eq_iff
[Elab.step] [0.038893] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.038886] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.038881] induction k generalizing m with
| zero =>
rw [eq_comm, Iff.comm]
simp only [Nat.le_zero, ne_eq, findGreatest_zero, and_iff_left_iff_imp]
rintro rfl
exact ⟨fun h ↦ (h rfl).elim, fun n hlt heq ↦ by cutsat⟩
| succ k ihk =>
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.033287]
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.033279]
by_cases hk : P (k + 1)
· rw [findGreatest_eq hk]
constructor
· rintro rfl
exact ⟨le_refl _, fun _ ↦ hk, fun n hlt hle ↦ by cutsat⟩
· rintro ⟨hle, h0, hm⟩
rcases Decidable.lt_or_eq_of_le hle with hlt | rfl
exacts [(hm hlt (le_refl _) hk).elim, rfl]
· rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.022776] ·
rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.022745]
rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.022740]
rw [findGreatest_of_not hk, ihk]
grind
[Elab.step] [0.021688] grind
Build completed successfully (103 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-data
easy
|
1/10 |
Mathlib/Data/Nat/Find.lean |
1 |
1 |
['github-actions', 'vihdzp'] |
nobody |
3-23007 3 days ago |
3-23007 3 days ago |
8-23458 8 days |
30520 |
euprunin author:euprunin |
chore: golf `nondegenerate_of_det_ne_zero`, `num_zero` and `sum_to_range` using `simp_all` |
---
Trace profiling -- `nondegenerate_of_det_ne_zero`: 196 ms before, 184 ms after 🎉
Trace profiling -- `eq_zero_of_num_eq_zero`: <10 ms before, <10 ms after 🎉
Trace profiling -- `sum_to_range`: 39 ms before, 16 ms after 🎉
---
[](https://gitpod.io/from-referrer/)
|
easy |
4/17 |
Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/RingTheory/Localization/NumDen.lean,Mathlib/Topology/Category/Profinite/Nobeling/Successor.lean |
3 |
9 |
['euprunin', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
3-22985 3 days ago |
3-22985 3 days ago |
7-61234 7 days |
30436 |
wwylele author:wwylele |
feat(Topology/InfiniteSum): tprod_one_{add/sub}_ordered |
This extends the existing `Finset.prod_one_sub_ordered` to infinite sum/product, and also adds the more natural `add` version.
Together with some previous PRs about infinite sum/prod and powerseries, this is part of my effort of upstreaming useful stuff from https://github.com/wwylele/PentagonalNumberTheorem. It starts getting into niche lemma, so suggestions such that not wanting this in mathlib, or it should be stated in a different form, are all welcomed.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
44/0 |
Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean |
2 |
1 |
['github-actions'] |
nobody |
3-21786 3 days ago |
3-21786 3 days ago |
10-41510 10 days |
30599 |
wwylele author:wwylele |
feat(RingTheory): geometric series of (Mv)PowerSeries |
Also abstracted the common part for both PowerSeries and normed rings into `Summable.tsum_pow_mul_one_sub` / `Summable.one_sub_mul_tsum_pow`.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
111/15 |
Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/MvPowerSeries/PiTopology.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/PiTopology.lean,Mathlib/Topology/Algebra/InfiniteSum/Ring.lean |
6 |
1 |
['github-actions'] |
nobody |
3-21069 3 days ago |
3-21069 3 days ago |
5-82152 5 days |
30567 |
wwylele author:wwylele |
feat(Combinatorics): generating function for partitions |
This is the start of a series of PR aiming to prove two theorems related to partition:
- [Glaisher's theorem](https://en.wikipedia.org/wiki/Glaisher%27s_theorem), which is a generalization of the existing [Euler's Partition theorem](https://github.com/leanprover-community/mathlib4/blob/master/Archive/Wiedijk100Theorems/Partition.lean). The proof will use the infinite generating function, upgrading the current proof that uses finite ones, and resolving this [TODO](https://github.com/leanprover-community/mathlib4/blob/master/Archive/Wiedijk100Theorems/Partition.lean#L66)
- [Pentagonal number theorem](https://en.wikipedia.org/wiki/Pentagonal_number_theorem) and the recurrence relation on the partition function.
I created a new file `Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean` to avoid importing PowerSeries stuff directly into the definition file, and along the way I moved the existing `Mathlib/Combinatorics/Enumerative/Partition.lean` to `Mathlib/Combinatorics/Enumerative/Partition/Basic.lean` . Not sure why github didn't recognize this as a file move, but there is no diff in that file and the total diff is much smaller
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
426/181 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Combinatorics/Enumerative/Partition.lean,Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Combinatorics/Enumerative/Partition/GenFun.lean,Mathlib/GroupTheory/Perm/Cycle/Type.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean |
8 |
1 |
['github-actions'] |
nobody |
3-20078 3 days ago |
3-21778 3 days ago |
6-81269 6 days |
30232 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Connectivity/Subgraph): add `ConnectedComponent.toSubgraph` |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
easy
|
32/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
2 |
2 |
['SnirBroshi', 'github-actions'] |
nobody |
3-18783 3 days ago |
16-74828 16 days ago |
16-74867 16 days |
30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
210/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
2 |
1 |
['github-actions'] |
nobody |
3-16672 3 days ago |
4-24002 4 days ago |
4-24047 4 days |
30655 |
joelriou author:joelriou |
feat(CategoryTheory/Final): improve assumptions for `final_fst` |
We show that the projection `C × D ⥤ C` is a final (or initial) functor when `D` is connected. (Before this PR, it was proven under the stronger assumption that `D` was (co)filtered.)
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
133/16 |
Mathlib.lean,Mathlib/CategoryTheory/Discrete/StructuredArrow.lean,Mathlib/CategoryTheory/Filtered/Final.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/Final/Connected.lean |
5 |
1 |
['github-actions'] |
nobody |
3-16530 3 days ago |
3-16652 3 days ago |
3-16628 3 days |
30634 |
joelriou author:joelriou |
feat(CategoryTheory): κ-filtered categories are stable under products |
Binary products and general products of `κ`-filtered categories are `κ`-filtered.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
27/0 |
Mathlib/CategoryTheory/Presentable/IsCardinalFiltered.lean |
1 |
1 |
['github-actions'] |
nobody |
3-16395 3 days ago |
3-16395 3 days ago |
4-36826 4 days |
22771 |
alreadydone author:alreadydone |
feat(Homotopy/Lifting): monodromy of covering maps and lifting criterion |
Define the monodromy of a covering map: given a path in the base space, lifting it through the covering map induces a bijection between the fibers at the two endpoints of the path. Definition 2.1 in https://ncatlab.org/nlab/show/monodromy.
---
- [ ] depends on: #28234
- [x] depends on: #22649
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology |
193/146 |
Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Groupoid.lean,Mathlib/Topology/Covering.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Lifting.lean,Mathlib/Topology/Homotopy/Product.lean |
9 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
PatrickMassot assignee:PatrickMassot |
3-12805 3 days ago |
59-45466 1 month ago |
144-35711 144 days |
30315 |
SnirBroshi author:SnirBroshi |
feat(Topology/Connected/LocPathConnected): convenience lemma for `LocPathConnected` + `ConnectedSpace` → `PathConnectedSpace` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-bench
new-contributor
t-topology
|
5/3 |
Mathlib/Topology/Connected/LocPathConnected.lean |
1 |
11 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
PatrickMassot assignee:PatrickMassot |
3-10591 3 days ago |
3-80994 3 days ago |
13-43205 13 days |
30661 |
urkud author:urkud |
feat(Topology): infinite T2 spaces |
---
Cleaning up old branches.
[](https://gitpod.io/from-referrer/)
|
t-topology |
77/0 |
Mathlib.lean,Mathlib/Topology/NatEmbedding.lean |
2 |
2 |
['github-actions', 'urkud'] |
nobody |
3-7545 3 days ago |
3-7558 3 days ago |
3-7593 3 days |
30662 |
urkud author:urkud |
feat(LocallyFinite): add `of_comp_surjective` |
---
Cleaning up old branches. Feel free to reject.
[](https://gitpod.io/from-referrer/)
|
t-topology |
7/0 |
Mathlib/Topology/LocallyFinite.lean |
1 |
1 |
['github-actions'] |
nobody |
3-7306 3 days ago |
3-7323 3 days ago |
3-7357 3 days |
30645 |
tb65536 author:tb65536 |
feat(RingTheory/Localization/FractionRing): `R` is nontrivial iff `S` is nontrivial |
This PR shows that if `S` is the fraction ring of `R`, then `R` is nontrivial iff `S` is nontrivial.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
t-algebra
label:t-algebra$ |
16/8 |
Mathlib/RingTheory/Localization/FractionRing.lean |
1 |
6 |
['Ruben-VandeVelde', 'github-actions', 'tb65536'] |
nobody |
3-6624 3 days ago |
3-61812 3 days ago |
3-61789 3 days |
30226 |
erdOne author:erdOne |
feat(AlgebraicGeometry): global sections of inverse limits of schemes |
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
463/3 |
Mathlib.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Connected.lean |
7 |
12 |
['chrisflav', 'erdOne', 'github-actions', 'joelriou'] |
joelriou assignee:joelriou |
2-83112 2 days ago |
10-40745 10 days ago |
13-35170 13 days |
30322 |
kckennylau author:kckennylau |
feat(RingTheory): base change of graded algebra |
In this file we show that if `𝒜` is a graded `R`-algebra, and `S` is any `R`-algebra, then `S ⊗[R] 𝒜` (which is actually `fun i ↦ (𝒜 i).baseChange S`) is a graded `S`-algebra with the same grading.
---
Split from #26061.
[](https://gitpod.io/from-referrer/)
|
|
269/48 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Decomposition.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/LinearAlgebra/DirectSum/Finsupp.lean,Mathlib/LinearAlgebra/DirectSum/TensorProduct.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean,Mathlib/LinearAlgebra/TensorProduct/Tower.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/TensorProduct.lean |
12 |
1 |
['github-actions'] |
dupuisf assignee:dupuisf |
2-83111 2 days ago |
13-48433 13 days ago |
13-48409 13 days |
30432 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): define the non-vanishing locus of a set in Proj |
Given a subset `s : Set A`, the non-vanishing locus of `s` is the set of points whose corresponding prime ideal does not fully contain `s`. In other words, where not all elements of `s` vanish.
I could not find a name for this in the literature.
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry |
66/0 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean |
1 |
1 |
['github-actions'] |
alexjbest assignee:alexjbest |
2-83109 2 days ago |
10-55654 10 days ago |
10-55687 10 days |
30439 |
plp127 author:plp127 |
feat: `norm_num` extension for `IsSquare` on `Nat`, `Int`, `Rat` |
Write a `norm_num` extension to evaluate `IsSquare` for `Nat`, `Int`, `Rat`.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
152/1 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/NormNum/IsSquare.lean,MathlibTest/norm_num_ext.lean |
4 |
3 |
['Rob23oba', 'github-actions', 'plp127'] |
dwrensha assignee:dwrensha |
2-83108 2 days ago |
10-33067 10 days ago |
10-33101 10 days |
29351 |
staroperator author:staroperator |
feat(SetTheory/Cardinal): generalize and rename theorems on `Cardinal.sum` |
Some theorems on `Cardinal.sum f` are taking `f : ι → Cardinal.{max u v}`, which can be generalized to `f : ι → Cardinal.{v}`. Also rename `sum_le_iSup_lift`, `sum_eq_iSup_lift` etc. to reflect their signatures in names.
---
[](https://gitpod.io/from-referrer/)
|
t-set-theory
maintainer-merge
|
64/31 |
Mathlib/Data/W/Cardinal.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Cofinality.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Cardinal/Pigeonhole.lean,Mathlib/SetTheory/Cardinal/Regular.lean |
10 |
10 |
['alreadydone', 'github-actions', 'staroperator', 'vihdzp'] |
alreadydone assignee:alreadydone |
2-79209 2 days ago |
3-46826 3 days ago |
47-21993 47 days |
28497 |
euprunin author:euprunin |
chore(RingTheory/LocalRing/ResidueField): deprecate`isLocalHom_residue` |
---
[](https://gitpod.io/from-referrer/)
|
easy |
3/8 |
Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean |
2 |
6 |
['Ruben-VandeVelde', 'euprunin', 'github-actions', 'mathlib4-merge-conflict-bot', 'wwylele'] |
sgouezel assignee:sgouezel |
2-78564 2 days ago |
14-8438 14 days ago |
17-27342 17 days |
30224 |
SnirBroshi author:SnirBroshi |
feat(Combinatorics/SimpleGraph/Hamiltonian): `p.support.get` is bijective |
---
- [x] depends on: #30223
[](https://gitpod.io/from-referrer/)
|
new-contributor |
7/0 |
Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
kim-em assignee:kim-em |
2-65745 2 days ago |
10-3835 10 days ago |
10-4791 10 days |
30646 |
xroblot author:xroblot |
feat(RingTheory/Ideal): the inertia degree and ramification index are less than the rank |
Also prove that `primesOverFinset` is less than the rank. These are all easy consequences of [Ideal.sum_ramification_inertia](https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/RamificationInertia/Basic.html#Ideal.sum_ramification_inertia)
---
|
t-ring-theory |
50/9 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean |
2 |
5 |
['erdOne', 'github-actions', 'xroblot'] |
nobody |
2-59000 2 days ago |
3-29463 3 days ago |
3-53442 3 days |
29835 |
vlad902 author:vlad902 |
feat(Order): add `IsMaxAntichain` and some lemmas for `IsMaxChain` |
Define `IsMaxAntichain` to be the antichain analogue of `IsMaxChain` and add some useful lemmas to both that I needed for proving Mirsky's theorem.
- [ ] depends on: #29834
---
[](https://gitpod.io/from-referrer/)
|
t-order |
51/0 |
Mathlib/Order/Antichain.lean,Mathlib/Order/Preorder/Chain.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
2-57177 2 days ago |
19-13450 19 days ago |
19-13775 19 days |
28119 |
JasperMS author:JasperMS |
feat(Data/Set/Pairwise): prove pairwise results for Chains, move `Set.pairwise_iUnion₂` |
Initiate a new file `Data/Set/Pairwise/Chain.lean` which makes some `Pairwise` results available to the `IsChain` predicate.
In the process, move `Set.pairwise_iUnion₂` to group it with similar results. Perform some variable harmonization.
Part of Carleson, original result by Edward van de Meent.
Moves:
- Set.pairwise_iUnion₂: from Data.Set.Lattice to Data.Set.Pairwise.Lattice
---
This PR was discussed and advice was given in [#mathlib4 > Novice questions on style and structure](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Novice.20questions.20on.20style.20and.20structure/with/533462814). Many thanks to those who helped me out!
Mathlib PRs are still new to me, so please point out where I can improve!
[](https://gitpod.io/from-referrer/)
|
carleson
t-data
new-contributor
|
56/12 |
Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Data/Set/Pairwise/Chain.lean,Mathlib/Data/Set/Pairwise/Lattice.lean |
4 |
13 |
['JasperMS', 'Ruben-VandeVelde', 'edegeltje', 'github-actions', 'pechersky'] |
pechersky assignee:pechersky |
2-56845 2 days ago |
74-35945 2 months ago |
74-36379 74 days |
29765 |
YaelDillies author:YaelDillies |
feat: commutative monoids are internal monoids |
From Toric
---
[](https://gitpod.io/from-referrer/)
|
toric
t-category-theory
|
76/6 |
Mathlib/CategoryTheory/Monoidal/Cartesian/Grp_.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon_.lean |
2 |
3 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
kim-em assignee:kim-em |
2-52998 2 days ago |
33-59705 1 month ago |
33-59737 33 days |
30665 |
alreadydone author:alreadydone |
feat(Algebra): congruence relation preserving SMul |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
197/19 |
Mathlib.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Module.lean,Mathlib/RingTheory/Finiteness/Cardinality.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean |
6 |
6 |
['ADedecker', 'alreadydone', 'github-actions'] |
nobody |
2-37163 2 days ago |
3-4013 3 days ago |
3-3990 3 days |
30590 |
YaelDillies author:YaelDillies |
feat(Combinatorics/SimpleGraph): inducing a walk |
A walk which is fully contained within a set of vertices becomes a walk on the corresponding induced graph.
From the ProofBench workshop
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
27/0 |
Mathlib/Combinatorics/SimpleGraph/Walk.lean |
1 |
1 |
['github-actions'] |
nobody |
2-36717 2 days ago |
6-22138 6 days ago |
6-22182 6 days |
29652 |
fmortimore author:fmortimore |
feat(Order): the Bourbaki–Witt theorem |
We prove the Bourbaki-Witt theorem, one of Wiedijk's 1000+ theorems
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
244/0 |
Mathlib.lean,Mathlib/Order/BourbakiWitt.lean,docs/1000.yaml |
3 |
28 |
['Vierkantor', 'eric-wieser', 'fmortimore', 'github-actions', 'wwylele'] |
Vierkantor assignee:Vierkantor |
2-36183 2 days ago |
2-36183 2 days ago |
24-83123 24 days |
30677 |
themathqueen author:themathqueen |
doc(LinearAlgebra/Matrix/PosDef): module docstring |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
9/4 |
Mathlib/LinearAlgebra/Matrix/PosDef.lean |
1 |
1 |
['github-actions'] |
nobody |
2-34572 2 days ago |
2-34572 2 days ago |
2-35656 2 days |
30679 |
themathqueen author:themathqueen |
feat(LinearAlgebra/TensorProduct/Matrix): equivalence between `⊗ₜ` and `⊗ₖ` |
This adds the equivalence between the tensor product of matrices and the Kronecker product.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
42/1 |
Mathlib/LinearAlgebra/TensorProduct/Matrix.lean |
1 |
1 |
['github-actions'] |
nobody |
2-34381 2 days ago |
2-34684 2 days ago |
2-34806 2 days |
27244 |
xroblot author:xroblot |
feat(RingTheory/DedekindDomain): lifting an ideal in an extension is injective |
This PR develops some API for [FractionalIdeal.extendedHomₐ](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/FractionalIdeal/Extended.html#FractionalIdeal.extendedHom%E2%82%90) and in particular proves when it is an injective map. As a consequence, it deduces the fact that lifting an integral ideal in an extension of Dedekind domains is an injective map.
Note: the import increase happens in a leaf file `Mathlib.RingTheory.FractionalIdeal.Extended`
---
- [x] depends on: #28800
|
t-ring-theory
large-import
|
77/8 |
Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean |
2 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'xroblot'] |
kbuzzard assignee:kbuzzard |
2-31203 2 days ago |
2-31227 2 days ago |
84-24233 84 days |
30647 |
JovanGerb author:JovanGerb |
chore(Tactic/Ring): use Qq more honestly |
This PR removes almost all uses of `(q(...) : Expr)` in the `ring` tactic implementation.
This includes switching from `Ring`/`DivisionSemiring` to `CommRing`/`Semifield`, because then we can rely on `assumeInstancesCommute` to make Qq happy. This should not affect the generality of the `ring` tactic, because a `Ring`/`DivisionSemiring` that is also commutative is also a `CommRing`/`Semifield`.
I wanted to do some other work on `ring`, but that stumbled on the fact that some `q(...)` proof terms weren't actually being type checked properly by Qq. This PR fixes this.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
126/116 |
Mathlib/Tactic/Ring/Basic.lean |
1 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
2-28298 2 days ago |
3-44585 3 days ago |
3-44572 3 days |
30693 |
joelriou author:joelriou |
feat(Order/Category): partial orders with order embeddings as morphisms |
This category will be relevant in the study of accessible categories. I am making Johan Commelin a co-author as the new file `PartOrdEmb.lean` is essentially a copy-paste of `PartOrd.Lean`.
Co-authored-by: Johan Commelin
---
[](https://gitpod.io/from-referrer/)
|
t-order |
169/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrdEmb.lean |
2 |
2 |
['github-actions', 'joelriou'] |
nobody |
2-16152 2 days ago |
2-19907 2 days ago |
2-19884 2 days |
30701 |
vihdzp author:vihdzp |
feat: `Set.prod_image_left` |
---
Downstreamed from the CGT repo.
[](https://gitpod.io/from-referrer/)
|
t-data |
9/0 |
Mathlib/Data/Set/Operations.lean |
1 |
1 |
['github-actions'] |
nobody |
2-7187 2 days ago |
2-7199 2 days ago |
2-7239 2 days |
30702 |
jsm28 author:jsm28 |
feat(LinearAlgebra/AffineSpace/Independent): `inf_affineSpan_eq_affineSpan_inter` |
Add a lemma
```lean
lemma AffineIndependent.inf_affineSpan_eq_affineSpan_inter [Nontrivial k] {p : ι → P}
(ha : AffineIndependent k p) (s₁ s₂ : Set ι) :
affineSpan k (p '' s₁) ⊓ affineSpan k (p '' s₂) = affineSpan k (p '' (s₁ ∩ s₂)) := by
```
with a proof adapted from that of the existing weaker `exists_mem_inter_of_exists_mem_inter_affineSpan`, and change `exists_mem_inter_of_exists_mem_inter_affineSpan` to be proved using the new lemma.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
37/12 |
Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
1 |
3 |
['eric-wieser', 'github-actions'] |
nobody |
2-4270 2 days ago |
2-6759 2 days ago |
2-6736 2 days |
30553 |
mcdoll author:mcdoll |
chore(Analysis/Distribution): split off functions and measures of temperate growth |
The Schwartz function file reached 1500 lines of code, so it really needs splitting.
The only other change is that I added namespaces and moved one lemma into the `MeasureTheory.Measure` namespace to allow for dot-notation.
---
I've added Anatole to the list of authors for the `BigO` additions, I don't know whether there is someone else that should be mentioned. @mans0954 did you contribute to the temperate growth functions?
I did not write any new doc-strings, so that this PR does not get hung up on that, but this should be done in a subsequent PR.
[](https://gitpod.io/from-referrer/)
|
t-analysis |
241/220 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean |
3 |
4 |
['ADedecker', 'github-actions', 'mcdoll'] |
nobody |
2-2607 2 days ago |
7-21053 7 days ago |
7-21091 7 days |
29719 |
kim-em author:kim-em |
feat(Topology/Algebra/Group/Units): add topological properties of units |
## Summary
Add lemmas about units in topological monoids:
- `Submonoid.units_isOpen`: units of open submonoids are open in the units topology
- `ContinuousMulEquiv.piUnits`: homeomorphism between units of a product and product of units
This content was prepared by Claude from the FLT project.
Source file: `/Users/kim/projects/lean/flt/FLT/Mathlib/Topology/Algebra/Group/Units.lean`
GitHub source: https://github.com/ImperialCollegeLondon/FLT/blob/main/FLT/Mathlib/Topology/Algebra/Group/Units.lean
🤖 Generated with [Claude Code](https://claude.ai/code) |
FLT
t-topology
|
53/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Group/Units.lean |
2 |
7 |
['Ruben-VandeVelde', 'github-actions', 'kim-em', 'plp127'] |
ADedecker assignee:ADedecker |
2-1514 2 days ago |
17-53318 17 days ago |
25-10085 25 days |
29706 |
kim-em author:kim-em |
feat: add piCongrSigmaFiber and piCongrFiberwise equivalences |
## Summary
Add two new equivalence functions for working with fibers and sigma types:
- `Equiv.piCongrSigmaFiber`: transforms between functions on sigma fibers and regular pi types
- `Equiv.piCongrFiberwise`: lifts fiber-wise equivalences to product equivalences
These functions are from the FLT (Fermat's Last Theorem) project and are useful for manipulating dependent function types indexed by fibers of a function.
## Details
The new definitions allow for elegant transformations between:
1. Functions defined on sigma types representing fibers of a function
2. Regular dependent functions
These are particularly useful in algebraic contexts where one needs to work with products indexed by fibers.
## Context
This PR was prepared by Claude (Claude Code) based on the following prompt:
> "Please read FLT/Mathlib/Logic/Equiv/Basic.lean, and also the corresponding file in the Mathlib repository. Please prepare a PR to Mathlib containing this content, putting it at an appropriate point in the corresponding Mathlib file. Make sure the PR is label FLT, and write in the PR comment an explanation that the PR was prepared by Claude, including quoting the prompting."
The content is sourced from `/Users/kim/projects/lean/FLT/FLT/Mathlib/Logic/Equiv/Basic.lean` in the FLT project repository.
🤖 Generated with [Claude Code](https://claude.ai/code) |
FLT
t-logic
|
39/0 |
Mathlib/Logic/Equiv/Basic.lean |
1 |
5 |
['Ruben-VandeVelde', 'github-actions', 'kim-em'] |
fpvandoorn assignee:fpvandoorn |
2-1503 2 days ago |
35-38482 1 month ago |
35-54688 35 days |
30627 |
kim-em author:kim-em |
chore: regression test for Set grind annotations |
This is apparently failing in Cslib's `nightly-testing`, so installing this as a regression test to try to pin down where it is/isn't working. |
|
3/0 |
MathlibTest/grind/set.lean |
1 |
1 |
['github-actions'] |
nobody |
2-858 2 days ago |
4-76350 4 days ago |
4-76326 4 days |
30698 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Projection): characteristic property |
Add a lemma
```lean
lemma orthogonalProjection_eq_iff_mem {s : AffineSubspace ℝ P} [Nonempty s]
[s.direction.HasOrthogonalProjection] {p q : P} :
orthogonalProjection s p = q ↔ q ∈ s ∧ p -ᵥ q ∈ s.directionᗮ := by
```
that gives the characteristic property of the orthogonal projection in a more convenient form to use than the existing
`inter_eq_singleton_orthogonalProjection` (from which it is derived).
Deduce a lemma `orthogonalProjection_eq_orthogonalProjection_iff_vsub_mem` about equality of two projections onto the same subspace.
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
34/0 |
Mathlib/Geometry/Euclidean/Projection.lean |
1 |
12 |
['eric-wieser', 'github-actions', 'jsm28'] |
nobody |
1-86179 1 day ago |
2-8688 2 days ago |
2-8666 2 days |
27516 |
gaetanserre author:gaetanserre |
feat: add rational approximation lemma for suprema in `unitInterval` |
Add `sSup_eq_iUnion_rat` lemma that provides a rational approximation characterization of suprema in the unit interval. For monotone functions `f : α → I → ℝ`, the lemma establishes that the set of pairs where `a < sSup {x | f e.1 x < e.2}` equals the union over all rationals `q ∈ I` with `q > a` of the sets `{e | f e.1 q < e.2}`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
44/0 |
Mathlib/MeasureTheory/Constructions/UnitInterval.lean,Mathlib/Topology/UnitInterval.lean |
2 |
7 |
['gaetanserre', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
j-loreaux assignee:j-loreaux |
1-83135 1 day ago |
58-33390 1 month ago |
84-24384 84 days |
28884 |
kim-em author:kim-em |
chore: deprecate ShiftLeft Int instance |
This PR proposes deprecating the `ShiftLeft Int` instance (which allows bit-shifting an integer by an integer), and similarly for `ShiftRight`.
These are unused in Mathlib.
I'm happy if someone wants to keep this, but I would ask that they:
* fix the doc-strings to explain what happens for negative shifts
* ~~restores the theorem `Int.shiftLeft_add` which I've commented out on `nightly-testing` (and then revert b33c9d7aaea on `nightly-testing`).~~
* ideally but optionally, complete the API, e.g. reducing shifts by casts back to shifts by a Nat |
t-data |
22/3 |
Mathlib/Data/Int/Bitwise.lean |
1 |
5 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib4-merge-conflict-bot'] |
pechersky assignee:pechersky |
1-83134 1 day ago |
35-83161 1 month ago |
57-51257 57 days |
29014 |
ShreckYe author:ShreckYe |
feat(Data/List/Scan): some theorems that relate `scanl` with `foldl` |
I am not sure which is the best form of `getElem_scanl_eq_foldl_take` here, so I added several alternative forms. Feel free to remove any of them if necessary. |
t-data |
35/0 |
Mathlib/Data/List/Scan.lean |
1 |
9 |
['ShreckYe', 'github-actions', 'themathqueen', 'vlad902'] |
pechersky assignee:pechersky |
1-83133 1 day ago |
55-53248 1 month ago |
55-53287 55 days |
30041 |
josephmckinsey author:josephmckinsey |
feat(Algebra/Order/Floor): generalize mul_floor_div theorems to rings and semirings |
Generalize `mul_cast_floor_div_cancel` from `Field` and `Semifield` to `Ring` and `Semiring`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
43/31 |
Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Analysis/Real/OfDigits.lean |
4 |
10 |
['Ruben-VandeVelde', 'github-actions', 'josephmckinsey'] |
joneugster assignee:joneugster |
1-83132 1 day ago |
9-81228 9 days ago |
10-29829 10 days |
30424 |
maksym-radziwill author:maksym-radziwill |
feat(Analysis.Complex): Borel-Caratheodory theorem, part of PrimeNumberTheoremAnd+ upstreaming |
This PR adds a proof of the [Borel-Caratheodory theorem](https://en.wikipedia.org/wiki/Borel%E2%80%93Carath%C3%A9odory_theorem) following the [blueprint](https://alexkontorovich.github.io/PrimeNumberTheoremAnd/web/sect0004.html#a0000000021) of the [PrimeNumberTheoremAnd+](https://github.com/AlexKontorovich/PrimeNumberTheoremAnd/) project. This is part of the ongoing effort to upstream the StrongPNT version of the PrimeNumberTheoremAnd+ project into mathlib4.
See also the [Zullip discussion](https://leanprover.zulipchat.com/#narrow/channel/423402-PrimeNumberTheorem.2B/topic/Merging.20with.20Morph/with/544246433)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
424/0 |
Mathlib.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,docs/1000.yaml,docs/references.bib |
4 |
7 |
['Ruben-VandeVelde', 'github-actions', 'maksym-radziwill', 'wwylele'] |
grunweg assignee:grunweg |
1-83131 1 day ago |
9-72295 9 days ago |
11-3679 11 days |
30468 |
jeremypparker author:jeremypparker |
feat(Algebra/GroupWithZero): mul_left_cancel_iff₀ |
This is a version of mul_left_cancel_iff / mul_right_cancel_iff for GroupWithZero
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
easy
label:t-algebra$ |
6/0 |
Mathlib/Algebra/GroupWithZero/Defs.lean |
1 |
4 |
['github-actions', 'jeremypparker', 'wwylele'] |
joelriou assignee:joelriou |
1-83127 1 day ago |
9-29108 9 days ago |
9-29141 9 days |
30473 |
CoolRmal author:CoolRmal |
feat(ComplexAnalysis): Cauchy's Integral Formula for Higher Order Derivatives |
This PR adds the following `iteratedDeriv_eq_smul_circleIntegral` and `norm_iteratedDeriv_le_aux`. The first one expresses the `n`-th order derivative of a differentiable function as a circle integral. The second one proves an estimate for the `n`-th order derivative.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Cauchy's.20integral.20formula
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
124/6 |
Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean |
3 |
16 |
['CoolRmal', 'github-actions', 'loefflerd', 'wwylele'] |
ADedecker assignee:ADedecker |
1-83125 1 day ago |
9-16251 9 days ago |
9-16282 9 days |
30451 |
kckennylau author:kckennylau |
feat(HomogeneousIdeal): generalize to homogeneous submodule |
Continuation of #30437 with permission from @jjaassoonn, which is a continuation of #9820 .
The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to homogeneous submodules.
Let `R` be a graded ring and `M` be a graded `R`-module. Say an `R`-submodule `N` of `M` is homogeneous if for every `x` in `N`, each projection of `x` to `M_i` is in `N`. None of this file's results depends on the grading on `R`, but we include the grading on `R` for technical reasons. We define the "homogeneous core" of a not necessarily homogeneous submodule N to be the biggest homogeneous submodule contained within N, and the "homogeneous hull" to be the smallest homogeneous submodule that contains N.
All definitions/constructions/theorems are then copied for ideals/homogeneous ideals.
The motivation of this generalization is graded quotient module. (#18716)
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
554/182 |
Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Basic.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean |
7 |
1 |
['github-actions'] |
nobody |
1-82946 1 day ago |
1-82946 1 day ago |
10-12818 10 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-data
t-algebra
label:t-algebra$ |
77/56 |
Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/Data/Nat/BinaryRec.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Size.lean |
8 |
7 |
['alreadydone', 'astrainfinita', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
1-82237 1 day ago |
17-35509 17 days ago |
17-83012 17 days |
30671 |
astrainfinita author:astrainfinita |
chore: remove `MulAction ℚ α → MulAction ℚ≥0 α` instances |
This fixes the instances diamond in the `NNRat` action.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60SMul.20NNRat.60.20diamond.3F/with/545816108)
[](https://gitpod.io/from-referrer/)
|
t-data
t-algebra
label:t-algebra$ |
25/54 |
Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Order/Module/Rat.lean,Mathlib/Data/NNRat/Lemmas.lean |
4 |
1 |
['github-actions'] |
nobody |
1-66813 1 day ago |
1-69519 1 day ago |
1-69509 1 day |
30587 |
kebekus author:kebekus |
feat: sums of meromorphic functions are meromorphic |
Establish that sums of meromorphic functions are meromorphic. Fix several docstrings.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
easy
|
89/53 |
Mathlib/Analysis/Meromorphic/Basic.lean |
1 |
31 |
['eric-wieser', 'github-actions', 'grunweg', 'kebekus'] |
grunweg assignee:grunweg |
1-66436 1 day ago |
5-44053 5 days ago |
5-80420 5 days |
29723 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: add TensorProduct.piScalarRight_symm_algebraMap |
---
[](https://gitpod.io/from-referrer/)
|
FLT
t-algebra
label:t-algebra$ |
5/0 |
Mathlib/LinearAlgebra/TensorProduct/Pi.lean |
1 |
5 |
['Ruben-VandeVelde', 'github-actions', 'themathqueen'] |
joneugster assignee:joneugster |
1-59497 1 day ago |
35-30639 1 month ago |
35-30672 35 days |
27978 |
smmercuri author:smmercuri |
feat(InfinitePlace/Ramification): `LiesOver` class for absolute values and derived results on infinite places |
If `w` is an absolute value on `L/K` and `v` is an absolute value of `K` then `w.LiesOver v` is the class defining the property that `v` is the restriction of `w` to `K`.
This PR continues the work from #24881.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24881
---
- [x] depends on: #27977 |
large-import
FLT
t-number-theory
|
62/0 |
Mathlib/Analysis/Normed/Ring/WithAbs.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Ramification.lean |
2 |
11 |
['MichaelStollBayreuth', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
1-58944 1 day ago |
1-58944 1 day ago |
18-75999 18 days |
29969 |
smmercuri author:smmercuri |
refactor: use isometry extensions for completions at infinite places of number fields |
The API for `InfinitePlace.Completion` currently makes use of abstract results defined on absolute values, which all depend on the hypothesis of the form `∀ x, ‖f x‖ = v x`. This is equivalent to `f` being an isometry, and so many of these results can be bypassed and deprecated by using `Isometry.completion_extension`
---
[](https://gitpod.io/from-referrer/)
|
|
73/48 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Completion.lean,Mathlib/Topology/MetricSpace/Completion.lean |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
1-58915 1 day ago |
1-59177 1 day ago |
24-82041 24 days |
27971 |
smmercuri author:smmercuri |
feat: weak approximation theorems for infinite places of a number field |
Under the diagonal embedding into infinite places, a number field $K$ is dense inside both the product $\prod_{v \mid \infty} (K, v)$, where $(K, v)$ denotes $K$ equipped with $v$'s topology, and the infinite adele ring $\prod_v K_v$.
This PR continues the work from #22153.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22153
---
- [x] depends on: #27969 |
FLT
t-algebra
t-number-theory
label:t-algebra$ |
98/2 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/NumberTheory/NumberField/AdeleRing.lean,Mathlib/NumberTheory/NumberField/InfinitePlace/Basic.lean |
3 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'smmercuri'] |
Vierkantor assignee:Vierkantor |
1-58705 1 day ago |
1-58713 1 day ago |
19-6862 19 days |
30680 |
YaelDillies author:YaelDillies |
feat(Algebra/Group/Torsion): characterise when `a ^ n = 1` |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
31/11 |
Mathlib/Algebra/Group/Torsion.lean,Mathlib/Algebra/GroupWithZero/Torsion.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean |
3 |
1 |
['github-actions'] |
nobody |
1-57623 1 day ago |
2-34456 2 days ago |
2-34490 2 days |
30684 |
YaelDillies author:YaelDillies |
chore: deprecate `monoidalOfHasFiniteProducts` |
Over the summer, this was replaced everywhere with `CartesianMonoidalCategory.ofHasFiniteProducts`, but hadn't been deprecated.
---
I would personally be very happy to also delete the finite coproduct stuff, but we don't yet have cocartesian-monoidal categories to replace them.
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
92/92 |
Mathlib/CategoryTheory/Monoidal/OfHasFiniteProducts.lean |
1 |
3 |
['YaelDillies', 'github-actions', 'joelriou'] |
nobody |
1-53622 1 day ago |
1-53675 1 day ago |
1-55694 1 day |
27364 |
101damnations author:101damnations |
feat(RepresentationTheory/Homological/GroupCohomology): cohomology of finite cyclic groups |
Let `k` be a commutative ring, `G` a group and `A` a `k`-linear `G`-representation. Given endomorphisms `φ, ψ : A ⟶ A` such that `φ ∘ ψ = ψ ∘ φ = 0`. Denote by `Chains(A, φ, ψ)` the periodic chain complex `... ⟶ A --φ--> A --ψ--> A --φ--> A --ψ--> A ⟶ 0` and by `Cochains(A, φ, ψ)` the periodic cochain complex `0 ⟶ A --ψ--> A --φ--> A --ψ--> A --φ--> A ⟶ ...`.
When `G` is finite and generated by `g : G`, then `P := Chains(k[G], N, ρ(g) - Id)` (with `ρ` the left regular representation) is a projective resolution of `k` as a trivial representation. In this PR we show that for `A : Rep k G`, `Hom(P, A)` is isomorphic to
`Cochains(A, N, ρ_A(g) - Id)` as a complex of `k`-modules, and hence the cohomology of this complex computes group cohomology.
---
- [x] depends on: #27362
- [x] depends on: #27361
- [x] depends on: #27363
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
142/1 |
Mathlib.lean,Mathlib/RepresentationTheory/Homological/FiniteCyclic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/FiniteCyclic.lean |
3 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'riccardobrasca'] |
riccardobrasca assignee:riccardobrasca |
1-51613 1 day ago |
19-30171 19 days ago |
19-32738 19 days |
30713 |
YaelDillies author:YaelDillies |
chore(Algebra/Ring): shortcut `IsDomain` instances for `Nat` and `Int` |
These instances are currently inferred from the `IsStrictOrderedRing` ones (see code snippet), but in #30563 I need these instances earlier than the `IsStrictOrderedRing` ones.
```
import Mathlib
#synth IsDomain ℕ -- IsStrictOrderedRing.isDomain
#synth IsDomain ℤ -- IsStrictOrderedRing.isDomain
```
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
label:t-algebra$ |
6/0 |
Mathlib/Algebra/Ring/Int/Defs.lean,Mathlib/Algebra/Ring/Nat.lean |
2 |
1 |
['github-actions'] |
nobody |
1-50869 1 day ago |
1-50876 1 day ago |
1-50918 1 day |
27270 |
EtienneC30 author:EtienneC30 |
chore: turn WithLp into a structure |
Turn `WithLp` into a one field structure, as was suggested many times on Zulip and discussed here: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/defeq.20abuse.20in.20.60WithLp.60/near/526234806.
Here is what this PR does:
- The instances on `WithLp p α` which were defeq to those on `α` (algebraic instances, topology, uniformity, bornology) are now pulled back from `α` along `WithLp.equiv p α`. A few declarations are added to ease the process, such as versions of `WithLp.equiv` as a homeomorphism or a uniform isomorphism.
- The `MeasurableSpace` structure was pushed forward from `α`. We now make it pulled back because it is much more convenient to prove that this preserves the `BorelSpace` instance.
- It introduces some definitions to equip `α × β` with the Lp distance, and similarly for `Π i, α i`. This is then used to define relevant instances on type synonyms, such as for matrix norms.
- The PR fixes all the defeq abuses (which break obviously).
---
- [x] depends on: #28469
- [x] depends on: #28470
- [x] depends on: #28471
[](https://gitpod.io/from-referrer/)
|
large-import
t-analysis
|
636/417 |
Archive/Hairer.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/InnerProductSpace/Positive.lean,Mathlib/Analysis/InnerProductSpace/ProdL2.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Lp/LpEquiv.lean,Mathlib/Analysis/Normed/Lp/MeasurableSpace.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/WithLp.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Analysis/RCLike/Inner.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/CrossProduct.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/LinearAlgebra/Matrix/Hermitian.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean,Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/MeasureTheory/SpecificCodomains/WithLp.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean,Mathlib/NumberTheory/NumberField/Ideal/Asymptotics.lean,Mathlib/Probability/Distributions/Fernique.lean |
34 |
64 |
['EtienneC30', 'eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
j-loreaux assignee:j-loreaux |
1-50776 1 day ago |
1-50798 1 day ago |
67-51684 67 days |
30717 |
kim-em author:kim-em |
chore: cleanup rwMerge tactic analysis linter |
Previously this would find a sequence of `rw`, and see if they could all be merged into a single one. Now it just tries to merge an adjacent pair of `rw`s. (In the event that 3 or more rewrites could be merged, this will now suggest a more conservative merge, but presumably subsequently suggest the further merges.)
Also removes a spurious `set_option grind.warning false`. |
t-meta |
8/5 |
Mathlib/Tactic/TacticAnalysis/Declarations.lean |
1 |
1 |
['github-actions'] |
nobody |
1-48968 1 day ago |
1-48968 1 day ago |
1-49009 1 day |
30692 |
themathqueen author:themathqueen |
chore: rename **conjugate** to **star_left_conjugate** |
We change `_conjugate_` to `_star_left_conjugate_` and `_conjugate_'` to `_star_right_conjugate_` to avoid confusion since sometimes in some files it means `_ * _ * star _` and in others it means `star _ * _ * _`.
In particular,
`Algebra/Algebra/StrictPositivity`:
* `IsUnit.isStrictlyPositive_conjugate_iff` -> `IsUnit.isStrictlyPositive_star_right_conjugate_iff`
* `IsUnit.isStrictlyPositive_conjugate_iff'` -> `IsUnit.isStrictlyPositive_star_left_conjugate_iff`
`Algebra/Order/Star/Basic`:
* `conjugate_nonnneg` -> `star_left_conjugate_nonneg`
* `conjugate_nonneg'` -> `star_right_conjugate_nonneg`
* `conjugate_le_conjugate` -> `star_left_conjugate_le_conjugate`
* `conjugate_le_conjugate'` -> `star_right_conjugate_le_conjugate`
* `conjugate_lt_conjugate` -> `star_left_conjugate_lt_conjugate`
* `conjugate_lt_conjugate'` -> `star_right_conjugate_lt_conjugate`
* `conjugate_pos` -> `star_left_conjugate_pos`
* `conjugate_pos'` -> `star_right_conjugate_pos`
* `IsUnit.conjugate_nonneg_iff` -> `IsUnit.star_right_conjugate_nonneg_iff`
* `IsUnit.conjugate_nonneg_iff'` -> `IsUnit.star_left_conjugate_nonneg_iff`
`Analysis/CStarAlgebra/CFC/Order`:
* `CStarAlgebra.conjugate_le_norm_smul` -> `CStarAlgebra.star_left_conjugate_le_norm_smul`
* `CStarAlgebra.conjugate_le_norm_smul'` -> `CStarAlgebra.star_right_conjugate_le_norm_smul`
`LinearAlgebra/Matrix/PosDef`:
* `Matrix.IsUnit.posSemidef_conjugate_iff` -> `Matrix.IsUnit.posSemidef_star_right_conjugate_iff`
* `Matrix.IsUnit.posSemidef_conjugate_iff'` -> `Matrix.IsUnit.posSemidef_star_left_conjugate_iff`
* `Matrix.IsUnit.posDef_conjugate_iff` -> `Matrix.IsUnit.posDef_star_right_conjugate_iff`
* `Matrix.IsUnit.posDef_conjugate_iff'` -> `Matrix.IsUnit.posDef_star_left_conjugate_iff`
---
There are more to do, but will leave this for another PR.
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-analysis
label:t-algebra$ |
84/54 |
Mathlib/Algebra/Algebra/StrictPositivity.lean,Mathlib/Algebra/Order/Ring/Star.lean,Mathlib/Algebra/Order/Star/Basic.lean,Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean |
7 |
4 |
['github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
1-47351 1 day ago |
1-47351 1 day ago |
1-85670 1 day |
30675 |
erdOne author:erdOne |
feat(NumberTheory): order of inertia group = ramification index |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-number-theory
label:t-algebra$ |
71/1 |
Mathlib/NumberTheory/RamificationInertia/Galois.lean |
1 |
1 |
['github-actions'] |
nobody |
1-42127 1 day ago |
2-33698 2 days ago |
2-38580 2 days |
30697 |
themathqueen author:themathqueen |
chore(Algebra/Star/Unitary): rename `unitary.spectrum.unitary_conjugate` |
`unitary.spectrum.unitary_conjugate` and `unitary.spectrum.unitary_conjugate'` should be in the `_root_` namespace since they already have `unitary` in their name. We also rename them to `spectrum.unitary_star_conjugate_left` and `spectrum.unitary_star_conjugate_right` to match the renaming convention in #30692.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
easy
label:t-algebra$ |
11/6 |
Mathlib/Algebra/Star/Unitary.lean,Mathlib/LinearAlgebra/Matrix/HermitianFunctionalCalculus.lean |
2 |
5 |
['github-actions', 'themathqueen'] |
nobody |
1-40401 1 day ago |
2-14435 2 days ago |
2-14599 2 days |
30708 |
YaelDillies author:YaelDillies |
feat(Localization): `r / m` in the localisation is regular iff `r` is |
Also rename `IsLocalization.mk'_surjective` to `IsLocalization.exists_mk'_eq` because it takes the name of the lemma I need.
---
[](https://gitpod.io/from-referrer/)
|
|
87/69 |
Mathlib/Algebra/GCDMonoid/IntegrallyClosed.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/SpreadingOut.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/RingTheory/Artinian/Ring.lean,Mathlib/RingTheory/ClassGroup.lean,Mathlib/RingTheory/DedekindDomain/Factorization.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/FractionalIdeal/Operations.lean,Mathlib/RingTheory/Frobenius.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Localization.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/LocalRing/LocalSubring.lean,Mathlib/RingTheory/LocalRing/ResidueField/Ideal.lean,Mathlib/RingTheory/Localization/Algebra.lean,Mathlib/RingTheory/Localization/AsSubring.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean,Mathlib/RingTheory/Localization/FractionRing.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Localization/Integral.lean,Mathlib/RingTheory/Localization/Submodule.lean,Mathlib/RingTheory/RingHom/Finite.lean,Mathlib/RingTheory/RingHom/Surjective.lean,Mathlib/RingTheory/Spectrum/Prime/FreeLocus.lean,Mathlib/RingTheory/SurjectiveOnStalks.lean,Mathlib/RingTheory/Trace/Quotient.lean |
33 |
1 |
['github-actions'] |
nobody |
1-37272 1 day ago |
1-56111 1 day ago |
1-56087 1 day |
30722 |
YaelDillies author:YaelDillies |
refactor: generalise `Set.eq_empty_of_isEmpty` |
We don't need to know that the full type is empty, but merely the set itself.
---
[](https://gitpod.io/from-referrer/)
|
|
10/12 |
Mathlib/Data/Set/Basic.lean,Mathlib/Topology/Category/Profinite/CofilteredLimit.lean |
2 |
2 |
['FormulaRabbit81', 'eric-wieser', 'github-actions'] |
nobody |
1-36938 1 day ago |
1-43716 1 day ago |
1-43692 1 day |
30632 |
YaelDillies author:YaelDillies |
chore: use `grw`, `gcongr` more, controversial version |
This is controversial because the style guide contains the "hypotheses left of colon" rule, but I claim this rule was written without pattern-matching in mind and should therefore be updated to include an exception.
Also delete a redundant instance.
---
[](https://gitpod.io/from-referrer/)
|
|
34/56 |
Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2013Q5.lean,Mathlib/Algebra/Order/AbsoluteValue/Basic.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/RingTheory/PowerSeries/Order.lean,Mathlib/Topology/EMetricSpace/PairReduction.lean |
8 |
4 |
['JovanGerb', 'YaelDillies', 'github-actions'] |
nobody |
1-36282 1 day ago |
4-42654 4 days ago |
4-42630 4 days |
30131 |
fpvandoorn author:fpvandoorn |
feat: alias_in attribute |
* A small wrapper for adding an alias of a declaration in another namespace.
* application time `.afterCompilation` is necessary for `#eval` to work correctly
* Docstrings are copied, jump-to-definition works (no test in the test file, but tested locally)
* To be used for CW-complexes, where lemmas are frequently duplicated between `RelCWComplex` and `CWComplex`.
---
[](https://gitpod.io/from-referrer/)
cc @scholzhannah
|
t-meta |
93/0 |
Mathlib.lean,Mathlib/Util/AliasIn.lean,MathlibTest/Util/AliasIn.lean |
3 |
12 |
['JovanGerb', 'fpvandoorn', 'github-actions'] |
JovanGerb assignee:JovanGerb |
1-35875 1 day ago |
19-26735 19 days ago |
19-26713 19 days |
30678 |
YaelDillies author:YaelDillies |
refactor(Algebra/Quaternion): intermediate `Module` instance |
This `Module` instance allows me to not ungeneralise the `NoZeroSMulDivisors R ℍ[R,c₁,c₂,c₃]` in #30563.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
45/29 |
Mathlib/Algebra/Quaternion.lean |
1 |
20 |
['YaelDillies', 'eric-wieser', 'github-actions'] |
nobody |
1-32657 1 day ago |
1-54079 1 day ago |
1-78818 1 day |
27645 |
bjornsolheim author:bjornsolheim |
feat(Geometry/Convex/Cone): add pointed cone tensor products |
Define the minimal and maximal tensor product of pointed cones.
Prove that the minimal tensor product is less than or equal to the maximal tensor product.
---
- [ ] depends on: #25292
[](https://gitpod.io/from-referrer/)
|
t-convex-geometry
new-contributor
|
123/0 |
Mathlib.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-32367 1 day ago |
1-32369 1 day ago |
1-34170 1 day |
30441 |
linesthatinterlace author:linesthatinterlace |
fix(Data/List/Sort): Deprecate and replace `List.Sorted` |
Deprecates `Sorted` and defines new special-case predicates to be used for preorders.
---
`List.Sorted` is essentially an irrelevant definition, as it is identical to List.Pairwise, and we have some results about Sorted which also always apply to Pairwise or do so under certain conditions (and vice versa). We also commonly use Sorted to talk specifically about `<` and `<=`, which can be somewhat unwieldy.
This PR deprecates `Sorted` (so that there should now be no non-deprecated definitions under that namespace), and adds in `SortedLE`, `SortedLT`, `SortedGE` and `SortedGT`, which are defined analogously to `List.Nodup` for Preorders (List.Nodup is a good example of somewhere where using a special case of Pairwise works well). The vision is that API for these can be created together and for many purposes will suffice.
`insertionSort` has now been moved to be independent of any of this, though theorems are provided showing that it does link to these predicates in a linear order.
[](https://gitpod.io/from-referrer/)
|
|
770/521 |
Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean,Mathlib/Analysis/Convex/BetweenList.lean,Mathlib/Combinatorics/Young/YoungDiagram.lean,Mathlib/Data/Fin/Tuple/Sort.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/List/OfFn.lean,Mathlib/Data/List/Pairwise.lean,Mathlib/Data/List/Sort.lean,Mathlib/Data/Multiset/Sort.lean,Mathlib/Data/Nat/BitIndices.lean,Mathlib/Data/Nat/Factors.lean,Mathlib/LinearAlgebra/Matrix/Spectrum.lean,Mathlib/Logic/Equiv/Finset.lean,Mathlib/Logic/Equiv/Multiset.lean,Mathlib/NumberTheory/ADEInequality.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/Order/JordanHolder.lean,Mathlib/Order/Synonym.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/CantorNormalForm.lean,Mathlib/Tactic/Simproc/Factors.lean,Mathlib/Topology/Category/Profinite/Nobeling/Basic.lean,Mathlib/Topology/Category/Profinite/Nobeling/Span.lean |
25 |
49 |
['github-actions', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
nobody |
1-30117 1 day ago |
1-53317 1 day ago |
7-45909 7 days |
28818 |
SnirBroshi author:SnirBroshi |
feat(Data/Setoid/Basic): add theorems about lifting a function to its kernel |
Currently `ker_lift_injective` and `quotientKerEquivOfRightInverse` lift `f` to `ker f` in their definition.
This PR makes this function available as `Setoid.kerLift f` and adds a few more theorems about it.
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
new-contributor
|
34/16 |
Counterexamples/AharoniKorman.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/Topology/Separation/Hausdorff.lean |
4 |
32 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] |
pechersky assignee:pechersky |
1-28496 1 day ago |
1-28496 1 day ago |
53-57784 53 days |
29881 |
joelriou author:joelriou |
refactor(CategoryTheory/ObjectProperty): IsClosedUnderLimitsOfShape |
This PR renames `ClosedUnderLimitsOfShape` as `ObjectProperty.IsClosedUnderLimitsOfShape`, and make it a typeclass.
The stability condition of a property `P` by (co)limits of shape `J` is now expressed as `P.colimitsOfShape J ≤ P`. This facilitates the connection with the relatively new API `ColimitPresentation` #29382 (and the related `ObjectProperty.ColimitOfShape`).
By using a typeclass for the stability condition, it will be possible to add instances `HasLimitsOfShape` instances for fullsubcategories.
This also makes the design more parallel to what we have for the stability under (co)limits of `MorphismProperty`.
---
- [x] depends on: #29903
- [x] depends on: #29851
- [x] depends on: #29843
- [x] depends on: #29849
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
|
254/167 |
Mathlib/CategoryTheory/Limits/FullSubcategory.lean,Mathlib/CategoryTheory/Limits/Indization/Category.lean,Mathlib/CategoryTheory/Limits/Indization/Equalizers.lean,Mathlib/CategoryTheory/Limits/MorphismProperty.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/ObjectProperty/ColimitsOfShape.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsOfShape.lean,Mathlib/CategoryTheory/Subobject/MonoOver.lean |
8 |
7 |
['github-actions', 'jcommelin', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
1-26627 1 day ago |
5-22812 5 days ago |
8-1760 8 days |
25799 |
dagurtomas author:dagurtomas |
feat(CategoryTheory): the universal property of localized monoidal categories |
This PR provides a monoidal structure on any functor out of a localized monoidal category whose precomposition with the localization functor is monoidal
---
- [x] depends on: #29564
[](https://gitpod.io/from-referrer/)
---
*This PR continues the work from #24727.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/24727* |
t-category-theory |
242/0 |
Mathlib.lean,Mathlib/CategoryTheory/Localization/Bifunctor.lean,Mathlib/CategoryTheory/Localization/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/NaturalTransformation.lean |
6 |
21 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
TwoFX assignee:TwoFX |
1-24417 1 day ago |
1-25123 1 day ago |
43-14670 43 days |
30730 |
JovanGerb author:JovanGerb |
feat: new `by_cases!` tactic |
This PR defines the `by_cases! h : p` tactic, which is a macro for `by_cases h : p` followed by a `try push_neg at h` in the second goal. We use `try push_neg` instead of `push_neg` to make the tactic also succeed when no negation is pushed. Should there maybe be an optional linter telling you to use `by_cases` instead if possible?
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
33/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ByCases.lean,scripts/noshake.json |
4 |
1 |
['github-actions'] |
nobody |
1-20254 1 day ago |
1-22818 1 day ago |
1-22858 1 day |
27887 |
JovanGerb author:JovanGerb |
feat: `to_dual` attribute |
This PR defines the `to_dual` attribute for translating lemmas to their dual. This is useful in order theory and in category theory. It is built on top of the `to_additive` machinery.
This PR only adds `@[to_dual]` tags in files that directly need to import `ToDual`, namely `Order/Defs/PartialOrder`, `Order/Notation` and `Combinatorics/Quiver/Basic`. Further tagging is left for (many) future PRs.
This PR continues the work from #21719
Related (mathlib3) issues:
- https://github.com/leanprover-community/mathlib3/issues/13461
- https://github.com/leanprover-community/mathlib3/issues/7691
Co-authored-by: @bryangingechen
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-meta
|
597/276 |
Mathlib.lean,Mathlib/Combinatorics/Quiver/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Notation.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ToAdditive/Frontend.lean,Mathlib/Tactic/ToAdditive/GuessName.lean,Mathlib/Tactic/ToAdditive/ToDual.lean,Mathlib/Tactic/ToDual.lean,MathlibTest/toAdditive.lean,scripts/noshake.json |
15 |
14 |
['JovanGerb', 'bryangingechen', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
1-16311 1 day ago |
1-16347 1 day ago |
44-76089 44 days |
30733 |
harahu author:harahu |
doc(Combinatorics): spell cliquefree as clique-free |
This change was initially suggested to me by Codex, as part of #30621, but it made sense to do this as a free-standing PR, since this change requires some justification, and this PR provides just that.
The fact that Codex is encouraging this change does not mean much on its own, so I did my best to check the literature. Searching on Google Scholar yields a mere [four results](https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=%22cliquefree%22) for "cliquefree" and [423 results](https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=%22clique-free%22) for "clique-free". Based on these results, I think it is safe to say that "cliquefree" is quite idiosyncratic, and should be avoided.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics |
12/12 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/CompleteMultipartite.lean,Mathlib/Combinatorics/SimpleGraph/Extremal/Turan.lean,Mathlib/Combinatorics/SimpleGraph/FiveWheelLike.lean |
4 |
1 |
['github-actions'] |
nobody |
1-14478 1 day ago |
1-14479 1 day ago |
1-14522 1 day |
29257 |
harahu author:harahu |
doc: attach "pre", "pseudo", "semi" and "sub" as a prefixes where they are now free-standing |
These are all examples of [bound morphemes](https://en.wikipedia.org/wiki/Bound_and_free_morphemes) and should be attached, either in closed form or by hyphen, to some other construct.
Whether to write the resulting words in closed form or with a hyphen is a stylistic choice and I am open to discussing the specifics, should that be of interest. I've made choices based on existing literature and what I personally found natural, but other opinions are welcome.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
50/50 |
Mathlib/Algebra/Star/NonUnitalSubsemiring.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Group/BallSphere.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Lean/Meta/KAbstractPositions.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Initialize.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/Probability/Martingale/BorelCantelli.lean,Mathlib/Topology/EMetricSpace/Basic.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/ProperSpace.lean,Mathlib/Topology/MetricSpace/Pseudo/Defs.lean,Mathlib/Topology/MetricSpace/ThickenedIndicator.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Metrizable/Basic.lean,Mathlib/Topology/Metrizable/Uniformity.lean,scripts/autolabel.lean |
21 |
5 |
['euprunin', 'github-actions', 'harahu', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
1-13876 1 day ago |
13-58148 13 days ago |
48-51362 48 days |
30595 |
winstonyin author:winstonyin |
feat: $C^n$ implicit function theorem |
I formalise a proof that the implicit function obtained from a $C^n$ implicit equation ($n \geq 1$) is $C^n$. Roughly speaking, given an equation $f : E \times F \to F$ that is smooth at $(a,b) : E\times F$ and whose derivative $f'$ is in some sense non-singular, then there exists a function $\phi : E \to F$ such that $\phi(a) = b$, $f(x, \phi(x)) = f(a,b)$ for all $x$ in a neighbourhood of $a$, and $\phi$ is $C^n$ at $a$.
The current implicit function theorem in Mathlib is quite general and not directly applicable to many familiar scenarios. The statements added by this PR correspond to, e.g., the way the theorem is described on Wikipedia, and will be directly useful for an upcoming formalisation of the smoothness theorem for flows of ODEs.
- [x] depends on: #30607
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-analysis
|
145/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/ImplicitContDiff.lean |
2 |
21 |
['github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'winstonyin'] |
grunweg assignee:grunweg |
1-12921 1 day ago |
1-12921 1 day ago |
4-1703 4 days |
24614 |
JovanGerb author:JovanGerb |
chore: rename field `inf` to `min` in `Lattice` |
As suggested by @eric-wieser, this PR renames the `sup` and `inf` fields in `Lattice` to `max` and `min`. This means that we now can extend `Lattice` and `LinearOrder` simultaneously without ending up with duplicate fields. This should be implemented in a future PR for existing classes like `CompleteLinearOrder`.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60sup.60.2F.60inf.60.20or.20.60max.60.2F.60min.60.20for.20set.20interval.20lemmas.3F)
---
[](https://gitpod.io/from-referrer/)
|
t-order |
181/187 |
Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Submonoid/Basic.lean,Mathlib/Algebra/Group/Subsemigroup/Basic.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/Ring/Idempotent.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Tropical/Lattice.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/NormedSpace/ENormedSpace.lean,Mathlib/Analysis/NormedSpace/MStructure.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Grothendieck.lean,Mathlib/CategoryTheory/Sites/Pretopology.lean,Mathlib/CategoryTheory/Sites/Sieves.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/CategoryTheory/Subpresheaf/Basic.lean,Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Computability/Reduce.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Lattice/Basic.lean,Mathlib/Data/Multiset/UnionInter.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Semiquot.lean,Mathlib/Data/Set/Basic.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Sum/Lattice.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Defs.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Order/BooleanSubalgebra.lean,Mathlib/Order/Booleanisation.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Concept.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Copy.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Hom/Order.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Interval/Basic.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Preorder/Finsupp.lean,Mathlib/Order/PropInstances.lean,Mathlib/Order/Sublattice.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Process/Filtration.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Finiteness/Basic.lean,Mathlib/RingTheory/Finiteness/Small.lean,Mathlib/RingTheory/NonUnitalSubring/Basic.lean,Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Group/GroupTopology.lean,Mathlib/Topology/Algebra/Module/ClosedSubmodule.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Basic.lean |
84 |
14 |
['JovanGerb', 'bryangingechen', 'eric-wieser', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot'] |
nobody |
1-9796 1 day ago |
1-15723 1 day ago |
3-14963 3 days |
26129 |
LessnessRandomness author:LessnessRandomness |
feat(Geometry/Euclidean/Angle/Unoriented): triangle inequality for angles |
This PR continues the work from #24206.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24206 |
new-contributor
t-euclidean-geometry
|
202/15 |
Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/Orthogonality.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/TriangleInequality.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean |
8 |
83 |
['JovanGerb', 'LessnessRandomness', 'Timeroot', 'github-actions', 'jsm28', 'mathlib4-merge-conflict-bot', 'themathqueen'] |
jsm28 assignee:jsm28 |
1-7880 1 day ago |
1-25728 1 day ago |
122-8303 122 days |
30694 |
themathqueen author:themathqueen |
chore(Analysis/CStarAlgebra/CFC/Order): relate section to strict positivity |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
23/20 |
Mathlib/Analysis/CStarAlgebra/ApproximateUnit.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean |
2 |
1 |
['github-actions'] |
nobody |
1-7655 1 day ago |
2-16847 2 days ago |
2-16888 2 days |
28339 |
JovanGerb author:JovanGerb |
feat(gcongr): support `@[gcongr]` for `Monotone` and friends |
This PR adds the feature to `gcongr` that you can now tag lemmas whose conclusion is `Monotone f`, `Antitone f`, etc.
---
[](https://gitpod.io/from-referrer/)
|
t-meta |
122/94 |
Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Module/Algebra.lean,Mathlib/Algebra/Order/Ring/Cast.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Arctan.lean,Mathlib/Combinatorics/Extremal/RuzsaSzemeredi.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/Data/Nat/Cast/Order/Basic.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/MeasureTheory/Function/SimpleFunc.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/Order/Filter/Map.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Tactic/GCongr/Core.lean,MathlibTest/GCongr/inequalities.lean |
22 |
7 |
['JovanGerb', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
1-323 1 day ago |
11-39245 11 days ago |
68-82679 68 days |
29362 |
stepanholub author:stepanholub |
feat:(Data/List) add the notion of period of List and prove the Periodicity Lemma |
Add the concept of the period of a List (word, sequence) which is missing, and prove its basic nontrivial property describing under which conditions list can have two periods known as the Periodicity Lemma (aka Fine-Wilf Theorem).
---
|
t-data
new-contributor
|
227/0 |
Mathlib.lean,Mathlib/Data/List/PeriodicityLemma.lean |
2 |
125 |
['Ruben-VandeVelde', 'Timeroot', 'fpvandoorn', 'github-actions', 'madvorak', 'plp127', 'stepanholub', 'wwylele'] |
pechersky assignee:pechersky |
0-83140 23 hours ago |
27-18196 27 days ago |
45-14392 45 days |
29921 |
mans0954 author:mans0954 |
refactor(RingTheory/Polynomial/SmallDegreeVieta) : Convert to {p : R[X]} (hp : p.natDegree = 2) |
Convert `RingTheory/Polynomial/SmallDegreeVieta` from `{a b c : R} (C a * X ^ 2 + C b * X + C c)` to `{p : R[X]} (hp : p.natDegree = 2)`
(see [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/discriminants.20of.20low.20degree.20polynomials/with/538010519))
---
- [x] depends on: #29981
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
75/60 |
Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
1 |
6 |
['JovanGerb', 'github-actions', 'kckennylau', 'mans0954', 'mathlib4-dependent-issues-bot', 'vihdzp'] |
erdOne assignee:erdOne |
0-83139 23 hours ago |
13-16416 13 days ago |
14-23423 14 days |
30485 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Incenter): touchpoints are not vertices |
Add lemmas that touchpoints of a simplex do not equal any of the vertices (in two or more dimensions, this isn't true for a 1-simplex).
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
27/0 |
Mathlib/Geometry/Euclidean/Incenter.lean |
1 |
1 |
['github-actions'] |
JovanGerb assignee:JovanGerb |
0-83138 23 hours ago |
8-83644 8 days ago |
8-83621 8 days |
30490 |
urkud author:urkud |
feat: derivative along the Lie bracket of vector fields |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
55/1 |
Mathlib/Analysis/Calculus/VectorField.lean |
1 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
0-83134 23 hours ago |
8-73783 8 days ago |
8-73821 8 days |
30494 |
kebekus author:kebekus |
feat: behaviour of Nevanlinna functions under multiplication |
Establish the behavior of Nevanlinna functions under multiplication.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane. The formula established here is part of a larger package discussing the behavior of the Nenvanlinna height under algebraic manipulations of the functions.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
236/0 |
Mathlib/Analysis/Complex/ValueDistribution/CharacteristicFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean,Mathlib/Analysis/Complex/ValueDistribution/ProximityFunction.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,Mathlib/Topology/LocallyFinsupp.lean |
5 |
1 |
['github-actions'] |
j-loreaux assignee:j-loreaux |
0-83133 23 hours ago |
8-65503 8 days ago |
8-67146 8 days |
30506 |
urkud author:urkud |
feat(ZeroLEOne): add instances for (indexed) product types |
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-algebra
label:t-algebra$ |
10/0 |
Mathlib/Algebra/Order/ZeroLEOne.lean |
1 |
4 |
['YaelDillies', 'github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
joneugster assignee:joneugster |
0-83131 23 hours ago |
8-28046 8 days ago |
8-35580 8 days |
30511 |
gasparattila author:gasparattila |
refactor: use `fun_prop` in `measurability` |
This PR changes the `measurability` tactic to use `fun_prop` for solving `Measurable` and similar goals. For backward compatibility, the `measurability` attribute is also changed to apply the `fun_prop` attribute.
---
[](https://gitpod.io/from-referrer/)
|
|
103/60 |
Mathlib/MeasureTheory/Constructions/BorelSpace/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Constructions/Cylinders.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Inner.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/MeasurableSpace/Constructions.lean,Mathlib/MeasureTheory/MeasurableSpace/Defs.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/Tactic/Measurability.lean |
10 |
3 |
['gasparattila', 'github-actions'] |
dwrensha assignee:dwrensha |
0-83130 23 hours ago |
8-24250 8 days ago |
8-25241 8 days |
30514 |
gasparattila author:gasparattila |
fix(Tactic/FunProp): use correct trace class name |
---
[](https://gitpod.io/from-referrer/)
|
t-meta
easy
|
1/1 |
Mathlib/Tactic/FunProp/Decl.lean |
1 |
2 |
['gasparattila', 'github-actions', 'plp127'] |
robertylewis assignee:robertylewis |
0-83129 23 hours ago |
8-23523 8 days ago |
8-23555 8 days |
30522 |
jsm28 author:jsm28 |
feat(Geometry/Euclidean/Angle): angles with orthogonal projections |
Add some lemmas that angles involving orthogonal projections are right angles. The unoriented versions abstract something used multiple times in `Mathlib.Geometry.Euclidean.Angle.Bisector` (which is thus refactored to use the new lemmas); I expect the oriented versions may be of use in future in further oriented angle bisection lemmas building on top of #30477.
---
[](https://gitpod.io/from-referrer/)
|
t-euclidean-geometry |
110/15 |
Mathlib.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Projection.lean,Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
4 |
1 |
['github-actions'] |
JovanGerb assignee:JovanGerb |
0-83128 23 hours ago |
7-84655 7 days ago |
7-84632 7 days |
30344 |
Deep0Thinking author:Deep0Thinking |
feat(MeasureTheory/Integral): add versions of `exists_eq_interval_average` and first mean value theorem for integrals |
Add the First mean value theorem for (unordered) interval integrals on ℝ.
- `exists_eq_const_mul_interval_integral_of_continuous_on_of_ae_nonneg`
- `exists_eq_const_mul_interval_integral_of_continuous_on_of_nonneg`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
290/41 |
Mathlib.lean,Mathlib/MeasureTheory/Integral/IntervalAverage.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean |
3 |
9 |
['Deep0Thinking', 'github-actions', 'plp127'] |
RemyDegenne assignee:RemyDegenne |
0-79081 21 hours ago |
13-14106 13 days ago |
13-14138 13 days |
28077 |
ShreckYe author:ShreckYe |
feat(Data/Finset/Card): add some more Pigeonhole Principle theorems `exists_ne_map_eq_of_card_image_lt` and `not_injOn_of_card_image_lt` |
`exists_ne_map_eq_of_card_image_lt` is a special case of `exists_ne_map_eq_of_card_lt_of_maps_to` where `t` is `s.image f`, and `not_injOn_of_card_image_lt` is its variant using `Set.InjOn`. I ran into some cases where such theorems would save me some time. |
t-data
maintainer-merge
new-contributor
|
10/0 |
Mathlib/Data/Finset/Card.lean |
1 |
10 |
['ShreckYe', 'github-actions', 'pechersky', 'themathqueen'] |
pechersky assignee:pechersky |
0-77219 21 hours ago |
1-86351 1 day ago |
74-81194 74 days |
30735 |
JovanGerb author:JovanGerb |
chore(without_cdot): remove all uses of `without_cdot` |
This PR removes all 2 uses of `without_cdot`. It is not needed anymore, because Lean automatically avoids accidental cdot capture. `without_cdot` may be deprecated in a future PR.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
easy
|
2/2 |
Mathlib/Tactic/CongrM.lean,Mathlib/Tactic/Use.lean |
2 |
1 |
['github-actions'] |
nobody |
0-72505 20 hours ago |
0-72505 20 hours ago |
1-5055 1 day |
30729 |
kebekus author:kebekus |
feat: elementary lemmas aiding computations with `log⁺`, Mark II |
Add several elementary lemmas aiding computations with log⁺. Improve the docstrings a little.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
37/7 |
Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean |
1 |
7 |
['eric-wieser', 'github-actions', 'kebekus'] |
nobody |
0-70258 19 hours ago |
1-25985 1 day ago |
1-26022 1 day |
30400 |
Equilibris author:Equilibris |
feat(Data/PFunctor): make M.corec' universe generic |
Previously `corec'` required the generating type reside in the same universe as the constructed object.
This change corrects this by separating the universes.
As corec takes the parameter (g : β → P (α ::: β)), (where α is a TypeVec.{u} and β is a Type u) it is forced into the same universe by how the TypeVec construction works. This means corec cant be generalised by this construction.
---
A super simple change to make `corec'` univ generic.
```lean
-- was
def MvPFunctor.M.corec'.{u} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type u} (g₀ : β → P.A)
(g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _
-- becomes
def MvPFunctor.M.corec'.{u, v} {n : ℕ} (P : MvPFunctor.{u} (n + 1)) {α : TypeVec.{u} n} {β : Type v} (g₀ : β → P.A)
(g₁ : (b : β) → P.drop.B (g₀ b) ⟹ α) (g₂ : (b : β) → P.last.B (g₀ b) → β) : β → P.M α := _
```
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
easy
|
5/5 |
Mathlib/Data/PFunctor/Multivariate/M.lean |
1 |
6 |
['Equilibris', 'alexkeizer', 'github-actions', 'vihdzp'] |
nobody |
0-48978 13 hours ago |
11-36584 11 days ago |
11-36627 11 days |
30584 |
xroblot author:xroblot |
feat(RingTheory): add `NormalClosure` |
---
|
t-ring-theory |
133/0 |
Mathlib.lean,Mathlib/RingTheory/NormalClosure.lean |
2 |
8 |
['github-actions', 'riccardobrasca', 'xroblot'] |
nobody |
0-48813 13 hours ago |
5-45606 5 days ago |
5-45601 5 days |
30742 |
RemyDegenne author:RemyDegenne |
feat: Lipschitz function criterion for weak convergence of probability measures |
Weak convergence of probability measures is equivalent to the property that the integrals of every bounded Lipschitz function converge to the integral of the function against the limit measure.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
102/1 |
Mathlib/MeasureTheory/Measure/HasOuterApproxClosed.lean,Mathlib/MeasureTheory/Measure/Portmanteau.lean |
2 |
1 |
['github-actions'] |
nobody |
0-44035 12 hours ago |
0-59008 16 hours ago |
0-59050 16 hours |
30540 |
RemyDegenne author:RemyDegenne |
feat: convergence in distribution and continuous mapping theorem |
- Define convergence in distribution of random variables: this is the weak convergence of their laws.
- Prove the continuous mapping theorem for convergence in distribution and continuous functions.
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability |
97/0 |
Mathlib.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,docs/1000.yaml |
3 |
3 |
['github-actions', 'sgouezel'] |
nobody |
0-44027 12 hours ago |
0-59539 16 hours ago |
2-47139 2 days |
30749 |
harahu author:harahu |
doc(Algebra): a collection of nontrivial typo fixes |
This is a collection of typo fixes suggested to me by Codex. I decided to split these changes out of #30669, because I feel none of these are completely trivial to review, mostly because they require inspecting the context of the text as opposed to just the text itself.
I've manually reviewed all of them to the best of my abilities and I'm reasonably sure they are all correct, and that they represent an improvement over the status quo. However, I am not an expert in Algebra, so please review with care.
I suspect that there might still be quite a wide span in the difficulty of reviewing the changes in this PR, but I don't have a strong intuition for which changes herein might still be seen as relatively easy to review. I'm open to splitting this PR further should any reviewer think that is a good idea.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
14/13 |
Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/Colimit/Ring.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/GroupWithZero/Hom.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomologicalFunctor.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShiftSequence.lean,Mathlib/Algebra/Lie/CartanExists.lean |
10 |
1 |
['github-actions'] |
nobody |
0-43223 12 hours ago |
0-43244 12 hours ago |
0-44401 12 hours |
30666 |
erdOne author:erdOne |
feat(NumberTheory): every number field has a ramified prime |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-number-theory
label:t-algebra$ |
190/20 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/Discriminant/Different.lean,Mathlib/NumberTheory/NumberField/ExistsRamified.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/Galois.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean |
6 |
10 |
['erdOne', 'github-actions', 'xroblot'] |
nobody |
0-43043 11 hours ago |
2-33705 2 days ago |
2-75348 2 days |
27552 |
Equilibris author:Equilibris |
chore(Data/Typevec): Move variables into `variable` declaration in typevec |
This will be needed to allow `M.corec` to be generic across universes
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
new-contributor
easy
|
16/10 |
Mathlib/Data/TypeVec.lean |
1 |
16 |
['Equilibris', 'eric-wieser', 'github-actions', 'pechersky', 'plp127'] |
pechersky assignee:pechersky |
0-42065 11 hours ago |
0-42065 11 hours ago |
65-3994 65 days |
23920 |
YaelDillies author:YaelDillies |
feat: relation-separated sets |
Define a notion of separation of a set relative to a relation. This will be used to unify metric and dynamical separation.
From MiscYD and LeanAPAP
---
- [x] depends on: #26988
[](https://gitpod.io/from-referrer/)
|
t-data |
66/0 |
Mathlib.lean,Mathlib/Data/Rel/Separated.lean |
2 |
24 |
['ADedecker', 'D-Thomine', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
ADedecker assignee:ADedecker |
0-41780 11 hours ago |
10-65424 10 days ago |
55-47428 55 days |
30737 |
JovanGerb author:JovanGerb |
chore(MeasureTheory/Function/SimpleFunc): deprecate `SimpleFunc.coe_le` |
This PR deprecates the duplicate `MeasureTheory.SimpleFunc.coe_le` of `coe_le_coe` that seems to have accidentally slipped in via #18707.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
t-measure-probability
easy
|
3/5 |
Mathlib/MeasureTheory/Function/SimpleFunc.lean |
1 |
2 |
['github-actions', 'grunweg'] |
nobody |
0-41541 11 hours ago |
0-41541 11 hours ago |
1-1525 1 day |
30592 |
kebekus author:kebekus |
feat: upgrade the log-counting function of divisors to morphism of Z-modules |
Observe that the log-counting function of divisors is not just an additive map, but a morphism of Z-modules.
This material is used in [Project VD](https://github.com/kebekus/ProjectVD), which aims to formalize Value Distribution Theory for meromorphic functions on the complex plane. The formula established here is part of a larger package discussing the behavior of the Nenvanlinna height under algebraic manipulations of the functions.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
easy
|
12/2 |
Mathlib/Analysis/Complex/ValueDistribution/CountingFunction.lean |
1 |
5 |
['github-actions', 'kebekus', 'loefflerd', 'wwylele'] |
nobody |
0-40996 11 hours ago |
6-19300 6 days ago |
6-20870 6 days |
30593 |
euprunin author:euprunin |
chore(Data/Finset): golf `powersetCard_succ_insert` using `grind` |
---
Show trace profiling of powersetCard_succ_insert : 27 ms before, 54 ms after
### Trace profiling of `powersetCard_succ_insert` before PR 30593
```diff
diff --git a/Mathlib/Data/Finset/Powerset.lean b/Mathlib/Data/Finset/Powerset.lean
index 360948612e..cdf67a5be6 100644
--- a/Mathlib/Data/Finset/Powerset.lean
+++ b/Mathlib/Data/Finset/Powerset.lean
@@ -218,6 +218,7 @@ theorem powersetCard_eq_filter {n} {s : Finset α} :
ext
simp [mem_powersetCard]
+set_option trace.profiler true in
theorem powersetCard_succ_insert [DecidableEq α] {x : α} {s : Finset α} (h : x ∉ s) (n : ℕ) :
powersetCard n.succ (insert x s) =
powersetCard n.succ s ∪ (powersetCard n s).image (insert x) := by
```
```
ℹ [670/670] Built Mathlib.Data.Finset.Powerset (1.2s)
info: Mathlib/Data/Finset/Powerset.lean:222:0: [Elab.async] [0.027673] elaborating proof of Finset.powersetCard_succ_insert
[Elab.definition.value] [0.026806] Finset.powersetCard_succ_insert
[Elab.step] [0.026396]
rw [powersetCard_eq_filter, powerset_insert, filter_union, ← powersetCard_eq_filter]
congr
rw [powersetCard_eq_filter, filter_image]
congr 1
ext t
simp only [mem_powerset, mem_filter, and_congr_right_iff]
intro ht
have : x ∉ t := fun H => h (ht H)
simp [card_insert_of_notMem this]
[Elab.step] [0.026387]
rw [powersetCard_eq_filter, powerset_insert, filter_union, ← powersetCard_eq_filter]
congr
rw [powersetCard_eq_filter, filter_image]
congr 1
ext t
simp only [mem_powerset, mem_filter, and_congr_right_iff]
intro ht
have : x ∉ t := fun H => h (ht H)
simp [card_insert_of_notMem this]
[Elab.step] [0.010184] congr
Build completed successfully (670 jobs).
```
### Trace profiling of `powersetCard_succ_insert` after PR 30593
```diff
diff --git a/Mathlib/Data/Finset/Powerset.lean b/Mathlib/Data/Finset/Powerset.lean
index 360948612e..a4c6b0e1f2 100644
--- a/Mathlib/Data/Finset/Powerset.lean
+++ b/Mathlib/Data/Finset/Powerset.lean
@@ -218,18 +218,12 @@ theorem powersetCard_eq_filter {n} {s : Finset α} :
ext
simp [mem_powersetCard]
+set_option trace.profiler true in
theorem powersetCard_succ_insert [DecidableEq α] {x : α} {s : Finset α} (h : x ∉ s) (n : ℕ) :
powersetCard n.succ (insert x s) =
powersetCard n.succ s ∪ (powersetCard n s).image (insert x) := by
rw [powersetCard_eq_filter, powerset_insert, filter_union, ← powersetCard_eq_filter]
- congr
- rw [powersetCard_eq_filter, filter_image]
- congr 1
- ext t
- simp only [mem_powerset, mem_filter, and_congr_right_iff]
- intro ht
- have : x ∉ t := fun H => h (ht H)
- simp [card_insert_of_notMem this]
+ grind
@[simp]
lemma powersetCard_nonempty : (powersetCard n s).Nonempty ↔ n ≤ s.card := by
```
```
ℹ [670/670] Built Mathlib.Data.Finset.Powerset (1.1s)
info: Mathlib/Data/Finset/Powerset.lean:222:0: [Elab.async] [0.054375] elaborating proof of Finset.powersetCard_succ_insert
[Elab.definition.value] [0.053777] Finset.powersetCard_succ_insert
[Elab.step] [0.053567]
rw [powersetCard_eq_filter, powerset_insert, filter_union, ← powersetCard_eq_filter]
grind
[Elab.step] [0.053561]
rw [powersetCard_eq_filter, powerset_insert, filter_union, ← powersetCard_eq_filter]
grind
[Elab.step] [0.050257] grind
Build completed successfully (670 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
1/8 |
Mathlib/Data/Finset/Powerset.lean |
1 |
5 |
['JovanGerb', 'github-actions', 'grunweg', 'pechersky'] |
nobody |
0-40840 11 hours ago |
5-54848 5 days ago |
6-13815 6 days |
30589 |
euprunin author:euprunin |
chore(Data/List/Perm): golf `Perm.bagInter_right` using `grind` |
---
Show trace profiling of Perm.bagInter_right : 43 ms before, 134 ms after
### Trace profiling of `Perm.bagInter_right` before PR 30589
```diff
diff --git a/Mathlib/Data/List/Perm/Lattice.lean b/Mathlib/Data/List/Perm/Lattice.lean
index 96c0389c29..b71bc44f7f 100644
--- a/Mathlib/Data/List/Perm/Lattice.lean
+++ b/Mathlib/Data/List/Perm/Lattice.lean
@@ -26,6 +26,7 @@ open Perm (swap)
variable [DecidableEq α]
+set_option trace.profiler true in
theorem Perm.bagInter_right {l₁ l₂ : List α} (t : List α) (h : l₁ ~ l₂) :
l₁.bagInter t ~ l₂.bagInter t := by
induction h generalizing t with
```
```
ℹ [454/454] Built Mathlib.Data.List.Perm.Lattice (769ms)
info: Mathlib/Data/List/Perm/Lattice.lean:30:0: [Elab.async] [0.044658] elaborating proof of List.Perm.bagInter_right
[Elab.definition.value] [0.043499] List.Perm.bagInter_right
[Elab.step] [0.042758] induction h generalizing t with
| nil => simp
| cons x => by_cases x ∈ t <;> simp [*]
| swap x y =>
by_cases h : x = y
· simp [h]
by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
· simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt]
| trans _ _ ih_1 ih_2 => exact (ih_1 _).trans (ih_2 _)
[Elab.step] [0.042746] induction h generalizing t with
| nil => simp
| cons x => by_cases x ∈ t <;> simp [*]
| swap x y =>
by_cases h : x = y
· simp [h]
by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
· simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt]
| trans _ _ ih_1 ih_2 => exact (ih_1 _).trans (ih_2 _)
[Elab.step] [0.042738] induction h generalizing t with
| nil => simp
| cons x => by_cases x ∈ t <;> simp [*]
| swap x y =>
by_cases h : x = y
· simp [h]
by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
· simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt]
| trans _ _ ih_1 ih_2 => exact (ih_1 _).trans (ih_2 _)
[Elab.step] [0.034137]
by_cases h : x = y
· simp [h]
by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
· simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt]
[Elab.step] [0.034116]
by_cases h : x = y
· simp [h]
by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
· simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt, mt mem_of_mem_erase]
· simp [xt, yt]
[Elab.step] [0.010183] · simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
[Elab.step] [0.010173] simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
[Elab.step] [0.010168] simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
[Elab.step] [0.010161] simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm,
swap]
Build completed successfully (454 jobs).
```
### Trace profiling of `Perm.bagInter_right` after PR 30589
```diff
diff --git a/Mathlib/Data/List/Perm/Lattice.lean b/Mathlib/Data/List/Perm/Lattice.lean
index 96c0389c29..e2a27287d8 100644
--- a/Mathlib/Data/List/Perm/Lattice.lean
+++ b/Mathlib/Data/List/Perm/Lattice.lean
@@ -26,20 +26,10 @@ open Perm (swap)
variable [DecidableEq α]
+set_option trace.profiler true in
theorem Perm.bagInter_right {l₁ l₂ : List α} (t : List α) (h : l₁ ~ l₂) :
l₁.bagInter t ~ l₂.bagInter t := by
- induction h generalizing t with
- | nil => simp
- | cons x => by_cases x ∈ t <;> simp [*]
- | swap x y =>
- by_cases h : x = y
- · simp [h]
- by_cases xt : x ∈ t <;> by_cases yt : y ∈ t
- · simp [xt, yt, mem_erase_of_ne h, mem_erase_of_ne (Ne.symm h), erase_comm, swap]
- · simp [xt, yt, mt mem_of_mem_erase]
- · simp [xt, yt, mt mem_of_mem_erase]
- · simp [xt, yt]
- | trans _ _ ih_1 ih_2 => exact (ih_1 _).trans (ih_2 _)
+ induction h generalizing t with grind
theorem Perm.bagInter_left (l : List α) {t₁ t₂ : List α} (p : t₁ ~ t₂) :
l.bagInter t₁ = l.bagInter t₂ := by
```
```
ℹ [454/454] Built Mathlib.Data.List.Perm.Lattice (848ms)
info: Mathlib/Data/List/Perm/Lattice.lean:30:0: [Elab.async] [0.134701] elaborating proof of List.Perm.bagInter_right
[Elab.definition.value] [0.133799] List.Perm.bagInter_right
[Elab.step] [0.133622] induction h generalizing t with grind
[Elab.step] [0.133610] induction h generalizing t with grind
[Elab.step] [0.133599] induction h generalizing t with grind
[Elab.step] [0.052692] grind
[Elab.step] [0.064967] grind
info: Mathlib/Data/List/Perm/Lattice.lean:32:34: [Elab.async] [0.017325] Lean.addDecl
[Kernel] [0.017314] ✅️ typechecking declarations [List.Perm.bagInter_right._proof_1_3]
Build completed successfully (454 jobs).
```
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
1/12 |
Mathlib/Data/List/Perm/Lattice.lean |
1 |
9 |
['JovanGerb', 'euprunin', 'github-actions', 'grunweg', 'pechersky'] |
grunweg assignee:grunweg |
0-40763 11 hours ago |
5-54982 5 days ago |
5-82452 5 days |
30721 |
YaelDillies author:YaelDillies |
feat(ENNReal): equality from comparing with nnreals |
And rename the existing lemma as it is ambiguous.
---
[](https://gitpod.io/from-referrer/)
|
|
23/5 |
Mathlib/Data/ENNReal/Inv.lean,Mathlib/Order/WithBot.lean,Mathlib/Topology/Instances/ENNReal/Lemmas.lean |
3 |
1 |
['FormulaRabbit81', 'github-actions'] |
nobody |
0-38441 10 hours ago |
1-44132 1 day ago |
1-44108 1 day |
30276 |
EtienneC30 author:EtienneC30 |
feat: computations with the matrix associated to a sesquilinear form |
---
- [ ] depends on: #30108
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
23/14 |
Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
0-38389 10 hours ago |
0-38391 10 hours ago |
2-8266 2 days |
30714 |
harahu author:harahu |
doc(Analysis): fix typos |
Found with help from Codex, curated by me.
I've tried to limit the PR to changes that are easy to verify. Should you find it difficult to review any particular part of this PR, know that I have nothing against trimming this PR down in favor of smaller free-standing PRs for the difficult-to-review parts.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
15/15 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/Basic.lean,Mathlib/Analysis/Real/OfDigits.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean |
7 |
1 |
['github-actions'] |
nobody |
0-37036 10 hours ago |
1-48837 1 day ago |
1-50759 1 day |
30710 |
harahu author:harahu |
doc(RingTheory): fix typos |
Found with help from Codex, curated by me.
I've tried to limit the PR to changes that are easy to verify. Should you find it difficult to review any particular part of this PR, know that I have nothing against trimming this PR down in favor of smaller free-standing PRs for the difficult-to-review parts.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory |
13/13 |
Mathlib/RingTheory/DividedPowers/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Localization.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Localization/Away/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Order.lean,Mathlib/RingTheory/PowerSeries/Restricted.lean,Mathlib/RingTheory/Valuation/Minpoly.lean |
9 |
1 |
['github-actions'] |
nobody |
0-37009 10 hours ago |
1-52694 1 day ago |
1-52927 1 day |
30669 |
harahu author:harahu |
doc(Algebra): typo fixes |
Found with help from Codex, curated by me.
I've tried to limit the PR to changes that are easy to verify. Should you find it difficult to review any particular part of this PR, know that I have nothing against trimming this PR down in favor of smaller free-standing PRs for the difficult-to-review parts.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
48/48 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BrauerGroup/Defs.lean,Mathlib/Algebra/CharZero/AddMonoidHom.lean,Mathlib/Algebra/Field/Action/ConjAct.lean,Mathlib/Algebra/Field/Power.lean,Mathlib/Algebra/Field/ULift.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/Homology/ComplexShapeSigns.lean,Mathlib/Algebra/Homology/DerivedCategory/Basic.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/Factorizations/Basic.lean,Mathlib/Algebra/Homology/HomologySequenceLemmas.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/Algebra/Homology/HomotopyCategory/ShortExact.lean,Mathlib/Algebra/Homology/HomotopyCategory/SingleFunctors.lean,Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/Sl2.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Algebra/Polynomial/Lifts.lean,Mathlib/Algebra/Polynomial/RuleOfSigns.lean,Mathlib/Algebra/SkewMonoidAlgebra/Single.lean,Mathlib/Algebra/SkewMonoidAlgebra/Support.lean |
32 |
1 |
['github-actions'] |
nobody |
0-36990 10 hours ago |
2-45232 2 days ago |
2-49879 2 days |
30398 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat/Sheaf): `O_S ⟶ f_* O_X` and `f^* O_S ≅ O_X` |
---
- [x] depends on: #30403
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-category-theory
|
193/4 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-34756 9 hours ago |
0-34776 9 hours ago |
0-34771 9 hours |
29517 |
pechersky author:pechersky |
feat(RingTheory/Torsion): torsion = union of roots of unity |
with additional API for Associates and rootsOfUnity sups
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #29988
- [x] depends on: #29989
- [x] depends on: #29990
- [x] depends on: #29991 |
t-algebra label:t-algebra$ |
156/8 |
Mathlib.lean,Mathlib/RingTheory/RootsOfUnity/Basic.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean,Mathlib/RingTheory/Torsion.lean |
4 |
11 |
['chrisflav', 'github-actions', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
chrisflav assignee:chrisflav |
0-34228 9 hours ago |
0-34255 9 hours ago |
27-61875 27 days |
29072 |
yury-harmonic author:yury-harmonic |
feat({Nat,Int}/ModEq): add lemmas |
---
I'm not sure that I named these lemmas correctly. Suggestions about better names are welcome!
[](https://gitpod.io/from-referrer/)
|
t-data |
189/26 |
Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/ModEq.lean |
2 |
7 |
['eric-wieser', 'github-actions', 'urkud', 'yury-harmonic'] |
nobody |
0-32909 9 hours ago |
0-32970 9 hours ago |
1-1777 1 day |
30389 |
euprunin author:euprunin |
fix: correctly apply `hint` priority (was always set to default 1000 due to a bug) |
Fixes #29831.
In addition to fixing the bug, this PR also adjusts the (now-working) tactic priorities to ensure that:
* `bound` is tested _after_ `aesop` (`bound` calls `aesop` and is therefore stronger)
* `group` is tested _after_ `ring` (`group` calls `ring` and is therefore stronger)
A bug in the parsing code below caused the priority value to be ignored, resulting in all hints using the default priority of 1000 regardless of the `register_hint` priority parameter:
```lean
elab (name := registerHintStx)
"register_hint" p:("(" "priority" ":=" num ")")? tac:tactic : command =>
liftTermElabM do
-- remove comments
let prio := match p with
| some stx =>
match stx.raw[3]?.bind Syntax.isNatLit? with
| some n => n
| none => 1000
| none => 1000
let tac : TSyntax `tactic := ⟨tac.raw.copyHeadTailInfoFrom .missing⟩
addHint prio tac
```
Fixed by simplifying the syntax to take a mandatory numeric priority argument and extracting it directly via `prio.raw.isNatLit?`, removing the index-based parsing and the silent fallback to 1000.
---
[](https://gitpod.io/from-referrer/)
|
t-meta
bug
|
81/46 |
Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/Field.lean,Mathlib/Tactic/FieldSimp.lean,Mathlib/Tactic/Finiteness.lean,Mathlib/Tactic/GCongr.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/Hint.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/NoncommRing.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/RingNF.lean,MathlibTest/hint.lean |
16 |
5 |
['BoltonBailey', 'euprunin', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
0-28558 7 hours ago |
0-28577 7 hours ago |
11-63612 11 days |
29728 |
ADA-Projects author:ADA-Projects |
feat(Topology/KrullDimension): add subspace dimension inequality |
This PR extends topological Krull dimension theory with basic results about subspaces.
- Add mapIrreducibleClosed function for canonical maps between irreducible closed sets
- Prove injectivity and strict monotonicity of these maps
- Establish partial order structure on IrreducibleCloseds
- Prove topKrullDim_subspace_le theorem showing dim(Y) ≤ dim(X) for subspaces
**Update (per reviewer feedback):**
Reorganized code structure as requested:
- Moved `IrreducibleCloseds` extensions from `KrullDimension.lean` to `Sets/Closeds.lean`
- This includes `PartialOrder` instance, `map` functions, and embedding lemmas
- Better modularity: other files can now use `IrreducibleCloseds` without importing Krull dimension theory
The main result `topologicalKrullDim_subspace_le` remains the same - any subspace Y has dim(Y) ≤ dim(X).
Some sections of this code (and documentation) were generated with the help of Gemini.
**Update 2**
Addressed reviewer feedback with the following improvements:
- Simplify `IrreducibleCloseds.map` to work with any continuous function
(no longer requires closed maps)
- Add coe_map lemma
- Rename lemmas from `mapOfEmbedding_*` to `map_*_of_isEmbedding` for
consistency with Mathlib naming conventions
- Use `inferInstance` for PartialOrder instance on IrreducibleCloseds
- Merge variable declarations in Sets/Closeds.lean
- Add necessary imports (Topology.Defs.Induced)
- Open Topology namespace for cleaner code
- Remove unnecessary wrappers in 'Sets/Closeds.lean'
**Update 3**
Addressed and integrated reviewer feedback:
- Use IsInducing instead of IsEmbedding in dimension theorems
- Rename map_*_of_isEmbedding to map_*_of_isInducing
- Simplify map_injective_of_isInducing proof using SetLike.coe_injective
- Simplify map_strictMono_of_isInducing using Monotone.strictMono_of_injective
- Add deprecation alias for IsClosedEmbedding.topologicalKrullDim_le
- Remove redundant PartialOrder instance (already inferred)
The main theorem `topologicalKrullDim_subspace_le` remains unchanged.
---
[](https://gitpod.io/from-referrer/)
|
maintainer-merge
new-contributor
t-topology
|
63/30 |
Mathlib/Topology/KrullDimension.lean,Mathlib/Topology/Sets/Closeds.lean |
2 |
45 |
['ADA-Projects', 'erdOne', 'fpvandoorn', 'github-actions', 'jcommelin', 'kim-em', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
0-24254 6 hours ago |
1-4369 1 day ago |
22-38481 22 days |
25780 |
emilyriehl author:emilyriehl |
feat: the homotopy category functor preserves products |
This proves that the homotopy category construction defines a lax monoidal functor from simplicial sets to categories. In particular, simplicially enriched categories have quotient categorically enriched categories, which might be thought of as "homotopy bicategories."
Co-authored-by: Dominic Verity , Bhavik Mehta , Thomas Murrills , and Andrew Yang .
---
- [x] depends on: #27576
*This PR continues the work from #25010.*
*Original PR: https://github.com/leanprover-community/mathlib4/pull/25010* |
t-algebraic-topology
infinity-cosmos
t-category-theory
|
193/16 |
Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialSet/Nerve.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveAdjunction.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/CategoryTheory/Category/ULift.lean,Mathlib/CategoryTheory/ComposableArrows.lean,Mathlib/CategoryTheory/Limits/Preserves/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/Order/Hom/Basic.lean |
10 |
16 |
['emilyriehl', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
0-23748 6 hours ago |
6-20180 6 days ago |
60-77821 60 days |
30269 |
joelriou author:joelriou |
refactor(CategoryTheory/Generator): use ObjectProperty instead of Set |
In certain applications (see #30247), it becomes unpractical to have certains notions like `IsSeparating` defined for `Set C`, while the API for the relatively new `ObjectProperty` is expanding. In this PR, we move the definition of `IsSeparating` to the `ObjectProperty` namespace.
---
- [x] depends on: #30294
[](https://gitpod.io/from-referrer/)
|
t-category-theory |
447/305 |
Mathlib/Algebra/Category/ModuleCat/AB.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Adjunction/AdjointFunctorTheorems.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Small.lean,Mathlib/CategoryTheory/Generator/Basic.lean,Mathlib/CategoryTheory/Generator/HomologicalComplex.lean,Mathlib/CategoryTheory/Generator/Indization.lean,Mathlib/CategoryTheory/Generator/Preadditive.lean,Mathlib/CategoryTheory/Generator/Presheaf.lean,Mathlib/CategoryTheory/Generator/Sheaf.lean |
12 |
7 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
0-22003 6 hours ago |
0-22003 6 hours ago |
12-84586 12 days |
30756 |
gasparattila author:gasparattila |
feat(Topology/UniformSpace): thickening with respect to an entourage |
This PR defines `UniformSpace.thickening` and proves some properties analogous to the ones for `Metric.thickening`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology |
75/0 |
Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Defs.lean |
3 |
1 |
['github-actions'] |
nobody |
0-20733 5 hours ago |
0-20733 5 hours ago |
0-20792 5 hours |
30652 |
urkud author:urkud |
chore: generalize an instance to `ContinuousConstSMul` |
---
Cleaning up old branches. I have no specific applications in mind right now.
[](https://gitpod.io/from-referrer/)
|
t-topology |
4/3 |
Mathlib/Topology/Algebra/Module/FiniteDimension.lean |
1 |
11 |
['eric-wieser', 'github-actions', 'j-loreaux', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
0-19646 5 hours ago |
3-6842 3 days ago |
3-19807 3 days |
30754 |
Jlh18 author:Jlh18 |
feat (CategoryTheory/Comma/Over/Pushforward): define pushforwards |
Define what it means to be a pushforward, what it means to have pushforwards, and the pullback/pushforward adjunction when all pushforwards exist.
This is related to PRs #30375 and PR #29810
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
RFC
|
99/2 |
Mathlib.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Comma/Over/Pushforward.lean |
3 |
2 |
['github-actions', 'joelriou'] |
nobody |
0-15909 4 hours ago |
0-15909 4 hours ago |
0-25354 7 hours |
30753 |
JovanGerb author:JovanGerb |
chore: remove more instance fields |
This PR is a follow up on #30734, doing some cases that weren't done in that PR.
---
[](https://gitpod.io/from-referrer/)
|
|
56/136 |
Mathlib/Algebra/Ring/ULift.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Algebra/Star/Pointwise.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Geometry/Convex/Cone/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction.lean |
6 |
4 |
['github-actions', 'leanprover-bot', 'leanprover-community-mathlib4-bot'] |
nobody |
0-15303 4 hours ago |
0-15303 4 hours ago |
0-30963 8 hours |
28837 |
yury-harmonic author:yury-harmonic |
feat(ValMinAbs): add lemmas |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
24/6 |
Mathlib/Data/ZMod/ValMinAbs.lean |
1 |
11 |
['github-actions', 'pechersky', 'yury-harmonic'] |
pechersky assignee:pechersky |
0-14738 4 hours ago |
0-19181 5 hours ago |
55-78966 55 days |
30760 |
harahu author:harahu |
chore: normalize doc heading spacing |
This PR removes superfluous white-space in the markdown headers of the docs: remove repeated spaces before a `#`, or between it and the actual heading.
I've tried to figure out whether there exists subtle reasons why one might want to have more than one space after the #-symbol, but I've been unable to find any.
---
I first noticed these extra spaces while working on other doc-related cleanup work.
[](https://gitpod.io/from-referrer/)
|
maintainer-merge |
38/38 |
Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Algebra/SkewMonoidAlgebra/Support.lean,Mathlib/Data/Finset/NatDivisors.lean,Mathlib/Data/Nat/Dist.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/Polynomial/Opposites.lean,Mathlib/RingTheory/PowerSeries/NoZeroDivisors.lean,Mathlib/Tactic/ComputeDegree.lean,Mathlib/Tactic/DeprecateTo.lean,Mathlib/Tactic/ExtendDoc.lean,Mathlib/Tactic/ExtractGoal.lean,Mathlib/Tactic/FindSyntax.lean,Mathlib/Tactic/Linter/CommandRanges.lean,Mathlib/Tactic/Linter/CommandStart.lean,Mathlib/Tactic/Linter/DeprecatedModule.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/HaveLetLinter.lean,Mathlib/Tactic/Linter/Header.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/MinImports.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/PPRoundtrip.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Util/CountHeartbeats.lean,MathlibTest/MoveAdd.lean,scripts/create_deprecated_modules.lean,scripts/declarations_diff.sh |
34 |
n/a |
['github-actions', 'grunweg'] |
nobody |
0-14327 3 hours ago |
unknown |
unknown |
30466 |
loefflerd author:loefflerd |
feat(GroupTheory/Index): criteria for subgroup to have index 2 |
A few variations on the existing `Subgroup.index_eq_two_iff`.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory |
99/0 |
Mathlib/GroupTheory/Index.lean |
1 |
9 |
['github-actions', 'loefflerd', 'tb65536'] |
tb65536 assignee:tb65536 |
0-13730 3 hours ago |
9-33789 9 days ago |
9-33822 9 days |
30743 |
grunweg author:grunweg |
fix(Geometry/IsManifold/Basic): fix a typo |
The same doc-string was copy-pasted twice.
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
easy
|
2/2 |
Mathlib/Geometry/Manifold/IsManifold/Basic.lean |
1 |
1 |
['github-actions'] |
nobody |
0-13328 3 hours ago |
0-53186 14 hours ago |
0-53229 14 hours |
28001 |
daefigueroa author:daefigueroa |
feat(Dynamics): add results on topologically transitive monoid actions |
We define topological transitivity for monoid actions on topological spaces, prove basic facts about topologically transitive actions and give some characterizations of topological transitivity.
---
This contribution was created as part of the Utrecht Summerschool "Formalizing Mathematics in Lean" in July 2025.
[](https://gitpod.io/from-referrer/) |
new-contributor
t-dynamics
|
108/0 |
Mathlib.lean,Mathlib/Dynamics/Flow.lean,Mathlib/Dynamics/Transitive.lean |
3 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
0-13306 3 hours ago |
3-53687 3 days ago |
3-58242 3 days |
30758 |
Timeroot author:Timeroot |
chore: tag abs_inv and abs_div with grind= |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra label:t-algebra$ |
2/1 |
Mathlib/Algebra/Order/Field/Basic.lean |
1 |
n/a |
['github-actions'] |
nobody |
0-13067 3 hours ago |
unknown |
unknown |
30380 |
CBirkbeck author:CBirkbeck |
Ixx summation filters |
We prove some results about sums over intervals of the form Ixx which are needed for defining the Eisenstein series E2 (see #26014). We also define these as summation filters.
---
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
|
241/3 |
Mathlib.lean,Mathlib/Data/Int/Interval.lean,Mathlib/NumberTheory/IntervalSums.lean,Mathlib/Order/Filter/AtTopBot/Finset.lean,Mathlib/Topology/Algebra/InfiniteSum/Defs.lean,Mathlib/Topology/Algebra/Monoid/Defs.lean |
6 |
46 |
['CBirkbeck', 'github-actions', 'loefflerd'] |
nobody |
0-11880 3 hours ago |
5-28128 5 days ago |
6-18932 6 days |
29788 |
robertmaxton42 author:robertmaxton42 |
feat (Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion |
Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions.
Bundling of existing continuity lemmas:
* `ContinuousMap.subtypeVal`
* `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps
* `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps
* `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo`
New functions:
* `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set`
* `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism
* Descending from a coherent set of subspaces is a quotient map
The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.)
This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence.
---
[](https://gitpod.io/from-referrer/)
|
large-import |
226/3 |
Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json |
7 |
6 |
['adamtopaz', 'github-actions', 'robertmaxton42'] |
adamtopaz assignee:adamtopaz |
0-11637 3 hours ago |
17-80656 17 days ago |
32-76735 32 days |
27508 |
chrisflav author:chrisflav |
feat(RingTheory): height under ring homomorphism |
We show that if `P` lies over `p`, the height of `P` is bounded by the height of `p` plus the height of the image of `P` in `S ⧸ p S`.
In a follow-up PR, we show that equality holds if `S` satisfies going-down as an `R`-algebra.
Co-authored by: Sihan Su
Co-authored by: Yi Song
---
- [x] depends on: #28520
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
|
95/1 |
Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
4 |
13 |
['YaelDillies', 'chrisflav', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
0-10797 2 hours ago |
0-29933 8 hours ago |
1-55830 1 day |
30681 |
fbarroero author:fbarroero |
feat(Analysis/SpecialFunctions/Log): log_prod for Lists and Multisets |
We add
```
lemma log_list_prod {l : List ℝ} (h : ∀ x ∈ l, x ≠ 0) : log l.prod = (l.map (fun x ↦ log x)).sum
```
and
```
lemma log_multiset_prod {s : Multiset ℝ} (h : ∀ x ∈ s, x ≠ 0) : log s.prod = (s.map (fun x ↦ log x)).sum
```
---
[](https://gitpod.io/from-referrer/)
|
|
29/11 |
Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/Probability/Moments/Basic.lean |
5 |
5 |
['eric-wieser', 'fbarroero', 'github-actions', 'riccardobrasca'] |
nobody |
0-10286 2 hours ago |
2-33540 2 days ago |
2-33516 2 days |
30212 |
tb65536 author:tb65536 |
feat(Algebra/Polynomial/Factors): Introduce predicate and basic API |
This PR introduces a predicate `Polynomial.Factors` that generalizes `Polynomial.Splits` beyond fields. This PR contains the definition of `Polynomial.Factors` along with most of API for `Polynomial.Splits`. The end goal is to either redefine `Polynomial.Splits` in terms of `Polynomial.Factors` or deprecate `Polynomial.Splits` entirely.
Zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Generalizing.20.60Polynomial.2ESplits.60.20to.20rings
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
maintainer-merge
t-algebra
label:t-algebra$ |
297/1 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Factors.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Polynomial/Splits.lean |
4 |
45 |
['erdOne', 'github-actions', 'kckennylau', 'tb65536'] |
erdOne assignee:erdOne |
0-6513 1 hour ago |
0-6513 1 hour ago |
17-6195 17 days |
29132 |
YaelDillies author:YaelDillies |
feat(AdjoinRoot): bundle operations as `AlgHom`s |
In particular, generalise and rename `liftHom` to use a general `eval₂` instead of `aeval`.
From Toric
Co-authored-by: Andrew Yang the.erd.one@gmail.com
Co-authored-by: Michał Mrugała kiolterino@gmail.com
---
- [x] depends on: #30454
- [x] depends on: #30455
- [x] depends on: #30456
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
toric
maintainer-merge
|
112/53 |
Mathlib/FieldTheory/IntermediateField/Adjoin/Basic.lean,Mathlib/FieldTheory/Isaacs.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean,Mathlib/RingTheory/Adjoin/Field.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Localization/Away/AdjoinRoot.lean |
7 |
29 |
['YaelDillies', 'chrisflav', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
erdOne assignee:erdOne |
0-6295 1 hour ago |
0-6295 1 hour ago |
51-270 51 days |
30765 |
harahu author:harahu |
chore(Analysis): Remove an unused import and an unused scoped ENNReal |
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
1/2 |
Mathlib/Analysis/BoundedVariation.lean |
1 |
1 |
['github-actions'] |
nobody |
0-6236 1 hour ago |
0-6242 1 hour ago |
0-6285 1 hour |
28241 |
alreadydone author:alreadydone |
chore(Data): `SetLike Finset` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
maintainer-merge
|
57/67 |
Counterexamples/AharoniKorman.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/Combinatorics/Additive/RuzsaCovering.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/WalkCounting.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/Finset/Attach.lean,Mathlib/Data/Finset/Defs.lean,Mathlib/Data/Finset/Insert.lean,Mathlib/Data/Finset/Union.lean,Mathlib/FieldTheory/Finite/GaloisField.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/GroupTheory/Perm/Centralizer.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/Order/CountableDenseLinearOrder.lean,Mathlib/Probability/Independence/Kernel.lean,Mathlib/RingTheory/Ideal/Quotient/Index.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/Polynomial.lean,Mathlib/Topology/Separation/Basic.lean |
28 |
31 |
['Vierkantor', 'alreadydone', 'eric-wieser', 'fpvandoorn', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
pechersky assignee:pechersky |
0-4277 1 hour ago |
2-21245 2 days ago |
51-96 51 days |
30615 |
yury-harmonic author:yury-harmonic |
feat: better `norm_num` for `rpow` |
- Use recently added `Nat.nthRoot` to make `(a : ℝ) ^ (b : ℝ)` work for rational `a ≥ 0` and `b`.
- Simplify the logic by using `.eqTrans`.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis |
122/39 |
Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,MathlibTest/norm_num_rpow.lean |
2 |
14 |
['eric-wieser', 'github-actions', 'pechersky', 'yury-harmonic'] |
nobody |
0-3932 1 hour ago |
5-13411 5 days ago |
5-13469 5 days |
30690 |
grunweg author:grunweg |
style(Order): fix whitespace |
Extracted from #30658. Found by extending the commandStart linter to proof bodies.
---
[](https://gitpod.io/from-referrer/)
|
t-order |
69/69 |
Mathlib/Order/Basic.lean,Mathlib/Order/Bounds/Image.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/Order/Filter/Cocardinal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/KonigLemma.lean,Mathlib/Order/Max.lean,Mathlib/Order/Minimal.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/RelClasses.lean,Mathlib/Order/SetIsMax.lean,Mathlib/Order/SetNotation.lean,Mathlib/Order/WithBot.lean |
14 |
3 |
['JovanGerb', 'github-actions', 'grunweg'] |
nobody |
0-3885 1 hour ago |
2-26673 2 days ago |
2-26708 2 days |
23835 |
chrisflav author:chrisflav |
feat(Topology): cardinality of connected components is bounded by cardinality of fiber |
We show that if `f : X → Y` is an open and closed map to `Y` and `Y` is connected, the number of connected
components of `X` is bounded by the cardinality of the fiber of any point. In particular, if `Y` has finitely many connected components and `f` finite fibers, also `X` as finitely many connected components.
From Pi1.
---
- [x] depends on: #23849
[](https://gitpod.io/from-referrer/)
|
t-topology |
242/1 |
Mathlib.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/SetTheory/Cardinal/Finite.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/CardComponents.lean,Mathlib/Topology/Connected/Clopen.lean |
6 |
9 |
['chrisflav', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
grunweg assignee:grunweg |
0-3841 1 hour ago |
64-40310 2 months ago |
66-34334 66 days |
27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](https://gitpod.io/from-referrer/)
|
IMO
new-contributor
|
1310/0 |
Archive.lean,Archive/Imo/Imo2025Q1.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
dwrensha assignee:dwrensha |
0-140 2 minutes ago |
32-65741 1 month ago |
65-4445 65 days |