Would you like to help out at a PR, differently from reviewing? Here are some ideas:
| 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 |
| 8961 |
eric-wieser author:eric-wieser |
refactor: use the coinduced topology on ULift |
---
- [x] depends on: #8958
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-author
awaiting-CI
|
46/14 |
Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/Constructions.lean |
3 |
6 |
['eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
646-26951 1 year ago |
unknown |
unknown |
| 9642 |
eric-wieser author:eric-wieser |
refactor(Analysis/Normed/{Group/Field}/Basic): Let `extends` generate the repeated fields |
New-style structure shenanigans mean that instance constructors randomly complain about a missing field that can be found with `__ : MetricSpace _ := infer_instance`.
---
[](https://gitpod.io/from-referrer/)
I will write a longer PR description for this once CI is happy
|
WIP
merge-conflict
awaiting-author
help-wanted
t-analysis
|
122/202 |
Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Matrix.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/Normed/Group/Completion.lean,Mathlib/Analysis/Normed/Order/Basic.lean,Mathlib/Analysis/NormedSpace/ProdLp.lean,Mathlib/Analysis/NormedSpace/Star/Matrix.lean,Mathlib/Analysis/NormedSpace/Unitization.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/InformationTheory/Hamming.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/Topology/ContinuousFunction/Bounded.lean |
17 |
11 |
['eric-wieser', 'leanprover-bot', 'urkud'] |
nobody |
646-26951 1 year ago |
unknown |
unknown |
| 6791 |
eric-wieser author:eric-wieser |
refactor: Use flat structures for morphisms |
This restores the symmetry we had in Lean3, where we had `MonoidHom.mk f one mul` not `MonoidHom.mk (OneHom.mk f one) mul`, and `f.toFun` wasn't notation for `f.toMulHom.toFun`.
The nesting provided by the previous inheritance is useless to us in the face of `MonoidHomClass.toMonoidHom`, which completely eta-expands the structure anyway.
We call the class `FunLikeFlatHack._` because this means the field is called `to_` which uses up less space in the goal view than any alternative.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
awaiting-CI
|
174/201 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Category/GroupCat/ZModuleEquivalence.lean,Mathlib/Algebra/Category/GroupWithZeroCat.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/Hom/Equiv/Basic.lean,Mathlib/Algebra/Hom/Group/Defs.lean,Mathlib/Algebra/Hom/GroupAction.lean,Mathlib/Algebra/Hom/NonUnitalAlg.lean,Mathlib/Algebra/Hom/Ring/Defs.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Module/Equiv.lean,Mathlib/Algebra/Module/LinearMap.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Ring/Equiv.lean,Mathlib/Analysis/Normed/Group/SemiNormedGroupCat.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Data/Rat/Cast/CharZero.lean,Mathlib/Data/Real/EReal.lean,Mathlib/Data/Real/Sqrt.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/LinearAlgebra/Quotient.lean,Mathlib/LinearAlgebra/TensorProduct.lean,Mathlib/RingTheory/RingInvo.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/MetricSpace/Dilation.lean |
32 |
0 |
[] |
nobody |
646-26950 1 year ago |
unknown |
unknown |
| 6931 |
urkud author:urkud |
refactor(Analysis/Normed*): use `RingHomIsometric` for `*.norm_cast` |
---
I don't understand why linter fails.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-analysis
|
78/68 |
Mathlib/Analysis/LocallyConvex/ContinuousOfBounded.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean,Mathlib/Analysis/NormedSpace/Basic.lean,Mathlib/Analysis/NormedSpace/Exponential.lean,Mathlib/Analysis/NormedSpace/Spectrum.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean |
8 |
0 |
[] |
nobody |
646-26950 1 year ago |
unknown |
unknown |
| 7903 |
urkud author:urkud |
feat: define `UnboundedSpace` |
---
The new instances generate some timeouts, and I don't understand why.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-topology
|
111/59 |
Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Topology/Bornology/Basic.lean,Mathlib/Topology/Bornology/Constructions.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean |
6 |
1 |
['github-actions'] |
nobody |
639-14927 1 year ago |
unknown |
unknown |
| 9973 |
Ruben-VandeVelde author:Ruben-VandeVelde |
feat: polynomials formed by lists |
From https://github.com/leanprover-community/mathlib/pull/15476
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-data
|
311/0 |
Mathlib.lean,Mathlib/Data/Polynomial/OfList.lean |
2 |
0 |
[] |
nobody |
632-20027 1 year ago |
unknown |
unknown |
| 9444 |
erdOne author:erdOne |
feat: Various instances regarding `𝓞 K`. |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
t-number-theory
|
27/0 |
Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/RingTheory/IntegralClosure.lean |
2 |
9 |
['erdOne', 'leanprover-bot', 'mattrobball', 'riccardobrasca', 'xroblot'] |
nobody |
631-16703 1 year ago |
unknown |
unknown |
| 20656 |
Komyyy author:Komyyy |
feat(Mathlib/Geometry/Manifold/VectorBundle/Sphere): convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ` |
Current Mathlib has no easy way to define function from a manifold to tangent bundles of sphere: `T𝕊ⁿ`.
This PR gives this: `sphereTangentMap`. This convert orthogonal smooth `M → 𝕊ⁿ` & `M → ℝⁿ⁺¹` to smooth `M → T𝕊ⁿ`.
I also proved that if `f : M → 𝕊ⁿ` & `g : M → ℝⁿ⁺¹` are smooth then `sphereTangentMap` of `f` & `g` is smooth too.
---
⚠ **CAUTION**
I formalized this in my spare time.
I don't have the energy to maintain the PR, but I create this PR so this may helps everyone.
The only one thing to do is proof cleanup.
TODO:
- [x] `contDiff_uncurry_stereoInvFunAux` & `coe_sphere_comp_stereoInvFun` may have to be moved to `Mathlib.Geometry.Manifold.Instances.Sphere`.
- [ ] Proof cleanup. Current proof may be redundant and ugly.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-differential-geometry
|
246/6 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Sphere.lean,Mathlib/Geometry/Manifold/VectorBundle/Sphere.lean |
3 |
1 |
['github-actions'] |
nobody |
477-24727 1 year ago |
unknown |
unknown |
| 11837 |
trivial1711 author:trivial1711 |
feat: completion of a uniform multiplicative group |
Multiplicativize `Topology.Algebra.GroupCompletion`. That is, rewrite it in the multiplicative setting and recover the original results using `@[to_additive]`.
- Because `@[to_additive]` doesn't work with `noncomputable section` (https://github.com/leanprover/lean4/pull/2610), some instances with `@[to_additive]` need to be explicitly marked with `noncomputable instance`.
- One might be tempted to multiplicativize this definition from `Topology.Algebra.GroupCompletion`:
```lean
instance [UniformSpace α] [Add α] : Add (Completion α) :=
⟨Completion.map₂ (· + ·)⟩
```
to this:
```lean
@[to_additive]
instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨Completion.map₂ (· * ·)⟩
```
However, as Eric Wieser pointed out, doing so would create a bad diamond with the definition
```lean
instance [UniformSpace α] [TopologicalRing α] [UniformAddGroup α] [Ring α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
in `Topology.Algebra.UniformRing`.
How should this diamond be resolved? Well, the definition of multiplication that uses `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` is the "correct" one. For example, it yields the correct result if `α` is `ℚ`, unlike the definition that uses `Completion.map₂ (· * ·)`. (This is because `Completion.map₂` yields junk values if used on a function which is not uniformly continuous. Note, however, that if multiplication on `α` *is* uniformly continuous, then `Completion.map₂ (· * ·)` and `curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))` are propositionally equal.) So, following Eric's suggestion, we remove the definition that uses `Completion.map₂ (· * ·)`, and generalize the other definition to any uniform space with a multiplication operation:
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Mul α] : Mul (Completion α) :=
⟨curry <| (denseInducing_coe.prod denseInducing_coe).extend ((↑) ∘ uncurry (· * ·))⟩
```
This requires slightly modifying some of the proofs in `Topology.Algebra.GroupCompletion`. For example, suppose that `α` is a uniform group. Since we can no longer use `Completion.continuous_map₂`, it becomes more efficient to prove that the multiplication, inversion, and division operations on `Completion α` are uniformly continuous *before* we prove that `Completion α` is a group.
- Previously, `Topology.Algebra.GroupCompletion` had an instance:
```lean
instance [UniformSpace α] [Sub α] : Sub (Completion α) := ...
```
Naively multiplicativizing this would yield
```lean
@[to_additive]
instance [UniformSpace α] [Inv α] : Inv (Completion α) := ...
```
Unfortunately, this would conflict with `Topology.Algebra.UniformField`, which already instantiates `Inv (Completion α)` when `α` is a uniform field. Instead, we use two different `instance` declarations. (If `α` is an additive group, then this instantiates `Neg (Completion α)` twice, and the instances are syntactically equal.)
```lean
@[to_additive]
noncomputable instance [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
This avoids the bad diamond (because a uniform field can never be a `Group`) while remaining backward compatible. Note that the `@[to_additive]` is necessary here, because it maintains the link between the additive setting and multiplicative setting. We use a similar method to instantiate `Div (Completion α)`.
- Some definitions in this file involve a module structure on `α`. We leave these as is and do not attempt to multiplicativize them at all.
- The instance of `DistribMulAction` must be multiplicativized to an instance of `MulDistribMulAction` manually.
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Completion.20of.20a.20uniform.20multiplicative.20group
---
# (Small) Issue
Recall the following trick that this pull request uses to define inversion and negation on uniform spaces. The idea is that we define negation on the completion of any uniform space that has a negation operation, but we define inversion on only the completion of a uniform space that has the structure of a multiplicative group. We do this to avoid creating a bad diamond with the inversion operation on a uniform field.
```lean
@[to_additive]
noncomputable instance {α : Type*} [UniformSpace α] [Group α] : Inv (Completion α) := ...
instance {α : Type*} [UniformSpace α] [Neg α] : Neg (Completion α) := ...
```
Now, suppose that we want to prove `coe_inv_of_group` (resp. `coe_neg`), which states that the coercion `α → Completion α` commutes with inversion (resp. negation). In the current version of this pull request, `coe_inv_of_group` (resp. `coe_neg`) only applies to uniform multiplicative (resp. additive) groups. However, we do not use the fact that multiplication (resp. addition) on `α` is uniformly continuous to prove it. We only use the fact that inversion (resp. negation) is continuous. So, what we really want is to have more general statements that look like this:
```lean
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Note that `coe_inv_of_group` needs the assumption `[Group α]`, because otherwise inversion is not defined on `Completion α` at all. However, `coe_neg` does not need the analogous assumption `[AdditiveGroup α]`.
The question is: If `coe_inv_of_group` and `coe_neg` are written in this more general form, how can we link them using `@[to_additive]`? Here is one option, but it obviously leaves something to be desired.
```lean
@[to_additive coe_neg_do_not_use_this_use_the_more_general_version]
theorem coe_inv_of_group {α : Type*} [UniformSpace α] [Group α] [ContinuousInv α] : ...
theorem coe_neg {α : Type*} [UniformSpace α] [Neg α] [ContinuousNeg α] : ...
```
Co-authored-by: Eric Wieser
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
merge-conflict
help-wanted
t-topology
label:t-algebra$ |
342/217 |
Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformField.lean,Mathlib/Topology/Algebra/UniformMulAction.lean,Mathlib/Topology/Algebra/UniformRing.lean |
9 |
14 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
462-68548 1 year ago |
unknown |
unknown |
| 7994 |
ericrbg author:ericrbg |
chore: generalize `LieSubalgebra.mem_map_submodule` |
---
Not sure if we should rename to something like `mem_map_iff_mem_map_submodule` or not.
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-algebra
label:t-algebra$ |
16/4 |
Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean |
2 |
3 |
['eric-wieser', 'ericrbg'] |
nobody |
370-28626 1 year ago |
unknown |
unknown |
| 15115 |
kkytola author:kkytola |
feat: Generalize assumptions in liminf and limsup results in ENNReals |
In a [review comment](https://github.com/leanprover-community/mathlib4/pull/13938#discussion_r1649744441) it was pointed out that results about liminf and limsup in ENNReal hold under milder assumptions. This PR does the generalization.
---
This PR is split off from #13938, where the review comment was made. The changes needed for the suggested generalization were of different kind than the simple PR's content, justifying a separate PR.
- [x] depends on: #13938
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
help-wanted
awaiting-author
t-topology
|
215/27 |
Mathlib/MeasureTheory/Measure/Portmanteau.lean,Mathlib/Order/LiminfLimsup.lean,Mathlib/Topology/Instances/ENNReal.lean |
3 |
8 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'j-loreaux', 'kkytola', 'leanprover-community-mathlib4-bot'] |
nobody |
358-10003 11 months ago |
unknown |
unknown |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
335-51922 11 months ago |
unknown |
unknown |
| 22925 |
ggranberry author:ggranberry |
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff |
---
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
will-close-soon
awaiting-author
help-wanted
t-analysis
|
411/0 |
Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean |
2 |
11 |
['faenuccio', 'ggranberry', 'github-actions'] |
faenuccio assignee:faenuccio |
268-16999 8 months ago |
unknown |
unknown |
| 7300 |
ah1112 author:ah1112 |
feat: synthetic geometry |
This is adding synthetic geometry using Avigad's axioms and formalizing Euclid Book I, through the Pythagorean theorem.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
t-euclidean-geometry
|
2661/0 |
Mathlib.lean,Mathlib/Geometry/Synthetic/Avigad/Axioms.lean,Mathlib/Geometry/Synthetic/Avigad/EuclidBookI.lean,Mathlib/Geometry/Synthetic/Avigad/Tactics.lean |
4 |
74 |
['ah1112', 'alreadydone', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'plp127', 'tb65536', 'urkud'] |
nobody |
259-49764 8 months ago |
unknown |
unknown |
| 26085 |
grunweg author:grunweg |
feat: disjoint unions distribute with products of manifolds |
This PR continues the work from #22611.
Original PR: https://github.com/leanprover-community/mathlib4/pull/22611 |
please-adopt
WIP
t-differential-geometry
merge-conflict
|
75/6 |
Mathlib/Geometry/Manifold/Diffeomorph.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
189-19093 6 months ago |
unknown |
unknown |
| 5863 |
eric-wieser author:eric-wieser |
feat: add elaborators for concrete matrices |
---
- [x] depends on: #5866
- [ ] depends on: #5897
[](https://gitpod.io/from-referrer/)
|
merge-conflict
help-wanted
blocked-by-other-PR
t-meta
|
257/7 |
Mathlib/Control/Monad/Cont.lean,Mathlib/Data/Matrix/Auto.lean,MathlibTest/matrix_auto.lean |
3 |
8 |
['eric-wieser', 'github-actions', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
nobody |
170-29796 5 months ago |
unknown |
unknown |
| 5919 |
MithicSpirit author:MithicSpirit |
feat: implement orthogonality for AffineSubspace |
Define `AffineSubspace.orthogonal` and `AffineSubspace.IsOrtho`, as well as develop an API emulating that of `Submodule.orthogonal` and `Submodule.IsOrtho`, respectively. Additionally, provide some relevant lemmas exclusive to affine subspaces, which are mostly to do with the relationship between orthogonality and `AffineSubspace.Parallel`.
Closes #5539
---
Still WIP as I need to add more docstrings as well as notations for the new definitions.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
help-wanted
t-analysis
|
287/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean |
2 |
7 |
['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
MithicSpirit assignee:MithicSpirit |
170-29795 5 months ago |
unknown |
unknown |
| 13442 |
dignissimus author:dignissimus |
feat: mabel tactic for multiplicative abelian groups |
Mabel tactic for multiplicative abelian groups (#10361)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
modifies-tactic-syntax
awaiting-author
help-wanted
t-meta
|
439/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean |
4 |
11 |
['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
170-29531 5 months ago |
unknown |
unknown |
| 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/)
|
please-adopt
merge-conflict
t-logic
|
618/0 |
Mathlib.lean,Mathlib/ModelTheory/FunctionalFormula.lean |
2 |
13 |
['ChrisHughes24', 'github-actions', 'jcommelin', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] |
nobody |
170-28407 5 months ago |
unknown |
unknown |
| 29675 |
yury-harmonic author:yury-harmonic |
feat(Wolstenholme): new file |
Co-authored-by: @Aristotle-Harmonic
---
I still need to cleanup the proof and write the docs.
For now, it's just what the AI generated, forward-ported to the latest Mathlib.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
t-data
|
198/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Wolstenholme.lean |
2 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot', 'yury-harmonic'] |
nobody |
170-27183 5 months ago |
unknown |
unknown |
| 6859 |
MohanadAhmed author:MohanadAhmed |
feat: TryLean4Bundle: Windows Bundle Creator |
# `TryLean4Bundle`: Windows Bundle Creator
A Windows batch script and a CI yml file that create an self extracting archive. The user should
1. just download the archive,
2. double click the archive to expand
3. double click the `RunLean.bat` script in the expanded archive.
The script currently downloads 7 dependencies into CI then unpacks them in the appropriate locations and finally packs them back.
To try a bundle created using these scripts but from a different repo see (https://github.com/MohanadAhmed/TryLean4Bundle/releases)
---
[](https://gitpod.io/from-referrer/)
|
WIP
help-wanted
CI
|
114/0 |
.github/workflows/mk_windows_bundle.yml,scripts/windowsBundle.bat |
2 |
0 |
[] |
nobody |
170-1108 5 months ago |
unknown |
unknown |
| 11800 |
JADekker author:JADekker |
feat: KappaLindelöf spaces |
Define KappaLindelöf spaces by following the first one-third of the API for Lindelöf spaces. The remainder will be added in a future PR.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-topology
awaiting-zulip
|
301/2 |
Mathlib.lean,Mathlib/Topology/Compactness/KappaLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean |
3 |
38 |
['ADedecker', 'JADekker', 'PatrickMassot', 'StevenClontz', 'adomani', 'github-actions', 'grunweg', 'kim-em', 'urkud'] |
nobody |
170-972 5 months ago |
unknown |
unknown |
| 12087 |
JADekker author:JADekker |
feat: complete API for K-Lindelöf spaces |
---
- [ ] depends on: #11800 (which is now awaiting a design decision)
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
t-topology
blocked-by-other-PR
|
789/17 |
Mathlib.lean,Mathlib/Order/Filter/CardinalInter.lean,Mathlib/Topology/Compactness/KLindelof.lean,Mathlib/Topology/Compactness/Lindelof.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
170-965 5 months ago |
unknown |
unknown |
| 12394 |
JADekker author:JADekker |
feat: define pre-tight and tight measures |
Define tight measures (by first defining separable and pre-tight measures).
Define some api for all three concepts
Prove Ulam's tightness theorem and a strengthened version of this.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-author
t-measure-probability
|
503/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Tight.lean |
2 |
34 |
['EtienneC30', 'JADekker', 'github-actions', 'sgouezel'] |
nobody |
170-945 5 months ago |
unknown |
unknown |
| 14686 |
smorel394 author:smorel394 |
feat(AlgebraicGeometry/Grassmannian): define the Grassmannian scheme |
# The Grassmannian scheme
Define the Grassmannian scheme by gluing affine charts.
We fix a commutative ring `K`, a free `K`-module of finite type `V` and two natural numbers
`r` and `c`. The scheme we define should parametrize surjective `K`-linear maps
`V →ₗ[K] (Fin r → K)`, assuming that `V` is of rank `r + c`. We actually define the scheme
without assuming the condition on the rank of `V`, but it is empty unless the rank of `V` is
`r + c`.
Main definitions:
* `Grassmannian.glueData K V r c`: the `AlgebraicGeometry.Scheme.GlueData` defining the
Grassmannian scheme.
* `Grassmannian K V r c`: the Grassmannian scheme, defined as
`(Grassmannian.glueData K V r c).glued`.
* `Grassmannian.structMorphism K V r c`: the structural morphism from `Grassmannian K V r c`
to `Spec K`.
# Implementation
We use as index type for the charts the type `Basis (Fin (r + c)) K V` (so this is empty unless
`V` is free of rank `r + c`). All the charts are the same and equal to the affine space with
coordinates indexed by `Fin c × Fin r`, that is, to `Spec (MvPolynomial (Fin c × Fin r) K)`.
The idea is that, for `i` in `Basis (Fin (r + c)) K V`, the corresponding chart will
parametrize all surjective `K`-linear maps `φ : V →ₗ[K] (Fin r → K)` that become isomorphisms
when restricted to the `K`-submodule generated by the first `r` vectors of the basis `i`.
To get the point of the chart corresponding to `φ`, we take the matrix of `φ` in the basis `i` of
`V` and the canonical basis of `Fin r → K`, we divide it on the right by its top `r × r`
square submatrix (which is invertible by assumption), and we taken the botton `c × r`
submatrix.
This is almost the usual description of the Grassmannian by charts, with three differences:
* We consider the Grassmannian parametrizing `r`-dimensional quotients of `V` instead of
`r`-dimensional subspaces of `V`, because this is more natural when working over a general
ring (or scheme).
* In the usual description, we fix a basis of `V` and index the chart by its subsets `I` of
cardinality `r`. Here, to avoid making a choice, we instead index charts by the set of
bases of `V` and always choose the subset `I` to consist of the first `r` vectors.
* Instead of working with `FiniteDimensional.finrank K V - r`, which would cause technical
trouble because of the way subtraction works on `ℕ`, we introduce the codimension `c` as an
auxiliary variable, and our constructions are only interesting when `r + c` is equal to
`FiniteDimensional.finrank K V`.
# Why is this a WIP
* There a bunch of lemmas in the file `AlgebraicGeometry/Grassmannian/Lemmas.lean` that either should not be necessary or should be put in another PR for some other part of mathlib.
* The proofs in `AlgebraicGeometry/Grassmannian/Basic.lean` are probably too complicated, and the names suck.
# Notes.
This contribution was created as part of the AIM workshop "Formalizing algebraic geometry" in
June 2024.
---
- [x] depends on: #14711
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
workshop-AIM-AG-2024
merge-conflict
t-algebraic-geometry
|
1002/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Grassmannian/Basic.lean,Mathlib/AlgebraicGeometry/Grassmannian/Lemmas.lean |
3 |
15 |
['erdOne', 'github-actions', 'joelriou', 'leanprover-community-mathlib4-bot', 'smorel394'] |
nobody |
170-901 5 months ago |
unknown |
unknown |
| 32095 |
grunweg author:grunweg |
chore: fix some explicitVarOfIff linter errors |
Needs a merge, and removing the linter changes... should be re-done and split out!
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
merge-conflict
|
320/146 |
Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Geometry/Manifold/LocalInvariantProperties.lean,Mathlib/MeasureTheory/Measure/EverywherePos.lean,Mathlib/SetTheory/Ordinal/Topology.lean,Mathlib/Topology/Algebra/Group/Basic.lean,Mathlib/Topology/Algebra/Module/Basic.lean,Mathlib/Topology/Algebra/Monoid.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Category/TopCat/Basic.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/CompactOpen.lean,Mathlib/Topology/Compactness/LocallyCompact.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/DenseEmbedding.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/Homeomorph.lean,Mathlib/Topology/IndicatorConstPointwise.lean,Mathlib/Topology/Inseparable.lean,Mathlib/Topology/Irreducible.lean,Mathlib/Topology/IsLocalHomeomorph.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/Maps/Basic.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/NoetherianSpace.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/LowerUpperTopology.lean,Mathlib/Topology/Partial.lean,Mathlib/Topology/PartialHomeomorph.lean,Mathlib/Topology/PartitionOfUnity.lean,Mathlib/Topology/QuasiSeparated.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/TietzeExtension.lean,Mathlib/Topology/UniformSpace/Ascoli.lean,Mathlib/Topology/UniformSpace/Basic.lean,Mathlib/Topology/UniformSpace/Cauchy.lean,Mathlib/Topology/UniformSpace/CompactConvergence.lean,Mathlib/Topology/UniformSpace/Completion.lean,Mathlib/Topology/UniformSpace/Equicontinuity.lean,Mathlib/Topology/UniformSpace/Matrix.lean,Mathlib/Topology/UniformSpace/Pi.lean,Mathlib/Topology/UnitInterval.lean,Mathlib/Topology/UrysohnsBounded.lean,Mathlib/Topology/UrysohnsLemma.lean,Mathlib/Topology/VectorBundle/Basic.lean,lakefile.lean,scripts/run_linter.lean |
49 |
0 |
[] |
nobody |
164-14417 5 months ago |
unknown |
unknown |
| 5934 |
eric-wieser author:eric-wieser |
feat: port Data.Rat.MetaDefs |
---
[](https://gitpod.io/from-referrer/)
This needs some eyes from people familiar with Qq |
merge-conflict
help-wanted
mathlib-port
t-meta
|
183/0 |
Mathlib.lean,Mathlib/Data/Rat/MetaDefs.lean,test/rat.lean |
3 |
5 |
['eric-wieser', 'gebner', 'vihdzp'] |
nobody |
132-74834 4 months ago |
unknown |
unknown |
| 21344 |
kbuzzard author:kbuzzard |
chore: attempt to avoid diamond in OreLocalization |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
label:t-algebra$ |
16/5 |
Mathlib/RingTheory/OreLocalization/Basic.lean |
1 |
6 |
['erdOne', 'github-actions', 'kbuzzard'] |
nobody |
123-63522 4 months ago |
unknown |
unknown |
| 17176 |
arulandu author:arulandu |
feat: integrals and integrability with .re |
Lemmas for swapping order of .re and integration/integrability.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
please-adopt
|
49/0 |
Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean |
4 |
32 |
['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] |
nobody |
122-70937 4 months ago |
unknown |
unknown |
| 26088 |
grunweg author:grunweg |
chore(Linter/DirectoryDependency): move forbidden directories into a JSON file |
This PR continues the work from #25406.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25406 |
please-adopt
t-linter
merge-conflict
|
387/19 |
Mathlib/Tactic/Linter/DirectoryDependency.lean,scripts/README.md,scripts/forbiddenDirs.json |
3 |
5 |
['Vierkantor', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
120-56712 4 months ago |
unknown |
unknown |
| 24010 |
grunweg author:grunweg |
feat(Counterexamples): a non-negative function, not a.e. zero, with vanishing lowe… |
…r Lebesgue integral.
Came up in #23707, let's document this while we're at it.
---
- [ ] depends on: #20722
[](https://gitpod.io/from-referrer/)
|
merge-conflict
please-adopt
WIP
blocked-by-other-PR
t-measure-probability
|
110/0 |
Counterexamples.lean,Counterexamples/LIntegralZero.lean |
2 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
120-9167 4 months ago |
unknown |
unknown |
| 25905 |
mans0954 author:mans0954 |
feat(RingTheory/Polynomial/SmallDegreeVieta): polynomial versions of results in Algebra.QuadraticDiscriminant |
This PR continues the work from #25605.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25605 |
merge-conflict
t-ring-theory
please-adopt
|
77/8 |
Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/RingTheory/Polynomial/SmallDegreeVieta.lean |
2 |
47 |
['chrisflav', 'github-actions', 'kckennylau', 'mans0954', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
chrisflav assignee:chrisflav |
117-59830 3 months ago |
unknown |
unknown |
| 26339 |
mans0954 author:mans0954 |
feat(Analysis/Normed/Module/WeakDual): Banach Dieudonné Lemma |
This PR continues the work from #16316.
Original PR: https://github.com/leanprover-community/mathlib4/pull/16316 |
merge-conflict
WIP
t-analysis
large-import
please-adopt
|
377/3 |
Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/Polar.lean,Mathlib/Analysis/Normed/Module/WeakDual.lean,Mathlib/Topology/UniformSpace/Cauchy.lean |
4 |
5 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
117-59791 3 months ago |
unknown |
unknown |
| 26340 |
mans0954 author:mans0954 |
feat(Algebra/Module/NestAlgebra): Nest algebras |
This PR continues the work from #18705.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18705 |
merge-conflict
t-algebra
please-adopt
label:t-algebra$ |
184/0 |
Mathlib.lean,Mathlib/Algebra/Module/NestAlgebra.lean,Mathlib/Order/Nest.lean,Mathlib/Order/Preorder/Chain.lean,docs/references.bib |
5 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
117-59775 3 months ago |
unknown |
unknown |
| 26341 |
mans0954 author:mans0954 |
feat(LinearAlgebra/QuadraticForm/Basis): Free Tensor product of Quadratic Maps |
This PR continues the work from #19432.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19432 |
merge-conflict
WIP
t-algebra
large-import
please-adopt
label:t-algebra$ |
888/0 |
Mathlib.lean,Mathlib/Data/Sym/Sym2/Prod.lean,Mathlib/LinearAlgebra/QuadraticForm/Basis.lean |
3 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
117-59544 3 months ago |
unknown |
unknown |
| 26344 |
mans0954 author:mans0954 |
feat(Analysis/NormedSpace/MStructure): The component projections on WithLp 1 (α × β) are L-projections |
This PR continues the work from #20380.
Original PR: https://github.com/leanprover-community/mathlib4/pull/20380 |
merge-conflict
WIP
t-analysis
file-removed
please-adopt
|
20/1 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/MStructure.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean |
3 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
117-54340 3 months ago |
unknown |
unknown |
| 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 |
merge-conflict
t-data
please-adopt
|
30/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
alreadydone assignee:alreadydone |
117-54317 3 months ago |
unknown |
unknown |
| 26349 |
mans0954 author:mans0954 |
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 |
This PR continues the work from #25009.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25009 |
help-wanted
t-analysis
please-adopt
|
159/0 |
Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean |
4 |
3 |
['github-actions', 'mans0954', 'themathqueen'] |
nobody |
117-54273 3 months ago |
unknown |
unknown |
| 26348 |
mans0954 author:mans0954 |
feat(Analysis/LocallyConvex/Prime): the prime map |
This PR continues the work from #24385.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24385 |
merge-conflict
WIP
t-analysis
please-adopt
|
125/0 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/Prime.lean |
2 |
3 |
['github-actions', 'mans0954', 'mathlib4-merge-conflict-bot'] |
nobody |
117-54264 3 months ago |
unknown |
unknown |
| 26983 |
mans0954 author:mans0954 |
feat(Order/LatticeElements): distributive, standard and neutral elements of a lattice |
Defines distributive, standard and neutral elements of a lattice and gives equivalent conditions.
---
- [x] depends on: #26836
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-order
please-adopt
|
238/0 |
Mathlib.lean,Mathlib/Order/Hom/Lattice.lean,Mathlib/Order/LatticeElements.lean |
3 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-54231 3 months ago |
unknown |
unknown |
| 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/)
|
merge-conflict
please-adopt
|
208/0 |
Mathlib.lean,Mathlib/RingTheory/Polynomial/Resultant/Quadratic.lean |
2 |
4 |
['JovanGerb', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
117-54198 3 months ago |
unknown |
unknown |
| 29387 |
mans0954 author:mans0954 |
feat(Analysis/LocallyConvex/WeakSpace): toWeakSpace_closedAbsConvexHull_eq |
The closed absolutely convex hull taken in the weak topology coincides with the closed absolutely convex hull taken in the original topology.
---
- [ ] depends on: #29378
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-analysis
please-adopt
|
133/68 |
Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean |
6 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-54179 3 months ago |
unknown |
unknown |
| 29378 |
mans0954 author:mans0954 |
feat(Analysis/LocallyConvex/AbsConvex): Balanced and AbsConvex sets under linear maps |
Provide `Balanced` and `AbsConvex` versions of `Convex.linear_image`, `Convex.linear_preimage` and the `is_linear` equivalents.
---
- [ ] depends on: #29342
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
please-adopt
|
133/68 |
Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Analysis/Normed/Module/Dual.lean |
6 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
117-54019 3 months ago |
unknown |
unknown |
| 12934 |
grunweg author:grunweg |
chore: replace more uses of > or ≥ by < or ≤ |
These were flagged by the linter in https://github.com/leanprover-community/mathlib4/pull/12879: it is easy to simple avoid > or ≥ in hypotheses or haves.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
help-wanted
|
41/42 |
Archive/Imo/Imo1962Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2019Q4.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Mathlib/Tactic/Linarith/Datatypes.lean,test/cancel_denoms.lean,test/congr.lean,test/interval_cases.lean,test/observe.lean |
15 |
12 |
['YaelDillies', 'adomani', 'github-actions', 'grunweg', 'jcommelin', 'urkud'] |
nobody |
116-41245 3 months ago |
unknown |
unknown |
| 8608 |
eric-wieser author:eric-wieser |
feat: multiplicativize `AddTorsor` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebra
please-adopt
label:t-algebra$ |
268/199 |
Mathlib/Algebra/AddTorsor.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Data/Set/Pointwise/SMul.lean,Mathlib/Tactic/ToAdditive.lean |
4 |
2 |
['alreadydone'] |
nobody |
100-54790 3 months ago |
unknown |
unknown |
| 23042 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add HasConicalLimitsOfSize.shrink |
---
Note: I've marked this "WIP" because I'm not yet sure when this will be needed and I'd probably put the PR on the queue once I've created some follow-up needing it.
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
infinity-cosmos
please-adopt
|
22/1 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
1 |
['github-actions'] |
nobody |
82-44740 2 months ago |
unknown |
unknown |
| 23142 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add API for HasConicalLimit |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
infinity-cosmos
please-adopt
|
52/9 |
Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean |
1 |
2 |
['github-actions', 'joelriou'] |
nobody |
82-44740 2 months ago |
unknown |
unknown |
| 23145 |
joneugster author:joneugster |
feat(CategoryTheory/Enriched/Limits): add IsConicalLimits |
---
- [ ] depends on: #23142
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
t-category-theory
infinity-cosmos
please-adopt
|
221/9 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/Limits/HasConicalLimits.lean,Mathlib/CategoryTheory/Enriched/Limits/IsConicalLimit.lean |
3 |
3 |
['github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
82-44739 2 months ago |
unknown |
unknown |
| 35339 |
grunweg author:grunweg |
feat: "confusing variables" linter |
Continuation of #15400.
This linter flags variable commands which both update an existing binder annotation and declare new variables: these can yield confusing or misleading error messages (see https://github.com/leanprover/lean4/issues/2789).
Instead, these should be split in several variable statements.
------------
Help fixing these errors is welcome!
Currently, the linter only catches some cases, when the updated binder is from a previous scope.
To make it catch all cases, the linter could insert a section before the variable command and use that scope instead.
See [zulip](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Get.20scope.20*before*.20some.20syntax.20is.20evaluated) [discussions](https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Determining.20variable.20binders.20from.20syntax).
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
merge-conflict
awaiting-CI
t-linter
|
220/9 |
Cache/Requests.lean,Mathlib/FieldTheory/AbelRuffini.lean,Mathlib/FieldTheory/IntermediateField/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/Tactic/Linter/Lint.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean |
8 |
0 |
[] |
nobody |
82-15110 2 months ago |
unknown |
unknown |
| 35344 |
grunweg author:grunweg |
feat: lint upon uses of the mono tactic |
suggesting to use `gcongr` instead.
In general, `mono` is unmaintained, was only partially ported --- and gcongr at this point is more featureful, actively developed and has a nicer user interface. The topic was also discussed [on zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Porting.20note.3A.20Fixing.20up.20.60mono.60/with/445125798).
---
TODO: update the linter wording, fix its implementation and wait until tests pass
Rebased and migrated version of #25700.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-linter
RFC
|
4/0 |
MathlibTest/DeprecatedSyntaxLinter.lean,MathlibTest/Monotonicity.lean |
2 |
2 |
['github-actions', 'grunweg'] |
nobody |
81-70929 2 months ago |
unknown |
unknown |
| 8102 |
miguelmarco author:miguelmarco |
feat(Tactic): add `unify_denoms` and `collect_signs` tactics |
This PR adds four new tactics:
- `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators.
- `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive.
- `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one.
Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added.
--- |
please-adopt
new-contributor
merge-conflict
modifies-tactic-syntax
good first issue
t-meta
|
407/0 |
Mathlib.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CollectSigns.lean,Mathlib/Tactic/UnifyDenoms.lean,MathlibTest/unify_denoms.lean,scripts/noshake.json |
7 |
55 |
['Paul-Lez', 'YaelDillies', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'miguelmarco'] |
nobody |
70-6651 2 months ago |
unknown |
unknown |
| 9605 |
davikrehalt author:davikrehalt |
feat(Data/Finset & List): Add Lemmas for Sorting and Filtering |
This PR includes several useful lemmas to the Data/Finset and Data/List modules in Lean's mathlib:
1. `toFinset_filter` (List): Shows that filtering commutes with toFinset.
2. `toFinset_is_singleton_implies_replicate` (List): Shows a list with a singleton toFinset is a List.replicate.
3. `filter_sort_commute` (Finset): Sorting and filtering can be interchanged in Finsets.
4. `Sorted.filter` (List): A sorted list stays sorted after filtering.
5. `Sorted.append_largest` (List): Appending the largest element keeps a list sorted.
6. `sort_monotone_map` (Finset): Relates sorting of a Finset after mapping to sorting of a list.
7. `sort_insert_largest` (Finset): Sorting a Finset with an inserted largest element.
8. `sort_range` (Finset): Sorting a range in a Finset equals the corresponding range list.
9. ~~`filter_eval_true` (List): Filtering a list with a predicate always true keeps the list unchanged.~~
10. ~~`filter_eval_false` (List): Filtering with an always-false predicate gives an empty list.~~
11. ~~`pairwise_concat` (List): Iff condition for Pairwise relation in concatenated lists (similar to pairwise_join).~~
12. `list_map_toFinset` (Finset): toFinset commutes with map under injection
---
- [x] depends on: #15952
This is my first PR to mathlib, so I'm not too familiar with etiquette's and more specifically there are two proofs in the PR which uses aesop, and I am not sure if it's frowned upon. I kept the aesop in there for now as I couldn't construct very short proofs otherwise. The sort_range function proof was suggested in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Computing.20Finset.20sort.20of.20Finset.20range/near/410346731 by Ruben Van de Velde. Thanks for your time for improving this PR. |
please-adopt
t-data
new-contributor
merge-conflict
awaiting-author
|
71/0 |
Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean |
4 |
30 |
['YaelDillies', 'davikrehalt', 'eric-wieser', 'github-actions', 'jcommelin', 'urkud', 'vihdzp'] |
nobody |
57-22118 1 month ago |
unknown |
unknown |
| 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
please-adopt
|
110/11 |
Mathlib/Analysis/Normed/Ring/Basic.lean,MathlibTest/TCSynth.lean |
2 |
15 |
['github-actions', 'j-loreaux', 'leanprover-bot'] |
ADedecker and j-loreaux assignee:j-loreaux assignee:ADedecker |
56-44403 1 month ago |
unknown |
unknown |
| 33466 |
Shreyas4991 author:Shreyas4991 |
refactor(Combinatorics/Digraph): add vertex sets |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
merge-conflict
please-adopt
|
382/55 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
83 |
['IvanRenison', 'Shreyas4991', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp', 'vlad902'] |
awainverse assignee:awainverse |
54-10587 1 month ago |
unknown |
unknown |
| 22366 |
kim-em author:kim-em |
feat: `check_equalities` tactic for diagnosing defeq problems |
The `check_equalities` tactic,
which checks the typing of equalities in the goal,
reporting discrepancies between the implicit type argument of the equality,
and the inferred types of the left and right hand sides,
at "instances and reducible" transparency.
Reports from this tactic do not necessarily indicate a problem,
although typically `simp` should reduce rather than increase the reported discrepancies.
`check_equalities` may be useful in diagnosing uses of `erw`. |
t-meta
please-adopt
WIP
|
123/4 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Basic.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CheckEqualities.lean,Mathlib/Tactic/Common.lean,MathlibTest/check_equalities.lean |
7 |
21 |
['adomani', 'b-mehta', 'eric-wieser', 'fpvandoorn', 'github-actions', 'grunweg', 'kim-em', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
adamtopaz assignee:adamtopaz |
46-14444 1 month ago |
unknown |
unknown |
| 20719 |
gio256 author:gio256 |
feat(AlgebraicTopology): delaborators for truncated simplicial notations |
We add delaborators for the following notations, introduced in #20688:
- `⦋m⦌ₙ`, which denotes the `m`-dimensional simplex in the `n`-truncated simplex category.
- `X _⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated simplicial object `X`.
- `X ^⦋m⦌ₙ`, which denotes the `m`-th term of an `n`-truncated cosimplicial object `X`.
If `pp.proofs` is set to `true`, we also pretty-print the proof `p : m ≤ n` for all three notations as `⦋m, p⦌ₙ`, `X _⦋m, p⦌ₙ`, and `X ^⦋m, p⦌ₙ`, respectively.
Credit to @kmill for one piece of code and much metaprogramming inspiration.
---
- [x] depends on: #20688
- [x] depends on: #23018
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
infinity-cosmos
t-meta
please-adopt
will-close-soon
|
525/33 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Defs.lean,Mathlib/AlgebraicTopology/SimplicialObject/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SimplexCategory.lean,Mathlib/Util/Superscript.lean,MathlibTest/SimplexCategory.lean,MathlibTest/SimplicialObject.lean,MathlibTest/superscript.lean,scripts/noshake.json |
11 |
24 |
['eric-wieser', 'gio256', 'github-actions', 'joneugster', 'kim-em', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
42-20110 1 month ago |
unknown |
unknown |
| 21476 |
grunweg author:grunweg |
feat(lint-style): enable running on downstream projects |
Enable lint-style to run on downstream projects, by making the following modifications:
- allow passing an explicit list of libraries to lint: if nothing is passed, it lints `Mathlib`, `Archive` and `Counterexamples` (as before); otherwise, it lints precisely the passed modules
- only check init imports, undocumented scripts and the errors from `lint-style.py` when linting Mathlib
- make the style exceptions file configurable and optional: using the `nolints-file` flag, the exceptions file can be configured. If the flag is omitted, we try to find a file at `scripts/nolints-style.txt` --- and otherwise proceed with no style exceptions.
This means mathlib can continue unchanged, and downstream projects can either add an explicit exceptions file, or proceed without any exceptions.
After this PR, one should be able to run lint-style on a downstream project by `lake exe lint-style ProjectName`.
Prompted by [this zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/lint-style.20for.20downstream.20libraries).
---
- [x] depends on: #24570
- [x] depends on: #24953
(I did not test the last part.)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-linter
awaiting-author
please-adopt
|
58/19 |
Mathlib/Tactic/Linter/TextBased.lean,scripts/lint-style.lean |
2 |
21 |
['Vierkantor', 'adomani', 'github-actions', 'grunweg', 'joneugster', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
42-19559 1 month ago |
unknown |
unknown |
| 37730 |
RemyDegenne author:RemyDegenne |
feat: define total variation distance |
Define the total variation distance between two finite measures, using the variation of the difference seen as signed measures.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
WIP
t-measure-probability
|
56/0 |
Mathlib.lean,Mathlib/InformationTheory/TotalVariation/Basic.lean |
2 |
1 |
['github-actions'] |
nobody |
31-25093 1 month ago |
unknown |
unknown |
| 34501 |
eric-wieser author:eric-wieser |
chore(Data/Fintype/Induction): add a workaround for a bug in `induction` |
This works around leanprover/lean4#4246, as Zulip threads frequently run up against this.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-meta
please-adopt
|
15/1 |
Mathlib/Data/Fintype/Option.lean |
1 |
3 |
['github-actions', 'joneugster'] |
joneugster assignee:joneugster |
21-33314 21 days ago |
unknown |
unknown |
| 35341 |
grunweg author:grunweg |
feat: lint against the tactic.skipAssignedInstances option in mathlib |
This means we can remove the corresponding technical debt entry.
Re-created version of #20872.
---
[This comment](https://github.com/leanprover-community/mathlib4/pull/20872#issuecomment-2602743770) might still be relevant: does this linter need adaptations to recursively parse the outer `set_option`s? Wasn't there code written semi-recently which did this?
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-linter
merge-conflict
|
54/3 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/LintStyle.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
16-62105 16 days ago |
unknown |
unknown |
| 35545 |
joelriou author:joelriou |
feat(Algebra/Category/ModuleCat): the internal hom for presheaves of modules |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
WIP
please-adopt
label:t-algebra$ |
141/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/InternalHom.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean |
3 |
1 |
['github-actions'] |
nobody |
16-28198 16 days ago |
unknown |
unknown |
| 38334 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/TreeDecomp): define tree decompositions |
Add definition for tree decompositions on simple graphs. Define the tree width of a simple graph and prove basic statements and conversions.
```lean
structure TreeDecomp (G : SimpleGraph V) where
/-- The type of bags in the tree. -/
W : Type u
/-- The set of vertices in each bag. -/
𝓧 : W → Finset V
/-- The graph adjacency relation of bags. -/
T : SimpleGraph W
/-- T must be a tree. -/
isTree : IsTree T
/-- All vertices in G must appear in some bag. -/
vertexCover : ∀ v : V, ∃ w : W, v ∈ 𝓧 w
/-- For any edge (u, v) in G, there is a bag containing both u and v. -/
edgeCover ⦃u v : V⦄ : G.Adj u v → ∃ w : W, u ∈ 𝓧 w ∧ v ∈ 𝓧 w
/-- For any vertex v in G, the set of bags that contain v is preconnected. -/
connectedBags : ∀ v : V, (T.induce ({w | v ∈ 𝓧 w})).Preconnected
```
AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed.
---
- [ ] depends on: #38027
[](https://gitpod.io/from-referrer/)
|
new-contributor
help-wanted
blocked-by-other-PR
t-combinatorics
LLM-generated
WIP
|
396/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
3 |
5 |
['8e7', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
14-32876 14 days ago |
unknown |
unknown |
| 35193 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Closeds): implement category of closed sets in topological spaces |
I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it.
Based on work of @kim-em
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
please-adopt
merge-conflict
|
352/6 |
Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean |
3 |
24 |
['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
8-64881 8 days ago |
unknown |
unknown |
| 38595 |
openendings author:openendings |
chore(CategoryTheory): remove defeq abuse in Monad/Kleisli.lean |
Currently most of Kleisli.lean uses defeq abuse to perform deep rewrites equivalent to `Kleisli.of_mk`, `Kleisli.mk_of`, etc.
This PR removes all backward.isDefEq.respectTransparency from the file. Additionally:
- Add `theorem Kleisli.comp`, encoding `Kleisli.category.map_comp` in the base category.
- Add `theorem Cokleisli.comp`, encoding `category.map_comp` in the base category.
- Make `C` implicit in `Monad.unit_naturality` and `Monad.mu_naturality`.
- Make `C` implicit in `Comonad.counit_naturality` and `Comonad.delta_naturality`.
---
- ~~I would greatly appreciate advice ([e.g. via Zulip](https://leanprover.zulipchat.com/#user/1060393)) on tackling the remainder of this file: the defeqs mostly appear in morally `simp`/`calc` proofs that look horrid in `refine` style.
I can supply more rfl theorems like `of_mk` and `mk_of` (and hope to do so in subsequent PRs), but don't know how to use them for a deep type rewrite.~~
[](https://gitpod.io/from-referrer/) |
t-category-theory
new-contributor
help-wanted
awaiting-author
|
34/21 |
Mathlib/CategoryTheory/Monad/Basic.lean,Mathlib/CategoryTheory/Monad/Kleisli.lean |
2 |
20 |
['dagurtomas', 'github-actions', 'joelriou', 'openendings'] |
nobody |
2-62338 2 days ago |
unknown |
unknown |
| 32989 |
kim-em author:kim-em |
fix(Tactic/Simps): skip @[defeq] inference for non-exposed definitions |
This PR makes `@[simps]` check whether the source definition's body is exposed before calling `inferDefEqAttr`. When the body is not exposed, we skip the `@[defeq]` inference to avoid validation errors.
Without this fix, using `@[simps]` on a definition that is not `@[expose]`d produces an error like:
```
Theorem Foo_bar has a `rfl`-proof and was thus inferred to be `@[defeq]`, but validating that attribute failed:
Not a definitional equality: the left-hand side ... is not definitionally equal to the right-hand side ...
Note: This theorem is exported from the current module. This requires that all definitions that need to be unfolded to prove this theorem must be exposed.
```
The fix checks `(← getEnv).setExporting true |>.find? cfg.srcDeclName |>.any (·.hasValue)` to determine if the definition body is visible in the public scope, and only calls `inferDefEqAttr` if it is.
🤖 Prepared with Claude Code |
t-meta
awaiting-author
LLM-generated
please-adopt
|
50/2 |
Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Tactic/Simps/Basic.lean,MathlibTest/SimpsModule.lean |
3 |
17 |
['JovanGerb', 'Vierkantor', 'github-actions', 'joneugster', 'kim-em', 'mathlib-merge-conflicts'] |
nobody |
0-32493 9 hours ago |
80-45781 80 days ago |
37-27992 37 days |
| 34440 |
grunweg author:grunweg |
feat: linter for name components in uppercase |
Per the naming convention, these are errors (unless they are an abbreviation).
Mathlib has *many* violations at the moment: for this reason, we add this as an environment linter
and automatically add all current exceptions. Once these have been fixed, converting to a syntax linter
is desirable.
Until then, track the number of such exceptions as technical debt.
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/naming.20convention.20linter/with/570617527)
Note to self: wait for CI, then do a final nolints update. and try to implement the follow-up soon
[](https://gitpod.io/from-referrer/)
|
t-linter
large-import
awaiting-author
merge-conflict
please-adopt
|
1018/9 |
Mathlib/Tactic/Linter/Style.lean,MathlibTest/DoubleUnderscore.lean,MathlibTest/HashLint.lean,MathlibTest/Lint.lean,MathlibTest/LintStyle.lean,scripts/nolints.json,scripts/technical-debt-metrics.sh |
7 |
27 |
['Vierkantor', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts'] |
joneugster assignee:joneugster |
0-32419 9 hours ago |
79-24372 79 days ago |
13-82065 13 days |
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
| 10721 |
urkud author:urkud |
feat(Order/FunLike): define `PointwiseLE` |
- introduce a mixin class `DFunLike.PointwiseLE`, use it to define `DFunLike.instPartialOrder`;
- add a generic `DFunLike.orderEmbeddingCoe`
- add `DFunLike.PointwiseLE` instances here and there.
With this refactor and #13022, I'm going to generalize lemmas like `MeasureTheory.ae_mono` to `OuterMeasureClass`.
---
- [x] depends on: #12983
[](https://gitpod.io/from-referrer/) |
merge-conflict
t-order
t-logic
|
123/50 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/FunLike/Basic.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/GroupTheory/Congruence.lean,Mathlib/Order/FunLike.lean,Mathlib/Order/Heyting/Hom.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/Bounded.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Topology/Order/Hom/Basic.lean |
13 |
48 |
['YaelDillies', 'dupuisf', 'leanprover-community-mathlib4-bot', 'urkud'] |
nobody |
646-26952 1 year ago |
unknown |
unknown |
| 8788 |
FMLJohn author:FMLJohn |
feat(Algebra/Module/GradeZeroModule): if `A` is a graded semiring and `M` is a graded `A`-module, then each grade of `M` is a module over the 0-th grade of `A`. |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
237/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
6 |
4 |
['FMLJohn', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
646-26951 1 year ago |
unknown |
unknown |
| 7875 |
astrainfinita author:astrainfinita |
chore: make `SMulCommClass A A B` and `SMulCommClass A B B` higher priority |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
54/48 |
Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Ring/CentroidHom.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/Analysis/Complex/UnitDisc/Basic.lean,Mathlib/Analysis/NormedSpace/lpSpace.lean,Mathlib/Data/Matrix/Basic.lean,Mathlib/GroupTheory/GroupAction/Prod.lean,Mathlib/GroupTheory/GroupAction/Ring.lean,Mathlib/GroupTheory/GroupAction/SubMulAction.lean,Mathlib/GroupTheory/MonoidLocalization.lean,Mathlib/GroupTheory/Submonoid/Center.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/Topology/ContinuousFunction/ContinuousMapZero.lean,Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean,Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean |
27 |
15 |
['Parcly-Taxel', 'astrainfinita', 'jcommelin', 'leanprover-bot'] |
nobody |
646-26950 1 year ago |
unknown |
unknown |
| 6491 |
eric-wieser author:eric-wieser |
chore(Mathlib/Algebra/Hom/GroupAction): add `SMulHomClass.comp_smul` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
24/10 |
Mathlib/Algebra/Hom/GroupAction.lean |
1 |
0 |
[] |
nobody |
646-26949 1 year ago |
unknown |
unknown |
| 10629 |
madvorak author:madvorak |
feat: List.cons_sublist_append_iff_right |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
11/0 |
Mathlib/Data/List/Basic.lean |
1 |
1 |
['eric-wieser'] |
nobody |
632-20494 1 year ago |
unknown |
unknown |
| 13791 |
digama0 author:digama0 |
refactor: Primrec and Partrec |
General cleanup of the `Primrec` and `Partrec` files, to better adjust to lean 4 things. The main user-visible change is that `Primrec₂` is no longer a `def` but an `abbrev`, because it was causing inference issues in lean 4. I also removed all the nonterminal `simp`s in `PartrecCode.lean`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
tech debt
|
585/778 |
Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Halting.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/Primrec.lean |
5 |
2 |
['github-actions', 'grunweg'] |
nobody |
627-69739 1 year ago |
unknown |
unknown |
| 12418 |
rosborn author:rosborn |
style: replace preimage_val with ↓∩ notation |
---
This is a rough draft of what the new `↓∩` notation would look like within mathlib. I believe this is an improvement in clarity and would like to have `↓∩` as a standard notation (along with `''`, `⁻¹'`, `↑`, etc...). As `↓∩` is specialized for `Set`s, I have only changed `preimage_val` when the left-hand side of `↓∩` is a `Set`.
The introduction of the `↓∩` notation to Data.Set.Image is temporary as it isn't possible to import Data.Set.Subset directly. If we want `↓∩` unscoped, where would be the best place to define it? An option is Data.Set.Defs, but the notation cannot be defined without additional imports as the file does not import `notation3`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
56/61 |
Mathlib/Analysis/InnerProductSpace/Projection.lean,Mathlib/Data/Set/Function.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/Subset.lean,Mathlib/MeasureTheory/Constructions/Polish.lean,Mathlib/MeasureTheory/MeasurableSpace/Basic.lean,Mathlib/MeasureTheory/Measure/Restrict.lean,Mathlib/Order/UpperLower/Basic.lean,Mathlib/Topology/Bases.lean,Mathlib/Topology/Clopen.lean,Mathlib/Topology/Connected/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/LocalAtTarget.lean,Mathlib/Topology/LocallyConstant/Basic.lean,Mathlib/Topology/Separation.lean,Mathlib/Topology/Sober.lean |
18 |
3 |
['grunweg', 'rosborn'] |
nobody |
627-69497 1 year ago |
unknown |
unknown |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
627-4251 1 year ago |
unknown |
unknown |
| 10350 |
Shamrock-Frost author:Shamrock-Frost |
feat(Data/Setoid): add the operations of taking the equivalence class of an element and of saturating a set wrt an equivalence relation |
I'm open to suggestions about changing the name "saturate", someone on zulip rightly pointed out this is a very overloaded term in math. That said, I think it's unlikely to cause confusion and that there's only one reasonable interpretation in the context of setoids.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
169/3 |
Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/Order/Closure.lean |
3 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
625-6525 1 year ago |
unknown |
unknown |
| 17127 |
astrainfinita author:astrainfinita |
chore: remove global `Quotient.mk` `⟦·⟧` notation |
---
Merge this PR when we are ready to migrate to `QuotLike` API (#16421).
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
137/2 |
Counterexamples/Pseudoelement.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/Order/CauSeq/Completion.lean,Mathlib/Algebra/Quandle.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Basic.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/FundamentalGroup.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/Product.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnected.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Free/Coherence.lean,Mathlib/CategoryTheory/Skeletal.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Fintype/List.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/QPF/Multivariate/Constructions/Fix.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Real/Basic.lean,Mathlib/Data/Set/Finite.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/LinearAlgebra/Dual.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/Logic/Encodable/Basic.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/ModelTheory/DirectLimit.lean,Mathlib/ModelTheory/Fraisse.lean,Mathlib/ModelTheory/Quotients.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean,Mathlib/NumberTheory/NumberField/Embeddings.lean,Mathlib/NumberTheory/NumberField/Units/DirichletTheorem.lean,Mathlib/NumberTheory/Padics/PadicIntegers.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/RelIso/Basic.lean,Mathlib/RepresentationTheory/Action/Concrete.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Ordinal.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/Birthday.lean,Mathlib/SetTheory/Game/Impartial.lean,Mathlib/SetTheory/Game/Ordinal.lean,Mathlib/SetTheory/Game/State.lean,Mathlib/SetTheory/Lists.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Surreal/Basic.lean,Mathlib/SetTheory/Surreal/Dyadic.lean,Mathlib/SetTheory/Surreal/Multiplication.lean,Mathlib/SetTheory/ZFC/Basic.lean,Mathlib/SetTheory/ZFC/Rank.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/Homotopy/HomotopyGroup.lean,Mathlib/Topology/Homotopy/Path.lean,Mathlib/Topology/Homotopy/Product.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/UniformSpace/Separation.lean,test/interactiveUnfold.lean |
68 |
1 |
['github-actions'] |
nobody |
585-41590 1 year ago |
unknown |
unknown |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
548-37056 1 year ago |
unknown |
unknown |
| 19212 |
Julian author:Julian |
feat(LinearAlgebra): add a variable_alias for VectorSpace |
Taken directly from the variable_alias docs.
Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/why.20.5Bvariable_alias.5D.20attribute.20is.20not.20used.20in.20Mathlib.3F
---
This is the first actual variable alias added to mathlib. I haven't reviewed variable_alias fully, but it seems like there's at least 3 ways they could be distributed in Mathlib:
* alongside whatever subfolder they "belong to" (which is what I've tentatively done here)
* In a file called `Aliases` somewhere near the thing they alias (which seems less discoverable to me)
* In a single file, a la `Mathlib.TrainingWheels` (with some less playful name) which is meant to define a bunch of more "friendly" aliases all in one place.
I kind of like the idea of the third thing as a future module but perhaps it can be synthesized if/when there are more aliases? For now as I say I've done the first one, but please let me know if someone prefers something else.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
25/0 |
Mathlib.lean,Mathlib/LinearAlgebra/VectorSpace.lean,scripts/noshake.json |
3 |
10 |
['Julian', 'PieterCuijpers', 'github-actions', 'urkud'] |
nobody |
528-13811 1 year ago |
unknown |
unknown |
| 19337 |
zeramorphic author:zeramorphic |
feat(Data/Finsupp): generalise `Finsupp` to any "zero" value |
Remove the explicit dependence of `Finsupp` on `[Zero M]`, instead defining `Finsupp'` (better name pending) to be functions that are equal to a fixed value `z : M` cofinitely often.
This PR is intended to do the initial work of replacing the definition of `Finsupp` with an instantiation of the more general definition, without adding any appropriate API. If accepted, the API development will follow in later PRs.
Issues to consider:
- Naming of `Finsupp'.`
- Where should `Finsupp'` lemmas go? Do they need their own file/folder under `Data/`?
Relevant Zulip threads:
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp.20generalisations
- https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Finsupp-like.20partial.20function
Comments are welcome.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
203/83 |
Archive/Wiedijk100Theorems/Partition.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/Rename.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Laurent.lean,Mathlib/Data/Finsupp/BigOperators.lean,Mathlib/Data/Finsupp/Defs.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Nat/Choose/Multinomial.lean,Mathlib/RingTheory/MvPolynomial/Symmetric/Defs.lean,Mathlib/RingTheory/PowerBasis.lean,scripts/nolints_prime_decls.txt |
13 |
5 |
['github-actions', 'vihdzp', 'zeramorphic'] |
nobody |
525-76288 1 year ago |
unknown |
unknown |
| 18756 |
astrainfinita author:astrainfinita |
refactor: deprecate `DistribMulActionSemiHomClass` `MulSemiringActionSemiHomClass` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
50/28 |
Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/GroupTheory/GroupAction/Hom.lean |
3 |
4 |
['astrainfinita', 'github-actions', 'leanprover-bot'] |
nobody |
514-41957 1 year ago |
unknown |
unknown |
| 16120 |
awainverse author:awainverse |
feat(ModelTheory/Algebra/Ring/Basic): Ring homomorphisms are a `StrongHomClass` for the language of rings |
Adds an `IsAlgebraic` instance to the language of rings
Adds a `StrongHomClass` instance to the type of ring homomorphisms between rings with `CompatibleRing` structures
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
RFC
t-logic
label:t-algebra$ |
34/13 |
Mathlib/ModelTheory/Algebra/Ring/Basic.lean |
1 |
10 |
['ChrisHughes24', 'YaelDillies', 'awainverse', 'github-actions', 'jcommelin'] |
nobody |
486-58131 1 year ago |
unknown |
unknown |
| 20527 |
trivial1711 author:trivial1711 |
refactor(Topology/UniformSpace/Completion): more descriptive names for `α → Completion α` |
- We rename the various maps `α → Completion α` in order to make their names more consistent.
- Let `α` be a uniform space. We rename the uniformly continuous function `α → Completion α` from `UniformSpace.Completion.coe'` to `UniformSpace.Completion.coe`.
- Let `α` be a uniform additive group. We rename the additive group homomorphism `α →+ Completion α` from `UniformSpace.Completion.toCompl` to `UniformSpace.Completion.coeAddHom`.
- Let `α` be a uniform ring. The ring homomorphism `α →+* Completion α` is called `UniformSpace.Completion.coeRingHom`; its name is unchanged.
- Let `α` be a normed space over a field `𝕜`. We rename the linear isometry `α →ₗᵢ[𝕜] Completion α` from `UniformSpace.Completion.toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ`.
- Let `α` be a normed space over a field `𝕜`. We rename the continuous linear map `α →L[𝕜] Completion α` from `UniformSpace.Completion.toComplL` to `UniformSpace.Completion.coeL`.
- Let `α` be a normed additive group. We rename the norm preserving homomorphism `NormedAddGroupHom α (Completion α)` from `NormedAddCommGroup.toCompl` to `UniformSpace.Completion.coeNormedAddGroupHom`.
- We analogously rename some other theorems.
- We add some trivial theorems (all of which are proved by `rfl`) that state that the functions considered above are equal. We give all of them the `simp` and `norm_cast` attributes.
- We add a new theorem `UniformSpace.Completion.coeAddHom_eq_coe` that states that `UniformSpace.Completion.coeAddHom` and `UniformSpace.Completion.coe` are equal as functions.
- We similarly add a new theorem `UniformSpace.Completion.coeRingHom_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplₗᵢ` to `UniformSpace.Completion.coeₗᵢ_eq_coe`.
- We rename the theorem `UniformSpace.Completion.coe_toComplL` to `UniformSpace.Completion.coeL_eq_coe`.
- We similarly add a new theorem `UniformSpace.Completion.coeNormedAddGroupHom_eq_coe`.
- We change all occurrences of the string `((↑) : α → Completion α)` to `(coe : α → Completion α)` or just `coe`.
- We put the statements of some theorems into simp normal form by using the plain function `coe` rather than the homomorphisms that carry more structure.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
130/92 |
Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Liouville.lean,Mathlib/Analysis/InnerProductSpace/Completion.lean,Mathlib/Analysis/Normed/Group/HomCompletion.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/Topology/Algebra/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/GroupCompletion.lean,Mathlib/Topology/Algebra/InfiniteSum/Nonarchimedean.lean,Mathlib/Topology/Algebra/Nonarchimedean/Completion.lean,Mathlib/Topology/Algebra/UniformRing.lean,Mathlib/Topology/Category/UniformSpace.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/UniformSpace/Completion.lean |
17 |
4 |
['eric-wieser', 'github-actions', 'trivial1711'] |
nobody |
480-2763 1 year ago |
unknown |
unknown |
| 18474 |
astrainfinita author:astrainfinita |
perf: lower the priority of `*WithOne.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-data
label:t-algebra$ |
9/2 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/Data/Nat/Cast/Defs.lean |
3 |
7 |
['astrainfinita', 'eric-wieser', 'github-actions', 'leanprover-bot'] |
nobody |
477-76193 1 year ago |
unknown |
unknown |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
465-14050 1 year ago |
unknown |
unknown |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
429-71 1 year ago |
unknown |
unknown |
| 18470 |
astrainfinita author:astrainfinita |
perf: lower the priority of `Normed*.to*` instances |
---
From #7873.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
t-analysis
label:t-algebra$ |
28/0 |
Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Group/Basic.lean |
2 |
9 |
['astrainfinita', 'github-actions', 'jcommelin', 'leanprover-bot'] |
nobody |
424-57898 1 year ago |
unknown |
unknown |
| 8767 |
eric-wieser author:eric-wieser |
refactor(Cache): tidy lake-manifest parsing in Cache |
This now respects local copies of Mathlib dependencies (though in practice these invalidate the *online* cache because to point to local copies of Mathlib, the hash for `lakefile.lean` and `lake-manifest.json` is first invalidated).
---
- [x] depends on: #11492
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
49/49 |
Cache/Hashing.lean,Cache/IO.lean,lake-manifest.json |
3 |
8 |
['digama0', 'eric-wieser', 'github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
421-57630 1 year ago |
unknown |
unknown |
| 22660 |
Ruben-VandeVelde author:Ruben-VandeVelde |
chore: follow naming convention around Group.IsNilpotent |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
133/67 |
Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/SpecificGroups/ZGroup.lean |
3 |
1 |
['github-actions'] |
nobody |
417-22326 1 year ago |
unknown |
unknown |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
394-8473 1 year ago |
unknown |
unknown |
| 21525 |
sinhp author:sinhp |
feat(CategoryTheory): Locally Cartesian Closed Categories (Prelim) |
This PR defines the basic preliminaries for defining locally cartesian closed categories (LCCCs). In particular, using the calculus of mates we define certain natural isomorphisms involving `Over.star` and `Over.pullback` which will be crucial in defining the right adjoint to the pullback functor in the development of LCCCs.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
338/24 |
Mathlib/CategoryTheory/Comma/Over/Basic.lean,Mathlib/CategoryTheory/Comma/Over/Pullback.lean,Mathlib/CategoryTheory/Galois/Examples.lean |
3 |
13 |
['b-mehta', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'sinhp'] |
nobody |
394-8471 1 year ago |
unknown |
unknown |
| 16314 |
astrainfinita author:astrainfinita |
chore(Data/Quot): deprecate `ind*'` APIs |
---
- [x] depends on: #16264
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
247/287 |
Counterexamples/CliffordAlgebraNotInjective.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/RingQuot.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/CategoryTheory/ConnectedComponents.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Subobject/FactorThru.lean,Mathlib/CategoryTheory/Subobject/Lattice.lean,Mathlib/Computability/Reduce.lean,Mathlib/Computability/Tape.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Data/Multiset/MapFold.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/Fixed.lean,Mathlib/GroupTheory/Complement.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/Hom.lean,Mathlib/GroupTheory/Coset/Basic.lean,Mathlib/GroupTheory/Coset/Defs.lean,Mathlib/GroupTheory/FreeAbelianGroup.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/Perm/Cycle/Concrete.lean,Mathlib/GroupTheory/PresentedGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SchurZassenhaus.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/LinearAlgebra/Quotient/Defs.lean,Mathlib/MeasureTheory/Function/AEEqFun.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Category/PartOrd.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RepresentationTheory/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/AdicCompletion/Algebra.lean,Mathlib/RingTheory/AdicCompletion/Basic.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean,Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Congruence/Basic.lean,Mathlib/RingTheory/Flat/FaithfullyFlat/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Defs.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/Topology/Algebra/Group/TopologicalAbelianization.lean,Mathlib/Topology/Algebra/InfiniteSum/Module.lean,Mathlib/Topology/Separation/Basic.lean |
65 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
388-33437 1 year ago |
unknown |
unknown |
| 15483 |
astrainfinita author:astrainfinita |
chore(GroupTheory/Coset): reduce defeq abuse |
---
- [x] depends on: #15482
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
114/60 |
Mathlib/GroupTheory/Commensurable.lean,Mathlib/GroupTheory/Coset.lean,Mathlib/GroupTheory/QuotientGroup.lean,Mathlib/LinearAlgebra/Alternating/DomCoprod.lean,Mathlib/MeasureTheory/Measure/Haar/Quotient.lean,Mathlib/Topology/Algebra/Group/Compact.lean |
6 |
14 |
['astrainfinita', 'eric-wieser', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-mathlib4-bot', 'mattrobball', 'mergify', 'urkud'] |
nobody |
387-64730 1 year ago |
unknown |
unknown |
| 16594 |
astrainfinita author:astrainfinita |
perf: reorder `extends` and remove some instances in algebra hierarchy |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
240/92 |
Mathlib.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Associated/Basic.lean,Mathlib/Algebra/BigOperators/Ring/List.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Group/Prod.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Prod.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Canonical/Defs.lean,Mathlib/Algebra/Order/Field/Defs.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/InjSurj.lean,Mathlib/Algebra/Ring/Rat.lean,Mathlib/Algebra/Ring/SumsOfSquares.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/InnerProductSpace/Symmetric.lean,Mathlib/CategoryTheory/Preadditive/FunctorCategory.lean,Mathlib/Data/Finset/NoncommProd.lean,Mathlib/Data/Int/Cast/Defs.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/FieldTheory/SplittingField/Construction.lean,Mathlib/GroupTheory/Congruence/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Interval/Finset/Box.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/Coalgebra/Hom.lean,Mathlib/RingTheory/Ideal/Quotient.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/TensorProduct/Basic.lean,Mathlib/RingTheory/TensorProduct/MvPolynomial.lean,Mathlib/Util/NoInstances.lean,scripts/noshake.json |
50 |
8 |
['astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot'] |
nobody |
387-64506 1 year ago |
unknown |
unknown |
| 23859 |
urkud author:urkud |
feat(Topology/../Order/Field): generalize to `Semifield` |
.. from a linear ordered field to a linear ordered semifield---
- [ ] depends on: #23857
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
245/219 |
Mathlib/Algebra/Order/Group/Pointwise/Interval.lean,Mathlib/Analysis/BoxIntegral/Box/SubboxInduction.lean,Mathlib/Topology/Algebra/Order/Field.lean,Mathlib/Topology/Order/Basic.lean |
4 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
381-21347 1 year ago |
unknown |
unknown |
| 23810 |
b-reinke author:b-reinke |
chore(Order/Interval): generalize succ/pred lemmas to partial orders |
Many lemmas in `Mathlib/Order/Interval/Set/SuccPred.lean`and `Mathlib/Order/Interval/Finset/SuccPred.lean` also work for partial orders. They are generalized in this PR by introducing different sections for `PartialOrder` and `LinearOrder` assumptions in the respective files.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
|
231/89 |
Mathlib/Order/Interval/Finset/SuccPred.lean,Mathlib/Order/Interval/Set/SuccPred.lean |
2 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
378-84522 1 year ago |
unknown |
unknown |
| 24285 |
madvorak author:madvorak |
chore(Algebra/*-{Category,Homology}): remove unnecessary universe variables |
Discussions:
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Call.20for.20help.3A.20technical.2F.20organisational.20debt/with/513620128
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Algebra.20and.20.60Type*.60/with/513558902
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Task.2026.3A.20Replace.20Type.20u.20by.20Type*.20wherever.20possible/with/513592993
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
542/916 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Field.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Pi.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/DirectSum/Algebra.lean,Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Field/Basic.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Field/IsField.lean,Mathlib/Algebra/Field/MinimalAxioms.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeNonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Ext.lean,Mathlib/Algebra/Group/Hom/End.lean,Mathlib/Algebra/Group/Hom/Instances.lean,Mathlib/Algebra/Group/Invertible/Basic.lean,Mathlib/Algebra/Group/Invertible/Defs.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/Pi/Lemmas.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/Group/TypeTags/Hom.lean,Mathlib/Algebra/Group/Units/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Group/WithOne/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Defs.lean,Mathlib/Algebra/GroupWithZero/Invertible.lean,Mathlib/Algebra/GroupWithZero/NeZero.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/CartanMatrix.lean,Mathlib/Algebra/Lie/CartanSubalgebra.lean,Mathlib/Algebra/Lie/Character.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Lie/Free.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/Matrix.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Lie/NonUnitalNonAssocAlgebra.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Quotient.lean,Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/TensorProduct.lean,Mathlib/Algebra/Lie/UniversalEnveloping.lean,Mathlib/Algebra/Module/Basic.lean,Mathlib/Algebra/Module/CharacterModule.lean,Mathlib/Algebra/Module/DedekindDomain.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/End.lean,Mathlib/Algebra/Module/Equiv/Opposite.lean,Mathlib/Algebra/Module/Lattice.lean,Mathlib/Algebra/Module/LinearMap/Basic.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/MinimalAxioms.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/Opposite.lean,Mathlib/Algebra/Module/Pi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Tensor.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Torsion.lean,Mathlib/Algebra/MonoidAlgebra/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Defs.lean,Mathlib/Algebra/MonoidAlgebra/Support.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean |
182 |
22 |
['erdOne', 'github-actions', 'leanprover-bot', 'leanprover-community-bot-assistant', 'madvorak', 'mattrobball'] |
nobody |
378-73219 1 year ago |
unknown |
unknown |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
345-79969 11 months ago |
unknown |
unknown |
| 25340 |
dupuisf author:dupuisf |
chore(Analysis/Convex): move files pertaining to convex/concave functions to their own folder |
This PR creates a new folder under `Analysis/Convex` called `Analysis/Convex/Function`, which includes files that are mostly or entirely about convex/concave functions (as opposed to convex sets).
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-convex-geometry
|
4264/4155 |
Mathlib.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/Function.lean,Mathlib/Analysis/Convex/Function/Basic.lean,Mathlib/Analysis/Convex/Function/Continuous.lean,Mathlib/Analysis/Convex/Function/Deriv.lean,Mathlib/Analysis/Convex/Function/Extrema.lean,Mathlib/Analysis/Convex/Function/Integral.lean,Mathlib/Analysis/Convex/Function/Jensen.lean,Mathlib/Analysis/Convex/Function/Mul.lean,Mathlib/Analysis/Convex/Function/Piecewise.lean,Mathlib/Analysis/Convex/Function/Quasiconvex.lean,Mathlib/Analysis/Convex/Function/Slope.lean,Mathlib/Analysis/Convex/Function/Strong.lean,Mathlib/Analysis/Convex/Integral.lean,Mathlib/Analysis/Convex/Jensen.lean,Mathlib/Analysis/Convex/Mul.lean,Mathlib/Analysis/Convex/Piecewise.lean,Mathlib/Analysis/Convex/Quasiconvex.lean,Mathlib/Analysis/Convex/Slope.lean,Mathlib/Analysis/Convex/SpecificFunctions/Basic.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convex/Strong.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Log/NegMulLog.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/MeasureTheory/Measure/Decomposition/IntegralRNDeriv.lean,Mathlib/NumberTheory/Harmonic/GammaDeriv.lean |
34 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
335-16396 11 months ago |
unknown |
unknown |
| 18441 |
ADedecker author:ADedecker |
refactor(AdicTopology): use new API for algebraic filter bases, and factor some code |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
847/159 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
3 |
['ADedecker', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
323-8137 10 months ago |
unknown |
unknown |
| 18439 |
ADedecker author:ADedecker |
refactor: use new algebraic filter bases API in `FiniteAdeleRing` |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
699/21 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/FiniteAdeleRing.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
323-8135 10 months ago |
unknown |
unknown |
| 18438 |
ADedecker author:ADedecker |
refactor: adapt `KrullTopology` to the new algebraic filter bases API |
---
- [x] depends on: #18437
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
t-algebra
label:t-algebra$ |
771/168 |
Mathlib.lean,Mathlib/FieldTheory/KrullTopology.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
6 |
5 |
['ADedecker', 'AntoineChambert-Loir', 'github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
323-8134 10 months ago |
unknown |
unknown |
| 13964 |
pechersky author:pechersky |
feat(Data/DigitExpansion): begin defining variant of reals without rationals |
Based on a de Bruijn 1976 paper.
This file is just the basic definition of a digit expansion. Will be followed up with further constructions.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
518/0 |
Mathlib.lean,Mathlib/Data/DigitExpansion/Defs.lean,docs/references.bib |
3 |
11 |
['eric-wieser', 'github-actions', 'kim-em', 'pechersky'] |
dupuisf assignee:dupuisf |
319-76825 10 months ago |
unknown |
unknown |
| 24823 |
eric-wieser author:eric-wieser |
refactor: add `hom` lemmas for the `MonoidalCategory` structure on `ModuleCat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
148/164 |
Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Rep.lean |
11 |
21 |
['101damnations', 'YaelDillies', 'eric-wieser', 'github-actions', 'joelriou', 'kbuzzard', 'leanprover-community-bot-assistant'] |
101damnations assignee:101damnations |
307-41485 10 months ago |
unknown |
unknown |
| 25071 |
erdOne author:erdOne |
feat(EllipticCurve): basic API for singular cubics |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
|
320/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Singular/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
3 |
35 |
['Multramate', 'acmepjz', 'erdOne', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
307-41239 10 months ago |
unknown |
unknown |
| 25988 |
Multramate author:Multramate |
refactor(AlgebraicGeometry/EllipticCurve/*): replace Fin 3 with products |
This PR continues the work from #24593.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24593 |
merge-conflict
t-algebraic-geometry
|
1000/1022 |
Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Formula.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean |
6 |
3 |
['Multramate', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
307-40927 10 months ago |
unknown |
unknown |
| 26067 |
mapehe author:mapehe |
feat(Topology/StoneCech): exists_continuous_surjection_from_StoneCech_to_dense_range |
This lemma formalises the following version of the maximality property of the Stone–Čech compactification: If `f : α → β` is a continuous map from a topological space `α` to a Hausdorff space `β` with dense range, then there exists a continuous surjection from `StoneCech α` to `β` extending `f`. In particular, `StoneCech α` is the “largest” compact Hausdorff space into which `α` densely embeds, in the sense that any other such space is a continuous image of it.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
18/0 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
304-22305 10 months ago |
unknown |
unknown |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
277-19567 9 months ago |
unknown |
unknown |
| 26200 |
adomani author:adomani |
fix: add label when landrun fails |
Adds the `permission-denied` label on PRs that get blocked by landrun.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
CI
|
68/8 |
.github/build.in.yml,.github/workflows/bors.yml,.github/workflows/build.yml,.github/workflows/build_fork.yml |
4 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
275-56920 9 months ago |
unknown |
unknown |
| 27451 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
*From the 2025 Local Class Field Theory Workshop.*
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
27/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
13 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky', 'wwylele'] |
nobody |
270-3023 8 months ago |
unknown |
unknown |
| 27987 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
---
The pullback PR of #26827 and #27451.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
large-import
|
73/0 |
Mathlib/RingTheory/Valuation/Basic.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
270-2652 8 months ago |
unknown |
unknown |
| 27003 |
eric-wieser author:eric-wieser |
chore: use `Simp.ResultQ` more often |
Also uses `~q` in place of manual `isDefEq` matching.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
18/22 |
Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/ReduceModChar.lean |
3 |
7 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
JovanGerb assignee:JovanGerb |
268-17276 8 months ago |
unknown |
unknown |
| 25401 |
digama0 author:digama0 |
feat(Util): SuppressSorry option |
See also leanprover/lean4#8611 and [#lean4 > Silent sorry @ 💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Silent.20sorry/near/503537964). This is a stop-gap solution while leanprover/lean4#8611 is underway, but it works about as well as any other built in option. Hooking declaration elaborators turns out to be a very powerful technique.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
342/0 |
Mathlib.lean,Mathlib/Util/CommandElabHook.lean,Mathlib/Util/SuppressSorry.lean,MathlibTest/suppressSorry.lean |
4 |
15 |
['digama0', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot'] |
alexjbest assignee:alexjbest |
267-58472 8 months ago |
unknown |
unknown |
| 28622 |
alreadydone author:alreadydone |
chore(Mathlib): replace `=>` by `↦` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
51792/51792 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/AddTorsor/Defs.lean,Mathlib/Algebra/Algebra/Basic.lean,Mathlib/Algebra/Algebra/Bilinear.lean,Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Opposite.lean,Mathlib/Algebra/Algebra/Prod.lean,Mathlib/Algebra/Algebra/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Basic.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Spectrum/Quasispectrum.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Directed.lean,Mathlib/Algebra/Algebra/Subalgebra/IsSimpleOrder.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Subalgebra/Prod.lean,Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/TransferInstance.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/Algebra/ZMod.lean,Mathlib/Algebra/AlgebraicCard.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Expect.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Algebra/BigOperators/Finsupp/Basic.lean,Mathlib/Algebra/BigOperators/Finsupp/Fin.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Piecewise.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Multiset/Defs.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Option.lean,Mathlib/Algebra/BigOperators/Pi.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/BigOperators/Ring/Multiset.lean,Mathlib/Algebra/Category/AlgCat/Basic.lean,Mathlib/Algebra/Category/AlgCat/Limits.lean,Mathlib/Algebra/Category/AlgCat/Monoidal.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/FGModuleCat/Limits.lean,Mathlib/Algebra/Category/Grp/AB.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/Grp/Biproducts.lean,Mathlib/Algebra/Category/Grp/CartesianMonoidal.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/Images.lean,Mathlib/Algebra/Category/Grp/Kernels.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/Grp/Zero.lean,Mathlib/Algebra/Category/GrpWithZero.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Biproducts.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Closed.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Symmetric.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Products.lean |
3838 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
261-61952 8 months ago |
unknown |
unknown |
| 28626 |
alreadydone author:alreadydone |
chore(Archive, Counterexamples): replace => by ↦ |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
288/288 |
Archive/Arithcc.lean,Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Archive/Examples/PropEncodable.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/MiuLanguage/Basic.lean,Archive/MiuLanguage/DecisionSuf.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/AscendingDescendingSequences.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/Partition.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/GameMultiplication.lean,Counterexamples/Girard.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Phillips.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
54 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
260-4678 8 months ago |
unknown |
unknown |
| 27403 |
MoritzBeroRoos author:MoritzBeroRoos |
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..).
This pr replaces instances of ⬝ where · was probably meant.
All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle.
[Related](https://github.com/leanprover-community/mathlib4/pull/27399)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
195/195 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean |
49 |
5 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
258-37714 8 months ago |
unknown |
unknown |
| 28042 |
kckennylau author:kckennylau |
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements |
---
The pullback PR of #27314 and #27163.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
140/23 |
Mathlib/RingTheory/Valuation/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
2 |
3 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
258-37668 8 months ago |
unknown |
unknown |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
257-85946 8 months ago |
unknown |
unknown |
| 28148 |
kckennylau author:kckennylau |
feat(Matrix): Simproc and Rw-proc for Matrix Transpose |
Co-authored by Aaron Liu.
```lean
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of% 2 3]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
rw [transpose_of]
example : !![1, 2, 3; 4, 5, 6]ᵀ = !![1, 4; 2, 5; 3, 6] := by
simp only [matrix_transpose]
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
267/8 |
Mathlib.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/LinearAlgebra/UnitaryGroup.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Simproc/Matrix.lean,MathlibTest/Simproc/Matrix.lean,MathlibTest/matrix.lean,scripts/noshake.json |
8 |
32 |
['eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'plp127'] |
eric-wieser assignee:eric-wieser |
253-42880 8 months ago |
unknown |
unknown |
| 26908 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): alternative ext principle for unitors |
Currently, our infrastructure for left/right unitors for Day convolution of functors `C ⥤ V` do not have satisfactory extensionality principle: the current way to characterize morphisms out of `U ⊛ F` is the default extensionality principle for Day convolution, which characterizes first such functors via functors out of `U ⊠ F`. Left unitors are then obtained using the fact `U ⊠ F` is a left Kan extension of a functor from `PUnit × C` (which is equivalent to `C`) but we did not record on its own this principle.
Using the transitivity of left Kan extensions proved in #26899, we directly exhibit `U ⊛ F` as a left Kan extension of `F ⋙ tensorLeft (𝟙_ V)` along `tensorLeft (𝟙_ C)`. The unit of this Kan extension is composed exactly of the morphisms that appear in the [characterization of left unitors](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Monoidal/DayConvolution.html#CategoryTheory.MonoidalCategory.DayConvolutionUnit.leftUnitor_hom_unit_app).
We also slightly generalize the instances that express that external products with unitors are left Kan extensions, so that they can be used when taking external products with more complicated functors than currently. This is again useful when chaining extensionality lemmas for morphisms out of terms of the form `(F ⊛ U) ⊛ G`.
We prove a similar thing for right unitors
With this, it should be possible to have a much more satisfactory way of working with Day convolutions: this allows to "elimiinate" units without ending up with terms in an external product.
---
- [ ] depends on: #26899
- [ ] depends on: #26906
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
307/18 |
Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
242-2826 8 months ago |
unknown |
unknown |
| 27150 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): constructors for braided and symmetric structure on day convolutions monoidal categories |
Following the pattern in #27119, we give API to construct `BraidedCategory` and `SymmetricCategory` structures on a monoidal
category equipped with a `LawfulDayConvolutionMonoidalCategoryStruct`. To achieve this, we introduce an other type class
`LawfulDayConvolutionBraidedCategoryStruct` that bundles an associator isomorphism that behaves like the one constructed for functors in #27067.
We provide a noncomputable constructor for this typeclass that takes as input fullness of the "realization" functor to a category of functors, and we show that the typeclasses are sufficient to define the desired structures.
---
- [x] depends on: #27067
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
826/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Braided.lean |
2 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
241-84265 7 months ago |
unknown |
unknown |
| 27119 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): constructors for closed monoidal day convolution monoidal structures |
Following the pattern introduced in #26798 and #26820 and using results of #26879, we introduce a typeclass
`LawfulDayConvolutionClosedMonoidalCategoryStruct` that encodes the data needed on a `LawfulDayConvolutionMonoidalCategoryStruct` to define well-behaved internal homs. We give a constructor assuming existence of relevant ends, and prove that this data defines a `MonoidalClosed` instance on the monoidal category structures one can deduce from `LawfulDayConvolutionMonoidalCategoryStruct`.
---
- [x] depends on: #27079
- [x] depends on: #27091
- [x] depends on: #26879
- [x] depends on: #26820
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
900/9 |
Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/Closed.lean |
2 |
6 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
241-11716 7 months ago |
unknown |
unknown |
| 28623 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): minor additions and simplification of proofs |
Add new theorems and simplify proofs.
Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`.
For each other 'family' of theorems in the file that is analogous to the above, we do the following
- Simplify proofs where possible, e.g. by appealing to the new theorems
- Complete the family, if any of the corresponding four are missing
- Rename to ensure consistency with the above pattern
---
|
merge-conflict
t-logic
new-contributor
|
83/55 |
Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
12 |
['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
awainverse assignee:awainverse |
241-5577 7 months ago |
unknown |
unknown |
| 26154 |
ADedecker author:ADedecker |
refactor: add refactored APIs for algebraic filter bases |
This PR continues the work from #18437.
Original PR: https://github.com/leanprover-community/mathlib4/pull/18437 |
merge-conflict
t-topology
|
651/0 |
Mathlib.lean,Mathlib/Topology/Algebra/FilterBasis.lean,Mathlib/Topology/Algebra/FilterBasisNew.lean,Mathlib/Topology/Algebra/Nonarchimedean/Bases.lean,Mathlib/Topology/Algebra/Nonarchimedean/BasesNew.lean |
5 |
3 |
['ADedecker', 'github-actions', 'mathlib4-merge-conflict-bot'] |
PatrickMassot assignee:PatrickMassot |
235-17821 7 months ago |
unknown |
unknown |
| 29330 |
plp127 author:plp127 |
chore: define `Fin.cycleIcc` with conditions |
Redefine `Fin.cycleIcc` using conditionals instead of composing existing `Fin` operations together. Its worst-case runtime drops from O(n) to O(1). As a bonus, the definition no longer needs explaining.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-group-theory
|
61/68 |
Mathlib/GroupTheory/Perm/Fin.lean |
1 |
10 |
['JovanGerb', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'tb65536'] |
nobody |
226-29418 7 months ago |
unknown |
unknown |
| 21950 |
erdOne author:erdOne |
feat(NumberTheory/Padics): the completion of `ℚ` at a finite place is `ℚ_[p]` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-number-theory
|
253/1 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/NumberTheory/Padics/HeightOneSpectrum.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroMulInt.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean |
7 |
33 |
['Ruben-VandeVelde', 'erdOne', 'faenuccio', 'github-actions', 'leanprover-community-bot-assistant', 'pechersky', 'smmercuri', 'xroblot'] |
nobody |
224-4528 7 months ago |
unknown |
unknown |
| 27214 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Shapes/Pullback/Categorical): Categorical pullback squares |
In this PR, we give the definition and first basic properties of categorical pullback squares.
Using our previous work on `CategoricalPullback`, we define a typeclass `CatPullbackSquare T L R B` that asserts that a given `CatCommSq T L R B` is a "pullback square": this is the data of a chosen adjoint equivalence to the canonical functor from the top left corner of the square to the categorical pulback of its leg. Using this equivalence, be derive a universal property for functors from `X`with values in the top left corner of the square: they are equivalent to `CatCommSqOver R B X`, the category of categorical commutative squares over the cospan `R, B` with top left corner `X`.
We prove some coherence result for this equivalence, most notably an isomorphism that, given `S : CatCommSqOver R B X`, bundles the two commutative triangles formed by the induced functor, and the coherence between the squares that these isomorphisms satisfy: this is conveniently bundled in the data of a single isomorphisms of `CatCommSqOver R B X`.
Finally, we provide a `Prop`-class `IsCatPullbackSquare` that merely asserts the existence (via `Nonempty`) of the relevant data: we show that it is tautotogically equivalent to the propopsition that the canonical functor to the categorical pullback is an equivalence.
---
- [ ] depends on: #26679
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
786/1 |
Mathlib.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/Square.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
220-81010 7 months ago |
unknown |
unknown |
| 26466 |
robin-carlier author:robin-carlier |
feat(AlgebraicTopology/SimplexCategory/Augmented): the canonical monoid object in the augmented simplex category |
Show that in the augmented simplex category, `⦋0⦌` is an internal monoid object.
Future work will show that this is in fact the universal monoid object: for any monoidal category `C`, evaluation at `⦋0⦌` induces an equivalence of categories between `Mon_ C` and the category of monoidal functors from `AugmentedSimplexCategory` to `C`. The resulting augmented cosimplicial object one gets from this construction is sometimes called the "monoidal bar construction" attached to a monoid.
This PR was split from #25743.
---
- [ ] depends on: #25743
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-topology
t-category-theory
|
571/111 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Basic.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Mon_.lean,Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean,Mathlib/AlgebraicTopology/SimplexCategory/Basic.lean |
6 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
220-14012 7 months ago |
unknown |
unknown |
| 26578 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Limits/Pullbacks/Categorical/CatCospanTransform): adjunctions of categorical cospans |
We build upon the bicategory-like structure developed in #26447 and #26412 to define the notion of adjunctions of categorical cospans. This is a structure encoding the data of two `CatCospanTransform`s, along with the usual unit and counit morphisms as part of the data, satisfying the usual left and right triangle identities. We provide basic API for these, such as extracting adjunctions between individual components. We also provide a proof that the notion satisfies a "coherence": with our chosen constructor, the forward direction of the structure `CatCommSq` on the left adjoints correspond to the inverse of the square for the right adjoints through `mateEquiv`.
These adjunctions will be used as a substrate for defining equivalences of categorical cospans in a future PR: such an equivalence will be a structure extending a `CatCospanAdjunction` with isomorphisms data on the unit and co-unit (we will however provide alternative constructors in sync with the constructor for equivalences of categories).
---
- [x] depends on: #26447
- [x] depends on: #26547
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
large-import
|
205/0 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/Categorical/CatCospanTransform.lean |
1 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
219-17237 7 months ago |
unknown |
unknown |
| 23621 |
astrainfinita author:astrainfinita |
chore: deprecate `LinearOrderedComm{Monoid, Group}WithZero` |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #20676
|
merge-conflict
t-algebra
t-order
label:t-algebra$ |
261/205 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/LinearOrderWithPosMulPosEqZero.lean,Mathlib/Algebra/Order/Field/Canonical.lean,Mathlib/Algebra/Order/Field/Rat.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Ring/Nat.lean,Mathlib/Combinatorics/Additive/PluenneckeRuzsa.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Basic.lean,Mathlib/Data/ENNReal/Basic.lean,Mathlib/Data/NNRat/Lemmas.lean,Mathlib/Data/NNReal/Defs.lean,Mathlib/Data/Rat/Cast/Order.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/FieldTheory/RatFunc/AsPolynomial.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/NumberTheory/EllipticDivisibilitySequence.lean,Mathlib/NumberTheory/FunctionField.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/ExtendToLocalization.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/Minpoly.lean,Mathlib/RingTheory/Valuation/Quotient.lean,Mathlib/RingTheory/Valuation/RankOne.lean,Mathlib/RingTheory/Valuation/ValExtension.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean,Mathlib/Topology/Algebra/Valued/NormedValued.lean,Mathlib/Topology/Algebra/Valued/ValuationTopology.lean,Mathlib/Topology/Algebra/Valued/ValuedField.lean,Mathlib/Topology/Algebra/Valued/WithVal.lean,Mathlib/Topology/Algebra/WithZeroTopology.lean,Mathlib/Topology/UnitInterval.lean,MathlibTest/instance_diamonds.lean,scripts/noshake.json |
44 |
24 |
['YaelDillies', 'astrainfinita', 'github-actions', 'grunweg', 'leanprover-bot', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
kbuzzard assignee:kbuzzard |
215-85352 7 months ago |
unknown |
unknown |
| 27990 |
kckennylau author:kckennylau |
feat(Counterexamples): a nontrivial valuation with discrete topology |
This file constructs a valuation on `K[X]` satisfying `IsValuativeTopology K[X] ∧ Nonempty (valuation K[X]).RankOne ∧ IsNontrivial K[X] ∧ DiscreteTopology K[X]`, and proves that `IsValuativeTopology F ∧ IsNontrivial F ∧ DiscreteTopology F` is not possible if `F` is a field.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
172/0 |
Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean |
2 |
14 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] |
nobody |
208-1083 6 months ago |
unknown |
unknown |
| 28132 |
dupuisf author:dupuisf |
feat: preliminary `grind` tags for `IsUnit` |
This PR adds preliminary `grind` tags for the `IsUnit` predicate.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
61/17 |
Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/Units/Basic.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean |
6 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
184-64081 6 months ago |
unknown |
unknown |
| 26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26713
- [x] depends on: #26826
|
merge-conflict
t-algebra
t-number-theory
t-analysis
label:t-algebra$ |
211/27 |
Mathlib.lean,Mathlib/Analysis/Normed/ValuativeRel.lean,Mathlib/Topology/Algebra/Valued/ValuativeRel.lean |
3 |
34 |
['ADedecker', 'adamtopaz', 'erdOne', 'github-actions', 'kbuzzard', 'kckennylau', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
kbuzzard assignee:kbuzzard |
177-6285 5 months ago |
unknown |
unknown |
| 22662 |
plp127 author:plp127 |
feat: Localization.Away.lift (computably) |
This PR adds `Localization.Away.lift'` and `Localization.Away.lift`, computable alternatives to `Localization.awayLift`.
---
- [x] depends on: #24791
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
74/0 |
Mathlib/RingTheory/Localization/Away/Basic.lean |
1 |
18 |
['eric-wieser', 'github-actions', 'grunweg', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
kim-em assignee:kim-em |
170-28944 5 months ago |
unknown |
unknown |
| 24850 |
pechersky author:pechersky |
feat(Topology/UniformSpace/Ultra): uniform spaces induced by pseudometrics are ultra if system is ultra |
Any uniform space has a natural system of pseudometrics definable on it,
comprised of those pseudometrics constructed from a descending chain of
equivalence relation entourages. In a nonarchimedean uniformity, this pseudometric system
induces the uniformity.
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #23111 |
merge-conflict
t-topology
|
509/1 |
Mathlib.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/UniformSpace/Ultra/Pseudometrizable.lean |
3 |
9 |
['ADedecker', 'fpvandoorn', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'pechersky'] |
urkud assignee:urkud |
170-28772 5 months ago |
unknown |
unknown |
| 26914 |
quangvdao author:quangvdao |
feat(Data/PFunctor/Univariate): more definitions for univariate `PFunctor` |
This PR defines several basic definitions of `PFunctor`, including zero, one, constants, monomials, coproduct (sum), product, sigma, pi, tensor product, universe lifting, and equivalence.
We also add: (1) simple lemmas connecting the basic definitions, (2) an automatically derived ext lemma for `PFunctor` via `@[ext]` attribute
Some things I'm not clear on:
- I define `HAdd` and `HMul` instances for coproduct and product of poly functors having different universe levels. Should I also define `Add` and `Mul` instances for poly functors having the same universe level?
- Is it ok to define notation for tensor product, i.e. `@[inherit_doc] scoped infixr:80 " ⊗ " => tensor`? I'm worried it might clash with other notation.
- Need a double-check on the priority of notation.
Some future definitions to add:
- Various equivalences arising from arithmetic identities, e.g., `P + 0 ≃ₚ P`.
- Definitions of Lenses and Charts (each of them will be a file or even a folder)
- Exponential objects (corresponding to both `prod` and `tensor`)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
144/5 |
Mathlib/Data/PFunctor/Univariate/Basic.lean |
1 |
20 |
['alexkeizer', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'quangvdao'] |
eric-wieser assignee:eric-wieser |
170-28250 5 months ago |
unknown |
unknown |
| 28125 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics): basic definition of simplicial complexes |
This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean.
---
This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one.
We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. |
merge-conflict
t-combinatorics
new-contributor
|
374/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
170-27945 5 months ago |
unknown |
unknown |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
6 |
['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
170-27792 5 months ago |
unknown |
unknown |
| 29526 |
llllvvuu author:llllvvuu |
feat: `Multiset.map f` identifies `f` up to permutation |
Motivation: Reason about `Fintype`-indexed families via `Multiset` equality.
Example use case 1:
```lean
theorem Matrix.IsHermitian.cfc_eigenvalues {d : Type*} [Fintype d] [DecidableEq d]
{M : Matrix d d 𝕜} (hM : M.IsHermitian) (f : ℝ → ℝ)
(hcfc : Matrix.IsHermitian (cfc f M) := cfc_predicate f M) :
∃ (e : d ≃ d), hcfc.eigenvalues = f ∘ hM.eigenvalues ∘ e := by
have := hcfc.roots_charpoly_eq_eigenvalues.symm
rw [hM.charpoly_cfc_eq f, Polynomial.roots_prod] at this; swap
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
have he := (Multiset.compTriple_equivOfMapUnivEq this).comp_eq
simp_rw [← Function.comp_def RCLike.ofReal, ← Function.comp_def f, Function.comp_assoc] at he
exact ⟨_, RCLike.ofReal_injective.comp_left he.symm⟩
```
Example use case 2 (on top of https://github.com/leanprover-community/mathlib4/pull/29610):
```lean
theorem LinearMap.Eigenbasis.μ_equiv {ι ι' R G : Type*} [Fintype ι] [Fintype ι']
[CommRing R] [IsDomain R] [AddCommGroup G] [Module R G] [Module.Free R G] [Module.Finite R G]
{f : Module.End R G} (B₁ : f.Eigenbasis ι) (B₂ : f.Eigenbasis ι') :
∃ e : ι ≃ ι', B₁.μ = B₂.μ ∘ e := by
classical
have := congr(Polynomial.roots $(B₁.charpoly_eq.symm.trans B₂.charpoly_eq))
rw [Polynomial.roots_prod, Polynomial.roots_prod] at this; rotate_left
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
· simp [Finset.prod_ne_zero_iff, Polynomial.X_sub_C_ne_zero]
simp_rw [Polynomial.roots_X_sub_C, Multiset.bind_singleton] at this
exact ⟨Multiset.equivOfMapUnivEq this, (Multiset.compTriple_equivOfMapUnivEq this).comp_eq.symm⟩
```
Co-authored-by: Aristotle Harmonic
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
|
35/0 |
Mathlib/Data/Multiset/Fintype.lean |
1 |
9 |
['Ruben-VandeVelde', 'github-actions', 'llllvvuu', 'mathlib4-merge-conflict-bot', 'vihdzp', 'wwylele'] |
pechersky assignee:pechersky |
170-27754 5 months ago |
unknown |
unknown |
| 29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
170-27158 5 months ago |
unknown |
unknown |
| 31356 |
adomani author:adomani |
feat: add inspect-like functions |
Produces a tree-like formatting for `Syntax`, `Expr` and `InfoTree`. Especially for the `InfoTree`s, there are *many* parts of it that do not get printed.
For instance, this is how the `InfoTree`s of `set_option linter.missingDocs true` get printed:
```lean
inspectIT
set_option linter.missingDocs true
/-
commandCtx
|-Info.ofCommandInfo: Lean.Elab.Command.elabSetOption, 'set_option…gDocs true'
| |-Info.ofCompletionInfo.CompletionInfo.option 'set_option…issingDocs'
| |-Info.ofOptionInfo: linter.missingDocs, Linter.linter.missingDocs
-/
```
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
|
720/0 |
Mathlib.lean,Mathlib/Util/Inspect.lean,MathlibTest/Inspect.lean |
3 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
kim-em assignee:kim-em |
170-22179 5 months ago |
unknown |
unknown |
| 6993 |
jjaassoonn author:jjaassoonn |
feat: lemmas about `AddMonoidAlgebra.{divOf, modOf}` |
---
- [x] depends on: #7582
- [x] depends on: #8975
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
147/3 |
Mathlib/Algebra/MonoidAlgebra/Division.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/MvPolynomial/Basic.lean,Mathlib/Data/MvPolynomial/CommRing.lean,Mathlib/Data/MvPolynomial/Division.lean |
5 |
42 |
['YaelDillies', 'alreadydone', 'digama0', 'eric-wieser', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
170-1103 5 months ago |
unknown |
unknown |
| 9339 |
FMLJohn author:FMLJohn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): given a finitely generated homogeneous ideal of a graded semiring, construct a finite spanning set for the ideal which only contains homogeneous elements |
---
- [ ] depends on: #8187
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
402/4 |
Mathlib.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/Module/GradeZeroModule.lean,Mathlib/RingTheory/Finiteness.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean,Mathlib/RingTheory/GradedAlgebra/Noetherian.lean |
8 |
11 |
['FMLJohn', 'github-actions', 'jjaassoonn', 'leanprover-community-mathlib4-bot'] |
nobody |
170-1056 5 months ago |
unknown |
unknown |
| 10349 |
Shamrock-Frost author:Shamrock-Frost |
refactor(CategoryTheory/MorphismProperty): some clean-ups |
We make explicit some of the galois connections/closure operators in the existing MorphismProperty file, rewrite some proofs to take advantage of these structures, and change map/inverseImage by (1) swapping their argument order, for consistency with Set.range and Set.preimage and (2) making "map" perform the strict, evil map while "essMap" (previously called map) forms the closure of the image under isomorphisms. Finally we add `IsMultiplicative` instances for isos/epis/monos, with an eye towards constructing the wide subcategory on these classes of maps.
---
- [x] depends on: #10347
- [x] depends on: #10348
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
474/318 |
Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/Localization/LocalizerMorphism.lean,Mathlib/CategoryTheory/MorphismProperty.lean,Mathlib/Data/Set/Lattice.lean,Mathlib/Order/Closure.lean,Mathlib/Order/Hom/Basic.lean,Mathlib/Order/Hom/CompleteLattice.lean,Mathlib/Order/RelIso/Basic.lean |
8 |
1 |
['leanprover-community-mathlib4-bot'] |
nobody |
170-1014 5 months ago |
unknown |
unknown |
| 26890 |
robin-carlier author:robin-carlier |
feat(CategoryTheory/Monoidal/DayConvolution): more API for `DayFunctor` |
We provide some lemmas that helps characterizing the monoidal structure on `DayFunctor`, they are special cases of the lemmas for `LawfulDayConvolutionMonoidalCategoryStruct`.
---
- [x] depends on: #26824
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
|
1372/19 |
Mathlib.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution/DayFunctor.lean |
4 |
5 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
170-406 5 months ago |
unknown |
unknown |
| 24016 |
plp127 author:plp127 |
feat: fine uniformity |
Adds the fine uniformity, and proves some properties.
---
- [ ] depends on: #24096 for showing the induced topology is equal on completely regular spaces
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
283/0 |
Mathlib.lean,Mathlib/Topology/UniformSpace/FineUniformity.lean,Mathlib/Topology/UniformSpace/Uniformizable.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
164-47173 5 months ago |
unknown |
unknown |
| 26912 |
pechersky author:pechersky |
chore(Algebra/Ring/Subring): simp tag `Subring.smul_def` |
s-multiplying by a subtype is easiest to manipulate when both terms are in the ambient type. Many places that had to use the _def lemma for a rewrite, or to include it in a simp set, no longer have to.
Ported from #25308
---
[](https://gitpod.io/from-referrer/)
I found this being not-simp frustrating when talking about submodules over a valuation subring. |
merge-conflict
t-algebra
label:t-algebra$ |
67/66 |
Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Exact.lean,Mathlib/Algebra/Module/LocalizedModule/IsLocalization.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/MultipleTransitivity.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfFixingSubgroup.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/OfStabilizer.lean,Mathlib/LinearAlgebra/RootSystem/Irreducible.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/RingTheory/Etale/Kaehler.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/LocalProperties/Projective.lean,Mathlib/RingTheory/Localization/InvSubmonoid.lean,Mathlib/RingTheory/OreLocalization/Basic.lean |
25 |
26 |
['artie2000', 'eric-wieser', 'github-actions', 'j-loreaux', 'kckennylau', 'leanprover-bot', 'leanprover-radar', 'linesthatinterlace', 'mathlib4-merge-conflict-bot', 'pechersky'] |
joelriou assignee:joelriou |
143-59957 4 months ago |
unknown |
unknown |
| 30375 |
sinhp author:sinhp |
feat(CategoryTheory): Basics of Locally Cartesian Closed Categories |
Supersedes https://github.com/leanprover-community/mathlib4/pull/22321
This PR defines locally cartesian closed categories in terms of existence of the pushforward functors (right adjoint to the pullback functor) for all morphisms. We develop basic API and prove the following:
1. Existence of the pushforward functors is equivalent to cartesian closed slices.
2. Any locally cartesian closed category with a terminal object is cartesian closed.
3. The slices of a locally cartesian closed category are locally cartesian closed.
---
- [ ] depends on: #31033
- [ ] depends on: #30373
- [ ] depends on: #31332
[](https://gitpod.io/from-referrer/)
|
t-category-theory
merge-conflict
|
703/0 |
Mathlib.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Basic.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ExponentiableMorphism.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Sections.lean |
5 |
9 |
['Jlh18', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sinhp'] |
nobody |
122-81358 4 months ago |
unknown |
unknown |
| 33126 |
CoolRmal author:CoolRmal |
feat: function composition preserves boundedness |
This PR adds the following theorem: if the range of a function `g` is bounded above, then `g ∘ f` is bounded above for
all functions `f`.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
12/0 |
Mathlib/Order/Bounds/Basic.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
bryangingechen assignee:bryangingechen |
112-4409 3 months ago |
unknown |
unknown |
| 29587 |
uniwuni author:uniwuni |
feat(GroupTheory/Finiteness): define finitely generated semigroups |
We define finitely generated semigroups and basics similarly to monoids and groups and prove that semigroups and monoids remain finitely generated when a congruence is quotiented out. This will be important when further developing semigroup theory.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-group-theory
|
259/14 |
Mathlib/Algebra/Group/Submonoid/Defs.lean,Mathlib/GroupTheory/Finiteness.lean |
2 |
4 |
['github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'uniwuni'] |
dupuisf assignee:dupuisf |
110-15978 3 months ago |
unknown |
unknown |
| 29014 |
ShreckYe author:ShreckYe |
feat(Data/List/Scan): some theorems that relate `scanl` with `foldl` |
I am not sure which is the best form of `getElem_scanl_eq_foldl_take` here, so I added several alternative forms. Feel free to remove any of them if necessary. |
merge-conflict
t-data
|
35/0 |
Mathlib/Data/List/Scan.lean |
1 |
15 |
['ShreckYe', 'github-actions', 'mathlib4-merge-conflict-bot', 'themathqueen', 'vlad902'] |
pechersky assignee:pechersky |
105-81602 3 months ago |
unknown |
unknown |
| 16074 |
Rida-Hamadani author:Rida-Hamadani |
feat: combinatorial maps and planar graphs |
We define combinatorial maps, then we define planar graph using combinatorial maps.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
|
243/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Planar.lean,Mathlib/Data/CombinatorialMap.lean |
3 |
29 |
['MrBrain295', 'Parcly-Taxel', 'Rida-Hamadani', 'github-actions', 'lambda-fairy', 'leanprover-community-bot-assistant'] |
kmill assignee:kmill |
97-44177 3 months ago |
unknown |
unknown |
| 9820 |
jjaassoonn author:jjaassoonn |
feat(RingTheory/GradedAlgebra/HomogeneousIdeal): generalize to homogeneous submodule |
The definitions, constructions and theorems in `HomogeneousIdeal.lean` are generalized to a homogeneous submodules.
So say $R$ is a ring and $M \cong \bigoplus_{i} M_i$ is an $R$-module. Then a homogeneous $R$-submodule of $M$ is an $R$-submodule $N$ such that for all $i$ and $n \in N$, $n_i \in N$. Note that this notion doesn't actually require $R$ to be graded and $M$ is a graded module. But for more interesting lemmas, we do need that $M$ is graded $R$-module. We bake the fact $R$ is graded into the definition of homogeneous submodule, otherwise, `CompleteLattice HomogeneousSubmodule` cannot find the order of synthesis (the proof depends on that $R$ is graded)
All definitions/constructions/theorems have a copy for ideals as well, this is to make sure dot notation still works.
The motivation of this generalization is graded quotient module
---
- [x] depends on:#18728
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
516/185 |
Mathlib/Algebra/Module/GradedModule.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Ideal.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Submodule.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,scripts/nolints_prime_decls.txt |
7 |
3 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
88-21631 2 months ago |
unknown |
unknown |
| 34931 |
eric-wieser author:eric-wieser |
perf: make TensorProduct.lift irreducible with a unification hint |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
6/2 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
7 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
erdOne assignee:erdOne |
84-76051 2 months ago |
unknown |
unknown |
| 33020 |
FormulaRabbit81 author:FormulaRabbit81 |
chore(Topology): Deprecate file |
---
- [x] depends on: #30851 deprecation
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
82/49 |
Mathlib/Topology/Compactness/HilbertCubeEmbedding.lean,Mathlib/Topology/MetricSpace/HausdorffAlexandroff.lean,Mathlib/Topology/MetricSpace/PiNat.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
82-52662 2 months ago |
unknown |
unknown |
| 33281 |
michelsol author:michelsol |
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. |
Add the integral of the derivative of arcsin and its integrability.
---
- [ ] depends on: #33280
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
t-analysis
|
59/0 |
Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
82-21456 2 months ago |
unknown |
unknown |
| 34156 |
zcyemi author:zcyemi |
feat(Analysis/Convex/Between): add lemmas on convex combination of mem simplex interior |
---
I add three lemmas of convex combinations preserving membership in the interior of a simplex.
And also open a zulip thread [#mathlib4 > Best place for convex combination and simplex interior](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Best.20place.20for.20convex.20combination.20and.20simplex.20interior/with/568558406)
deps:
- [ ] depends on: #33852 |
t-analysis
merge-conflict
|
170/0 |
Mathlib/Analysis/Convex/Between.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
81-83773 2 months ago |
unknown |
unknown |
| 25980 |
Multramate author:Multramate |
refactor(Algebra/Group/Submonoid/Operations): rename restrict to domRestrict and add restrict |
And update the documentation for consistency |
t-group-theory
merge-conflict
|
145/123 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
14 |
10 |
['Multramate', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
79-57901 2 months ago |
unknown |
unknown |
| 25981 |
Multramate author:Multramate |
feat(GroupTheory/GroupAction/Basic): define homomorphisms of fixed subgroups induced by homomorphisms of groups |
This PR continues the work from #10126.
Original PR: https://github.com/leanprover-community/mathlib4/pull/10126 |
t-group-theory
large-import
merge-conflict
|
218/144 |
Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Ring/Action/Submonoid.lean,Mathlib/GroupTheory/FiniteAbelian/Duality.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/MonoidLocalization/Basic.lean,Mathlib/GroupTheory/MonoidLocalization/Maps.lean,Mathlib/GroupTheory/MonoidLocalization/MonoidWithZero.lean,Mathlib/GroupTheory/PGroup.lean,Mathlib/GroupTheory/QuotientGroup/Basic.lean,Mathlib/GroupTheory/Transfer.lean,Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/RingTheory/Localization/Defs.lean |
16 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
79-57900 2 months ago |
unknown |
unknown |
| 33795 |
alreadydone author:alreadydone |
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces |
---
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
418/143 |
Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/Geometry/Manifold/Sheaf/Smooth.lean,Mathlib/Logic/Equiv/Basic.lean,Mathlib/Topology/Sheaves/LocalPredicate.lean,Mathlib/Topology/Sheaves/Sheafify.lean,Mathlib/Topology/Sheaves/Stalks.lean |
6 |
12 |
['adamtopaz', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
adamtopaz assignee:adamtopaz |
79-35534 2 months ago |
unknown |
unknown |
| 34674 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions |
* Add `WithTop` versions of basic multiplicative order lemmas.
* Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs.
* Fix a typo in the `pos_of_ne_zero` alias name. |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
46/15 |
Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
3 |
5 |
['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
Ruben-VandeVelde assignee:Ruben-VandeVelde |
79-15404 2 months ago |
unknown |
unknown |
| 33746 |
ster-oc author:ster-oc |
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API |
This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
353/145 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
3 |
8 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] |
joelriou assignee:joelriou |
74-32302 2 months ago |
unknown |
unknown |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
223/100 |
Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
2 |
21 |
['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
PhoenixIra and vihdzp assignee:PhoenixIra assignee:vihdzp |
69-69036 2 months ago |
unknown |
unknown |
| 26942 |
pechersky author:pechersky |
feat(RingTheory/Valuation/ValueGroupIso): isomorphism of value groups when compatible |
and also to the ValuativeRel's value group
by request from comment in
https://github.com/leanprover-community/mathlib4/pull/26754#issuecomment-3051770901
- [ ] depends on: #26588
---
[](https://gitpod.io/from-referrer/)
- [x] depends on: #26939
- [x] depends on: #26940
- [x] depends on: #26941 |
merge-conflict
t-ring-theory
t-order
|
299/3 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/RingTheory/Valuation/ValueGroupIso.lean |
6 |
10 |
['faenuccio', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'pechersky'] |
faenuccio assignee:faenuccio |
67-13217 2 months ago |
unknown |
unknown |
| 14712 |
astrainfinita author:astrainfinita |
perf: change instance priority and order about `OfNat` |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
slow-typeclass-synthesis
t-algebra
label:t-algebra$ |
49/20 |
Mathlib/Algebra/Group/Nat.lean,Mathlib/Algebra/Group/ZeroOne.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Data/BitVec.lean,Mathlib/Data/Nat/Cast/Defs.lean,Mathlib/Data/Rat/Defs.lean,Mathlib/Data/UInt.lean,Mathlib/NumberTheory/ArithmeticFunction.lean |
9 |
26 |
['MichaelStollBayreuth', 'astrainfinita', 'eric-wieser', 'fpvandoorn', 'github-actions', 'j-loreaux', 'leanprover-bot', 'mathlib-bors'] |
nobody |
63-12322 2 months ago |
unknown |
unknown |
| 17627 |
hrmacbeth author:hrmacbeth |
feat: universal properties of vector bundle constructions |
Characterizations for the smoothness of maps into the total spaces of (1) the direct sum of two vector bundles; (2) the pullback of a vector bundle.
This gap in the library was exposed by #17358.
---
- [x] depends on: #22804
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-differential-geometry
|
311/9 |
Mathlib/Data/Bundle.lean,Mathlib/Geometry/Manifold/VectorBundle/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Pullback.lean,Mathlib/Topology/FiberBundle/Constructions.lean |
4 |
26 |
['PatrickMassot', 'fpvandoorn', 'github-actions', 'grunweg', 'hrmacbeth', 'j-loreaux', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib4-dependent-issues-bot', 'sgouezel'] |
grunweg assignee:grunweg |
63-12310 2 months ago |
unknown |
unknown |
| 27534 |
PierreQuinton author:PierreQuinton |
feat: a typeclass for `sSup`/`sInf` to be lawful |
Adds lawful infima and suprema type classes.
A preorder with lawful suprema: whenever a set has a least upper bound, `sSup` returns a least upper bound for that set.
A preorder with lawful infima: whenever a set has a greatest lower bound, `sInf` returns a greastest lower bound for that set.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-order
|
121/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/LawfulSupInf.lean |
3 |
26 |
['PierreQuinton', 'YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127', 'vihdzp'] |
nobody |
54-83413 1 month ago |
unknown |
unknown |
| 35042 |
JovanGerb author:JovanGerb |
chore: remove `meta` form `import Mathlib.Tactic...` |
This PR cleans up some imports of the form `import Mathlib.Tactic...`, by either removing them entirely, or removing the `meta` keyword. It should never be necessary to `meta import` a file from `Mathlib.Tactic`, because the relevant definitions should already have been marked as `meta`.
The motivation is to reduce the amount of files that are `meta` imported when writing e.g. `import Mathlib`, hence reducing the amount of stuff that needs to be loaded. There are more other `meta import`s that need to be removed, but this PR is a good start.
---
[](https://gitpod.io/from-referrer/)
|
large-import
merge-conflict
|
61/142 |
Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/Data/List/ChainOfFn.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/GroupTheory/GroupAction/Defs.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyFun.lean,Mathlib/Tactic/ArithMult.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Bicategory/Normalize.lean,Mathlib/Tactic/CategoryTheory/Bicategory/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/CategoryTheory/Coherence/Basic.lean,Mathlib/Tactic/CategoryTheory/Coherence/Normalize.lean,Mathlib/Tactic/CategoryTheory/Coherence/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/Elementwise.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Tactic/Choose.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DefEqTransformations.lean,Mathlib/Tactic/DeriveCountable.lean,Mathlib/Tactic/DeriveFintype.lean,Mathlib/Tactic/DeriveTraversable.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/Explode.lean,Mathlib/Tactic/Explode/Pretty.lean,Mathlib/Tactic/FinCases.lean,Mathlib/Tactic/FunProp.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/GRewrite/Elab.lean,Mathlib/Tactic/Group.lean,Mathlib/Tactic/IrreducibleDef.lean,Mathlib/Tactic/Lift.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linarith/Lemmas.lean,Mathlib/Tactic/Linarith/Oracle/FourierMotzkin.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/Gauss.lean,Mathlib/Tactic/Linarith/Oracle/SimplexAlgorithm/SimplexAlgorithm.lean,Mathlib/Tactic/Linarith/Preprocessing.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Tactic/LinearCombination/Lemmas.lean,Mathlib/Tactic/Linter/DeprecatedSyntaxLinter.lean,Mathlib/Tactic/Linter/DocPrime.lean,Mathlib/Tactic/Linter/DocString.lean,Mathlib/Tactic/Linter/EmptyLine.lean,Mathlib/Tactic/Linter/FlexibleLinter.lean,Mathlib/Tactic/Linter/GlobalAttributeIn.lean,Mathlib/Tactic/Linter/HashCommandLinter.lean,Mathlib/Tactic/Linter/Multigoal.lean,Mathlib/Tactic/Linter/OldObtain.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,Mathlib/Tactic/Linter/UnusedTactic.lean,Mathlib/Tactic/Linter/UnusedTacticExtension.lean,Mathlib/Tactic/MinImports.lean,Mathlib/Tactic/MoveAdd.lean,Mathlib/Tactic/Nontriviality/Core.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Order.lean,Mathlib/Tactic/Order/CollectFacts.lean,Mathlib/Tactic/Order/Graph/Tarjan.lean,Mathlib/Tactic/PNatToNat.lean,Mathlib/Tactic/Peel.lean,Mathlib/Tactic/ProdAssoc.lean,Mathlib/Tactic/ProxyType.lean,Mathlib/Tactic/Push.lean,Mathlib/Tactic/Qify.lean,Mathlib/Tactic/RSuffices.lean,Mathlib/Tactic/Ring/Basic.lean,Mathlib/Tactic/Ring/Common.lean,Mathlib/Tactic/Ring/Compare.lean,Mathlib/Tactic/Ring/PNat.lean,Mathlib/Tactic/Simproc/Divisors.lean,Mathlib/Tactic/Simproc/FinsetInterval.lean,Mathlib/Tactic/Simps/Basic.lean,Mathlib/Tactic/Subsingleton.lean,Mathlib/Tactic/TacticAnalysis/Declarations.lean,Mathlib/Tactic/TautoSet.lean,Mathlib/Tactic/Translate/Core.lean,Mathlib/Tactic/Translate/TagUnfoldBoundary.lean,Mathlib/Tactic/Widget/Calc.lean,Mathlib/Tactic/Widget/CommDiag.lean,Mathlib/Tactic/Widget/CongrM.lean |
107 |
9 |
['JovanGerb', 'dupuisf', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
robin-carlier assignee:robin-carlier |
53-25558 1 month ago |
unknown |
unknown |
| 35213 |
kim-em author:kim-em |
chore: use @[to_dual] in ConditionallyCompleteLattice |
This PR adds `@[to_dual]` annotations across all `ConditionallyCompleteLattice` files: `Defs`, `Basic`, `Indexed`, `Finset`, and `Group`. Auto-generates dual theorems and deletes hand-written versions. (Absorbs the former PR #35212.)
[Diff relative to #35209](https://github.com/kim-em/mathlib4/compare/kim/to-dual-complete-lattice...kim/to-dual-ccl-extended)
- [ ] depends on: #35209
- [ ] depends on: #35211
🤖 Prepared with Claude Code |
merge-conflict
LLM-generated
|
189/485 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
49-748 1 month ago |
unknown |
unknown |
| 35215 |
kim-em author:kim-em |
chore: use @[to_dual] in FixedPoints |
This PR adds `@[to_dual]` annotations to 14 theorems about `lfp` in `Order/FixedPoints.lean`, auto-generating their `gfp` duals and deleting the hand-written versions. Also registers `OrderHom.lfp` as the dual of `OrderHom.gfp` via `attribute [to_dual existing]`.
Auto-generated duals include: `le_gfp`, `gfp_le_fixed`, `gfp_le`, `gfp_le_map`, `map_gfp`, `isFixedPt_gfp`, `map_le_gfp`, `isGreatest_gfp_le`, `isGreatest_gfp`, `gfp_induction`, `map_gfp_comp`, `gfp_gfp`, `map_inf_fixedPoints_le`, `map_sInf_subset_fixedPoints_le`.
[Diff relative to #35208](https://github.com/kim-em/mathlib4/compare/kim/to-dual-bounds-basic...kim/to-dual-fixed-points)
- [x] depends on: #35208
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
|
249/548 |
Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/FixedPoints.lean,Mathlib/Order/GaloisConnection/Basic.lean,Mathlib/Order/Interval/Set/Disjoint.lean,Mathlib/Topology/Order.lean |
8 |
11 |
['JovanGerb', 'github-actions', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
alexjbest assignee:alexjbest |
48-82385 1 month ago |
unknown |
unknown |
| 32918 |
michelsol author:michelsol |
feat: define `supEdist` and `supDist` |
Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later.
[zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) |
t-topology
new-contributor
merge-conflict
|
75/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean |
2 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] |
nobody |
48-5380 1 month ago |
unknown |
unknown |
| 36165 |
Parcly-Taxel author:Parcly-Taxel |
chore: deprecate `Nat.strongRec(On)'` |
In favour of Batteries's `Nat.strongRec` for definitions and `Nat.strong_induction_on` for proofs. |
t-data
merge-conflict
|
34/66 |
Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Data/Int/GCD.lean,Mathlib/Data/Nat/Factorization/Induction.lean,Mathlib/Data/Nat/Init.lean,Mathlib/Data/Set/Finite/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic.lean,Mathlib/Topology/EMetricSpace/Paracompact.lean |
8 |
6 |
['JovanGerb', 'MichaelStollBayreuth', 'Parcly-Taxel', 'Vierkantor', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
Vierkantor assignee:Vierkantor |
42-78509 1 month ago |
unknown |
unknown |
| 31595 |
astrainfinita author:astrainfinita |
chore: redefine `Ideal.IsPrime` |
Redefine `Ideal.IsPrime` to make it correct for non-commutative cases
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
333/100 |
Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Radical.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Basic.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Noetherian.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/Ideal/Operations.lean,Mathlib/RingTheory/Ideal/Over.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/Ideal/Prod.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/IsPrimary.lean,Mathlib/RingTheory/Localization/AtPrime/Basic.lean,Mathlib/RingTheory/Localization/Ideal.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean,Mathlib/RingTheory/Valuation/Basic.lean |
22 |
33 |
['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
40-38519 1 month ago |
unknown |
unknown |
| 11964 |
adamtopaz author:adamtopaz |
feat: The functor of points of a scheme |
We construct the functor of points functor, and prove that it's full and faithful.
---
- [x] depends on: #11947
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/FunctorOfPoints.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean |
3 |
4 |
['github-actions', 'grunweg'] |
nobody |
35-16753 1 month ago |
unknown |
unknown |
| 33434 |
astrainfinita author:astrainfinita |
chore: redefine `Finsupp.indicator` using `Finsupp.onFinset` |
---
[](https://gitpod.io/from-referrer/)
|
t-data
merge-conflict
|
6/17 |
Mathlib/Data/Finsupp/Indicator.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
28-70051 28 days ago |
unknown |
unknown |
| 35802 |
xroblot author:xroblot |
feat(RamificationInertia): splitting in the decomposition field |
---
- [x] depends on: #35798
- [ ] depends on: #35405
- [x] depends on: #35371
[](https://gitpod.io/from-referrer/)
|
t-number-theory
large-import
merge-conflict
|
279/4 |
Mathlib/NumberTheory/RamificationInertia/Basic.lean,Mathlib/NumberTheory/RamificationInertia/HilbertTheory.lean,Mathlib/RingTheory/FiniteType.lean,Mathlib/RingTheory/Finiteness/Basic.lean |
4 |
5 |
['github-actions', 'joneugster', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
28-1467 28 days ago |
unknown |
unknown |
| 6777 |
adomani author:adomani |
chore(Co*variantClass): replace eta-expanded (· * ·), (· + ·), (· ≤ ·), (· < ·) |
Replace `CovariantClass X X (· * ·) (· ≤ ·)` with -> `CovariantClass X X HMul.hMul LE.le` and similarly for `HAdd`, `LT`, `Contravariant`.
This PR is inspired by [Issue #6646](https://github.com/leanprover-community/mathlib4/issues/6646) and, more specifically, [this comment](https://github.com/leanprover-community/mathlib4/issues/6646#issuecomment-1692792066).
Note that https://github.com/leanprover/lean4/pull/2267 would make this unnecessary
---
```bash
# First sed command:
# the first captured pattern is `Co*variantClass `
# the second captured pattern is ``
# the third captured pattern is `+` or `*`
# the fourth captured pattern is `<` or `≤`
# a match for `Co*variantClass (· ·) (· ·)` becomes
# `Co*variantClass replaceop replaceop`
# Second sed command: similar to the first, but looks for `(Function.swap (· ·))`
sed -i '
s=\(Co[ntra]*variantClass \(..*\) \2 \)(· *\([+*]\) *·) (· *\([<≤]\) *·)=\1replaceop\3 replaceop\4=g
s=\(Co[ntra]*variantClass \(..*\) \2 \)(\([Functio\.swap ]*\)(· *\([+*]\) *·)) (· *\([<≤]\) *·)=\1(\3replaceop\4) replaceop\5=g
s=replaceop+=HAdd.hAdd=g
s=replaceop\*=HMul.hMul=g
s=replaceop<=LT.lt=g
s=replaceop≤=LE.le=g
s=\(Co[ntra]*variantClass N N\) (· \* ·) r=\1 HMul.hMul r=g
s=\(Co[ntra]*variantClass N N (swap μ)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass N N\) (swap (· \* ·)) r=\1 (swap HMul.hMul) r=g
s=\(CovariantClass (Filter α) (Filter α)\) (· / ·) (· ≤ ·)=\1 HDiv.hDiv LE.le=g
s=\(CovariantClass (Filter α) (Filter α)\) (swap (· / ·)) (· ≤ ·)=\1 (swap HDiv.hDiv) LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· ≤ ·)=\1 LE.le=g
s=\(Co[ntra]*variantClass .* (fun x y .> . \* .)\) (· < ·)=\1 LT.lt=g
s=\(Co[ntra]*variantClass [^}]*\) (· ≤ ·)=\1 LE.le=g
s=\(CovariantClass .* (Filter β)\) (· • ·) LE.le=\1 HSMul.hSMul LE.le=g
' $(git ls-files '*.lean')
```
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
703/678 |
Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean,Mathlib/Algebra/BigOperators/Basic.lean,Mathlib/Algebra/Bounds.lean,Mathlib/Algebra/CovariantAndContravariant.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/Group/UniqueProds.lean,Mathlib/Algebra/GroupPower/Order.lean,Mathlib/Algebra/MonoidAlgebra/Degree.lean,Mathlib/Algebra/Order/Archimedean.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/Defs.lean,Mathlib/Algebra/Order/Group/DenselyOrdered.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/OrderIso.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Interval.lean,Mathlib/Algebra/Order/Kleene.lean,Mathlib/Algebra/Order/LatticeGroup.lean,Mathlib/Algebra/Order/Module.lean,Mathlib/Algebra/Order/Monoid/Basic.lean,Mathlib/Algebra/Order/Monoid/Cancel/Defs.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Lemmas.lean,Mathlib/Algebra/Order/Monoid/MinMax.lean,Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Algebra/Order/Monoid/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Prod.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithZero/Basic.lean,Mathlib/Algebra/Order/Monoid/WithZero/Defs.lean,Mathlib/Algebra/Order/Nonneg/Ring.lean,Mathlib/Algebra/Order/Pointwise.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/Algebra/Order/Ring/Lemmas.lean,Mathlib/Algebra/Order/Sub/Basic.lean,Mathlib/Algebra/Order/Sub/Canonical.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Order/WithZero.lean,Mathlib/Algebra/Parity.lean,Mathlib/Algebra/Star/Order.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Normed/Order/Lattice.lean,Mathlib/Data/DFinsupp/Lex.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Lex.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/List/BigOperators/Basic.lean,Mathlib/Data/List/BigOperators/Lemmas.lean,Mathlib/Data/Multiset/Basic.lean,Mathlib/Data/Nat/Cast/Order.lean,Mathlib/Data/PNat/Basic.lean,Mathlib/Data/Real/ENNReal.lean,Mathlib/Data/Real/NNReal.lean,Mathlib/Data/Set/Semiring.lean,Mathlib/Data/Sign.lean,Mathlib/MeasureTheory/Function/LpOrder.lean,Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/VectorMeasure.lean,Mathlib/Order/ConditionallyCompleteLattice/Group.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Martingale/Basic.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/GradedAlgebra/Basic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Game/Basic.lean,Mathlib/SetTheory/Game/PGame.lean,Mathlib/SetTheory/Ordinal/Arithmetic.lean,Mathlib/SetTheory/Ordinal/Basic.lean,Mathlib/SetTheory/Ordinal/NaturalOps.lean,Mathlib/Tactic/GCongr/Core.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Topology/ContinuousFunction/Algebra.lean,lean-toolchain,test/Recall.lean,test/propose.lean |
81 |
37 |
['adomani', 'alreadydone', 'digama0', 'eric-wieser', 'ericrbg', 'jcommelin', 'leanprover-bot', 'sgouezel', 'vihdzp'] |
nobody |
21-42687 21 days ago |
unknown |
unknown |
| 37530 |
mcdoll author:mcdoll |
fix(Topology/Algebra): fix bad simps and make arguments implicit for `PointwiseConvergenceCLM` |
We delete all `simps` calls in the definitions of operators on `PointwiseConvergenceCLM` and replace them with `apply_apply` lemmas that do not abuse the defeq between `SLₚₜ` and `SL`. This made the linter discover some typeclass duplications, which we remove by restructuring the file.
As a consequence of the new `simp` lemmas, we can remove all `set_option backward.isDefEq.respectTransparency false in` in `Analysis.Distribution.TemperedDistribution`.
Moreover, we make several arguments implicit, which can be inferred in almost all practical situations.
---
[](https://gitpod.io/from-referrer/)
|
not-ready-to-merge
merge-conflict
|
88/69 |
Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Topology/Algebra/Module/Spaces/PointwiseConvergenceCLM.lean |
2 |
5 |
['github-actions', 'jcommelin', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
19-32256 19 days ago |
unknown |
unknown |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
merge-conflict
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
19-32255 19 days ago |
unknown |
unknown |
| 37444 |
vihdzp author:vihdzp |
feat: typeclass for zero-dimensional spaces |
---
- [ ] depends on: #37317
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
151/110 |
Mathlib/Topology/Algebra/ClopenNhdofOne.lean,Mathlib/Topology/Category/LightProfinite/Basic.lean,Mathlib/Topology/Category/Profinite/Basic.lean,Mathlib/Topology/Category/Profinite/CofilteredLimit.lean,Mathlib/Topology/Category/Stonean/Basic.lean,Mathlib/Topology/ClopenBox.lean,Mathlib/Topology/Order.lean,Mathlib/Topology/Order/WithTop.lean,Mathlib/Topology/Separation/CompletelyRegular.lean,Mathlib/Topology/Separation/DisjointCover.lean,Mathlib/Topology/Separation/Lemmas.lean,Mathlib/Topology/Separation/Profinite.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean |
13 |
17 |
['ADedecker', 'FernandoChu', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
17-11539 17 days ago |
unknown |
unknown |
| 38239 |
vihdzp author:vihdzp |
chore(Order/SuccPred/Limit): reorganize sections |
In an effort to keep the file better organized, we move theorems which use `SuccOrder`/`PredOrder` as an assumption to a new section.
No theorems have been changed.
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
95/110 |
Mathlib/Order/SuccPred/Limit.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
16-61833 16 days ago |
unknown |
unknown |
| 36236 |
kim-em author:kim-em |
chore: add module keyword to Archive and Counterexamples files |
This PR converts 105 Archive and Counterexamples files to module format, adding `module`, `public import`, and `@[expose] public section`.
Eight files are left unconverted for now:
- Seven files containing `private` declarations that need further work (`Imo1962Q1`, `MiuLanguage/Basic`, `MiuLanguage/DecisionSuf`, `AscendingDescendingSequences`, `BallotProblem`, `AharoniKorman`, `TopologistsSineCurve`)
- `Counterexamples/InvertibleModuleNotIdeal` which needs an import path update
For `Archive/Examples/PropEncodable`, the `private` declarations were removed as part of this conversion.
🤖 Prepared with Claude Code |
IMO
LLM-generated
merge-conflict
|
735/309 |
Archive/Arithcc.lean,Archive/Examples/Eisenstein.lean,Archive/Examples/Kuratowski.lean,Archive/Examples/PropEncodable.lean,Archive/Hairer.lean,Archive/Imo/Imo1959Q1.lean,Archive/Imo/Imo1959Q2.lean,Archive/Imo/Imo1960Q1.lean,Archive/Imo/Imo1960Q2.lean,Archive/Imo/Imo1961Q3.lean,Archive/Imo/Imo1962Q4.lean,Archive/Imo/Imo1963Q5.lean,Archive/Imo/Imo1964Q1.lean,Archive/Imo/Imo1969Q1.lean,Archive/Imo/Imo1972Q5.lean,Archive/Imo/Imo1975Q1.lean,Archive/Imo/Imo1977Q6.lean,Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo1985Q2.lean,Archive/Imo/Imo1986Q5.lean,Archive/Imo/Imo1987Q1.lean,Archive/Imo/Imo1988Q6.lean,Archive/Imo/Imo1994Q1.lean,Archive/Imo/Imo1997Q3.lean,Archive/Imo/Imo1998Q2.lean,Archive/Imo/Imo2001Q2.lean,Archive/Imo/Imo2001Q3.lean,Archive/Imo/Imo2001Q4.lean,Archive/Imo/Imo2001Q5.lean,Archive/Imo/Imo2001Q6.lean,Archive/Imo/Imo2002Q3.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2005Q4.lean,Archive/Imo/Imo2006Q3.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2008Q3.lean,Archive/Imo/Imo2008Q4.lean,Archive/Imo/Imo2010Q5.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2011Q5.lean,Archive/Imo/Imo2013Q1.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2015Q6.lean,Archive/Imo/Imo2019Q1.lean,Archive/Imo/Imo2019Q2.lean,Archive/Imo/Imo2019Q4.lean,Archive/Imo/Imo2020Q2.lean,Archive/Imo/Imo2021Q1.lean,Archive/Imo/Imo2024Q2.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2024Q6.lean,Archive/Imo/Imo2025Q3.lean,Archive/Kuratowski.lean,Archive/MinimalSheffer.lean,Archive/OxfordInvariants/Summer2021/Week3P1.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/AreaOfACircle.lean,Archive/Wiedijk100Theorems/BirthdayProblem.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/FriendshipGraphs.lean,Archive/Wiedijk100Theorems/HeronsFormula.lean,Archive/Wiedijk100Theorems/InverseTriangleSum.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Archive/Wiedijk100Theorems/PerfectNumbers.lean,Archive/Wiedijk100Theorems/SolutionOfCubicQuartic.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Archive/ZagierTwoSquares.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CharPZeroNeCharZero.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/Cyclotomic105.lean,Counterexamples/DimensionPolynomial.lean,Counterexamples/DirectSumIsInternal.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/EulerSumOfPowers.lean,Counterexamples/Girard.lean,Counterexamples/HeawoodUnitDistance.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/IrrationalPowerOfIrrational.lean,Counterexamples/MapFloor.lean,Counterexamples/MonicNonRegular.lean,Counterexamples/Motzkin.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/PeanoCurve.lean,Counterexamples/Phillips.lean,Counterexamples/PolynomialIsDomain.lean,Counterexamples/Pseudoelement.lean,Counterexamples/QuadraticForm.lean,Counterexamples/SeminormLatticeNotDistrib.lean,Counterexamples/SeparableNotSecondCountable.lean,Counterexamples/SorgenfreyLine.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
97 |
9 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
dwrensha assignee:dwrensha |
14-61664 14 days ago |
unknown |
unknown |
| 37461 |
grunweg author:grunweg |
chore: golf using the field tactic |
---
In the spirit of #31314.
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
32/43 |
Counterexamples/NowhereDifferentiable.lean,Mathlib/Analysis/Calculus/Monotone.lean,Mathlib/Analysis/Complex/BorelCaratheodory.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Analysis/SpecialFunctions/Complex/LogBounds.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/NumberTheory/ModularForms/Discriminant.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Defs.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/MDifferentiable.lean,Mathlib/NumberTheory/ModularForms/QExpansion.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Hilbert90.lean,Mathlib/RingTheory/PowerSeries/Exp.lean,Mathlib/Topology/UnitInterval.lean |
20 |
5 |
['github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
14-61537 14 days ago |
unknown |
unknown |
| 37774 |
weisbrja author:weisbrja |
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs |
[#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
merge-conflict
|
6/1 |
Mathlib/Logic/Function/Basic.lean |
1 |
8 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] |
nobody |
10-75165 10 days ago |
unknown |
unknown |
| 33478 |
anishrajeev author:anishrajeev |
feat(ModelTheory): define a subset of the topology over complete types |
Define a subset of the Stone Space over a language expanded with countably many constants. Define the proposition to indicate if a language is countable. The subset's density and openness is a future goal to prove (have a branch where it is almost finished), in pursuit of formalizing the proof of the Omitting Types Theorem via properties of Baire spaces.
- [ ] depends on: #32215
- [ ] depends on: #32546 |
t-logic
merge-conflict
new-contributor
|
160/1 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
8 |
['NoneMore', 'anishrajeev', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
8-82090 8 days ago |
unknown |
unknown |
| 35043 |
winstonyin author:winstonyin |
refactor(Analysis/ODE): restate existence and uniqueness using integral curve API |
* Create `Mathlib/Analysis/ODE/ExistUnique.lean` to collect existence and uniqueness results for ODEs stated in terms of the integral curve API (`IsIntegralCurve`, `IsIntegralCurveOn`, `IsIntegralCurveAt`).
* Move and restate the Picard-Lindelöf existence theorems from `PicardLindelof.lean` and the $C^1$ vector field results using `IsIntegralCurveOn`/`IsIntegralCurveAt` instead of raw `HasDerivWithinAt`/`HasDerivAt`.
* Move and restate the Grönwall-based uniqueness theorems from `Gronwall.lean` using `IsIntegralCurveOn` with half-open intervals (`Ico`/`Ioc`) instead of `HasDerivWithinAt … (Ici t)`/`HasDerivWithinAt … (Iic t)`.
* Rename uniqueness theorems to use dot notation on the integral curve types (e.g. `ODE_solution_unique_of_mem_Icc_right` becomes `IsIntegralCurveOn.eqOn_Icc_right`).
* Add `IsIntegralCurveOn.eqOn_inter`: if two integral curves on preconnected sets `I` and `J` agree at a point in both sets, they agree on `I ∩ J`.
* Add deprecation aliases for all renamed lemmas.
- [ ] depends on: #29186
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
421/308 |
Mathlib.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,docs/1000.yaml,docs/undergrad.yaml |
7 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mcdoll'] |
sgouezel assignee:sgouezel |
8-65005 8 days ago |
unknown |
unknown |
| 36740 |
euprunin author:euprunin |
chore: golf using `grind` |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `AlgebraicGeometry.Scheme.isBasis_affineOpens`: unchanged 🎉
* `SimpleGraph.Walk.takeUntil_eq_take`: 263 ms before, 180 ms after 🎉
* `SimpleGraph.Walk.dropUntil_eq_drop`: 382 ms before, 261 ms after 🎉
* `Int.image_Ico_emod`: unchanged 🎉
* `Equiv.Perm.ofSubtype_swap_eq`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
7/33 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Data/Int/Interval.lean,Mathlib/GroupTheory/Perm/Support.lean |
4 |
8 |
['artie2000', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
8-64628 8 days ago |
unknown |
unknown |
| 37603 |
Parcly-Taxel author:Parcly-Taxel |
refactor: review of `SetSemiring` |
* Rename `Set.up` and `SetSemiring.down` to `SetSemiring.ofSet` and `SetSemiring.toSet` respectively. Unprotect both and make them equivalences, following `FreeMonoid`.
* Derive `CompleteAtomicBooleanAlgebra` for `SetSemiring` immediately.
* Add `imageHom_id` and `imageHom_comp`. The three existing lemmas about `imageHom` are coalesced into `imageHom_apply`.
Ultimately inspired by https://github.com/leanprover-community/mathlib4/pull/36934#issuecomment-4183475568. |
maintainer-merge
merge-conflict
|
120/165 |
Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Data/Set/Semiring.lean |
2 |
42 |
['Parcly-Taxel', 'YaelDillies', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
nobody |
8-56018 8 days ago |
unknown |
unknown |
| 38328 |
astrainfinita author:astrainfinita |
feat: `OrderSupSet` |
This PR introduces `OrderSupSet` and `OrderInfSet`, which are typeclasses expressing that `sSup` (resp., `sInf`) returns the least upper bound (resp., the greatest lower bound) of a set whenever one exists.
This allows us to prove properties about the `sSup` of specific sets (such as `∅`, singletons, finite sets, and `univ`) without any typeclasses asserting the existence of LUBs. For example, `sSup ∅ = ⊥` holds for any type equipped with `OrderBot` `OrderSupSet`, no longer requiring typeclasses like `ConditionallyCompleteLinearOrderBot`.
For a general set `s`, this gives a uniform way to extend results about `IsLUB s a → motive a` to `motive (sSup s)`, `motive (⨆ i, f i)`, `motive (a ⊔ b)`, etc., which allows proof reuse for basic API such as [`csSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ConditionallyCompleteLattice/Basic.html#csSup_insert), [`iSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#iSup_insert), and [`sSup_insert`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/CompleteLattice/Basic.html#sSup_insert) and downstream code like [`csSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#csSup_add), [`sSup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Pointwise/CompleteLattice.html#sSup_add), and [`sup_add`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Group/Lattice.html#sup_add).
Furthermore, this allows us to refactor incrementally, reducing the dependency of results about various completeness typeclasses on the specific implementation of `sSup`.
---
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/Any.20infimum.20based.20version.20of.20.60OmegaCompletePartialOrder.60.3F)
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
156/73 |
Mathlib/MeasureTheory/OuterMeasure/Induced.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/UniformSpace/OfCompactT2.lean |
7 |
16 |
['JovanGerb', 'astrainfinita', 'b-mehta', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'openendings', 'vihdzp'] |
nobody |
8-56002 8 days ago |
unknown |
unknown |
| 38329 |
jcommelin author:jcommelin |
chore: tighten down public/exposed API of AlgebraicClosure |
This PR tightens down the API of AlgebraicClosure,
by making few parts of FieldTheory/IsAlgClosed/AlgebraicClosure.lean
public and/or exposed.
We still need to expose the main definition.
It would be great if we can unexpose it in the future.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
73/53 |
Mathlib/Algebra/Lie/TraceForm.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/Differential/Liouville.lean,Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean,Mathlib/ModelTheory/Algebra/Field/IsAlgClosed.lean,Mathlib/RingTheory/Discriminant.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/Norm/Transitivity.lean,Mathlib/RingTheory/Trace/Basic.lean |
9 |
26 |
['eric-wieser', 'github-actions', 'jcommelin', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'riccardobrasca'] |
nobody |
8-56001 8 days ago |
unknown |
unknown |
| 37819 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas |
This is a modification of #34093. See #34093 for details.
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
337/10 |
Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean |
6 |
5 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
7-39226 7 days ago |
unknown |
unknown |
| 36863 |
artie2000 author:artie2000 |
refactor(Algebra/Order/Ring/Ordering): unbundle `RingPreordering` |
The current design for [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) ran into issues at PR #32077. This PR unbundles [RingPreordering](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Order/Ring/Ordering/Defs.html#RingPreordering) into a class predicate on [Subsemiring](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Ring/Subsemiring/Defs.html#Subsemiring), generalising the material on supports as far as possible.
Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Ring.20orderings.20-.20structure.20or.20predicate.3F/with/562594050
See #37298 for the analogous change to group and ring cones.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
merge-conflict
label:t-algebra$ |
455/87 |
Mathlib.lean,Mathlib/Algebra/Order/Ring/Ordering/Basic.lean,Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/Algebra/Ring/Subsemiring/Support.lean |
4 |
14 |
['artie2000', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] |
eric-wieser assignee:eric-wieser |
3-61218 3 days ago |
unknown |
unknown |
| 35210 |
kim-em author:kim-em |
chore: use @[to_dual] in CompleteLattice extras and Set.Lattice |
This PR uses `@[to_dual]` to auto-generate dual theorems in `Order.CompleteLattice.Lemmas`, `Order.CompleteLattice.Finset`, and `Data.Set.Lattice`, deleting hand-written dual versions.
[Diff relative to previous PR](https://github.com/kim-em/mathlib4/compare/kim/to-dual-complete-lattice...kim/to-dual-complete-lattice-extras)
- [ ] depends on: #35209
🤖 Prepared with Claude Code |
LLM-generated
merge-conflict
|
37/94 |
Mathlib/Data/Set/Lattice.lean,Mathlib/Order/CompleteLattice/Finset.lean,Mathlib/Order/CompleteLattice/Lemmas.lean,Mathlib/Tactic/SetLike.lean |
4 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-23154 3 days ago |
unknown |
unknown |
| 38606 |
dennj author:dennj |
feat: preparation for Vanishing Sum of Roots of Unity |
Adds the Mathlib API extensions needed for an upcoming formalization of the Lam-style classification theorem for vanishing sums of roots of unity.
* Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean
+ `exists_eq_const_of_sum_smul_eq_zero_of_sum_eq_zero_of_linearIndependent`: if `∑ vᵢ = 0` and the first `n-1` of `n` vectors are linearly independent, every linear relation has constant coefficients.
* Mathlib/RingTheory/Radical/NatInt.lean
+ `Nat.totient_eq_div_radical_mul_totient_radical`: Euler's totient splits as `φ(n) = (n / rad n) * φ(rad n)`.
* Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean
+ `IsPrimitiveRoot.sum_range_pow_mul_div_eq_zero_of_dvd`: the `d` evenly-spaced powers of a primitive `k`-th root sum to zero, for `d ∣ k` and `1 < d`.
* Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean (new)
+ `IsPrimitiveRoot.linearDisjoint_adjoin_pow_of_coprime`: cyclotomic subfields of coprime orders are linearly disjoint over `ℚ`.
* Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean (new)
+ `IsPrimitiveRoot.coeffs_eq_of_sum_pow_eq_zero_prime_coprime`: in the cyclotomic field of order `p * m` with `p` prime coprime to `m`, any `ℚ⟮ζ^p⟯`-linear relation among powers of `ζ^m` has all coefficients equal.
---
I need these as preparation to start formalizing the theorem:
Let k be a positive integer. If a finite family of complex k-th roots of unity sums to zero, then the size of the family is a non-negative integer combination of the prime divisors of k.
---
Human-made PR with AI used for golfing and documentation |
new-contributor
merge-conflict
|
219/0 |
Mathlib.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/NumberTheory/Cyclotomic/LinearDisjoint.lean,Mathlib/NumberTheory/Cyclotomic/LinearRelations.lean,Mathlib/RingTheory/Radical/Totient.lean,Mathlib/RingTheory/RootsOfUnity/PrimitiveRoots.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-23135 3 days ago |
unknown |
unknown |
| 38837 |
kbuzzard author:kbuzzard |
feat: add "higher instance priority" library note |
We add a library note explaining the logic in making instances like `Semiring.toModule` higher priority than the default.
---
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #38704 [only because one of the claims in the note is false without it]
|
merge-conflict |
101/15 |
Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean,Mathlib/RingTheory/AdicCompletion/Functoriality.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
3-23118 3 days ago |
unknown |
unknown |
| 34855 |
staroperator author:staroperator |
feat(Order): use `to_dual` for `PFilter` |
This PR redefines `PFilter` to get rid of `OrderDual` and uses `to_dual` to translate theorems. The whole file of `PFilter` is now deprecated.
Some changes:
- To align with `Filter`, the order on `PFilter` is changed to the reversed set inclusion. Ultrafilters, the dual notion of maximal ideals, become minimal in this order.
- `to_dual` does not work on `sequenceOfCofinals`. I left `Order.Cofinal` and the Rasiowa–Sikorski lemma not `to_dual`-ized, and we should move them to a separate file later.
- `IsLEChain` is added to tag `to_dual`.
---
- [x] depends on: #34820
---
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
293/242 |
Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BooleanAlgebra/Defs.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/PFilter.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/PrimeIdeal.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/IdealFilter/Basic.lean,Mathlib/RingTheory/IdealFilter/Topology.lean,Mathlib/Tactic/Translate/ToDual.lean |
13 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-60848 1 day ago |
1-60849 1 day ago |
12-21732 12 days |
| Number |
Author |
Title |
Description |
Labels |
+/- |
Modified files (first 100) |
📝 |
💬 |
All users who commented or reviewed |
Assignee(s) |
Updated |
Last status change |
total time in review |
| 14563 |
awueth author:awueth |
feat: if-then-else of exclusive or statement |
---
If `¬(P ∧ Q)` then `ite (P ∨ Q) a 1 = (ite P a 1) * (ite Q a 1)`
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
5/0 |
Mathlib/Algebra/Group/Basic.lean |
1 |
3 |
['eric-wieser', 'github-actions', 'kim-em'] |
nobody |
631-19342 1 year ago |
unknown |
unknown |
| 12751 |
Command-Master author:Command-Master |
feat: add lemmas for Nat/Bits, Nat/Bitwise and Nat/Size |
Remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
66/7 |
Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Nat/Size.lean |
4 |
26 |
['Command-Master', 'Rida-Hamadani', 'Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'jcommelin'] |
nobody |
627-4251 1 year ago |
unknown |
unknown |
| 15121 |
Eloitor author:Eloitor |
feat: iff theorems for IsSplitEpi and IsSplitMono in opposite category |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-category-theory
new-contributor
|
40/0 |
Mathlib/CategoryTheory/EpiMono.lean |
1 |
3 |
['github-actions', 'joelriou', 'mattrobball'] |
nobody |
613-65486 1 year ago |
unknown |
unknown |
| 14242 |
js2357 author:js2357 |
feat: Prove equivalence of `isDedekindDomain` and `isDedekindDomainDvr` |
Prove that `isDedekindDomainDvr` is equivalent to both `isDedekindDomain` and `isDedekindDomainInv`.
Specifically, prove `isDedekindDomainDvr A → isDedekindDomainInv A`, because `isDedekindDomain A → isDedekindDomainDvr A` and `IsDedekindDomain A ↔ IsDedekindDomainInv A` are already in Mathlib.
- [x] depends on: #14099
- [x] depends on: #14216
- [ ] depends on: #14237
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
269/1 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
4 |
2 |
['github-actions', 'leanprover-community-mathlib4-bot'] |
nobody |
590-76545 1 year ago |
unknown |
unknown |
| 16887 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define conjunctive and disjunctive formulas |
Defines `FirstOrder.Language.BoundedFormula.IsConjunctive` and `FirstOrder.Language.BoundedFormula.IsDisjunctive`.
---
- [ ] depends on: #16885
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
300/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
582-72523 1 year ago |
unknown |
unknown |
| 16888 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Define conjunctive and disjunctive normal forms |
Define `FirstOrder.Language.BoundedFormula.IsDNF` and `FirstOrder.Language.BoundedFormula.IsCNF`.
---
- [ ] depends on: #16887
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
415/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
582-72523 1 year ago |
unknown |
unknown |
| 16889 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): Normal forms |
Defines `FirstOrder.Language.BoundedFormula.toDNF` and `FirstOrder.Language.BoundedFormula.toCNF` - given a quantifier-free formula, these construct a semantically equivalent formula in disjunctive normal form and conjunctive normal form, respectively.
---
- [ ] depends on: #16888
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-logic
|
525/7 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
582-72522 1 year ago |
unknown |
unknown |
| 14619 |
Command-Master author:Command-Master |
chore: Merge `Trunc` to `Squash` |
Remove `Trunc` and use `Squash` instead
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
|
197/211 |
Mathlib/CategoryTheory/EpiMono.lean,Mathlib/CategoryTheory/Preadditive/Biproducts.lean,Mathlib/Data/DFinsupp/Basic.lean,Mathlib/Data/Fintype/Basic.lean,Mathlib/Data/Fintype/Card.lean,Mathlib/Data/Fintype/Option.lean,Mathlib/Data/Fintype/Perm.lean,Mathlib/Data/Fintype/Quotient.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Semiquot.lean,Mathlib/GroupTheory/Perm/Cycle/Factors.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/Logic/Equiv/List.lean |
13 |
3 |
['Command-Master', 'github-actions', 'vihdzp'] |
nobody |
573-32673 1 year ago |
unknown |
unknown |
| 12750 |
Command-Master author:Command-Master |
feat: define Gray code |
---
Define binary reflected gray code, both as a permutation of `Nat` and as a permutation of `BitVec n`, and prove some theorems about them. Additionally, remove `@[simp]` from `Nat.bit_false` and `Nat.bit_true`, as `bit0` and `bit1` are deprecated, and add some lemmas to `Bits`, `Bitwise` and `Size`.
- [ ] depends on: #12751
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-data
new-contributor
merge-conflict
awaiting-author
|
226/0 |
Mathlib.lean,Mathlib/Data/Nat/Bits.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/GrayCode.lean,Mathlib/Data/Nat/Size.lean |
5 |
5 |
['Rida-Hamadani', 'alreadydone', 'github-actions', 'grunweg', 'leanprover-community-mathlib4-bot'] |
nobody |
565-8780 1 year ago |
unknown |
unknown |
| 14598 |
Command-Master author:Command-Master |
chore: add typeclasses to unify various `add_top`, `add_eq_top`, etc. |
Add the four typeclasses `IsTopAbsorbing`, `IsBotAbsorbing`, `NoTopSum`, `NoBotSum`, as additive equivalents for `MulZeroClass` and `NoZeroDivisors`. Add instances of these for `ENNReal`, `WithTop α`, `WithBot α`, `PUnit`, `EReal`, `PartENat`, `Measure`, `Interval` and `Filter`.
Also split `Algebra/Order/AddGroupWithTop` to `Algebra/Order/Group/WithTop` and `Algebra/Order/Monoid/WithTop`
---
Previous usages of lemmas with quantified names like `WithTop.add_top` have to be changed to just `add_top`.
`add_lt_top` is `@[simp]`, in accordance with `ENNReal.add_lt_top` being `@[simp]`. This affects `WithTop.add_lt_top` which previously hadn't been `@[simp]`.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
t-order
new-contributor
label:t-algebra$ |
264/195 |
Archive/Wiedijk100Theorems/BallotProblem.lean,Mathlib.lean,Mathlib/Algebra/Order/Group/WithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Canonical.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Monoid/WithTop.lean,Mathlib/Algebra/PUnitInstances/Order.lean,Mathlib/Algebra/Polynomial/Degree/Definitions.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/Tropical/Basic.lean,Mathlib/Analysis/Analytic/Meromorphic.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/NormedSpace/ENorm.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/ENNRealLog.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Basic.lean,Mathlib/Data/Nat/PartENat.lean,Mathlib/Data/Nat/WithBot.lean,Mathlib/Data/Real/EReal.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL1.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean,Mathlib/MeasureTheory/Function/LpSpace.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/Bochner.lean,Mathlib/MeasureTheory/Integral/MeanInequalities.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean,Mathlib/MeasureTheory/Integral/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean,Mathlib/MeasureTheory/Measure/Regular.lean,Mathlib/MeasureTheory/Measure/Typeclasses.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Martingale/Convergence.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/NoZeroDivisors.lean,Mathlib/RingTheory/UniqueFactorizationDomain.lean,Mathlib/Topology/EMetricSpace/Defs.lean,Mathlib/Topology/MetricSpace/Bounded.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/Lipschitz.lean |
57 |
30 |
['Command-Master', 'YaelDillies', 'github-actions'] |
nobody |
548-37056 1 year ago |
unknown |
unknown |
| 16885 |
metinersin author:metinersin |
feat(ModelTheory/Complexity): define literals |
Defines `FirstOrder.Language.BoundedFormula.IsLiteral` and `FirstOrder.Language.BoundedFormula.simpleNot` - an auxiliary operation that takes the negation of a formula and does some simplification.
---
- [x] depends on: #16800
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
148/5 |
Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/Equivalence.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
20 |
['YaelDillies', 'awainverse', 'github-actions', 'mathlib4-dependent-issues-bot', 'metinersin'] |
nobody |
545-79577 1 year ago |
unknown |
unknown |
| 13248 |
hcWang942 author:hcWang942 |
feat: basic concepts of auction theory |
## Description
Formalise some core concepts and results in auction theory: this includes definitions for first-price and second-price auctions, as well as several fundamental results and helping lemmas.
This is the very first PR of the project formalizing core concepts and results in auction theory.
Our group is working on more contributions on the formalization of game theory prefix.
Co-authored-by: Ma Jiajun
## Reference
Roughgarden, Tim. ***Twenty Lectures on Algorithmic Game Theory***. Cambridge University Press, 2020. [Link](https://www.cambridge.org/core/books/twenty-lectures-on-algorithmic-game-theory/A9D9427C8F43E7DAEF8C702755B6D72B)
---
- [x] Will depend on #14163 once that PR is merged. The Fintype lemmas introduced by this PR have been added in that PR and will be removed from here once that PR gets merged
## Current plan for formalization of Game Theory
The current plan for the formalizing of Game Theory include:
#### 1. Auction Theory. 🎉 _(200+ lines, this PR)_
- Essential definitions of Sealed-bid auction, First-price auction and Second-price auction.
- First-price auction has no dominant strategy.
- Second-price auction has dominant strategy. (Second-price auction is DSIC)
#### 2. Mechanism design & Myerson's Lemma. 🎉 (400+ lines, pending for modification to Mathlib Standard)
- Mechanism design
An allocation rule is implementable if there exists
- Dominant Strategy Incentive Compatible (DSIC) payment rule
- An allocation rule is monotone if for every bidder’s gain is nondecreasing w.r.t. her/his bid
- Myerson's Lemma
Implementable ⇔ Monotone
In the above case, the DSIC payment rule is unique.
#### 3. von Neumann‘s Minimax Theorem. 🎉 (800+ lines, pending for modification to Mathlib Standard)
- Equilibrium in zero sum game
- Formalization strategy: via Loomis’s theorem.
#### 4. Nash Equilibrium. 🎉 (pending for modification to Mathlib Standard)
#### 5. Brouwer fixed-point theorem. (Work in Progress)
#### 6. More Mechanism design. (Planning)
|
merge-conflict
awaiting-author
new-contributor
t-logic
|
204/0 |
Mathlib.lean,Mathlib/GameTheory/Auction/Basic.lean,docs/references.bib |
3 |
148 |
['Shreyas4991', 'YaelDillies', 'eric-wieser', 'faenuccio', 'github-actions', 'grunweg', 'hcWang942', 'tb65536', 'urkud', 'vihdzp'] |
hcWang942 assignee:hcWang942 |
541-32009 1 year ago |
unknown |
unknown |
| 19125 |
yhtq author:yhtq |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings |
feat: add theorems to transfer `IsGalois` between pairs of fraction rings.
- [x] depends on: #18404
- [x] depends on: #19124
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
new-contributor
label:t-algebra$ |
121/0 |
Mathlib.lean,Mathlib/FieldTheory/Galois/IsFractionRing.lean,Mathlib/RingTheory/Localization/FractionRing.lean |
3 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'tb65536'] |
nobody |
511-54426 1 year ago |
unknown |
unknown |
| 17739 |
Aaron1011 author:Aaron1011 |
feat(Topology/Order/DenselyOrdered): prove Not (IsOpen) for intervals |
Prove that Iic/Ici/Ioc/Ico/Icc intervals are not open in densely ordered topologies with no min/max element
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
27/0 |
Mathlib/Topology/Order/DenselyOrdered.lean |
1 |
8 |
['github-actions', 'vihdzp'] |
nobody |
477-76438 1 year ago |
unknown |
unknown |
| 15711 |
znssong author:znssong |
feat(Combinatorics/SimpleGraph): Some lemmas about walk, cycle and Hamiltonian cycle |
---
These lemmas are separated from the `meow-sister/BondyChvatal` branch and will be needed for the proof of the Bondy-Chvátal theorem.
- [x] depends on: #15536
- [x] depends on: #16294 |
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
407/3 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean |
4 |
22 |
['Rida-Hamadani', 'YaelDillies', 'github-actions', 'mathlib4-dependent-issues-bot', 'znssong'] |
nobody |
477-9124 1 year ago |
unknown |
unknown |
| 18629 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.merge |
This PR adds the formalization of the runtime complexity of the merge function, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15450
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
186/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean |
3 |
2 |
['github-actions', 'trivial1711'] |
nobody |
476-61443 1 year ago |
unknown |
unknown |
| 18461 |
hannahfechtner author:hannahfechtner |
feat: left and right common multiples mixins |
add mixins for left and right common multiples. These carry the data of what factors are used to create the common multiples
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
78/0 |
Mathlib/Algebra/Group/Defs.lean |
1 |
13 |
['github-actions', 'hannahfechtner', 'jcommelin', 'kbuzzard', 'kim-em', 'trivial1711'] |
nobody |
473-22623 1 year ago |
unknown |
unknown |
| 19291 |
PieterCuijpers author:PieterCuijpers |
feat(Algebra/Order/Hom): add quantale homomorphism |
Definition of quantale homomorphisms as functions that are both semigroup homomorphisms and complete lattice homomorphisms.
---
- [x] depends on: #19810
- [x] depends on: #19811
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
209/0 |
Mathlib.lean,Mathlib/Algebra/Order/Hom/Quantale.lean,scripts/noshake.json |
3 |
29 |
['PieterCuijpers', 'YaelDillies', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot'] |
nobody |
471-83102 1 year ago |
unknown |
unknown |
| 20372 |
jvlmdr author:jvlmdr |
feat(MeasureTheory/Function): Add ContinuousLinearMap.bilinearCompLp(L) |
Introduce ContinuousLinearMap.bilinearCompLp and bilinearCompLpL.
Generalize eLpNorm_le_eLpNorm_mul_eLpNorm theorems to include constant C in bound condition.
---
Expect this may be useful for defining tempered distributions from functions in `L^p`.
The definitions more or less follow `ContinuousLinearMap.compLp...`. Names are loosely analogous to `ContinuousLinearMap.bilinearComp` and `SchwartzMap.bilinLeftCLM`.
Note: I preferred the spelling `hpqr : p⁻¹ + q⁻¹ = r⁻¹` with `f` in `L^p` and `g` in `L^q` to `hpqr : 1 / p = 1 / q + 1 / r`. It's easier to obtain from `ENNReal.IsConjExponent` too.
A few questions:
- [ ] I defined `bilinear{Left,Right}LpL` in addition to `bilinearCompLpL` because `LinearMap.mkContinuous₂` is marked as `noncomputable` and `LinearMap.mkContinuous` is not. Is this worth the extra definitions? (Note: This is not visible in the source due to `noncomputable section`.)
- [ ] Should I use `C : ℝ` instead of `C : NNReal` for `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'`?
- [ ] Is it going to be painful to have `[Fact (1 ≤ p)] [Fact (1 ≤ q)] [Fact (1 ≤ r)]`? I don't think there's a way to avoid it though. Maybe providing specialized versions for `p.IsConjExponent q` with `L^1`?
Naming:
- [ ] Is it satisfactory to add a `'` to the `eLpNorm_le_eLpNorm_mul_eLpNorm ` definitions in `CompareExp.lean` where `≤ ‖f x‖ * ‖g x‖` has been replaced with `≤ C * ‖f x‖ * ‖g x‖`? These could replace the existing theorems, although I don't want to break backwards compatibility. There are 5 instances: `eLpNorm_le_eLpNorm_top_mul_eLpNorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm_top'`, `eLpNorm'_le_eLpNorm'_mul_eLpNorm''`, `eLpNorm_le_eLpNorm_mul_eLpNorm_of_nnnorm'`, `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm'` (I'm not sure why the existing theorem `eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm` has an internal `'`)
- [ ] Is `bilinearLeftLpL` a suitable name? Other options: `bilinearCompLpLeftL`, `bilinearCompLeftLpL`, `bilinLeftLpL` (analogous to `SchwartzMap.bilinLeftCLM`)
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-measure-probability
new-contributor
|
203/40 |
Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Function/LpSpace.lean |
2 |
1 |
['github-actions'] |
nobody |
465-14050 1 year ago |
unknown |
unknown |
| 20248 |
peabrainiac author:peabrainiac |
feat(Topology/Compactness): first-countable locally path-connected spaces are delta-generated |
Shows that all first-countable locally path-connected spaces are delta-generated (so in particular all normed spaces and convex subsets thereof are), and that delta-generated spaces are equivalently generated by the unit interval or standard simplices.
---
- [ ] depends on: #21616
In principle, this should be close to all that's required to show that all simplicial complexes and CW-complexes are delta-generated; I just haven't done it yet because I'm not sure which file to best do it in.
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
large-import
new-contributor
merge-conflict
awaiting-author
t-topology
|
1189/813 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Topology/Algebra/Module/LocallyConvex.lean,Mathlib/Topology/Compactness/DeltaGeneratedSpace.lean,Mathlib/Topology/Connected/LocPathConnected.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/ContinuousOn.lean,Mathlib/Topology/Homotopy/HSpaces.lean,Mathlib/Topology/Path.lean |
9 |
22 |
['YaelDillies', 'github-actions', 'kbuzzard', 'mathlib4-dependent-issues-bot', 'peabrainiac'] |
nobody |
452-57760 1 year ago |
unknown |
unknown |
| 19943 |
AlexLoitzl author:AlexLoitzl |
feat(Computability): Add Chomsky Normal Form Grammar and translation |
- Define Chomsky normal form grammars
- Add language-preserving translation between context-free grammars and Chomsky normal form grammars
Co-authored-by: Martin Dvorak martin.dvorak@matfyz.cz
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
3151/0 |
Mathlib.lean,Mathlib/Computability/ChomskyNormalForm/Basic.lean,Mathlib/Computability/ChomskyNormalForm/EmptyElimination.lean,Mathlib/Computability/ChomskyNormalForm/LengthRestriction.lean,Mathlib/Computability/ChomskyNormalForm/TerminalRestriction.lean,Mathlib/Computability/ChomskyNormalForm/Translation.lean,Mathlib/Computability/ChomskyNormalForm/UnitElimination.lean,Mathlib/Computability/ContextFreeGrammar.lean |
8 |
59 |
['AlexLoitzl', 'YaelDillies', 'github-actions', 'kim-em', 'madvorak'] |
nobody |
448-5459 1 year ago |
unknown |
unknown |
| 21501 |
sksgurdldi author:sksgurdldi |
feat(List): add sum_zipWith_eq_finset_sum |
### **Description:**
This PR adds the lemma `List.sum_zipWith_eq_finset_sum` to `Mathlib.Algebra.BigOperators.Group.Finset.Basic`.
#### **Statement:**
The sum of the `zipWith` operation on two lists equals the sum of applying the operation to corresponding elements of the two lists, indexed over the minimum of their lengths.
#### **Formal Statement:**
```lean
lemma sum_zipWith_eq_finset_sum [Inhabited α] [Inhabited β] [AddCommMonoid γ]
{op : α → β → γ}
(l : List α) (m : List β) :
(List.zipWith op l m).sum =
∑ x ∈ (Finset.range (Nat.min l.length m.length)), op (l[x]!) (m[x]!)
```
#### **Remarks:**
- This lemma provides a useful equivalence between `List.zipWith` and summation over a `Finset.range` indexed by `Nat.min l.length m.length`.
- It can be helpful in algebraic manipulations involving list-based summations.
#### **Dependencies:**
No additional dependencies.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
43/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean |
1 |
1 |
['github-actions', 'j-loreaux'] |
nobody |
442-60630 1 year ago |
unknown |
unknown |
| 21959 |
BGuillemet author:BGuillemet |
feat(Topology/ContinuousMap): Stone-Weierstrass theorem for MvPolynomial |
Add the subalgebra of multivariate polynomials and prove it separates points, on the same model as `ContinuousMap/Polynomial.lean`.
Prove the Stone-Weierstrass theorem and some variations for multivariate polynomials.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
new-contributor
|
285/1 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/MvPolynomial.lean,Mathlib/Topology/ContinuousMap/StoneWeierstrass.lean |
3 |
1 |
['github-actions'] |
nobody |
429-71 1 year ago |
unknown |
unknown |
| 15578 |
znssong author:znssong |
feat(Function): Fixed points of function `f` with `f(x) >= x` |
We added some lemmas of fixed points of function `f` with `f(x) >= x`, where `f : α → α` is a function on a finite type `α`. This will be needed in proof of Bondy-Chvátal theorem.
---
See also branch `meow-sister/BondyChvatal`.
[](https://gitpod.io/from-referrer/) |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
82/0 |
Mathlib.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
3 |
32 |
['Ruben-VandeVelde', 'YaelDillies', 'github-actions', 'urkud', 'vihdzp', 'znssong'] |
nobody |
420-82297 1 year ago |
unknown |
unknown |
| 21018 |
markimunro author:markimunro |
feat(Data/Matrix): add file with key definitions and theorems about elementary row operations |
Prove that each elementary row operation is equivalent to a multiplication by an elementary matrix, has another row operation which inverts it, and that each elementary matrix has a left inverse.
This is a very large PR and I understand it will take time. This is my first one and will likely have issues but I will be ready to answer questions/fix them as soon as possible.
Co-authored-by: Christopher Lynch
---
[](https://gitpod.io/from-referrer/)
|
t-data
enhancement
new-contributor
merge-conflict
awaiting-author
|
1230/0 |
Mathlib.lean,Mathlib/Data/Matrix/ElementaryRowOperations.lean,Mathlib/Data/Matrix/GaussianElimination.lean,Mathlib/Data/Matrix/GaussianEliminationOld,Mathlib/Data/Matrix/oldnames,et --hard 18533caba32,lean-toolchain |
7 |
17 |
['chrisflav', 'eric-wieser', 'github-actions', 'j-loreaux', 'markimunro'] |
nobody |
402-31296 1 year ago |
unknown |
unknown |
| 15212 |
victorliu5296 author:victorliu5296 |
feat: Add fundamental theorem of calculus-2 for Banach spaces |
add the Mean Value Theorem for Banach spaces to the library and include reference for the theorem statement
This theorem states that if `f : X → Y` is differentiable along the line segment from `a` to `b`, then the change in `f` equals the integral of its derivative along this path. This extends the mean value theorem to Banach spaces. This can be used for the eventual proof of the Newton-Kantorovich theorem with 1 constant contained inside the added reference.
Here is the discussion on Zulipchat: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Contributing.20FTC-2.20for.20Banach.20spaces |
t-measure-probability
new-contributor
merge-conflict
awaiting-author
t-analysis
|
60/1 |
Mathlib/MeasureTheory/Integral/FundThmCalculus.lean |
1 |
3 |
['github-actions', 'hrmacbeth', 'victorliu5296'] |
nobody |
397-26285 1 year ago |
unknown |
unknown |
| 22308 |
plp127 author:plp127 |
feat (Analysis/Convex): Generalize `Convex` lemmas to `StarConvex` |
This PR generalizes many lemmas assuming `Convex 𝕜 s` to assume `StarConvex 𝕜 0 s`.
---
- [x] depends on: #22421
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-analysis
new-contributor
|
30/18 |
Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Analysis/Convex/Star.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean |
4 |
5 |
['Paul-Lez', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
394-12205 1 year ago |
unknown |
unknown |
| 21488 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): premonoidal categories |
Add support for premonoidal categories
---
Still want to add support for:
- Premonoidal braided/symmetric categories
- The monoidal coherence theorem, which I've already ported in my `discretion` library
- The `coherence` tactic, which should work fine for premonoidal categories too
but wanted to get this in front of reviewers ASAP to make sure my general approach was alright
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-category-theory
new-contributor
|
900/361 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/CategoryTheory/GradedObject/Monoidal.lean,Mathlib/CategoryTheory/Localization/Monoidal.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Center.lean,Mathlib/CategoryTheory/Monoidal/CoherenceLemmas.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/CategoryTheory/Monoidal/End.lean,Mathlib/CategoryTheory/Monoidal/Free/Basic.lean,Mathlib/CategoryTheory/Monoidal/Functor.lean,Mathlib/CategoryTheory/Monoidal/FunctorCategory.lean,Mathlib/CategoryTheory/Monoidal/Mon_.lean,Mathlib/CategoryTheory/Monoidal/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Transport.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Datatypes.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,MathlibTest/StringDiagram.lean |
21 |
9 |
['YaelDillies', 'github-actions', 'grunweg', 'imbrem', 'kim-em', 'leanprover-community-bot-assistant'] |
nobody |
394-8473 1 year ago |
unknown |
unknown |
| 20873 |
vbeffara author:vbeffara |
feat(Topology/Covering): path lifting and homotopy lifting |
This proves the existence and uniqueness of path and homotopy lifts through covering maps.
---
I tried to separate as much of the proof as possible into separate PRs (which are already in Mathlib now), but the proof here relies on a monolithic construction of an explicit lift along a well-chosen subdivision, in `partial_lift`, with associated definitions. Only one standalone lean file added.
An older WIP PR #10084 by Junyan Xu @alreadydone proves similar results using a very similar construction for path lifting, with a different argument to obtain continuity for homotopy lifting.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-topology
new-contributor
|
281/1 |
Mathlib.lean,Mathlib/Topology/Covering/Basic.lean,Mathlib/Topology/Covering/Lift.lean |
3 |
9 |
['alreadydone', 'github-actions', 'grunweg', 'vbeffara'] |
nobody |
393-11201 1 year ago |
unknown |
unknown |
| 20313 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Data/Complex/Exponential): prove some useful results about the complex exponential. |
This PR proves two basic results about the complex exponential:
* `abs_exp_mul_I (x : ℂ) : abs (Complex.exp (I * x)) = Real.exp (-x.im)`
* `one_sub_rexp_re_le_abs_one_sub_cexp (x : ℂ) : 1 - Real.exp x.re ≤ Complex.abs (1 - Complex.exp x)`
Both results were proved as part of the sphere packing project. There's a chance they're too specific for mathlib, but I thought they were worth PRing anyway. Would it also be a good idea to tag `abs_exp_mul_I` with `simp`? Feedback/suggestions welcome.
Note: `one_sub_rexp_re_le_abs_one_sub_cexp` was proved by Bhavik Mehta @b-mehta
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-analysis
new-contributor
|
167/141 |
Mathlib.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/ERealExp.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev.lean,Mathlib/Data/Complex/Exponential/Defs.lean,Mathlib/Data/Complex/Exponential/Lemmas.lean,Mathlib/Data/Complex/ExponentialBounds.lean,Mathlib/Tactic/FunProp.lean,MathlibTest/Recall.lean,MathlibTest/positivity.lean |
10 |
12 |
['b-mehta', 'github-actions', 'kim-em', 'thefundamentaltheor3m', 'trivial1711'] |
nobody |
385-68799 1 year ago |
unknown |
unknown |
| 20730 |
kuotsanhsu author:kuotsanhsu |
feat(LinearAlgebra/Matrix/SchurTriangulation): prove Schur decomposition/triangulation |
`Matrix.schur_triangulation` shows that a matrix over an algebraically closed field is unitarily similar to an upper triangular matrix
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
317/2 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/SchurTriangulation.lean,Mathlib/Logic/Equiv/Basic.lean |
4 |
14 |
['eric-wieser', 'github-actions', 'kim-em', 'kuotsanhsu'] |
nobody |
385-64931 1 year ago |
unknown |
unknown |
| 22809 |
b-reinke author:b-reinke |
feat: Category algebras and path algebras |
This PR defines the category algebra of a linear category and path algebras of quivers.
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
218/0 |
Mathlib/Algebra/Ring/Assoc.lean,Mathlib/CategoryTheory/Linear/CategoryAlgebra.lean,Mathlib/Combinatorics/Quiver/PathAlgebra.lean,Mathlib/Data/DFinsupp/BigOperators.lean |
4 |
2 |
['b-reinke', 'github-actions'] |
nobody |
370-29370 1 year ago |
unknown |
unknown |
| 15654 |
TpmKranz author:TpmKranz |
feat(Computability): language-preserving maps between NFA and RE |
Map REs to NFAs via Thompson's construction and NFAs to REs using GNFAs
Last chunk of #12648
---
- [ ] depends on: #15651
- [ ] depends on: #15649
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-computability
merge-conflict
awaiting-zulip
|
985/2 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean,Mathlib/Computability/RegularExpressions.lean,Mathlib/Data/FinEnum/Option.lean,docs/references.bib |
7 |
3 |
['github-actions', 'leanprover-community-mathlib4-bot', 'meithecatte'] |
nobody |
367-62049 1 year ago |
unknown |
unknown |
| 24008 |
meithecatte author:meithecatte |
chore(EpsilonNFA): replace manual lemmas with @[simps] |
---
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-author
new-contributor
|
2/24 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
2 |
['YaelDillies', 'github-actions', 'urkud'] |
nobody |
362-21228 11 months ago |
unknown |
unknown |
| 23349 |
BGuillemet author:BGuillemet |
feat: add LocallyLipschitzOn.lipschitzOnWith_of_isCompact and two small lemmas about Lipschitz functions |
Main feat (in Mathlib/Topology/EMetricSpace/Basic.lean): if a function `f` from an extended pseudometric space to a pseudometric space is locally Lipschitz on a compact subset `s`, then `f` is Lipschitz on `s`. The theorem is true only when the codomain of `f` is a pseudometric space, so it needs imports from Mathlib/Topology/MetricSpace.
Other small feat (in Mathlib/Analysis/Calculus/ContDiff/RCLike.lean): a function that is continuously differentiable on an open subset is locally Lipschitz on this subset.
---
- [ ] depends on: #22890
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
large-import
new-contributor
|
59/4 |
Mathlib/Analysis/Calculus/ContDiff/RCLike.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean |
2 |
4 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
PatrickMassot assignee:PatrickMassot |
345-79969 11 months ago |
unknown |
unknown |
| 12799 |
jstoobysmith author:jstoobysmith |
feat(LinearAlgebra/UnitaryGroup): Add properties of Special Unitary Group |
Add properties of the special unitary group, mirroring the properties of found in Algebra/Star/Unitary.lean. In particular, I add an instance of `specialUnitaryGroup` as a `Group`, `Star`, `InvolutiveStar`, and `StarMul`.
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
78/0 |
Mathlib/LinearAlgebra/UnitaryGroup.lean |
1 |
8 |
['chrisflav', 'jcommelin', 'leanprover-community-bot-assistant'] |
nobody |
335-51922 11 months ago |
unknown |
unknown |
| 20334 |
miguelmarco author:miguelmarco |
feat: allow polyrith to use a local Singular/Sage install |
Try to call a local install of Singular (either standalone or inside Sage) to find the witness for polyrith before trying to call the online sage cell server.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-meta
|
171/48 |
Mathlib/Tactic/Polyrith.lean,scripts/polyrith_sage.py |
2 |
16 |
['eric-wieser', 'github-actions', 'hanwenzhu', 'kim-em', 'miguelmarco', 'mkoeppe'] |
nobody |
328-44475 10 months ago |
unknown |
unknown |
| 25218 |
kckennylau author:kckennylau |
feat(AlgebraicGeometry): Tate normal form of elliptic curves |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebraic-geometry
awaiting-zulip
new-contributor
|
291/26 |
Mathlib.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Modular/TateNormalForm.lean,Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean,Mathlib/AlgebraicGeometry/EllipticCurve/VariableChange.lean |
5 |
31 |
['MichaelStollBayreuth', 'Multramate', 'acmepjz', 'github-actions', 'grunweg', 'kckennylau', 'leanprover-community-bot-assistant'] |
nobody |
307-41236 10 months ago |
unknown |
unknown |
| 10190 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add Augmented Simplex Category |
- Added the definition of the category FinLinOrd of finite linear ordered sets.
- Added the definition of the augmented simplex category `AugmentedSimplexCategory`, and showed it is the Skeleton of FinLinOrd.
- Showed that the category of augmented simplicial objects defined as a comma category is equivalent to the category of functors from `AugmentedSimplexCategory^\op`
---
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
WIP
t-category-theory
new-contributor
merge-conflict
|
720/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/AugmentedSimplexCategory.lean,Mathlib/AlgebraicTopology/SimplicialObject.lean,Mathlib/Order/Category/FinLinOrd.lean |
4 |
5 |
['TwoFX', 'YaelDillies', 'joelriou', 'jstoobysmith'] |
nobody |
281-13376 9 months ago |
unknown |
unknown |
| 25238 |
Hagb author:Hagb |
feat(Tactic/ComputeDegree): add support for scalar multiplication with different types |
It would be able to deal with `a • (X : R[X])` where `a : S` is in a different type `S` with `[SMulZeroClass S R]`.
---
- [x] depends on: #25237
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-meta
new-contributor
|
17/5 |
Mathlib/Tactic/ComputeDegree.lean,MathlibTest/ComputeDegree.lean |
2 |
3 |
['github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot'] |
nobody |
277-19567 9 months ago |
unknown |
unknown |
| 18646 |
jxjwan author:jxjwan |
feat(RingTheory): isotypic components |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
308/0 |
Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/RingTheory/Isotypic.lean,Mathlib/RingTheory/SimpleModule.lean |
3 |
1 |
['github-actions'] |
nobody |
276-21588 9 months ago |
unknown |
unknown |
| 20671 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Asymptotics/SpecificAsymptotics): Proving that 𝛔ₖ(n) = O(nᵏ⁺¹) |
This PR proves a result about the $\sigma_k(n)$ arithmetic function, namely, that it is $O\left(n^{k+1}\right)$. Main theorem:
`theorem sigma_asymptotic (k : ℕ) : (fun n ↦ (σ k n : ℝ)) =O[atTop] (fun n ↦ (n ^ (k + 1) : ℝ))`
This result was proved as part of the sphere packing project.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
29/0 |
Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean |
1 |
3 |
['b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
271-25129 8 months ago |
unknown |
unknown |
| 22925 |
ggranberry author:ggranberry |
feat(Mathlib/PlaceHolder/ToeplitzHausdorff): Toeplitz-Hausdorff |
---
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
will-close-soon
awaiting-author
help-wanted
t-analysis
|
411/0 |
Mathlib/PlaceHolder/ToeplitzHausdorff.lean,Mathlib/PlaceHolder/ToeplitzHausdorff_v2.lean |
2 |
11 |
['faenuccio', 'ggranberry', 'github-actions'] |
faenuccio assignee:faenuccio |
268-16999 8 months ago |
unknown |
unknown |
| 20722 |
ctchou author:ctchou |
feat(Counterexamples): the Vitali set is non-measurable |
---
[](https://gitpod.io/from-referrer/)
|
please-adopt
t-measure-probability
new-contributor
merge-conflict
awaiting-author
|
258/3 |
Counterexamples.lean,Counterexamples/VitaliSetNotMeasurable.lean,Mathlib/MeasureTheory/Measure/NullMeasurable.lean,docs/1000.yaml |
4 |
76 |
['ctchou', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
vihdzp assignee:vihdzp |
265-14813 8 months ago |
unknown |
unknown |
| 28502 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): avoid unnecessary uses of choice |
Certain proofs are modified to remove a dependence on the axoim of choice
---
- [ ] depends on: #28623
|
blocked-by-other-PR
new-contributor
merge-conflict
awaiting-author
t-logic
|
83/74 |
Mathlib/Logic/Basic.lean |
1 |
7 |
['Ruben-VandeVelde', 'eric-wieser', 'gilesgshaw', 'github-actions', 'kim-em', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
262-36625 8 months ago |
unknown |
unknown |
| 19582 |
yu-yama author:yu-yama |
feat(GroupExtension/Abelian): define `OfMulDistribMulAction.equivH2` |
Mainly defines:
- `structure GroupExtension.OfMulDistribMulAction N G [MulDistribMulAction G N]`: group extensions of `G` by `N` where the multiplicative action of `G` on `N` is the conjugation
- `structure GroupExtension.OfMulDistribMulActionWithSection N G [MulDistribMulAction G N]`: group extensions with specific choices of sections
- `def GroupExtension.OfMulDistribMulAction.equivH2`: a bijection between the equivalence classes of group extensions and $H^2 (G, N)$
---
- [x] depends on: #20802 (split PR: contains changes to the `Defs` file)
- [x] depends on: #20998 (split PR: mainly adds the `Basic` file)
- [ ] depends on: #26670 (split PR: adds the first part of the `Abelian` file)
Here is a relevant TODO in Mathlib:
https://github.com/leanprover-community/mathlib4/blob/4e9fa40d7c480937e09cd6e47a591bd6f3b8be42/Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean#L46-L48
I would appreciate your comments.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
750/14 |
Mathlib.lean,Mathlib/GroupTheory/GroupExtension/Abelian.lean,Mathlib/GroupTheory/GroupExtension/Defs.lean,docs/references.bib |
4 |
5 |
['YaelDillies', 'erdOne', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
259-73133 8 months ago |
unknown |
unknown |
| 27403 |
MoritzBeroRoos author:MoritzBeroRoos |
fix: replace probably erroneous usage of ⬝ (with old \cdot) by · (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..).
This pr replaces instances of ⬝ where · was probably meant.
All of the replacement is in comments, except for the file bench_summary.lean which is used for priting the github benchmark results. Since this file is about scientific notation of numbers, sure · was meant to be used, not a rectangle.
[Related](https://github.com/leanprover-community/mathlib4/pull/27399)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
195/195 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/Lie/Derivation/Basic.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/InnerProductSpace/Dual.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Unbundled/InvariantExtension.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/NumberTheory/NumberField/ProductFormula.lean,Mathlib/NumberTheory/SiegelsLemma.lean,Mathlib/RingTheory/DividedPowers/SubDPIdeal.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/Algebra/Module/Equiv.lean,Mathlib/Topology/Homeomorph/Lemmas.lean,Mathlib/Topology/Instances/Matrix.lean,scripts/bench_summary.lean |
49 |
5 |
['eric-wieser', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant'] |
nobody |
258-37714 8 months ago |
unknown |
unknown |
| 27399 |
MoritzBeroRoos author:MoritzBeroRoos |
chore: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) |
Discussion at [zulip](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/.5Ccdot.20!.3D.20.5Ccenterdot).
Currently the abbreviations `\cdot` and `\centerdot` resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for `center`..):
- `\cdot` gives ⬝ [U+2B1D](https://www.compart.com/en/unicode/U+2B1D) "Black Very Small Square"
- `\centerdot` gives · [U+00B7](https://www.compart.com/en/unicode/U+00B7) "Middle Dot"
Mathlib mostly uses the `\centerdot` variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw `\cdot` without any subscript at `Mathlib\Topology\Homotopy\Product.lean`.
This PR replaces the dot product `⬝ᵥ` with its `\centerdot` counterpart `·ᵥ`. The related PR [here](https://github.com/leanprover/vscode-lean4/pull/639) can then overwrite the `\cdot` abbreviation, to produce the same symbol as the `centerdot` abbreviation does.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
|
133/133 |
Mathlib/Analysis/CStarAlgebra/CStarMatrix.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/SimpleGraph/AdjMatrix.lean,Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Block.lean,Mathlib/Data/Matrix/ConjTranspose.lean,Mathlib/Data/Matrix/Hadamard.lean,Mathlib/Data/Matrix/Mul.lean,Mathlib/Data/Matrix/Notation.lean,Mathlib/Data/Matrix/Reflection.lean,Mathlib/Data/Matrix/RowCol.lean,Mathlib/Data/Matrix/Vec.lean,Mathlib/LinearAlgebra/CrossProduct.lean,Mathlib/LinearAlgebra/Matrix/BilinearForm.lean,Mathlib/LinearAlgebra/Matrix/DotProduct.lean,Mathlib/LinearAlgebra/Matrix/Nondegenerate.lean,Mathlib/LinearAlgebra/Matrix/Orthogonal.lean,Mathlib/LinearAlgebra/Matrix/PosDef.lean,Mathlib/LinearAlgebra/Matrix/SchurComplement.lean,Mathlib/LinearAlgebra/Matrix/SesquilinearForm.lean,Mathlib/LinearAlgebra/Matrix/Trace.lean,Mathlib/LinearAlgebra/PerfectPairing/Matrix.lean,Mathlib/LinearAlgebra/Projectivization/Constructions.lean,Mathlib/Topology/Instances/Matrix.lean |
25 |
6 |
['MoritzBeroRoos', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
257-85946 8 months ago |
unknown |
unknown |
| 27479 |
iu-isgood author:iu-isgood |
feat: Abel's Binomial Theorem |
We have formalized Abel's Binomial Theorem as part of an REU project. There are a few remaining sorrys, but we will finish them soon. I will edit this PR message later according to community rules.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
326/0 |
Mathlib/Data/Nat/Choose/AbelBinomial.lean |
1 |
28 |
['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] |
nobody |
257-85707 8 months ago |
unknown |
unknown |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
241-57075 7 months ago |
unknown |
unknown |
| 28623 |
gilesgshaw author:gilesgshaw |
feat(Logic/Basic): minor additions and simplification of proofs |
Add new theorems and simplify proofs.
Specifically, we add the family of related theorems `apply_dite_iff_exists`, `apply_dite_iff_forall`, `apply_ite_iff_and` and `apply_ite_iff_or`.
For each other 'family' of theorems in the file that is analogous to the above, we do the following
- Simplify proofs where possible, e.g. by appealing to the new theorems
- Complete the family, if any of the corresponding four are missing
- Rename to ensure consistency with the above pattern
---
|
merge-conflict
t-logic
new-contributor
|
83/55 |
Archive/Examples/IfNormalization/Result.lean,Archive/Examples/IfNormalization/WithoutAesop.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/Algebra/Notation/Indicator.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/Logic/Basic.lean,Mathlib/MeasureTheory/Measure/WithDensity.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
12 |
['eric-wieser', 'gilesgshaw', 'github-actions', 'mathlib4-merge-conflict-bot', 'plp127'] |
awainverse assignee:awainverse |
241-5577 7 months ago |
unknown |
unknown |
| 25778 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat: Monotonicity of `setIntegral` for nonnegative functions |
This PR makes it easier to prove monotonicity of the Bochner integral on sets for nonnegative functions by removing the stronger assumption required by the general monotonicity lemma that both of the functions being compared must be integrable.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-measure-probability
new-contributor
|
8/0 |
Mathlib/MeasureTheory/Integral/Bochner/Set.lean |
1 |
6 |
['RemyDegenne', 'github-actions', 'sgouezel', 'thefundamentaltheor3m'] |
nobody |
239-1299 7 months ago |
unknown |
unknown |
| 29588 |
Periecle author:Periecle |
feat(Analysis/Complex/Residue): Implement residue theory for complex functions at isolated singularities |
# Add basic residue theory for complex functions
This PR introduces the residue theory implementation in mathlib.
## Main additions
- **`HasIsolatedSingularityAt f c`**: Predicate for functions with isolated singularities at point `c`
- **`residue f c hf`**: The residue of `f` at isolated singularity `c`, defined via circle integrals
- **Radius independence**: `residue_eq_two_pi_I_inv_smul_circleIntegral` - residue equals normalized circle integral for any valid radius
- **Holomorphic residues**: `residue_of_holomorphic` - functions holomorphic in a neighborhood have zero residue
- **Simple pole formula**: `residue_simple_pole` - for `f(z) = (z-c)⁻¹ * g(z)`, residue equals `g(c)`
## Implementation notes
- Builds on existing circle integral infrastructure in `CauchyIntegral.lean`
- Uses `Classical.choose` to extract witness radius from isolated singularity condition
- Comprehensive documentation with mathematical context and examples
- Establishes foundation for residue theorem, argument principle, and other applications
## Examples included
- `residue(1/z, 0) = 1` (canonical simple pole)
- Radius independence demonstration
- Zero residues for holomorphic functions
This provides the essential building blocks for complex analysis and first step to formalize residue theory. |
awaiting-author
t-analysis
new-contributor
|
383/0 |
Mathlib/Analysis/Complex/Residue/Basic.lean |
1 |
17 |
['Periecle', 'github-actions', 'hrmacbeth', 'llllvvuu', 'loefflerd'] |
nobody |
226-4777 7 months ago |
unknown |
unknown |
| 26178 |
ppls-nd-prs author:ppls-nd-prs |
feat(CategoryTheory/Limits): Fubini for products |
We show that the product of products is a product indexed by the sigma type.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
17/0 |
Mathlib/CategoryTheory/Limits/Shapes/Products.lean |
1 |
6 |
['chrisflav', 'github-actions', 'leanprover-community-bot-assistant', 'ppls-nd-prs', 'robin-carlier'] |
nobody |
221-19821 7 months ago |
unknown |
unknown |
| 28630 |
Antidite author:Antidite |
feat(Archive/Imo): right isosceles configuration in the complex plane |
feat(Archive/Imo): right isosceles configuration in the complex plane
This adds `Archive/Imo/Imo1975Q3.lean`, formalizing a triangle configuration
with points A=0, B=1, C=z and auxiliary points R, P, Q built via complex
rotations and sine-based scale factors.
Main results:
* `angle_and_distance`: ∠QRP = π/2 and dist Q R = dist R P.
* Key identity `QRP_rot90`: (Q z).z − R.z = e^{iπ/2} · ((P z).z − R.z).
Design/Style:
* Minimal imports; module docstring; semantic lemma names; all definitions and
theorems live under the namespace `IMO.TriangleConfig`.
Moves:
- (none)
Deletions:
- (none)
---
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
new-contributor
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
36 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
215-71967 7 months ago |
unknown |
unknown |
| 16773 |
arulandu author:arulandu |
feat(Probability/Distributions): formalize Beta distribution |
Formalize Beta distribution, using Gamma distribution as a reference. Added real-valued beta wrapper, in the manner of gamma. Thanks to @EtienneC30 for help with casting real <-> complex.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
|
286/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Probability/Distributions/Beta.lean |
3 |
50 |
['EtienneC30', 'arulandu', 'github-actions', 'mathlib4-merge-conflict-bot', 'vihdzp'] |
arulandu assignee:arulandu |
209-81272 6 months ago |
unknown |
unknown |
| 30460 |
janithamalith author:janithamalith |
feat(Nat): add lemma nat_card_orbit_mul_card_stabilizer_eq_card_group |
Added a lemma `nat_card_orbit_mul_card_stabilizer_eq_card_group` which is the Nat.card version of MulAction.card_orbit_mul_card_stabilizer_eq_card_group
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-group-theory
new-contributor
|
6/0 |
Mathlib/GroupTheory/GroupAction/CardCommute.lean |
1 |
17 |
['github-actions', 'kckennylau', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
200-5122 6 months ago |
unknown |
unknown |
| 25225 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Eulerian walk in connected graph contains all vertices |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
16/0 |
Mathlib/Combinatorics/SimpleGraph/Trails.lean |
1 |
6 |
['IvanRenison', 'github-actions', 'vlad902'] |
kmill assignee:kmill |
198-55054 6 months ago |
unknown |
unknown |
| 30828 |
DeVilhena-Paulo author:DeVilhena-Paulo |
feat: implementation of `Finmap.merge` |
The main contribution of this pull request is the implementation of a `merge` function for finite maps (`Finmap`). The construction relies on the definition of a `merge` function for association lists (`AList`).
There is also a side (unrelated) contribution on `Mathlib/Data/List/Permutation.lean`: the addition of a theorem about the permutation of a list with a head element (that is, a list of the form `a :: l`).
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
449/3 |
Mathlib/Data/Finmap.lean,Mathlib/Data/List/AList.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/List/Sigma.lean |
4 |
1 |
['github-actions'] |
nobody |
196-78486 6 months ago |
unknown |
unknown |
| 28676 |
sun123zxy author:sun123zxy |
feat(NumberTheory/ArithmeticFunction): wrap `Nat.totient` as an `ArithmeticFunction` |
This wraps the Euler's totient function `Nat.totient` into a new `ArithmeticFunction` `ϕ`, with some basic identities such as `ϕ * ζ = id` and `μ * id = ϕ.`
---
We use the notation `ϕ` to distinguish from `Nat.totient`'s notation `φ`, however this might be controversial. Suggestions are welcome!
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
large-import
merge-conflict
awaiting-author
|
45/5 |
Mathlib/NumberTheory/ArithmeticFunction.lean |
1 |
19 |
['MichaelStollBayreuth', 'SnirBroshi', 'b-mehta', 'eric-wieser', 'github-actions', 'mathlib4-merge-conflict-bot', 'riccardobrasca', 'sun123zxy'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
192-24525 6 months ago |
unknown |
unknown |
| 30299 |
franv314 author:franv314 |
feat(Topology/Instances): Cantor set |
Prove that the Cantor set has empty interior and the cardinality of the continuum as discussed on [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20few.20results.20about.20the.20Cantor.20set/with/543560670)
Moves:
- Mathlib.Topology.Instances.CantorSet -> Mathlib.Topology.Instances.CantorSet.Basic
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
file-removed
awaiting-author
t-topology
|
355/2 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
4 |
5 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
nobody |
192-16255 6 months ago |
unknown |
unknown |
| 30303 |
franv314 author:franv314 |
chore(Topology/Instances): add deprecated module |
Add deprecated module to moved Cantor set file.
---
- [ ] depends on: #30299
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
|
486/124 |
Mathlib.lean,Mathlib/Topology/Instances/CantorSet.lean,Mathlib/Topology/Instances/CantorSet/Basic.lean,Mathlib/Topology/Instances/CantorSet/Cardinality.lean,Mathlib/Topology/Instances/CantorSet/Lemmas.lean |
5 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
192-16253 6 months ago |
unknown |
unknown |
| 29871 |
zach1502 author:zach1502 |
feat(Matrix/Transvection): Gauss pivot determinant identity and pivot preservation |
This PR adds two lemmas formalizing standard Gaussian pivot identities:
* `Matrix.Transvection.listTransvecCol_mul_mul_listTransvecRow_pivot`:
After applying the canonical left/right transvection products that clear the last column and row,
the pivot (bottom-right) entry of a matrix is unchanged.
Marked `@[simp]`.
* `Matrix.Transvection.det_eq_detTopLeft_mul_pivot`:
If the pivot entry is nonzero, then the determinant of the matrix factors as
the determinant of the top-left block times the pivot entry, after performing
the canonical transvections.
This is the usual Gauss–pivot determinant identity.
* Added simple usage tests in `MathlibTest/matrix.lean` to check that the new lemmas
are usable by `simp`/`simpa`.
---
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
3 |
['github-actions', 'riccardobrasca', 'zach1502'] |
nobody |
186-15776 6 months ago |
unknown |
unknown |
| 30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
3 |
['b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
185-35306 6 months ago |
unknown |
unknown |
| 26901 |
5hv5hvnk author:5hv5hvnk |
feat: a simproc version of `compute_degree` |
Wrap `compute_degree` in a simproc for use by simp.
Closes #22219.
--- |
awaiting-CI
new-contributor
merge-conflict
awaiting-author
t-meta
|
198/0 |
Mathlib.lean,Mathlib/Tactic/Simproc/PolynomialDegree.lean,MathlibTest/polynomial_degree_simproc.lean |
3 |
19 |
['5hv5hvnk', 'YaelDillies', 'adomani', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
182-81974 6 months ago |
unknown |
unknown |
| 30150 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): to_additive for MonoidalCategory |
Add `AddMonoidalCategory`, the additive version of `MonoidalCategory`.
To get this to work, I needed to _remove_ the `to_additive` attributes in `Discrete.lean`, since existing code relies on the `AddMonoid M → MonoidalCategory M` instance. For now, we simply implement the additive variants by hand instead.
---
As discussed in #28718; I added an `AddMonoidalCategory` struct and tagged `MonoidalCategory` with `to_additive`, along with the lemmas in `Category.lean`.
I think this is the right approach, since under this framework the "correct" additive version of `Discrete.lean` would be mapping an `AddMonoid` to an `AddMonoidalCategory`.
Next steps would be to:
- Make `monoidal_coherence` and `coherence` support `AddMonoidalCategory`
- Add `CocartesianMonoidalCategory` extending `AddMonoidalCategory`
[](https://gitpod.io/from-referrer/)
|
t-category-theory
large-import
new-contributor
merge-conflict
awaiting-zulip
t-meta
|
444/125 |
Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
3 |
22 |
['JovanGerb', 'YaelDillies', 'github-actions', 'imbrem', 'mathlib4-merge-conflict-bot'] |
nobody |
176-44965 5 months ago |
unknown |
unknown |
| 15651 |
TpmKranz author:TpmKranz |
feat(Computability/NFA): operations for Thompson's construction |
Lays the groundwork for a proof of equivalence of RE and NFA, w.r.t. described language. Actual connection to REs comes later, after the groundwork for the opposite direction has been laid.
Third chunk of #12648
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
307/5 |
Mathlib/Computability/NFA.lean |
1 |
27 |
['TpmKranz', 'YaelDillies', 'dupuisf', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
171-62097 5 months ago |
unknown |
unknown |
| 15649 |
TpmKranz author:TpmKranz |
feat(Computability): introduce Generalised NFA as bridge to Regular Expression |
Lays the groundwork for a proof of equivalence of NFA and RE, w.r.t. described language. Actual connection to NFA comes later, after the groundwork for the opposite direction has been laid.
Second chunk of #12648
---
- [x] depends on: #15647 [Data.FinEnum.Option unchanged since then]
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
298/0 |
Mathlib.lean,Mathlib/Computability/GNFA.lean,Mathlib/Computability/Language.lean,Mathlib/Computability/RegularExpressions.lean,docs/references.bib |
5 |
7 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'trivial1711'] |
nobody |
170-78338 5 months ago |
unknown |
unknown |
| 5919 |
MithicSpirit author:MithicSpirit |
feat: implement orthogonality for AffineSubspace |
Define `AffineSubspace.orthogonal` and `AffineSubspace.IsOrtho`, as well as develop an API emulating that of `Submodule.orthogonal` and `Submodule.IsOrtho`, respectively. Additionally, provide some relevant lemmas exclusive to affine subspaces, which are mostly to do with the relationship between orthogonality and `AffineSubspace.Parallel`.
Closes #5539
---
Still WIP as I need to add more docstrings as well as notations for the new definitions.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
help-wanted
t-analysis
|
287/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/AffineSubspace.lean |
2 |
7 |
['MithicSpirit', 'eric-wieser', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
MithicSpirit assignee:MithicSpirit |
170-29795 5 months ago |
unknown |
unknown |
| 13442 |
dignissimus author:dignissimus |
feat: mabel tactic for multiplicative abelian groups |
Mabel tactic for multiplicative abelian groups (#10361)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
modifies-tactic-syntax
awaiting-author
help-wanted
t-meta
|
439/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/MAbel.lean,MathlibTest/mabel.lean |
4 |
11 |
['BoltonBailey', 'dignissimus', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot'] |
joneugster assignee:joneugster |
170-29531 5 months ago |
unknown |
unknown |
| 14237 |
js2357 author:js2357 |
feat: Define the localization of a fractional ideal at a prime ideal |
Define the localization of a fractional ideal at a prime ideal, and prove some basic properties.
---
This PR is part 3 out of 4 of a proof of `isDedekindDomain_iff_isDedekindDomainDvr`.
Part 4 is available here: #14242
- [x] depends on: #14099 Part 1
- [x] depends on: #14216 Part 2
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
230/0 |
Mathlib.lean,Mathlib/RingTheory/FractionalIdeal/LocalizedAtPrime.lean,Mathlib/RingTheory/Localization/Basic.lean |
3 |
22 |
['Vierkantor', 'YaelDillies', 'github-actions', 'js2357', 'kbuzzard', 'leanprover-community-bot-assistant', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot'] |
Vierkantor assignee:Vierkantor |
170-29529 5 months ago |
unknown |
unknown |
| 15224 |
AnthonyBordg author:AnthonyBordg |
feat(CategoryTheory/Sites): covering families and their associated Grothendieck topology |
Define covering families on a category and their associated Grothendieck topology by using the API for `Coverage`.
Give an explicit characterization of the covering sieves of the said topology.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
112/0 |
Mathlib.lean,Mathlib/CategoryTheory/Sites/CoveringFamilies.lean |
2 |
21 |
['AnthonyBordg', 'adamtopaz', 'dagurtomas', 'github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
nobody |
170-29400 5 months ago |
unknown |
unknown |
| 17587 |
kmill author:kmill |
feat: Sym2-as-Finset theory |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-data
new-contributor
|
105/3 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/RingTheory/Polynomial/Vieta.lean |
4 |
11 |
['FordUniver', 'YaelDillies', 'github-actions', 'kmill', 'mathlib4-merge-conflict-bot'] |
nobody |
170-29246 5 months ago |
unknown |
unknown |
| 18630 |
tomaz1502 author:tomaz1502 |
feat(Computability.Timed): Formalization of runtime complexity of List.mergeSort |
This PR adds the formalization of the runtime complexity of the merge sort algorithm, defined in `Data/List/Sort`.
Requires: https://github.com/leanprover-community/mathlib4/pull/15451
References:
- Previous PR on mathlib3: https://github.com/leanprover-community/mathlib3/pull/14494/
- First discussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/BSc.20Final.20Project/near/220647062
- Second disussion on Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Formalization.20of.20Runtime.20Complexity.20of.20Sorting.20Algorithms/near/284184450
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
new-contributor
|
526/0 |
Mathlib.lean,Mathlib/Computability/Timed/InsertionSort.lean,Mathlib/Computability/Timed/Merge.lean,Mathlib/Computability/Timed/MergeSort.lean,Mathlib/Computability/Timed/Split.lean |
5 |
9 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
170-29244 5 months ago |
unknown |
unknown |
| 20648 |
anthonyde author:anthonyde |
feat: formalize regular expression -> εNFA |
The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness.
---
- [x] depends on: #20644
- [x] depends on: #20645
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-zulip
new-contributor
|
490/0 |
Mathlib.lean,Mathlib/Computability/RegularExpressionsToEpsilonNFA.lean,docs/references.bib |
3 |
7 |
['anthonyde', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'meithecatte', 'qawbecrdtey'] |
nobody |
170-29106 5 months ago |
unknown |
unknown |
| 21903 |
yhtq author:yhtq |
feat: add from/toList between `FreeSemigroup` and `List` with relative theorems |
Add from/toList between `FreeSemigroup` and `List` with relative theorems, as well as an incidental definition of lexicographic order on `FreeSemigroup`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-CI
large-import
merge-conflict
label:t-algebra$ |
169/0 |
Mathlib/Algebra/Free.lean |
1 |
12 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
170-28966 5 months ago |
unknown |
unknown |
| 22159 |
shetzl author:shetzl |
feat: add definition of pushdown automata |
Add the definition of pushdown automata and their two acceptance conditions: acceptance based on empty stack and acceptance based on final state.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
70/0 |
Mathlib.lean,Mathlib/Computability/PDA.lean |
2 |
35 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
170-28960 5 months ago |
unknown |
unknown |
| 22302 |
658060 author:658060 |
feat: add `CategoryTheory.Topos.Power` |
This is a continuation of #21281 with the end goal of defining topoi in Mathlib. It introduces the notion of a power object in a category with a subobject classifier, which is a special case of an internal hom.
The definition `HasPowerObjects C` contained in this PR is all that remains before `IsTopos C` can be defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
312/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Power.lean |
2 |
3 |
['github-actions', 'joelriou', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
170-28951 5 months ago |
unknown |
unknown |
| 22790 |
mhk119 author:mhk119 |
feat: Extend `taylor_mean_remainder_lagrange` to `x < x_0` |
The `taylor_mean_remainder_lagrange` theorem has the assumption that $x_0 < x$. In many applications, we need $x < x_0$ and one cannot use the current version to obtain this (see [zulip](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Taylor's.20theorem)). This PR introduces a set of theorems that push negations through Taylor expansions so that one can extend `taylor_mean_remainder_lagrange` to the case when $x < x_0$. These theorems should also be useful elsewhere since they are quite general. |
merge-conflict
awaiting-author
t-analysis
new-contributor
|
111/1 |
Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/Calculus/Taylor.lean |
3 |
13 |
['Paul-Lez', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'mhk119'] |
nobody |
170-28938 5 months ago |
unknown |
unknown |
| 24333 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): cycle graph implementation for generic vertex types |
The existing `cycleGraph` implementation under Combinatorics/SimpleGraph/Circulant.lean only operates over `Fin n`. This PR implements a cycle graph implementation over any generic vertex type.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
187/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Cycle.lean |
2 |
42 |
['IvanRenison', 'github-actions', 'mathlib4-merge-conflict-bot', 'vlad902'] |
kmill assignee:kmill |
170-28785 5 months ago |
unknown |
unknown |
| 25739 |
literandltx author:literandltx |
feat(NumberTheory/LegendreSymbol): Add sqrt‐of‐residue theorems for p=4k+3 and p=8k+5 |
Add a new file `QuadraticResidueRoots.lean` under `Mathlib/NumberTheory/LegendreSymbol/` that proves two explicit “square-root of quadratic residue” theorems for primes of the specific form.
- **`exists_sqrt_of_residue_mod4_eq3`** for primes `p = 4*k + 3`
- **`exists_sqrt_of_residue_mod8_eq5`** for primes `p = 8*k + 5`
It also introduces the helper lemmas `euler_criterion_traditional` and `legendreSym.at_two_mod8_eq_5`. Import lines in `Mathlib.lean` and `Mathlib/NumberTheory/LegendreSymbol/Basic.lean` have been updated accordingly.
|
merge-conflict
awaiting-author
t-number-theory
new-contributor
|
217/0 |
Mathlib.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticReciprocity.lean,Mathlib/NumberTheory/LegendreSymbol/QuadraticResidueRoots.lean |
4 |
3 |
['github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot'] |
literandltx assignee:literandltx |
170-28636 5 months ago |
unknown |
unknown |
| 26594 |
metakunt author:metakunt |
feat(Algebra/Polynomial/ZMod): Add Polynomial.equiv_of_nat_of_polynomial_zmod |
This adds an explicit bijection between the naturals and $$\mathbb{Z}/n\mathbb{Z}[X]$$ in a canonical way.
---
I feel that some API is missing to make the theorem shorter, I have no idea what lemmas to extract though.
Also I don't know when to use spaces and when not, so I did it best effort.
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
465/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/ZMod.lean |
2 |
3 |
['Ruben-VandeVelde', 'github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
170-28276 5 months ago |
unknown |
unknown |
| 26757 |
fweth author:fweth |
feat(CategoryTheory/Topos): define elementary topos |
This commit begins the formalization of the notion of an *elementary topos*, following the definition in \[Mac Lane & Moerdijk, *Sheaves in Geometry and Logic* (1992), Ch. IV, Section 1]. It introduces the file `Mathlib/CategoryTheory/Topos/Basic.lean`, which currently includes:
* The definition of an elementary topos.
* Proof that the power object map is a functor
* Theorem about pullbacks of characterstic maps
Subobject classifiers, which are used in the definition, have already been defined in `CategoryTheory/Topos/Classifier.lean`
Work in progress: further formalization of the section is planned.
Questions:
* Should the definition of power objects be separated into its own file/module, perhaps under `CategoryTheory/Topos/PowerObject.lean`?
* Is the notation `P` / `P_morph` / `P_functor` for the power object functor on objects / morphisms / total acceptable?
* Should the comments and docstrings rather use the notation from the book, where `g ∘ f` denotes arrow composition from righ to left, or the Lean variant `f ≫ g`?
Klaus Gy klausgy@gmail.com
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
401/66 |
Mathlib.lean,Mathlib/CategoryTheory/Closed/PowerObjects.lean,Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean,Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Equalizer.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Subobject/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean |
9 |
17 |
['fweth', 'github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
170-28271 5 months ago |
unknown |
unknown |
| 27155 |
Pjotr5 author:Pjotr5 |
feat: Shearer's bound on the independence number of triangle free graphs |
I added the file IndependenceNumber.lean to the Mathlib.Combinatorics.SimpleGraph.Triangle folder. It contains a proof of a theorem by Shearer on the independence number of triangle-free graphs . I was told this might be useful to add to Mathlib a Zullip thread linked [here](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Convexity.20of.20a.20specific.20function/with/510469526).
I tried to comply as much as I could with the Mathlib style guide, but I realise that there is probably still a significant amount of editing to be done. For one thing: there are probably some lemmas and theorems in there that might be better suited in other files, but since this is my first PR I though I would all put it in one file before starting to edit a bunch of files.
I was also advised to split up the file into multiple smaller PRs, but since everything is basically serving this one proof I could not really find a natural way to do that.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-combinatorics
new-contributor
|
1266/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/IndependenceNumber.lean |
2 |
10 |
['Pjotr5', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
170-28234 5 months ago |
unknown |
unknown |
| 27753 |
YunkaiZhang233 author:YunkaiZhang233 |
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways |
---
Completed one of the tasks in TODOs, shown and implemented the details for (X/C)/f ≌ Factorisation f ≌ f/(C/Y).
This is migrated from my previous PR #22390
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
70/1 |
Mathlib/CategoryTheory/Category/Factorisation.lean |
1 |
13 |
['YunkaiZhang233', 'b-mehta', 'github-actions', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
170-28079 5 months ago |
unknown |
unknown |
| 27850 |
fyqing author:fyqing |
feat: 0-dimensional manifolds are discrete and countable |
This is the converse direction of the classification of 0-dimensional manifolds. The other direction was shown in #22105.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-differential-geometry
new-contributor
|
80/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ZeroDim.lean |
2 |
14 |
['fyqing', 'github-actions', 'grunweg', 'mathlib4-merge-conflict-bot', 'tb65536'] |
grunweg assignee:grunweg |
170-28077 5 months ago |
unknown |
unknown |
| 28125 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics): basic definition of simplicial complexes |
This PR introduces the basic definition of a finite (abstract) simplicial complex, located in Mathlib/Combinatorics/SimplicialComplex/Basic.lean.
---
This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this is a small stepping stone in that direction. Some other commits will shortly depend on this one.
We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. We would also like to thank our group members Tom Lindquist and Quang Minh Nguyen for our fruitful discussions. |
merge-conflict
t-combinatorics
new-contributor
|
374/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
170-27945 5 months ago |
unknown |
unknown |
| 28530 |
nonisomorphiclinearmap author:nonisomorphiclinearmap |
feat(Combinatorics/SimplicialComplex/Topology): add standard simplices and geometric realisation (colimit + functoriality) |
Introduce the standard simplex on a finite vertex set and build the geometric realisation |X| of a simplicial complex. Prove that |X| is the colimit of the face diagram δ_X : X.faces ⥤ TopCat, and define the induced map on realisations |φ| : |X| ⟶ |Y| for a simplicial map φ. Show that the abstract map from colimit functoriality agrees with the concrete push-forward of barycentric coordinates. Package these into a functor SimplicialComplexCat ⥤ TopCat.
---
This is our first contribution to mathlib. This work was done as part of the Fields Institute Summer Undergraduate Program on formalization in topological combinatorics. Eventually, we aim to formalize Lovasz's proof of the Kneser Conjecture and this lays the groundwork to do this.
We would like to acknowledge the Fields Institute for Research in Mathematical Sciences for their sponsorship. We would also like to thank our supervisors, Professor Chris Kapulkin and Mr. Daniel Carranza, for their guidance and support throughout this project. I would also like to thank our group members Sebastian Kumar, Tom Lindquist and Quang Minh Nguyen for our fruitful discussions.
- [ ] depends on: #28125 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
1826/0 |
Mathlib.lean,Mathlib/Combinatorics/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Category.lean,Mathlib/Combinatorics/SimplicialComplex/FacePoset.lean,Mathlib/Combinatorics/SimplicialComplex/Hom.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Basic.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Colimit.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Diagram.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Functor.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/GeomReal/Map.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/Simplex.lean,Mathlib/Combinatorics/SimplicialComplex/Topology/SimplexMap.lean |
12 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
170-27931 5 months ago |
unknown |
unknown |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
62/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Orientation.lean,Mathlib/Combinatorics/Digraph/Tournament.lean |
3 |
6 |
['JaafarTanoukhi', 'Rida-Hamadani', 'SnirBroshi', 'github-actions', 'mathlib4-merge-conflict-bot'] |
kmill assignee:kmill |
170-27792 5 months ago |
unknown |
unknown |
| 29947 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Maps |
Ported `SimpleGraph/Maps.lean` to `Digraph/Maps.lean` for future PRs related to issue #[26771](https://github.com/leanprover-community/mathlib4/issues/26771)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-combinatorics
new-contributor
|
476/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Maps.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
170-27158 5 months ago |
unknown |
unknown |
| 14704 |
Command-Master author:Command-Master |
feat(FieldTheory): define typeclass for simple extensions, and prove some properties |
Define `SimpleExtension F K`, which says that `K` is a simple field extension of `F`, and show that together with transcendentality it implies `IsFractionRing F[X] K`.
---
- [x] depends on: #14710
[](https://gitpod.io/from-referrer/)
|
WIP
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
120/0 |
Mathlib.lean,Mathlib/FieldTheory/SimpleExtension.lean |
2 |
19 |
['Command-Master', 'acmepjz', 'github-actions', 'leanprover-community-mathlib4-bot', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
170-23990 5 months ago |
unknown |
unknown |
| 11021 |
jstoobysmith author:jstoobysmith |
feat(AlgebraicTopology): add join of augmented SSets |
This pull-request adds the definition of the join of augmented SSets defined as contravariant functors from `WithInitial SimplexCategory` to `Type u`. In addition it shows that the join of two standard augmented SSets is again an augmented SSets.
From this the definition of the join of simplicial sets should follow easily.
To aid the above theory, an api for `WithInitial SimplexCategory` has been created, with the notion of the `join` and `split` (forming a sort of inverse to join) of objects in this category are defined.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-algebraic-topology
new-contributor
|
2137/1 |
.gitignore,Mathlib.lean,Mathlib/AlgebraicTopology/Join.lean,Mathlib/AlgebraicTopology/SimplexCategory.lean,Mathlib/AlgebraicTopology/SimplexCategoryWithInitial.lean,Mathlib/AlgebraicTopology/SimplicialSet.lean |
6 |
47 |
['github-actions', 'jcommelin'] |
nobody |
170-1006 5 months ago |
unknown |
unknown |
| 18626 |
hannahfechtner author:hannahfechtner |
feat: define Artin braid groups |
Define the Artin braid group on infinitely many strands. Includes a toGroup function which defines a function out of the braid group to any other group (given a function which satisfies the braid relations)
(more to come in this file; next up: Artin braid groups on finitely many strands)
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-algebra
new-contributor
label:t-algebra$ |
91/0 |
Mathlib.lean,Mathlib/GroupTheory/SpecificGroups/BraidGroup/Basic.lean |
2 |
22 |
['github-actions', 'hannahfechtner', 'jcommelin', 'joelriou'] |
nobody |
170-853 5 months ago |
unknown |
unknown |
| 20029 |
FrederickPu author:FrederickPu |
feat(Tactic/simps): allow for Config attributes to be set directly |
Allow for Config attributes to be set directly when using initialize_simp_projection as per issue #19895
Basically modified initialize_simp_projection so that the user has the option of specifying a tuple of config option values.
Ex:
```
initialize_simp_projection MulEquiv (toFun → apply, invFun → symm_apply) (fullyApplied := false)
```
These config options are then converted into projections.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
new-contributor
t-meta
|
34/4 |
Mathlib/Tactic/Simps/Basic.lean |
1 |
11 |
['FrederickPu', 'YaelDillies', 'fpvandoorn', 'github-actions', 'leanprover-community-bot-assistant'] |
nobody |
170-790 5 months ago |
unknown |
unknown |
| 21269 |
658060 author:658060 |
feat(CategoryTheory/Topos): basic definitions and results in topos theory |
This code contains basic definitions and results in topos theory, including the definition of a subobject classifier, power objects, and topoi. It is proved that every topos has exponential objects, i.e. "internal homs". The mathematical content follows chapter IV sections 1-2 of Mac Lane and Moerdijk's text "Sheaves in Geometry and Logic".
---
- [x] depends on: #21281
[](https://gitpod.io/from-referrer/)
|
WIP
t-category-theory
new-contributor
merge-conflict
awaiting-author
|
1269/0 |
Mathlib.lean,Mathlib/CategoryTheory/Topos/Basic.lean,Mathlib/CategoryTheory/Topos/Classifier.lean,Mathlib/CategoryTheory/Topos/Exponentials.lean,Mathlib/CategoryTheory/Topos/Power.lean |
5 |
10 |
['658060', 'gio256', 'github-actions', 'joelriou', 'mathlib4-dependent-issues-bot'] |
nobody |
170-763 5 months ago |
unknown |
unknown |
| 23990 |
robertmaxton42 author:robertmaxton42 |
feat(Types.Colimits): Quot is functorial and colimitEquivQuot is natural |
Add `Functor.quotFunctor` to parallel `Functor.sectionsFunctor`, witnessing that `Quot` is functorial; add `colimNatIsoQuotFunctor` to parallel `limNatIsoSectionsFunctor`, witnessing that `colimitEquivQuot` is natural in the diagram $F$.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-category-theory
new-contributor
|
33/0 |
Mathlib/CategoryTheory/Limits/Types/Colimits.lean |
1 |
5 |
['github-actions', 'joelriou', 'leanprover-community-bot-assistant', 'robertmaxton42'] |
nobody |
170-646 5 months ago |
unknown |
unknown |
| 27991 |
sinianluoye author:sinianluoye |
feat(Rat): add Rat.den_eq_of_add_den_eq_one and its dependent lemmas |
```lean4
example {q r : ℚ} (h : (q + r).den = 1) : q.den = r.den := by
```
It is so simple, but I couldn't find it in current mathlib repo.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
22/0 |
Mathlib/Data/Rat/Lemmas.lean |
1 |
33 |
['github-actions', 'kim-em', 'mathlib-bors', 'pechersky', 'sinianluoye', 'themathqueen'] |
pechersky assignee:pechersky |
170-329 5 months ago |
unknown |
unknown |
| 28215 |
5hv5hvnk author:5hv5hvnk |
feat: strong and Weak connectivity for Digraphs |
strong and weak connectivity in Digraphs
---
Should resolve a part of issue #26771
Main additions in the PR:
1. Walks in Digraphs (Walk.lean)
- Basic walk structure with start and end vertices
- Support for walk operations: append, reverse, length
- Support functions: getVert, copy, support
2. Walk Decompositions (WalkDecomp.lean)
- takeUntil and dropUntil functions to split walks
- rotate operation for loop walks
- Theorems relating to walk decomposition properties
3. Subgraphs (subgraph.lean)
- Subgraph structure for digraphs
- Induced and spanning subgraph predicates
- Lattice structure (sup, inf, top, bot)
- Coercion to standalone digraphs
4. Paths (Paths.lean)
- Trail, Path, Circuit, Cycle definitions
- Path structure with no repeating vertices
- Theorems relating different path types
- Basic connectivity definitions (reachable, weakly/strongly connected)
5. Connectivity (Connected.lean)
- Reachability relations and properties
- Strong and weak connectivity definitions
- Connected component types:
- StronglyConnectedComponent
- WeaklyConnectedComponent
- ConnectedComponent
- Component properties and equivalence relations
-->
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
merge-conflict
awaiting-author
t-combinatorics
|
1266/0 |
Mathlib.lean,Mathlib/Combinatorics/Digraph/Connected.lean,Mathlib/Combinatorics/Digraph/Paths.lean,Mathlib/Combinatorics/Digraph/Subgraph.lean,Mathlib/Combinatorics/Digraph/Walk.lean,Mathlib/Combinatorics/Digraph/WalkDecomp.lean |
6 |
4 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
170-308 5 months ago |
unknown |
unknown |
| 29574 |
JarodAlper author:JarodAlper |
feat: regular local rings are domains |
We have added three new files in Mathlib/RingTheory/LocalRing
* EmbeddingDimension.lean
* LocalRingDimension.lean
* RegularLocalRings.lean
We have added two lemmas and an instance in Mathlib/RingTheory/LocalRing/RingHom/Basic.lean
This work was done by Jarod Alper and Brian Nugent.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
new-contributor
|
910/3 |
Mathlib.lean,Mathlib/RingTheory/LocalRing/EmbeddingDimension.lean,Mathlib/RingTheory/LocalRing/LocalRingDimension.lean,Mathlib/RingTheory/LocalRing/RegularLocalRings.lean,Mathlib/RingTheory/LocalRing/RingHom/Basic.lean,lake-manifest.json |
6 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
170-197 5 months ago |
unknown |
unknown |
| 28718 |
imbrem author:imbrem |
feat: class for chosen finite coproducts |
Added basic `ChosenFiniteCoproducts` class, and started porting some of the lemmas about `ChosenFiniteProducts` suitably translated
---
This, combined with #20182 modified to use chosen finite coproducts and premonoidal categories (#21488), should be enough for me to formalize strong Elgot categories, and hence a lot of categorical iteration theory for my PhD thesis.
Re-done from #21603 to deal with changes in #24399 and #24390
Eventually, if we really want to harmonize approaches, we could introduce an `AddMonoidalCategory` struct and do the analogous to #24399 and #24390 for additive monoidal structure, but that seems like a massive overcomplication for now. It would allow formalizing fun things like rig categories, though.
- [ ] depends on: #30150 |
blocked-by-other-PR
t-category-theory
new-contributor
merge-conflict
awaiting-author
|
290/0 |
Mathlib.lean,Mathlib/CategoryTheory/ChosenFiniteCoproducts.lean |
2 |
9 |
['YaelDillies', 'github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
170-109 5 months ago |
unknown |
unknown |
| 26765 |
KiringYJ author:KiringYJ |
feat(MeasureTheory/PiSystem): add π-λ theorem and SetLike instance |
Add two small features to `MeasureTheory/PiSystem`:
1. SetLike instance
`instance : SetLike (DynkinSystem α) (Set α)`
This lets us write `s ⊆ d` and `t ∈ d` for a DynkinSystem `d`, matching usual mathlib style.
2. `DynkinSystem.pi_lambda` lemma
Classical π‑λ theorem: if a π‑system `s` is contained in a Dynkin system `d`, every set measurable for `σ(s)` is also in `d`.
Currently, mathlib exposes this result only indirectly (e.g. via `generateFrom_eq`). Although logically equivalent, it is not obvious at first glance that those lemmas are the π‑λ theorem. The new lemma states the result in its familiar textbook form, so users can recognise and cite it immediately.
Both pieces are under 10 lines, term‑mode only, and do not modify existing APIs.
No breaking changes.
No dependencies.
|
awaiting-author
t-measure-probability
new-contributor
|
13/0 |
Mathlib/MeasureTheory/PiSystem.lean |
1 |
14 |
['EtienneC30', 'KiringYJ', 'dagurtomas', 'github-actions', 'ocfnash'] |
RemyDegenne assignee:RemyDegenne |
169-72905 5 months ago |
unknown |
unknown |
| 30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindstrom's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
209/0 |
Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
1 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
167-8654 5 months ago |
unknown |
unknown |
| 31796 |
dobronx1325 author:dobronx1325 |
feat(Data/Real/EReal): add mul_lt_mul_of_pos_left theorem |
This PR adds the theorem `EReal.mul_lt_mul_of_pos_left`, which states that for a positive real number `a` and extended reals `b < c`, left multiplication by `a` preserves the strict order: `(a : EReal) * b < (a : EReal) * c`.
The theorem complements existing order-preserving properties for addition in `EReal` and extends the algebraic structure for multiplication. The proof uses basic properties of extended reals and order relations.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
23/0 |
Mathlib/Data/EReal/Operations.lean |
1 |
4 |
['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions'] |
nobody |
163-42696 5 months ago |
unknown |
unknown |
| 32169 |
saodimao20 author:saodimao20 |
feat: add convolution_comp_add_right |
This PR adds a lemma `convolution_comp_translation_right` showing that convolution commutes with translation on the right operand. Specifically, it proves that for an additive commutative group $G$, the convolution of a function $f$ with a translated function $x \mapsto g(a + x)$ is equal to the convolution of $f$ and $g$ evaluated at $x + a$.
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
14/0 |
Mathlib/Analysis/Convolution.lean |
1 |
3 |
['github-actions', 'urkud'] |
nobody |
161-29076 5 months ago |
unknown |
unknown |
| 32126 |
nielsvoss author:nielsvoss |
feat(Analysis/Normed/Operator): definition of singular values for linear maps |
This PR defines a generalization of singular values, the approximation numbers, for continuous linear maps between normed vector spaces. It proves basic lemmas about the approximation numbers and shows that for finite-dimensional vector spaces, the approximation numbers coincide with the standard definition of singular values.
See the discussion on Zulip: https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Singular.20Value.20Decomposition/with/558914024
Co-authored-by: Arnav Mehta
Co-authored-by: Rawad Kansoh
---
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
331/0 |
Mathlib/Analysis/Normed/Operator/SingularValues.lean |
1 |
2 |
['github-actions', 'nielsvoss'] |
nobody |
160-66617 5 months ago |
unknown |
unknown |
| 31898 |
ntapiam author:ntapiam |
feat(LinearAlgebra/TensorAlgebra): implement HopfAlgebra for TensorAlgebra |
implementation of the natural Hopf algebra structure on the TensorAlgebra |
new-contributor
t-ring-theory
awaiting-author
|
253/0 |
Mathlib.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/RingTheory/Bialgebra/FreeAlgebra.lean,Mathlib/RingTheory/Bialgebra/TensorAlgebra.lean,Mathlib/RingTheory/HopfAlgebra/TensorAlgebra.lean |
6 |
64 |
['YaelDillies', 'github-actions', 'kckennylau', 'ntapiam'] |
nobody |
154-1053 5 months ago |
unknown |
unknown |
| 30525 |
515801431 author:515801431 |
feat(Mathlib/Combinatorics/Enumerative/Polya): Add Polya Counting |
This PR introduces basic definitions and results about colorings under permutation group actions.
A coloring is defined as a function X → Y, and the permutation group Equiv.Perm X acts on colorings by precomposition:
(g • c) x = c (g⁻¹ • x)
This formalizes the natural action of relabeling the elements of X.
Main definitions
MulAction (Equiv.Perm X) (X → Y):
The action of the permutation group on colorings via precomposition.
coloringEquiv (c₁ c₂ : X → Y) : Prop:
Two colorings are equivalent if they lie in the same orbit under this action, i.e.
∃ f : Equiv.Perm X, f • c₁ = c₂.
Main results
smul_eq_iff_mem_stabilizer:
Characterizes when two group actions on the same coloring are equal, showing that
g • c = f • c ↔ f⁻¹ * g ∈ stabilizer c.
coloringEquiv_equivalence:
Proves that coloringEquiv defines an equivalence relation on X → Y.
orbit_size_eq_index:
Reformulates the orbit–stabilizer theorem in the context of colorings:
|orbit c| = |Perm X| / |stabilizer c|
Motivation
These results provide foundational infrastructure for studying Burnside’s lemma and Pólya’s enumeration theorem in Mathlib, where the enumeration of distinct colorings up to symmetry plays a central role. |
t-combinatorics
new-contributor
awaiting-author
merge-conflict
|
113/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean |
2 |
8 |
['IvanRenison', 'alreadydone', 'github-actions', 'mathlib4-merge-conflict-bot'] |
awainverse assignee:awainverse |
153-74215 5 months ago |
unknown |
unknown |
| 31113 |
515801431 author:515801431 |
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` |
---
- [ ] depends on: #30525
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
merge-conflict
|
302/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Polya.lean |
2 |
4 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
153-74091 5 months ago |
unknown |
unknown |
| 24441 |
MrSumato author:MrSumato |
feat(Data/List): add Lyndon-Schutzenberger theorem on list commutativity |
Add Lyndon-Schutzenberger theorem on list commutativity. Included definition for List.repeatSelf that returns list repeated n times.
---
This is my first mathlib PR, so any comments are highly appreciated.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
t-data
new-contributor
|
129/1 |
Mathlib.lean,Mathlib/Data/List/Commutativity.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Lemmas.lean |
4 |
38 |
['MrSumato', 'github-actions', 'grunweg', 'madvorak', 'mathlib4-merge-conflict-bot', 'plp127'] |
grunweg assignee:grunweg |
153-69693 5 months ago |
unknown |
unknown |
| 31147 |
daefigueroa author:daefigueroa |
feat(Dynamics): point transitive monoid actions and transitive points |
We define point transitivity for a monoid action on a topological space and define the set of transitive points. We add some basic lemmas and implications between topological transitivity and point transitivity.
---
- [x] depends on: #28001
[](https://gitpod.io/from-referrer/) |
t-dynamics
new-contributor
awaiting-author
|
114/6 |
Mathlib/Dynamics/Transitive.lean |
1 |
6 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
151-8526 5 months ago |
unknown |
unknown |
| 31987 |
saodimao20 author:saodimao20 |
feat: add monotonicity and relation lemmas for mgf and cgf |
Add two lemmas about moment-generating and cumulant-generating functions:
- `mgf_mono_in_t_of_nonneg`: For nonnegative random variables, the mgf is monotone in the parameter `t`
- `cgf_zero_of_mgf_one`: The cgf equals zero iff the mgf equals one
These lemmas are useful for studying properties of mgf and cgf in probability theory.
Contributed by sequential-intelligence-lab(SIL), University of Virginia
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
21/0 |
Mathlib/Probability/Moments/Basic.lean |
1 |
5 |
['DavidLedvinka', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
145-632 4 months ago |
unknown |
unknown |
| 32938 |
0xTerencePrime author:0xTerencePrime |
feat(Order/LocallyFinite): prove DenselyOrdered and LocallyFiniteOrder are incompatible |
## Summary
This PR proves that a nontrivial densely ordered linear order cannot be locally finite.
## Main results
* `not_locallyFiniteOrder`: A densely ordered locally finite linear order must be subsingleton.
* `not_locallyFiniteOrder_of_nontrivial`: The main theorem - incompatibility of the two properties.
Note: This implementation imports `Mathlib.Order.Interval.Set.Infinite` to reuse the existing `Set.Icc_infinite` theorem, ensuring standard library consistency.
## Mathematical content
The key insight is that in a densely ordered type, we can always find a new element between any two distinct elements. This means any nontrivial interval contains infinitely many elements. However, `LocallyFiniteOrder` requires intervals to be finite. This contradiction implies that such a type cannot exist (unless it is trivial).
## Motivation
This resolves a TODO mentioned in #7987 (Data/Finset/LocallyFinite entry).
## Verification
- [x] `lake build Mathlib.Order.LocallyFinite.Basic` passes
- [x] `lake exe runLinter Mathlib.Order.LocallyFinite.Basic` passes
|
t-order
new-contributor
awaiting-author
|
28/0 |
Mathlib/Order/Interval/Finset/Basic.lean |
1 |
10 |
['0xTerencePrime', 'CoolRmal', 'github-actions', 'jcommelin', 'plp127'] |
nobody |
140-24034 4 months ago |
unknown |
unknown |
| 32698 |
farruhx author:farruhx |
feat(List): add aesop / simp annotations to selected lemmas for improved automation |
This PR adds `@[aesop safe]` and `@[simp]` annotations to a set
of List lemmas whose proofs are routine and benefit from standardized
automation. No statements or definitions are changed; only proof annotations
are added.
The lemmas updated in this PR are:
* `or_exists_of_exists_mem_cons`
* `append_subset_of_subset_of_subset`
* `map_subset_iff`
* `append_eq_has_append`
* `append_right_injective`
* `append_left_injective`
* `reverse_surjective`
* `reverse_bijective`
* `mem_getLast?_append_of_mem_getLast?`
* `mem_dropLast_of_mem_of_ne_getLast`
* `idxOf_eq_length_iff`
* `idxOf_append_of_mem`
* `length_eraseP_add_one`
The goal is to make these commonly used lemmas easier for `aesop`-based
automation to resolve, while avoiding any interference with simp-normal-form
lemmas or canonical rewrite rules.
There are no API changes and no new theorems—only improved automation behavior. |
t-data
new-contributor
awaiting-author
|
18/1 |
Mathlib/Data/List/Basic.lean |
1 |
8 |
['artie2000', 'euprunin', 'farruhx', 'github-actions'] |
pechersky assignee:pechersky |
139-58803 4 months ago |
unknown |
unknown |
| 27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
new-contributor
merge-conflict
|
1310/0 |
Archive.lean,Archive/Imo/Imo2025Q1.lean |
2 |
9 |
['github-actions', 'kim-em', 'mathlib4-merge-conflict-bot', 'zhuyizheng'] |
dwrensha assignee:dwrensha |
139-4600 4 months 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/)
|
t-dynamics
new-contributor
awaiting-author
|
398/0 |
Mathlib.lean,Mathlib/Dynamics/BirkhoffSum/Pointwise.lean |
2 |
31 |
['D-Thomine', 'github-actions', 'leanprover-community-bot-assistant', 'lua-vr', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel', 'urkud'] |
sgouezel assignee:sgouezel |
137-27023 4 months ago |
unknown |
unknown |
| 33218 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define the associated graded ring to filtered ring |
Define the associated graded ring to a filtered ring.
---
- [ ] depends on: #33217
migrated from https://github.com/leanprover-community/mathlib4/pull/26858 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
450/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-37265 4 months ago |
unknown |
unknown |
| 33219 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define associated graded algebra |
Define the associated graded algebra of a filtered algebra, constructed from a special case of associated graded ring.
---
- [ ] depends on: #33218
migrated from #26859
|
t-ring-theory
new-contributor
blocked-by-other-PR
|
563/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-37157 4 months ago |
unknown |
unknown |
| 33220 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): Define associated graded module |
Define the associated graded module to a filtered module.
---
- [ ] depends on: #33218
migrated from #26860
|
t-ring-theory
new-contributor
blocked-by-other-PR
|
669/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-37073 4 months ago |
unknown |
unknown |
| 33227 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): exact of associated graded exact |
We proved that a chain complex is exact if its associated graded complex is exact.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33226
migrated from #26869 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
728/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34745 4 months ago |
unknown |
unknown |
| 33226 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): associated graded exact of exact and strict |
In this file, we define the concept of exhaustive filtrations.
We also prove a AssociatedGradedRingHom sequence is exact iff each GradedPieceHom is exact.
And when a sequence is strict exact, the corresponding AssociatedGradedRingHom sequence is also exact.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33222
migrated from #26868 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
529/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/Exactness.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
4 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34743 4 months ago |
unknown |
unknown |
| 33225 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): filtered module hom |
In this PR we defined the filtered semi-linear map for filtered module and the associated graded module hom.
---
- [ ] depends on: #33220
- [ ] depends on: #33223
migrated from #26867 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
1205/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34742 4 months ago |
unknown |
unknown |
| 33224 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered alghom |
In this PR, we define the filtered algebra homomorphisms on algebras and prove some basic properties of
them.
---
- [ ] depends on: #33219
- [ ] depends on: #33223
migrated from #26863 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
1055/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34740 4 months ago |
unknown |
unknown |
| 33223 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered ring homomorphism |
In this PR, we define the filtered ring morphisms on rings and prove some basic properties of
them.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33218
- [ ] depends on: #33222
migrated from #26862 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
824/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34737 4 months ago |
unknown |
unknown |
| 33222 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define filtered add group hom |
In this file we define filtered hom and the corresponding associated graded hom for abelian groups.
Co-authored-by: Huanyu Zheng @Yu-Misaka [suzuka@misaka-yu.com](mailto:suzuka@misaka-yu.com)
Co-authored-by: Yi Yuan @yuanyi-350 [kysyy1@126.com](mailto:kysyy1@126.com)
Co-authored-by: Weichen Jiao @AlbertJ-314 [albertjiao314@gmail.com](mailto:albertjiao314@gmail.com)
---
- [ ] depends on: #33217
migrated from #26861
|
new-contributor
t-ring-theory
blocked-by-other-PR
|
368/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean,Mathlib/RingTheory/FilteredAlgebra/FilteredHom.lean |
3 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
136-34736 4 months ago |
unknown |
unknown |
| 33178 |
gw90 author:gw90 |
feat(Analysis/CStarAlgebra/Spectrum): Adding lemmas that the CStarAlgebra norm equals the square root of the spectral radius of star a * a |
Adds lemmas that the ||a||^2_A=sqrt(spectralRadius C (star a * a)). I think it would be helpful to have these lemmas available in Mathlib. It'll help with some of the other things I'm working on. Feel free to move them to a different file or rename them as you see fit. |
new-contributor
t-analysis
awaiting-author
|
24/0 |
Mathlib/Analysis/CStarAlgebra/Spectrum.lean |
1 |
15 |
['github-actions', 'gw90', 'themathqueen', 'vihdzp'] |
nobody |
135-73004 4 months ago |
unknown |
unknown |
| 32264 |
jjtowery author:jjtowery |
feat(Bicategory): add lax slice bicategory |
---
In this PR, I define the lax slice bicategory for a lax functor over an object. I also give the change of slice strict pseudofunctor. These are from Section 7.1 of Johnson & Yau and are essential for their Whitehead theorem for bicategories (lax functor biequivalence iff essentially surjective, essentially full, and fully faithful), which I'd like to prove at some point.
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
527/0 |
Mathlib.lean,Mathlib/CategoryTheory/Bicategory/LaxSlice.lean |
2 |
12 |
['dagurtomas', 'github-actions', 'jjtowery', 'robin-carlier'] |
dagurtomas assignee:dagurtomas |
132-63222 4 months ago |
unknown |
unknown |
| 32960 |
dleijnse author:dleijnse |
feat(FieldTheory): adjoin pth roots |
For a field `k` of exponential characteristic `p` and a subset `S` of `k`, we define the extension of `k` obtained by adjoining all `p`-th roots of elements of `S`. We prove that this is a purely inseparable extension, and provide some basic API.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
131/0 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean |
2 |
13 |
['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar'] |
erdOne assignee:erdOne |
131-79874 4 months ago |
unknown |
unknown |
| 33163 |
Aaron1011 author:Aaron1011 |
feat: prove subgroup of (M -> Z) is finitely generated |
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
5/0 |
Mathlib/RingTheory/DedekindDomain/Dvr.lean |
1 |
2 |
['erdOne', 'github-actions'] |
alreadydone assignee:alreadydone |
131-72824 4 months ago |
unknown |
unknown |
| 33133 |
0xTerencePrime author:0xTerencePrime |
feat(Algebra/Group/Center): add Decidable (IsMulCentral a) instance |
This PR adds a `Decidable` instance for `IsMulCentral a`.
### Summary
The structure `IsMulCentral` was missing a `Decidable` instance. This PR provides the instance by leveraging `isMulCentral_iff`, enabling decidability for both multiplicative and additive (via `to_additive`) structures.
### Verification
- `lake build Mathlib.Algebra.Group.Center` passed.
- `lake exe runLinter Mathlib.Algebra.Group.Center` passed. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
7/0 |
Mathlib/Algebra/Group/Center.lean |
1 |
3 |
['github-actions', 'robin-carlier'] |
ocfnash assignee:ocfnash |
126-14615 4 months ago |
unknown |
unknown |
| 33502 |
MrQubo author:MrQubo |
fix(Tactic/ProxyType): Pass params explicitly in proxy_equiv% implementation |
Fix [#mathlib4 > `deriving Fintype` with Prop](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60deriving.20Fintype.60.20with.20Prop/with/566118621)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-meta
WIP
|
12/2 |
Mathlib/Tactic/ProxyType.lean,MathlibTest/DeriveFintype.lean |
2 |
7 |
['MrQubo', 'github-actions', 'kmill'] |
kmill assignee:kmill |
124-67939 4 months ago |
unknown |
unknown |
| 17176 |
arulandu author:arulandu |
feat: integrals and integrability with .re |
Lemmas for swapping order of .re and integration/integrability.
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
awaiting-author
new-contributor
t-measure-probability
please-adopt
|
49/0 |
Mathlib/MeasureTheory/Function/L1Space.lean,Mathlib/MeasureTheory/Integral/IntegrableOn.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral.lean,Mathlib/MeasureTheory/Integral/SetIntegral.lean |
4 |
32 |
['EtienneC30', 'arulandu', 'github-actions', 'loefflerd'] |
nobody |
122-70937 4 months ago |
unknown |
unknown |
| 33756 |
dleijnse author:dleijnse |
feat(FieldTheory): root of polynomial with p power coefficients |
This PR proves the results in https://stacks.math.columbia.edu/tag/031V, which gives a criterion for a root of a polynomial over a field `k` of characteristic `p` to be a `p`-th power.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
88/0 |
Mathlib.lean,Mathlib/FieldTheory/PthPowerCoeffPoly.lean |
2 |
1 |
['github-actions'] |
nobody |
120-3037 4 months ago |
unknown |
unknown |
| 33299 |
kingiler author:kingiler |
feat: Add decidable membership for Interval |
Implemented membership and corresponding decidable instance for `Interval`.
Related [#mathlib4 > Proposal: Add decidable membership for Interval](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Proposal.3A.20Add.20decidable.20membership.20for.20Interval/with/565438009).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-order
|
16/1 |
Mathlib/Order/Interval/Basic.lean |
1 |
5 |
['Vierkantor', 'eric-wieser', 'github-actions', 'kingiler'] |
Vierkantor assignee:Vierkantor |
119-81243 3 months ago |
unknown |
unknown |
| 33948 |
anivegesana author:anivegesana |
feat(Analysis/Normed/Algebra): matrix exponential of nilpotent matrix |
Where the matrix exponential and nilpotent elements are defined, both the matrix exponential and the nilpotent element exponential. I had to add a different theorem for normed space exponential and the matrix exponential since the right instances wouldn't be synthesized. Help with golfing would be appreciated.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
|
34/0 |
Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean |
2 |
1 |
['github-actions'] |
nobody |
114-38596 3 months ago |
unknown |
unknown |
| 30391 |
rudynicolop author:rudynicolop |
feat(Data/List): list splitting definitions and lemmas |
This PR continues the work from #24395.
Original PR: https://github.com/leanprover-community/mathlib4/pull/24395 |
t-data
new-contributor
awaiting-author
|
108/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
50 |
['BoltonBailey', 'IlPreteRosso', 'TwoFX', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
TwoFX assignee:TwoFX |
112-5942 3 months ago |
unknown |
unknown |
| 29282 |
Jlh18 author:Jlh18 |
feat(CategoryTheory): HasColimits instance on Grpd |
Show that the category of groupoids has all small colimits, as a coreflective subcategory of `Cat`, which has all small colimits. The right adjoint of the forgetful functor is the core functor `CategoryTheory.Core.functor`.
- [ ] depends on: #29283 [Core of a category as a functor]
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
new-contributor
t-category-theory
|
140/4 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/InducedMaps.lean,Mathlib/CategoryTheory/Category/Grpd.lean,Mathlib/CategoryTheory/Core.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Colimit.lean,Mathlib/CategoryTheory/Groupoid/Grpd/Core.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
110-16022 3 months ago |
unknown |
unknown |
| 34141 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Acyclic): finite trees have at least two degree-one vertices |
Add a lemma showing that a finite tree with at least two vertices has at least two vertices of degree 1.
- Introduce a helper lemma `SimpleGraph.Connected.one_le_degree` for connected graphs on a nontrivial finite type.
- Prove the leaf-count lower bound via the degree-sum identity and a counting argument.
---
|
awaiting-author
new-contributor
t-combinatorics
|
72/2 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
105-85565 3 months ago |
unknown |
unknown |
| 29953 |
slashbade author:slashbade |
feat: add reap for experiment |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
40/3 |
Cache/IO.lean,Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,lake-manifest.json,lakefile.lean |
5 |
3 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
100-78090 3 months ago |
unknown |
unknown |
| 31377 |
CoolRmal author:CoolRmal |
feat: a series of smooth functions that converges (locally) uniformly is smooth |
The main theorem is the proof that an infinite sum of $C^n$ functions on a one-dimensional domain which converges locally uniformly is $C^n$ and related results.
This should be compared with [contDiff_tsum](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Calculus/SmoothSeries.html#contDiff_tsum) where the same result is proved for functions on an arbitrary domain but with a slightly stronger convergence assumption.
The main motivation for this PR is the [#mathlib4 > Tychonov's Counterexample for the Heat Equation](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Tychonov's.20Counterexample.20for.20the.20Heat.20Equation/with/547367912).
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
merge-conflict
|
110/18 |
Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/QExpansion.lean,Mathlib/Topology/Algebra/InfiniteSum/TsumUniformlyOn.lean,Mathlib/Topology/Algebra/InfiniteSum/UniformOn.lean |
5 |
20 |
['CoolRmal', 'github-actions', 'mathlib4-merge-conflict-bot', 'ocfnash', 'sgouezel'] |
ocfnash assignee:ocfnash |
99-67663 3 months ago |
unknown |
unknown |
| 34130 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
28/1 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['IvanRenison', 'github-actions', 'metakunt', 'vlad902'] |
nobody |
98-27191 3 months ago |
unknown |
unknown |
| 32609 |
PrParadoxy author:PrParadoxy |
feat(LinearAlgebra/PiTensorProduct): Relation between nested tensor products and tensor products indexed by dependent sums |
Product tensors in `⨂ j : (Σ i, β i), s j.fst j.snd` can be mapped to
product tensors in `⨂ i, ⨂ b : β i, s i b`. If the outer index type is
finite, the two types are equivalent.
This allows the definition of endomorphisms on PiTensorProducts by
specifying them on disjoint subsets of the index set. Such constructions
are common e.g. in quantum circuits, quantum cellular automata, and
renormalization procedures.
---
WIP.
This PR contains two "requests for comments". Essentially:
* Is a single complex-to-define linear equivalence preferable over
several less complex ones, which might however be of limited interest
by themselves?
* Which trade-offs are appropriate to make things computable?
- [ ] depends on: #32608
- [x] depends on: #32600
- [x] depends on: #32598
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-algebra
label:t-algebra$ |
683/0 |
Mathlib.lean,Mathlib/Data/Sigma/Basic.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct/Nested.lean,Mathlib/LinearAlgebra/PiTensorProduct/Set.lean |
5 |
5 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
96-64996 3 months ago |
unknown |
unknown |
| 30260 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): added CocartesianMonoidalCategory |
As discussed in #21603 and #28718; this implements chosen finite coproducts on top of `AddMonoidalCategory` as defined in #30150
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
839/125 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Cocartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
5 |
4 |
['github-actions', 'imbrem', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
96-17427 3 months ago |
unknown |
unknown |
| 30258 |
imbrem author:imbrem |
feat(CategoryTheory/Monoidal): to_additive for proofs using `monoidal` |
Building on #30150, this allows us to use `@[to_additive]` on proofs containing `monoidal`, by tagging the lemmas `monoidal` outputs with `@[to_additive]` as appropriate.
Testing on my branch [`additive-monoidal-coherence`](https://github.com/imbrem/mathlib4/tree/additive-monoidal-coherence) shows that this works.
It is still future work to have either the `monoidal` tactic or a new `add_monoidal` tactic work for `AddMonoidalCategory` instances directly.
---
- [ ] depends on: #30150
[](https://gitpod.io/from-referrer/)
|
merge-conflict
blocked-by-other-PR
large-import
new-contributor
t-category-theory
|
524/140 |
Mathlib/CategoryTheory/Monoidal/Category.lean,Mathlib/CategoryTheory/Monoidal/Discrete.lean,Mathlib/Tactic/CategoryTheory/Monoidal/Normalize.lean,Mathlib/Tactic/CategoryTheory/Monoidal/PureCoherence.lean,Mathlib/Tactic/CategoryTheory/MonoidalComp.lean,Mathlib/Tactic/ToAdditive/GuessName.lean |
6 |
3 |
['github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
96-17420 3 months ago |
unknown |
unknown |
| 30121 |
idontgetoutmuch author:idontgetoutmuch |
feat(Mathlib/Geometry/Manifold): principal fiber bundle core |
A structure capturing what it means to be a principal fibre bundle.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
227/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PrincipalFiberBundle/PrincipalGBundle.lean |
2 |
8 |
['github-actions', 'grunweg', 'idontgetoutmuch', 'mathlib4-merge-conflict-bot'] |
hrmacbeth assignee:hrmacbeth |
96-9135 3 months ago |
unknown |
unknown |
| 31102 |
JOSHCLUNE author:JOSHCLUNE |
feat: require LeanHammer |
Experimenting with adding LeanHammer as a mathlib dependency
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
new-contributor
t-meta
|
61/4 |
Mathlib/Tactic/Common.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,MathlibTest/Hammer.lean,lake-manifest.json,lakefile.lean |
5 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
nobody |
96-7902 3 months ago |
unknown |
unknown |
| 34291 |
YellPika author:YellPika |
feat(Data): a monad for partial computations |
This is the code corresponding to [mathlib4 > A monad for partial computations](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/A.20monad.20for.20partial.20computations/with/569619800). Not currently intended to be merged.
This PR depends on #33941. The only changes relevant to this discussion are in `OmegaPart.lean`, `OmegaProp.lean`, and `Quot.lean`.
# Original Message
Inspired by @**Aaron Liu**'s comments in #**mathlib4>deprecate Mathlib.Data.Nat.PartENat?@538009243** and #**Is there code for X?>Divergence monad@538020049** I made an attempt at constructing a monad for partial computations with a computable `OmegaCompletePartialOrder` instance (neither `Option` nor `Part` support this use case). My solution consists of three parts.
**A computable version of `Quotient.choice`.** As mentioned in #**lean4>Quot.lift for dependent products@467436416** , the "obvious" computational interpretation of `Quotient.choice : (∀i:I, @Quotient (A i) …) → @Quotient (∀i:I, A i)` is not sound. However, we _can_ provide a sound computational interpretation when we restrict `I` to `ℕ`:
```lean
unsafe def Quotient.countableChoice_impl {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.lift₂
(fun z s ↦ ⟦fun | .zero => z | .succ n => s n⟧)
(fun z₁ s₁ z₂ s₂ h₁ h₂ ↦ by
apply sound
rintro ⟨_|n⟩
· apply h₁
· apply h₂)
(f 0)
(countableChoice_impl (fun n ↦ f n.succ))
@[implemented_by Quotient.countableChoice_impl]
def Quotient.countableChoice {α : Nat → Type*} {S : ∀ i, Setoid (α i)}
(f : ∀ i, Quotient (S i)) :
@Quotient (∀ i, α i) (by infer_instance) :=
Quotient.choice f
```
My justification for the soundness of this implementation comes from the fact that only uses existing (sound and computable) functions + general recursion. The implementation is found [here](https://github.com/YellPika/mathlib4/blob/99d38f164a97c7aa225283ef6016f0279419a994/Mathlib/Data/Quot.lean#L430) (it uses `unquot` instead of recursion for performance reasons, but should be equivalent).
**A type of semi-computable propositions.** Next, I define a type of semi-computable propositions `ΩProp` as a quotient of the type of boolean sequences `(ℕ → Bool) / ≈`, where `p ≈ q ≝ (∃n, p n) ↔ (∃n, q n)`. A sequence is interpreted as "true" if at least one element in the sequence is `true`, and the quotient relation ensures that we cannot observe the difference between different "true" sequences. The `ΩProp` type has a (computable) `OmegaCompletePartialOrder`, and `Quotient.countableChoice` is used in the implementation of `ωSup`.
The implementation of this type is [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaProp.lean).
**A type of semi-computable computations.** Finally, I define the type `ΩPart A` of semi-computable computations returning a value of type `A`. The definition of `ΩPart` is the same as `Part` with `ΩProp` swapped for `Prop`. Again, `ΩPart A` has a (computable) `OmegaCompletePartialOrder` instance. The implementation can be found [here](https://github.com/YellPika/mathlib4/blob/quot-choice-compute/Mathlib/Data/OmegaPart.lean).
This was mainly just a fun experiment and the code is not ready to be (or perhaps should not be) put in mathlib. I thought I should post it here to see if 1) there is any interest or 2) an implementation already exists that has escaped my notice. |
new-contributor
large-import
merge-conflict
|
1157/40 |
Mathlib/Data/OmegaPart.lean,Mathlib/Data/OmegaProp.lean,Mathlib/Data/Quot.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean |
5 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
93-72555 3 months ago |
unknown |
unknown |
| 34053 |
christian-oudard author:christian-oudard |
feat: Add error function (erf) and complementary error function (erfc) |
## Summary
I was doing some finance math and needed the Error Function, so I thought I'd contribute it.
### Main definitions
* `Real.erf`: The error function, defined as `(2/√π) ∫₀ˣ e^(-t²) dt`
* `Real.erfc`: The complementary error function, defined as `1 - erf x`
### Main results
* `Real.erf_zero`: `erf 0 = 0`
* `Real.erf_neg`: `erf` is an odd function: `erf (-x) = -erf x`
* `Real.erf_tendsto_one`: `erf x → 1` as `x → ∞`
* `Real.erf_tendsto_neg_one`: `erf x → -1` as `x → -∞`
* `Real.erf_le_one`: `erf x ≤ 1` for all `x`
* `Real.neg_one_le_erf`: `-1 ≤ erf x` for all `x`
* `Real.deriv_erf`: `deriv erf x = (2/√π) * exp(-x²)`
* `Real.differentiable_erf`: `erf` is differentiable
* `Real.continuous_erf`: `erf` is continuous
* `Real.strictMono_erf`: `erf` is strictly monotone
Also adds `erf` to `docs/overview.yaml` under Special Functions.
---
- [x] Builds successfully
- [x] `lake exe runLinter` passes
- [x] `lake exe mk_all --check` passes |
t-analysis
new-contributor
awaiting-author
|
333/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Erf.lean,docs/overview.yaml |
3 |
18 |
['SnirBroshi', 'christian-oudard', 'github-actions', 'j-loreaux', 'plp127'] |
j-loreaux assignee:j-loreaux |
93-45331 3 months ago |
unknown |
unknown |
| 33601 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG |
---
- [ ] depends on: #33599
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
blocked-by-other-PR
|
941/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
93-23044 3 months ago |
unknown |
unknown |
| 34726 |
GrigorenkoPV author:GrigorenkoPV |
feat(Analysis/SpecialFunctions/Trigonometric/Basic): sin and cos of multiples of π / 3 |
---
Merge of https://github.com/leanprover-community/mathlib4/pull/26349
[](https://gitpod.io/from-referrer/)
|
new-contributor |
159/0 |
Mathlib/Algebra/Order/Monoid/NatCast.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/Nat/Cast/Defs.lean,MathlibTest/trigonometry.lean |
4 |
1 |
['github-actions'] |
nobody |
91-68469 3 months ago |
unknown |
unknown |
| 34394 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): add constructors for linear ordered rings |
Add constructors for ordered rings from `mul_nonneg` / `mul_pos` that derive `ZeroLEOneClass` from a linear order. |
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
31/14 |
Mathlib/Algebra/Order/Ring/Defs.lean,Mathlib/RingTheory/HahnSeries/Lex.lean |
2 |
6 |
['Citronhat', 'Vierkantor', 'github-actions', 'leanprover-radar'] |
Vierkantor assignee:Vierkantor |
91-15406 3 months ago |
unknown |
unknown |
| 33493 |
michelsol author:michelsol |
feat(RingTheory/Polynomial): An explicit formula for the Chebyshev polynomials of the first kind |
Adds the following explicit formula on the Chebyshev polynomial of the first kind of order n.
${ T_{n}(x)\ =\ \sum \limits _{k=0}^{\lfloor {\frac {n}{2}}\rfloor } {\binom {n}{2k}} \left(\ X^{2}-1\ \right)^{k}\ X^{n-2k}}$
This explicit formula can be found [here](https://en.wikipedia.org/wiki/Chebyshev_polynomials#Explicit_expressions). There is a proof using complex numbers but it only works if the ring R = ℂ.
The proof here is by induction and works in a commutative ring R.
Mathlib seems to extend the definition of Chebyshev polynomials for $n \in \mathbb{Z}$ but this would make the formula more cumbersome with `n.natAbs` in place of `n`'s, so I expressed it on `n : ℕ` directly.
---
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
51/1 |
Mathlib/RingTheory/Polynomial/Chebyshev.lean |
1 |
8 |
['YuvalFilmus', 'erdOne', 'github-actions', 'metakunt', 'michelsol'] |
chrisflav assignee:chrisflav |
89-51645 3 months ago |
unknown |
unknown |
| 26986 |
WangYiran01 author:WangYiran01 |
feat(Partition): add bijection for partitions with max part ≤ r |
This PR adds a new theorem `partition_max_equals_bound` to `Mathlib.Combinatorics.Enumerative.Partition`.
It constructs a bijection between:
- The set of partitions of `n` in which `r ∈ π.parts` and all parts are `≤ r`, and
- The set of partitions of `n - r` whose largest part is at most `r`.
This provides a constructive proof via removing/adding `r` from/to the partition multiset, in line with classical enumerative combinatorics.
Contributed by Yiran Wang.
|
awaiting-author
t-combinatorics
new-contributor
merge-conflict
|
92/0 |
Mathlib/Combinatorics/Enumerative/Partition/Basic.lean,Mathlib/Data/Multiset/Lattice.lean |
2 |
20 |
['WangYiran01', 'github-actions', 'jcommelin', 'kckennylau', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
b-mehta assignee:b-mehta |
87-119 2 months ago |
unknown |
unknown |
| 26168 |
oliver-butterley author:oliver-butterley |
feat(MeasureTheory.VectorMeasure): variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition |
Add `signedMeasure_totalVariation_eq`: if `μ` is a `SignedMeasure` then variation defined as a supremum is equal to variation defined using the Hahn-Jordan decomposition.
Co-authored-by: @yoh-tanimoto
- [ ] depends on: #26165
---
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
new-contributor
t-measure-probability
merge-conflict
|
916/0 |
Mathlib.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Equiv.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean |
5 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
86-67508 2 months ago |
unknown |
unknown |
| 33969 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): Currently, injectiveSeminorm = projectiveSeminorm |
**WIP / RFC!**
Arguably, `injectiveSeminorm` should be re-defined in Mathlib. See #34137 and [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798261) for context.
In this file, we collect some results about the current definition and a possible alternative.
Contents:
* A theorem `injectiveSeminorm_eq_projectiveSeminorm` formalizing the equality of the current definitions. However, I think it is unlikely that keeping the alternative characterization would be worth the effort. The interesting direction `(L2') ≤ (L1)` follows from `norm_eval_le_projectiveSeminorm` which is still present. The converse direction is [somewhat tautological](https://github.com/leanprover-community/mathlib4/pull/34137). A proof of `(L2) = (L1)` (probably requiring Hahn-Banach) might be more interesting.
* A preliminary implementation of the injective seminorm as commonly understood.
* Sufficient conditions for the multiplicativity property `‖⨂ m i‖_∧ = ∏ ‖m i‖` to hold. This implements a TBD item.
---
Co-authored-by: Davood H. H. Tehrani
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
large-import
merge-conflict
|
774/387 |
Mathlib.lean,Mathlib/Analysis/Normed/Module/Dual.lean,Mathlib/Analysis/Normed/Module/HahnBanach.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/LeastReasonable.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/LinearAlgebra/PiTensorProduct.lean |
8 |
3 |
['github-actions', 'goliath-klein', 'mathlib-merge-conflicts'] |
nobody |
85-69869 2 months ago |
unknown |
unknown |
| 33233 |
jazzits author:jazzits |
feat(GroupTheory): add chosen group presentations and Tietze transformations (1) and (2) |
Defines a notion of group presentation for G compatible with Mathlib.GroupTheory.PresentedGroup: generators `ι → G` whose range generates G, and relators `rels : Set (FreeGroup ι)` whose normal closure equals the kernel of `FreeGroup ι →* G`. Provides the canonical map `PresentedGroup P.rels →* G` and equivalences showing `PresentedGroup P.rels ≃* G` and invariance under changing presentations.
Also formalizes Tietze moves (1)–(2) as equivalences of PresentedGroups: adding/removing a relator that lies in the normal closure of the others.
TODO: moves (3)–(4) (add/remove generator with a defining relation).
No existing definitions are modified
|
t-group-theory
new-contributor
awaiting-author
|
328/0 |
Mathlib.lean,Mathlib/GroupTheory/Presentation.lean |
2 |
15 |
['github-actions', 'homeowmorphism', 'jazzits', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
85-12002 2 months ago |
unknown |
unknown |
| 34725 |
GrigorenkoPV author:GrigorenkoPV |
feat(RingTheory/RootsOfUnity/LowDegree): quadratic, cubic, quartic, quintic roots of unity |
Closes https://github.com/leanprover-community/mathlib4/pull/25907
---
Merge of https://github.com/leanprover-community/mathlib4/pull/25907
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-ring-theory
awaiting-author
|
247/0 |
Mathlib.lean,Mathlib/Algebra/CharP/Invertible.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/RingTheory/RootsOfUnity/LowDegree.lean |
4 |
22 |
['GrigorenkoPV', 'LLaurance', 'erdOne', 'github-actions', 'joneugster'] |
nobody |
84-63092 2 months ago |
unknown |
unknown |
| 34159 |
wangying11123 author:wangying11123 |
feat(Geometry/Euclidean/Similarity): Add Triangle similarity on oangle |
Add theorems about triangles similarity on oangle |
t-euclidean-geometry
new-contributor
awaiting-author
|
154/1 |
Mathlib/Geometry/Euclidean/Similarity.lean |
1 |
8 |
['LLaurance', 'github-actions', 'jsm28', 'wangying11123'] |
jsm28 assignee:jsm28 |
84-10769 2 months ago |
unknown |
unknown |
| 33050 |
mkaratarakis author:mkaratarakis |
feat: lemmas for the analytic part of the proof of the Gelfond–Schneider theorem |
Lemmas missing for the formalisation of the proof of the Gelfond–Schneider theorem
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
WIP
|
238/0 |
Mathlib.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart.lean,Mathlib/NumberTheory/Transcendental/AnalyticPart2.lean |
6 |
113 |
['SnirBroshi', 'github-actions', 'j-loreaux', 'mkaratarakis', 'riccardobrasca', 'vihdzp'] |
riccardobrasca assignee:riccardobrasca |
82-79549 2 months ago |
unknown |
unknown |
| 23791 |
SEU-Prime author:SEU-Prime |
Create AmiceTrans.lean |
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
WIP
t-number-theory
new-contributor
|
2963/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Ring/Lemmas2.lean,Mathlib/NumberTheory/Padics/AmiceTrans.lean,Mathlib/NumberTheory/Padics/PSAC.lean,Mathlib/NumberTheory/Padics/PSAC2.lean,Mathlib/NumberTheory/Padics/PSAC3.lean,Mathlib/NumberTheory/Padics/PiGammainPS.lean,Mathlib/NumberTheory/Padics/PsiandVar.lean,Mathlib/RingTheory/AdicCompletion/Lemma.lean,Mathlib/RingTheory/PowerSeries/Comp.lean,Mathlib/Topology/ContinuousMap/ZeroAtBot.lean |
11 |
5 |
['SEU-Prime', 'github-actions', 'leanprover-community-bot-assistant', 'urkud'] |
nobody |
82-51833 2 months ago |
unknown |
unknown |
| 33281 |
michelsol author:michelsol |
feat(Analysis/SpecialFunctions/Integrals): integral of 1/sqrt(1-x^2) and its integrability. |
Add the integral of the derivative of arcsin and its integrability.
---
- [ ] depends on: #33280
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
t-analysis
|
59/0 |
Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot'] |
nobody |
82-21456 2 months ago |
unknown |
unknown |
| 29777 |
yuanyi-350 author:yuanyi-350 |
feat(Functional Analysis): closed Range Theorem |
- [ ] depends on: #29151 [Corollary of Hahn-Banach theorem]
- [ ] depends on: #29776 [refactor ContinuousLinearMap.isOpenMap by separating it into sublemmas]
---
[](https://gitpod.io/from-referrer/)
|
WIP
blocked-by-other-PR
new-contributor
awaiting-author
t-analysis
merge-conflict
|
237/25 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Operator/ClosedRange.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
5 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
faenuccio assignee:faenuccio |
81-77041 2 months ago |
unknown |
unknown |
| 29151 |
yuanyi-350 author:yuanyi-350 |
feat: Corollary of Hahn–Banach theorem |
In this PR, I have proved [Rudin, *Functional Analysis* (Theorem 3.7)][rudin1991] which is a step in proving the Closed Range Theorem. Also, I have added tags for the corresponding theorems in Rudin to mathlib.
3.7 Theorem. Suppose B is a convex, balanced, closed set in a locally convex space $X, x_0 \in X$, but $x_0 \notin B$. Then there exists $\Lambda \in X^*$ such that $|\Lambda x| \leq 1$ for all $x \in B$, but $\Lambda x_0>1$
proof. Since $B$ is closed and convex, we can apply (b) of Theorem 3.4, with $A=\{ x_0 \}$ , to obtain $\Lambda_1 \in X^*$ such that $\Lambda_1 x_0=r e^{i \theta}$ lies outside the closure $K$ of $\Lambda_1(B)$. Since $B$ is balanced, so is $K$. Hence there exists $s, 0" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
large-import
t-analysis
merge-conflict
|
70/1 |
Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/RCLike/Lemmas.lean,Mathlib/Topology/Order/OrderClosed.lean |
3 |
17 |
['faenuccio', 'fpvandoorn', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'mcdoll', 'themathqueen', 'yuanyi-350'] |
faenuccio assignee:faenuccio |
81-72664 2 months ago |
unknown |
unknown |
| 33712 |
wangying11123 author:wangying11123 |
feat(Geometry/Euclidean/Angle/Unoriented/Projection): Add sameray_orthogonalProjection_vsub_of_angle_lt |
Add sameray_orthogonalProjection_vsub_of_angle_lt
`sameray_orthogonalProjection_vsub_of_angle_lt`
When an angle is acute, the vector to the orthogonal projection lies in the same ray as the given direction vector. |
new-contributor
t-euclidean-geometry
awaiting-author
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
4 |
['JovanGerb', 'github-actions', 'j-loreaux'] |
JovanGerb assignee:JovanGerb |
80-1386 2 months ago |
unknown |
unknown |
| 33786 |
hdmkindom author:hdmkindom |
feat(Analysis/Matrix): add Jacobian matrix for matrix-valued functions |
This PR introduces the Jacobian matrix for matrix-valued functions `F : Matrix m n ℝ → Matrix p q ℝ`.
The Jacobian matrix `jacobianMatrix F X` at point `X` is indexed by `(p × q) × (m × n)`, where each entry represents the partial derivative with respect to a basis element. To handle instance-mismatch issues with matrix norms, we use local Frobenius norm instances.
mkdir Analysis/Matrix/Jacobian.lean
## Main definitions
- `jacobianMatrix F X`: The Jacobian matrix at point `X`, defined by `jacobianMatrix F X (i, k) (j, l) = (fderiv ℝ F X (Matrix.single j l 1)) i k`
## Main theorems
- `fderiv_eq_jacobian_mul`: Express the Fréchet derivative as a contraction with the Jacobian
- `jacobianMatrix_comp`: Chain rule for Jacobian matrices
- `jacobianMatrix_linear`, `jacobianMatrix_id`, `jacobianMatrix_const`: Basic properties
- `jacobianMatrix_add`, `jacobianMatrix_smul`: Linearity properties
|
t-analysis
new-contributor
awaiting-author
|
219/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean |
2 |
11 |
['erdOne', 'github-actions', 'jcommelin'] |
sgouezel assignee:sgouezel |
80-1034 2 months ago |
unknown |
unknown |
| 30667 |
FrederickPu author:FrederickPu |
feat(Mathlib/Algebra/Group/Subgroup/Pointwise): subgroup mul |
Title:
feat: pointwise products for subgroups
Description:
showed the point-wise product of disjoint subgroups is equivalent to their Cartesian product. Based on https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/useful.20group.20theory.20lemmas/with/546738566.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
28/0 |
Mathlib/Algebra/Group/Subgroup/Pointwise.lean |
1 |
23 |
['FrederickPu', 'eric-wieser', 'github-actions', 'plp127', 'tb65536'] |
nobody |
79-86295 2 months ago |
unknown |
unknown |
| 33793 |
LTolDe author:LTolDe |
feat(MeasureTheory/Constructions/Polish/Basic): add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre |
add lemma AnalyticSet.inter_nonempty_of_nowhereMeagre, the main ingredient for the proof of the **Effros' Theorem**, see [#mathlib4 > Effros Theorem](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/566543328)
introduce definition of a nowhere meagre set
---
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
37/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/Order/Filter/Basic.lean,Mathlib/Topology/GDelta/Basic.lean |
3 |
8 |
['MichaelStollBayreuth', 'erdOne', 'github-actions', 'j-loreaux'] |
kex-y assignee:kex-y |
79-82052 2 months ago |
unknown |
unknown |
| 35313 |
LexinonCraft author:LexinonCraft |
feat: IMO 2025 Q4 |
This adds a solution for problem 4 from the International Math Olympiad 2025.
--- |
IMO
new-contributor
awaiting-author
|
631/0 |
Archive.lean,Archive/Imo/Imo2025Q4.lean |
2 |
4 |
['LexinonCraft', 'github-actions', 'jsm28'] |
jsm28 assignee:jsm28 |
79-51926 2 months ago |
unknown |
unknown |
| 33276 |
NicolaBernini author:NicolaBernini |
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-data
merge-conflict
|
17/15 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Data/Finset/Dedup.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Defs.lean,Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/Permutation.lean,Mathlib/Data/Multiset/Defs.lean,Mathlib/NumberTheory/Divisors.lean |
8 |
5 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
kim-em assignee:kim-em |
79-35670 2 months ago |
unknown |
unknown |
| 34674 |
Citronhat author:Citronhat |
feat(Algebra/Order/Ring): replace ENNReal lemmas with WithTop versions |
* Add `WithTop` versions of basic multiplicative order lemmas.
* Use the new `WithTop` lemmas to replace `ENNReal` proofs and address six TODOs.
* Fix a typo in the `pos_of_ne_zero` alias name. |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
46/15 |
Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Data/ENNReal/Operations.lean |
3 |
5 |
['Citronhat', 'Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
Ruben-VandeVelde assignee:Ruben-VandeVelde |
79-15404 2 months ago |
unknown |
unknown |
| 28246 |
Sebi-Kumar author:Sebi-Kumar |
feat(AlgebraicTopology/FundamentalGroupoid): the n-sphere is simply connected for n > 1 |
Prove that the `n`-dimensional sphere (i.e., the unit sphere centered at the origin in `(n + 1)`-dimensional real Euclidean space) is a simply connected space for `n > 1`. This proof follows Hatcher's "Algebraic Topology"; we first prove a general lemma about decomposing loops and then exploit the fact that non-surjective loops in the sphere are homotopically trivial.
Note: To get this file to build, I edited `Mathlib/Tactic/Linter/DirectoryDependency.lean` to remove the restrictions on AlgebraicTopology files importing Geometry, NumberTheory, and FieldTheory files. Thank you to those who shared their expertise [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Warning.20that.20AlgebraicTopology.20can't.20import.20SetTheory/with/533833638). As I understand it, this is just a short-term solution, so I would appreciate feedback on what to do about this situation.
Note: I am unsure where exactly the file `SimplyConnectedSphere.lean` should go or whether that is an appropriate name for the file, so feedback there would be appreciated.
---
To provide additional context, this code was written as a part of the Fields Undergraduate Summer Research Program at the University of Western Ontario under the supervision of Chris Kapulkin and Daniel Carranza.
- [x] depends on: #28208
- [x] depends on: #28198
- [x] depends on: #28185
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
awaiting-author
|
343/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
17 |
['dagurtomas', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
77-13190 2 months ago |
unknown |
unknown |
| 33746 |
ster-oc author:ster-oc |
feat(Algebra/Module/ZLattice): align `ZSpan.floor` to `Int.floor` API |
This PR adds some of the existent lemmas about `Int.floor`, `Int.ceil` and `Int.fract` to the `ZSpan` namespace.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
353/145 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
3 |
8 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'ster-oc'] |
joelriou assignee:joelriou |
74-32302 2 months ago |
unknown |
unknown |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
awaiting-author
merge-conflict
|
396/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
40 |
['SnirBroshi', 'SuccessMoses', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
73-63999 2 months ago |
unknown |
unknown |
| 26479 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis/Complex/CauchyIntegral): Cauchy–Goursat for Unbounded Rectangles |
In this PR, we prove versions of the Cauchy-Goursat theorem where the contours in question are rectangular and unbounded (ie, where the contours look like the $\bigsqcup$ symbol). I am not sure if I have formalised these in the best way, or if `Analysis.Complex.CauchyIntegral` is the best place for them (it might be prudent to reorganise the file into multiple files at some point), but I believe this is a useful result. Suggestions welcome.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
sphere-packing
awaiting-author
|
205/0 |
Mathlib/Analysis/Complex/CauchyIntegral.lean |
1 |
6 |
['github-actions', 'j-loreaux', 'loefflerd', 'mathlib4-merge-conflict-bot', 'thefundamentaltheor3m', 'wwylele'] |
urkud assignee:urkud |
72-64119 2 months ago |
unknown |
unknown |
| 33247 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): dimension of cotangent spaces |
It is shown that the span rank of the maximal ideal of a local ring equals the dimension of the cotangent space
if the maximal ideal is finitely generated.
To avoid unnecessary imports, the original `Mathlib/RingTheory/Nakayama` is now moved to `Mathlib/RingTheory/Nakayama/Basic`.
---
- [ ] depends on: #33359
- [ ] depends on: #33361
- [ ] depends on: #35651
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
t-ring-theory
WIP
blocked-by-other-PR
merge-conflict
|
140/27 |
Mathlib.lean,Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean,Mathlib/RingTheory/LocalRing/Module.lean,Mathlib/RingTheory/LocalRing/Quotient.lean,Mathlib/RingTheory/Nakayama/Basic.lean,Mathlib/RingTheory/Nakayama/SpanRank.lean,Mathlib/RingTheory/Regular/RegularSequence.lean,Mathlib/RingTheory/Support.lean |
10 |
13 |
['erdOne', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sun123zxy'] |
nobody |
72-60335 2 months ago |
unknown |
unknown |
| 35735 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): analytical properties and lower bounds for Gelfond-Schneider auxiliary function |
This PR is the third component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem). It connects the algebraically constructed auxiliary function `R(x)` to its analytical properties, establishing the exact order of vanishing and the fundamental lower bound on the norm of its non-zero derivative evaluation.
Following the argument in Loo-Keng Hua's *Introduction to Number Theory* (Chapter 17.9, equations (4) and (5)), we define the minimal non-vanishing derivative order $r$ and scale the evaluation to an algebraic integer to compute its norm.
1. (`iteratedkDeriv_R_eq_zero` & `order_geq_n`): We verify that the coefficient vector $\eta$ (chosen via Siegel's lemma in the previous PR) forces the first $n$ derivatives of the auxiliary function $R(x)$ to vanish at the points $x \in \{1, 2, \dots, m\}$. Consequently, the analytical order of $R(x)$ at these points is at least $n$.
2. We extract $r$, the exact minimal order of vanishing of $R(x)$ among all points $1 \le l \le m$, and prove that $n \le r$.
3. We define the non-zero algebraic number $\rho = (\log \alpha)^{-r} R^{(r)}(l_0)$.
4. We prove the crucial textbook step that scaling $\rho$ by $c_1^{r+2mq}$ (formalized here as `cρ`) results in an algebraic integer in $\mathcal{O}_K$.
5. Because $c_1^{r+2mq} \rho$ is a non-zero algebraic integer, the absolute value of its norm is at least $1$. We use this to formally prove the strict lower bound on the absolute norm of the unscaled $\rho$: $|N(\rho)| > c_1^{-h(r+2mq)} > c_5^{-r}$.
---
- [ ] depends on: #35734 [optional extra text]
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
blocked-by-other-PR
|
1141/0 |
Mathlib.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
72-47416 2 months ago |
unknown |
unknown |
| 20238 |
maemre author:maemre |
feat(Computability/DFA): Closure of regular languages under some set operations |
This shows that regular languages are closed under complement and intersection by constructing DFAs for them.
---
Closure under all other operations will be proved when someone adds the proof for DFA<->regular expression equivalence, so they are not part of this PR.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
159/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/Language.lean |
2 |
60 |
['EtienneC30', 'YaelDillies', 'github-actions', 'maemre', 'mathlib4-merge-conflict-bot', 'meithecatte', 'urkud'] |
nobody |
71-22340 2 months ago |
unknown |
unknown |
| 22361 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): nfa closure properties |
Add the closure properties union, intersection and reversal for NFA.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-computability
merge-conflict
awaiting-author
awaiting-zulip
|
218/2 |
Mathlib/Computability/Language.lean,Mathlib/Computability/NFA.lean |
2 |
91 |
['EtienneC30', 'b-mehta', 'ctchou', 'github-actions', 'leanprover-community-bot-assistant', 'meithecatte', 'rudynicolop'] |
nobody |
71-22324 2 months ago |
unknown |
unknown |
| 35746 |
ThomasMoulin-hub author:ThomasMoulin-hub |
feat (Algebra/Endomorphisms): add kernels lemma from the missing undergraduate mathematics in mathlib |
Add helper theorem inside Mathlib.Algebra.Polynomial.Smeval.lean and created a new file Mathlib/RingTheory/Polynomial/KernelDecomposition.lean that implements the kernels lemma from the missing undergraduate mathematics in mathlib list. This file also contains intermediate results needed for the main lemma. |
new-contributor |
75/0 |
Mathlib/Algebra/Polynomial/Smeval.lean,Mathlib/RingTheory/Polynomial/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
70-60164 2 months ago |
unknown |
unknown |
| 23929 |
meithecatte author:meithecatte |
feat(Computability/NFA): improve bound on pumping lemma |
---
- [x] depends on: #25321
[](https://gitpod.io/from-referrer/)
|
t-computability
awaiting-zulip
new-contributor
awaiting-author
|
101/10 |
Mathlib/Computability/EpsilonNFA.lean,Mathlib/Computability/NFA.lean |
2 |
42 |
['YaelDillies', 'dagurtomas', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib4-dependent-issues-bot', 'meithecatte'] |
nobody |
70-42353 2 months ago |
unknown |
unknown |
| 35128 |
DAE123456 author:DAE123456 |
feat : Define anti_pascal |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
81/0 |
Archive.lean,Archive/Imo/Imo2018Q3.lean |
2 |
5 |
['DAE123456', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
70-39879 2 months ago |
unknown |
unknown |
| 8102 |
miguelmarco author:miguelmarco |
feat(Tactic): add `unify_denoms` and `collect_signs` tactics |
This PR adds four new tactics:
- `unify_denoms` tries to put expressions with several divisions in a form with only one division. In the case of fields, it works similarly to `field_simp`, but if the hypothesis about denominators being nonzero are not present, it assumes them, and leaves them as new goals to prove. In that sense, it is an "unsafe" tactic (but can be useful nevertheless, for example when you can't find which exact hypothesis is missing). It also works with expressions of naturals and Euclidean domains, assuming the corresponding hypothesis about the denominators dividing the numerators.
- `unify_denoms!` extends `unify_denoms` to work with (in)equalities, assuming also that the denominators, once in normal form, are positive.
- `collect_signs` works similarly with expressions using sums and substractions: it tries to put them in a form of one sum minus other sum. In the case of working with naturals, it assumes that we never substract a bigger number from a smaller one.
Both are implemented essentially as a macro that combines several rewriting rules. Some new lemmas with the corresponding rules are added.
--- |
please-adopt
new-contributor
merge-conflict
modifies-tactic-syntax
good first issue
t-meta
|
407/0 |
Mathlib.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/CollectSigns.lean,Mathlib/Tactic/UnifyDenoms.lean,MathlibTest/unify_denoms.lean,scripts/noshake.json |
7 |
55 |
['Paul-Lez', 'YaelDillies', 'github-actions', 'joneugster', 'kbuzzard', 'mathlib4-merge-conflict-bot', 'miguelmarco'] |
nobody |
70-6651 2 months ago |
unknown |
unknown |
| 35603 |
2500223210-max author:2500223210-max |
feat(GroupTheory/Frattini): add more theorems |
Add some contents about frattini subgroup into Mathlib GroupTheory Frattini.lean,including
* (convenient lemma)A subgroup contained in all maximal subgroup is contained in
the FRattini subgroup
* A subgroup (say H) has a proper complement (meaning for some proper subgroup K,
K and H generate the whole group)if and only if it is not contained
in the Frattini subgroup.
* A group is cyclic iff its Frattini factor(the quotient group wrt Frattini subgroup)
is cyclic.
* The Frattini factor of a finite p-group is elementary abelian(that is,an abelian
group G with Gᵖ={1})
* A finite p-group has trivial Frattini subgroup iff the group is elementary abelian.
* Burnside theorem of Frattini factor of finite p-group.
---
|
new-contributor
t-group-theory
large-import
awaiting-author
|
764/1 |
Mathlib/GroupTheory/Frattini.lean |
1 |
3 |
['github-actions', 'tb65536'] |
nobody |
70-4332 2 months ago |
unknown |
unknown |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
This PR provides a generalization of FixedPointApproximants to CompletePartialOrder. Not every theorem can be generalized, as sometimes we require additional conditions (namely `x ≤ f x`) in order to guarantee that the set is directed and thus the supremum is well-defined. This is not necessary in a CompleteLattice.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
223/100 |
Mathlib/Order/CompletePartialOrder.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean |
2 |
21 |
['PhoenixIra', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
PhoenixIra and vihdzp assignee:PhoenixIra assignee:vihdzp |
69-69036 2 months ago |
unknown |
unknown |
| 35734 |
mkaratarakis author:mkaratarakis |
feat(NumberTheory): matrix bounds and Siegel's lemma application for Gelfond-Schneider |
This PR is the second component in the formalization of the Gelfond-Schneider Theorem (Hilbert's Seventh Problem), establishing the transcendence of $\alpha^\beta$. Building on the algebraic setup from the previous PR #35733, this file establishes analytical bounds on the linear system matrix and applies Siegel's Lemma (Lemma 8.2) to extract a bounded, non-trivial integer solution vector.
We establish the exact upper bounds required to construct the auxiliary integer function $R(x)$.
`c₃` and Matrix Bounds (`house_matrixA_le`)**: We define the bounding constant $c_3$, which aggregates the base bounds $c_2$ and the maximal houses of the algebraic preimages $\alpha', \beta', \gamma'$. Through extensive algebraic manipulation, we formally prove that the house of the entries in our linear system matrix $A$ is strictly bounded by $c_3^n * n^{(n - 1) / 2}$.
Using the bounds established above, we apply `house.exists_ne_zero_int_vec_house_le` (a formalization of Lemma 8.2, p. 490) to guarantee the existence of a non-trivial vector of algebraic integers $\eta$ in the kernel of $A$.
We define the solution bounding constant $c_4$ and prove the textbook bound that the house of our resulting coefficient vector $\eta$ satisfies $\forall k, \|\eta_k\| \leq c_4^n * n^{(n + 1) / 2}$.
- [ ] depends on: #35733
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-number-theory
blocked-by-other-PR
|
872/5 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
68-9842 2 months ago |
unknown |
unknown |
| 26013 |
tsuki8 author:tsuki8 |
feat(Data/Finset/Card,Data/Set/Finite/Basic): TODO needs a better title |
add `card_bijOn` and `finset_subset_preimage_of_finite_image`
Add `card_bijOn`: proves that for a bijection between finsets, their cardinalities are equal
Add `finset_subset_preimage_of_finite_image`: constructs a finset subset preserving image cardinality
Co-authored-by: Junyu Guo
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
15/0 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Set/Finite/Basic.lean |
2 |
6 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
67-44047 2 months ago |
unknown |
unknown |
| 35442 |
dhyan-aranha author:dhyan-aranha |
feat: Affine line with doubled origin counter example |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-algebraic-geometry
|
305/0 |
Counterexamples.lean,Counterexamples/AffineLineWithDoubledOrigin.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean |
4 |
21 |
['BryceT233', 'chrisflav', 'dhyan-aranha', 'github-actions'] |
nobody |
67-16977 2 months ago |
unknown |
unknown |
| 28286 |
bwangpj author:bwangpj |
feat(Geometry/Manifold/ContMDiff): basic lemmas for analytic (`C^ω`) functions |
Add basic lemmas relating `ContMDiff` in the `C^ω` case to being `Analytic` on charts.
This is upstreamed from [https://github.com/girving/ray](https://github.com/girving/ray).
Co-authored-by: Geoffrey Irving
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
|
36/0 |
Mathlib/Geometry/Manifold/ContMDiff/Defs.lean |
1 |
14 |
['bwangpj', 'girving', 'github-actions', 'grunweg', 'kbuzzard', 'mathlib-merge-conflicts', 'sgouezel'] |
sgouezel assignee:sgouezel |
66-29515 2 months ago |
unknown |
unknown |
| 35332 |
yisiox author:yisiox |
feat(Computability): regular expressions match a regular language |
This PR adds a proof that the language matched by a regular expression is a regular language.
This is achieved by the following constructions and proofs of their correctness
- A DFA `epsilon` which accepts the empty language
- A DFA `char (a : α)` which accepts the language containing only a single symbol
- An Epsilon-NFA `concat (M₁ : εNFA α σ₁) (M₂ : εNFA α σ₂)` which accepts the concatenation of the languages of two Epsilon-NFAs
- An Epsilon-NFA `kstar (M : εNFA α σ)` which accepts the Kleene star of a language of an Epsilon-NFA
The following theorems on closure are added
- `IsRegular.zero`
- `IsRegular.one`
- `IsRegular.top`
- `IsRegular.singleton`
- `IsRegular.mul`
- `IsRegular.kstar`
which demonstrates
- `IsRegular.matches`
---
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
|
475/0 |
Mathlib/Computability/DFA.lean,Mathlib/Computability/EpsilonNFA.lean |
2 |
2 |
['github-actions'] |
nobody |
63-75282 2 months ago |
unknown |
unknown |
| 14313 |
grhkm21 author:grhkm21 |
feat(RepresentationTheory/FdRep): FdRep is a full subcategory of Rep |
```
/-- Equivalence between `FDRep` and the full subcategory of finite dimensional `Rep`. -/
def equivFiniteDimensional :
FDRep k G ≌ FullSubcategory (fun V : Rep k G ↦ FiniteDimensional k V)
``` |
merge-conflict
t-algebra
t-category-theory
new-contributor
label:t-algebra$ |
47/8 |
Mathlib/RepresentationTheory/FDRep.lean |
1 |
21 |
['fpvandoorn', 'github-actions', 'grhkm21', 'joelriou', 'kim-em', 'mathlib-bors'] |
nobody |
63-12341 2 months ago |
unknown |
unknown |
| 33592 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): mapping between two types of nonterminal symbols |
This PR picks up https://github.com/leanprover-community/mathlib4/pull/15895 and resolves the failing lemma by redefining Good symbols.
---
I checked that https://github.com/leanprover-community/mathlib4/pull/13514 builds correctly when based on this build. PR for that is #33599
This is my first contribution please let me know of any changes I should outline.
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-computability
new-contributor
|
160/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
34 |
['YaelDillies', 'github-actions', 'madvorak', 'nielstron'] |
nobody |
63-1309 2 months ago |
unknown |
unknown |
| 35144 |
daniel-carranza author:daniel-carranza |
feat(CategoryTheory/Enriched): tensor product of enriched categories |
For a braided monoidal category `V`, defines the tensor product of `V`-categories `C` and `D`, and shows that the type of `V`-functors out of the tensor product `C \times D` is equivalent to the type of "enriched bifunctors" `EnrichedBifunctor V C D`.
---
This work originates from infinity-cosmos project, where it is used to formalize the notion of cotensors in an enriched category. There are some additional coherence lemmas in a braided monoidal category which have been added.
Currently, line 209 violates the style guideline that terminal simp calls should not be squeezed. When I tried to replace this with a single `simp`, I get an error message: `maximum recursion depth has been reached`. Any suggestions (either with this or anything else) are greatly appreciated - thank you!
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
infinity-cosmos
awaiting-author
|
333/0 |
Mathlib.lean,Mathlib/CategoryTheory/Enriched/TensorProductCategory.lean,Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean |
3 |
12 |
['daniel-carranza', 'emilyriehl', 'github-actions', 'joelriou', 'robin-carlier'] |
nobody |
62-83416 2 months ago |
unknown |
unknown |
| 27226 |
xcloudyunx author:xcloudyunx |
feat(Combinatorics/SimpleGraph): Add Subgraph.inclusion_edge_apply_coe and inclusion_edgeSet_apply_coe |
This PR continues the work from #25248.
Original PR: https://github.com/leanprover-community/mathlib4/pull/25248 |
awaiting-author
t-combinatorics
new-contributor
merge-conflict
|
14/0 |
Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
1 |
4 |
['b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'xcloudyunx'] |
b-mehta assignee:b-mehta |
62-74809 2 months ago |
unknown |
unknown |
| 33688 |
Citronhat author:Citronhat |
feat(PMF): add expectation lemmas for Poisson PMF |
This PR adds some basic results about the Poisson distribution, its `PMF`, and its expectation.
**New lemmas:**
* `poissonPMF_apply` — an unfolding lemma for `poissonPMF`.
* `poissonPMFReal_mul_eq_succ_mul` — the standard recursion identity for the Poisson mass function.
* `poissonPMFReal_hasSum_nmul` — shows that `fun n ↦ poissonPMFReal r n * n` has sum `r`.
* `poissonPMF_tsum_nmul` — the corresponding identity at the level of the `PMF`.
* `poissonPMF_coe_tsum_nmul` — the same result after coercion to `ℝ`.
Both `ℝ`-valued and `ℝ≥0∞`-valued formulations are included so that these results can be used conveniently in both Lebesgue and Bochner integration contexts. |
new-contributor
t-measure-probability
awaiting-author
merge-conflict
|
21/0 |
Mathlib/Probability/Distributions/Poisson.lean |
1 |
11 |
['Citronhat', 'DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
urkud assignee:urkud |
62-56789 2 months ago |
unknown |
unknown |
| 34005 |
MSpill author:MSpill |
feat: inverse function theorem for manifolds (concrete version) |
Proves the inverse function theorem for manifolds: given manifolds $M, N$ and a $C^n$ map $f : M \to N$ whose differential is a linear isomorphism at $p \in M$, then $f$ is a local diffeomorphism at $p$, provided that both $p$ and its image are interior points. The proof proceeds in 4 main steps:
1. Define composition of partial diffeomorphisms
2. Show that the extended chart at an interior point can be restricted to an open set on which it is a partial diffeomorphism, viewing the model vector space as a manifold modelled on itself trivially
3. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces
4. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds.
------
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-differential-geometry
new-contributor
merge-conflict
|
232/3 |
Mathlib/Geometry/Manifold/LocalDiffeomorph.lean |
1 |
12 |
['MSpill', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
62-56544 2 months ago |
unknown |
unknown |
| 34830 |
parabamoghv author:parabamoghv |
feat(CategoryTheory/Monoidal): add definition of categorical groups |
This PR defines of categorical groups, also known as coherent 2-groups, in mathlib.
Motivation:
Categorical groups are well-studied structures in monoidal category theory, but are not currently available in mathlib. The definitions in this PR follow the existing design patterns used for Category, MonoidalCategory, and BraidedCategory.
This PR focuses on setting up the core structure and notation. Basic lemmas and further developments will be provided in a subsequent PR.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
WIP
merge-conflict
|
163/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/CategoricalGroups/Basic.lean |
2 |
27 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
62-45264 2 months ago |
unknown |
unknown |
| 35684 |
spitters author:spitters |
feat(CategoryTheory/MarkovCategory): Kleisli PMF is a Markov category |
Add `Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean` showing that `KleisliCat PMF` is a `MarkovCategory`.
Uses `Prod` as tensor and `PUnit` as unit; reuses Mathlib's existing `KleisliCat`, `LawfulMonad PMF`, and `MarkovCategory` infrastructure.
Builds the full instance stack:
MonoidalCategory → BraidedCategory → SymmetricCategory →
CopyDiscardCategory → MarkovCategory
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
merge-conflict
|
323/1 |
Mathlib.lean,Mathlib/CategoryTheory/MarkovCategory/KleisliPMF.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
3 |
6 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'spitters'] |
nobody |
58-34545 1 month ago |
unknown |
unknown |
| 36503 |
Mrigna01 author:Mrigna01 |
Add false theorem test file |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
135/0 |
Mathlib/FalseBench/FalseTheorems.lean |
1 |
3 |
['github-actions'] |
nobody |
57-57827 1 month ago |
unknown |
unknown |
| 14603 |
awueth author:awueth |
feat: degree is invariant under graph isomorphism |
---
Mathlib has the definition `SimpleGraph.Iso.mapNeighborSet` which is an equivalence between neighbor sets induced by an isomorphism. Would it be beneficial to add the same equivalence for `neighborFinset`?
[](https://gitpod.io/from-referrer/)
|
WIP
t-combinatorics
new-contributor
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Map/Finite.lean |
1 |
12 |
['SnirBroshi', 'awueth', 'github-actions', 'jcommelin', 'kim-em', 'urkud'] |
nobody |
57-39225 1 month ago |
unknown |
unknown |
| 33599 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): closure under union |
---
This PR picks up https://github.com/leanprover-community/mathlib4/pull/13514 and resolves the outstanding errors.
- [ ] depends on: #33592
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-computability
new-contributor
|
498/0 |
Mathlib/Computability/ContextFreeGrammar.lean |
1 |
2 |
['github-actions', 'mathlib4-dependent-issues-bot'] |
nobody |
57-22662 1 month ago |
unknown |
unknown |
| 9605 |
davikrehalt author:davikrehalt |
feat(Data/Finset & List): Add Lemmas for Sorting and Filtering |
This PR includes several useful lemmas to the Data/Finset and Data/List modules in Lean's mathlib:
1. `toFinset_filter` (List): Shows that filtering commutes with toFinset.
2. `toFinset_is_singleton_implies_replicate` (List): Shows a list with a singleton toFinset is a List.replicate.
3. `filter_sort_commute` (Finset): Sorting and filtering can be interchanged in Finsets.
4. `Sorted.filter` (List): A sorted list stays sorted after filtering.
5. `Sorted.append_largest` (List): Appending the largest element keeps a list sorted.
6. `sort_monotone_map` (Finset): Relates sorting of a Finset after mapping to sorting of a list.
7. `sort_insert_largest` (Finset): Sorting a Finset with an inserted largest element.
8. `sort_range` (Finset): Sorting a range in a Finset equals the corresponding range list.
9. ~~`filter_eval_true` (List): Filtering a list with a predicate always true keeps the list unchanged.~~
10. ~~`filter_eval_false` (List): Filtering with an always-false predicate gives an empty list.~~
11. ~~`pairwise_concat` (List): Iff condition for Pairwise relation in concatenated lists (similar to pairwise_join).~~
12. `list_map_toFinset` (Finset): toFinset commutes with map under injection
---
- [x] depends on: #15952
This is my first PR to mathlib, so I'm not too familiar with etiquette's and more specifically there are two proofs in the PR which uses aesop, and I am not sure if it's frowned upon. I kept the aesop in there for now as I couldn't construct very short proofs otherwise. The sort_range function proof was suggested in https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/Computing.20Finset.20sort.20of.20Finset.20range/near/410346731 by Ruben Van de Velde. Thanks for your time for improving this PR. |
please-adopt
t-data
new-contributor
merge-conflict
awaiting-author
|
71/0 |
Mathlib/Data/Finset/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Finset/Sort.lean,Mathlib/Data/List/Sort.lean |
4 |
30 |
['YaelDillies', 'davikrehalt', 'eric-wieser', 'github-actions', 'jcommelin', 'urkud', 'vihdzp'] |
nobody |
57-22118 1 month ago |
unknown |
unknown |
| 36529 |
idontgetoutmuch author:idontgetoutmuch |
Connection 1 form scribbles |
Some thoughts on connection 1-forms - not meant to be ever merged but here for convenience of discussion
|
new-contributor
t-differential-geometry
|
496/52 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/Algebra/FundamentalVectorField.lean,Mathlib/Geometry/Manifold/IntegralCurve/Compact.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
5 |
2 |
['github-actions'] |
nobody |
56-11600 1 month ago |
unknown |
unknown |
| 15720 |
znssong author:znssong |
feat(SimpleGraph): The Bondy-Chvátal theorem |
The proof of the Bondy-Chvátal theorem, with Dirac's theorem and Ore's theorem as its corollary.
- [x] depends on: #15536
- [ ] depends on: #15711
- [ ] depends on: #15578 |
merge-conflict
blocked-by-other-PR
t-combinatorics
new-contributor
|
903/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BondyChvatal.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean,Mathlib/Combinatorics/SimpleGraph/Path.lean,Mathlib/Combinatorics/SimpleGraph/Walk.lean,Mathlib/Dynamics/FixedPoints/Basic.lean,Mathlib/Dynamics/FixedPoints/Increasing.lean |
8 |
3 |
['github-actions', 'grunweg'] |
nobody |
54-83504 1 month ago |
unknown |
unknown |
| 22314 |
shetzl author:shetzl |
feat: add leftmost derivations for context-free grammars |
Leftmost derivations are often easier to reason about than arbitrary derivations. This PR adds leftmost variants of Rewrites, Produces and Derives to the existing definition of context-free grammars and proves that a string of terminals can be derived iff it can be leftmost derived.
Co-authored-by: Tobias Leichtfried
---
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-computability
awaiting-author
new-contributor
|
383/0 |
Mathlib.lean,Mathlib/Computability/LeftmostDerivation.lean |
2 |
55 |
['YaelDillies', 'github-actions', 'madvorak', 'mathlib4-merge-conflict-bot', 'shetzl'] |
nobody |
54-83468 1 month ago |
unknown |
unknown |
| 31610 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): Kleene star closure for Regular Languages via NFA |
This PR constructs a Kleene star closure for non-epsilon NFAs, and proves that regular languages are closed under Kleene star. The NFA construction is `NFA.kstar`. The main theorems are:
- `NFA.accepts_kstar`: demonstrates that `M.kstar` accepts the Kleene star closure of the language of `M`.
- `IsRegular.kstar`: demonstrates that regular languages are closed under Kleene star.
There is an onging zulip discussion about regular languages in Mathlib: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Regular.20languages.3A.20the.20review.20queue/with/553759136
This discussion is also tracked at #24205.
Furthermore, the construction and proofs in this PR are heavily inspired by @TpmKranz from his #15651. #15651 supersedes this PR, so if it is accepted then this PR is not needed.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
awaiting-CI
|
405/7 |
Mathlib/Computability/NFA.lean |
1 |
16 |
['YaelDillies', 'ctchou', 'github-actions', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
54-83367 1 month ago |
unknown |
unknown |
| 30872 |
rudynicolop author:rudynicolop |
feat(Computability/NFA): NFA closure under concatenation |
This PR proves that regular languages are closed under concatenation via a direct construction on `NFA`s without `εNFA` nor ε-transitions. The main new definitions and results include:
- `M1.concat M2`, the concatenation of `NFA`s `M1` and `M2`, a direct construction without ε-transitions.
- Theorem `accepts_concat : (M1.concat M2).accepts = M1.accepts * M2.accepts`, showing the correctness of the construction.
- Theorem `IsRegular.mul`, showing that regular languages are closed under concatenation.
---
- [x] depends on: #31038
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
|
104/7 |
Mathlib/Computability/NFA.lean |
1 |
67 |
['YaelDillies', 'ctchou', 'eric-wieser', 'github-actions', 'lambda-fairy', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
nobody |
54-83347 1 month ago |
unknown |
unknown |
| 36587 |
yhx-12243 author:yhx-12243 |
feat(Algebra/GCDMonoid): Distributive lattice structure for Associates in GCDMonoid |
Add a distributive lattice structure for `Associates α` in `GCDMonoid`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
61/3 |
Mathlib.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/DistribLattice.lean |
3 |
2 |
['github-actions'] |
nobody |
53-2724 1 month ago |
unknown |
unknown |
| 36323 |
SproutSeeds author:SproutSeeds |
feat(Inversion): discontinuity and center/global fderiv formulas |
Part of #5939
Adds the discontinuity-at-center lemma for inversion and derives the center/global `fderiv` formulas from it.
This draft currently builds on the preceding cobounded-tendsto lemma from #36313 while that earlier slice is under review.
Scope is limited to `Mathlib/Geometry/Euclidean/Inversion/Calculus.lean`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
|
65/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean |
2 |
2 |
['github-actions'] |
nobody |
53-2665 1 month ago |
unknown |
unknown |
| 35651 |
sun123zxy author:sun123zxy |
feat(Mathlib/RingTheory/Ideal/Cotangent): `Submodule.map` definition of cotangent spaces |
This PR adds an alternative definition of the cotangent space as an image under the R-module quotient map.
---
Split from PR #33247
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
32/18 |
Mathlib/RingTheory/Ideal/Cotangent.lean,Mathlib/RingTheory/Ideal/Quotient/Operations.lean |
2 |
20 |
['chrisflav', 'erdOne', 'github-actions', 'mathlib-merge-conflicts', 'sun123zxy'] |
chrisflav assignee:chrisflav |
52-75307 1 month ago |
unknown |
unknown |
| 36757 |
alok author:alok |
feat(Order/Filter): add Filter.IsFree and Filter.IsNonprincipal |
## Summary
Adds two filter predicates and their basic API:
- **`Filter.IsFree`**: no point belongs to every set (`f.ker = ∅`), equivalently `f ≤ cofinite`
- **`Filter.IsNonprincipal`**: not equal to `𝓟 s` for any set `s`
Every free `NeBot` filter is non-principal (`IsFree.isNonprincipal`), but the converse fails for general filters (e.g. `𝓝 x` in a non-discrete T₁ space is non-principal but not free). For ultrafilters the two notions coincide (`Ultrafilter.isNonprincipal_iff_isFree`).
On finite types, no `NeBot` filter is free (`not_isFree_of_neBot`).
## Test plan
- [x] `lake build Mathlib.Order.Filter.Cofinite` passes
- [x] `lake build Mathlib.Order.Filter.Ultrafilter.Basic` passes
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-order
new-contributor
|
98/1 |
Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
52-43638 1 month ago |
unknown |
unknown |
| 35058 |
GrigorenkoPV author:GrigorenkoPV |
chore: move tendsto_{floor,ceil}_at{Top,Bot} |
Moves:
- Topology.Algebra.Order.Floor.tendsto_floor_atTop -> Order.Filter.AtTopBot.Floor.tendsto_floor_atTop
- Topology.Algebra.Order.Floor.tendsto_floor_atBot -> Order.Filter.AtTopBot.Floor.tendsto_floor_atBot
- Topology.Algebra.Order.Floor.tendsto_ceil_atTop -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atTop
- Topology.Algebra.Order.Floor.tendsto_ceil_atBot -> Order.Filter.AtTopBot.Floor.tendsto_ceil_atBot
---
Tracked in #7987
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
awaiting-author
|
22/25 |
Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
2 |
3 |
['GrigorenkoPV', 'github-actions', 'j-loreaux'] |
nobody |
52-1373 1 month ago |
unknown |
unknown |
| 34876 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/AssumptionQuestion): add `assumption?` tactic |
---
As requested in #10361
TODO: maybe add some tests?
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
awaiting-author
|
85/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/AssumptionQuestion.lean,Mathlib/Tactic/Common.lean,MathlibTest/AssumptionQuestion.lean,scripts/noshake.json |
6 |
5 |
['GrigorenkoPV', 'SnirBroshi', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
52-822 1 month ago |
unknown |
unknown |
| 34814 |
GrigorenkoPV author:GrigorenkoPV |
feat(Tactic/ClearUnneeded): add `clear_unneeded` tactic |
---
The simplest version suggested in https://github.com/leanprover-community/mathlib4/issues/25319
[](https://gitpod.io/from-referrer/)
|
t-meta
new-contributor
please-merge-master
awaiting-author
|
94/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/ClearUnneeded.lean,Mathlib/Tactic/Common.lean,MathlibTest/ClearUnneeded.lean,scripts/noshake.json |
6 |
12 |
['BoltonBailey', 'GrigorenkoPV', 'github-actions', 'joneugster'] |
joneugster assignee:joneugster |
52-673 1 month ago |
unknown |
unknown |
| 35738 |
GrigorenkoPV author:GrigorenkoPV |
perf: remove some `aesop`s and `grind`s |
---
Needs benchmarking. After that I can split it into several smaller portions, if needed.
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
|
236/92 |
Mathlib/Data/Finset/Card.lean,Mathlib/Data/Rel.lean,Mathlib/Data/Set/Lattice/Image.lean,Mathlib/Data/Set/Prod.lean,Mathlib/Logic/Equiv/Prod.lean,Mathlib/Order/Interval/Finset/Basic.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/SupIndep.lean |
8 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'vihdzp'] |
nobody |
51-74631 1 month ago |
unknown |
unknown |
| 31092 |
FlAmmmmING author:FlAmmmmING |
feat(Algebra/Group/ForwardDiff.lean): Add theorem `sum_shift_eq_fwdDiff_iter`. |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
delegated
label:t-algebra$ |
17/1 |
Mathlib/Algebra/Group/ForwardDiff.lean |
1 |
20 |
['BeibeiX0', 'FlAmmmmING', 'Ruben-VandeVelde', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib4-merge-conflict-bot'] |
nobody |
50-81527 1 month ago |
unknown |
unknown |
| 32745 |
LTolDe author:LTolDe |
feat(Topology/Algebra): add MulActionConst.lean |
add Topology/Algebra/MulActionConst.lean
introduce class `ContinuousSMulConst` for a scalar multiplication that is continuous in the first argument, in analogy to `ContinuousConstSMul`
define `MulAction.ball x U` as the set `U • {x}` given `[SMul G X] (x : X) (U : Set G)`
The lemmas shown here will be useful to prove the **Effros Theorem**, see [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-topology
|
117/0 |
Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean |
2 |
8 |
['LTolDe', 'github-actions', 'urkud'] |
nobody |
50-81474 1 month ago |
unknown |
unknown |
| 36119 |
Ruizsolveall author:Ruizsolveall |
feat(Topology/Covering): fundamental group of the circle is ℤ |
- Proves that the fundamental group of the circle `π₁(S¹, 0)` is isomorphic to `ℤ`, via covering space theory.
- Constructs the winding number map `nLoop : ℤ → Path 0 0` on `AddCircle 1`, and proves it is surjective (`nLoop_surjective`), injective (`nLoop_homotopic_iff`), and additive (`nLoop_add`).
- Assembles these into the group isomorphism `windingNumberIso : Multiplicative ℤ ≃* FundamentalGroup (AddCircle 1) 0`.
## Approach
Uses the covering map `ℝ → AddCircle 1` and unique path lifting to establish the bijection between homotopy classes of loops and integers (winding numbers). Homotopy invariance of lifted endpoints gives injectivity; surjectivity follows from lifting arbitrary loops. Additivity uses path concatenation of lifts in the simply connected total space `ℝ`.
## AI disclosure
I used Claude (Anthropic) to write the PR description, code comments, and to help refine code style. The proof strategy and all Lean code are my own. I understand and can vouch for all the code in this PR. |
t-topology
new-contributor
awaiting-author
LLM-generated
|
236/0 |
Mathlib.lean,Mathlib/Topology/Covering/FundamentalGroupCircle.lean |
2 |
26 |
['Ruizsolveall', 'SnirBroshi', 'b-mehta', 'dagurtomas', 'github-actions', 'grunweg', 'vihdzp'] |
nobody |
50-81221 1 month ago |
unknown |
unknown |
| 36487 |
samueloettl author:samueloettl |
feat(Dynamics): Ergodicity characterization |
---
- [ ] depends on: #35402
- [x] depends on: #35451
This is a work in progress for a characterization of ergodicity via a Birkhoff Average.
Coarse Feedback is very encouraged.
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
large-import
blocked-by-other-PR
|
421/1 |
Mathlib/Dynamics/Ergodic/Function.lean,Mathlib/Dynamics/Ergodic/OnAverageIndependent.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
49-80709 1 month ago |
unknown |
unknown |
| 35951 |
parabamoghv author:parabamoghv |
feat(CategoryTheory/Monoidal): evaluation coevaluation isomorphisms |
This PR adds four features to rigid categories:
1. `coevaluation_evaluation` and `evaluation_coevaluation` as isomorphism equalities: Using `IsIso` instances for the `evaluation` and `coevaluation` morphisms, we promote the morphism equalities to isomorphism equalities.
2. `ExactPairing Y X` from `ExactPairing X Y`: Using an exact pairing and `IsIso` instances for both `evaluation` and `coevaluation`, we swap the exact pairing by inverting the evaluation and coevaluation morphisms. Any suggestions for the definition name are welcome. Right now it is `ExactPairing.Symm`. The second choice was `ExactPairing.Swap`.
3. `HasLeftDual X` from `HasRightDual X`: Using a `HasRightDual X` instance and relevant `IsIso` instances, we construct a left dual. Similar construction for the other way.
4. `LeftDual` isomorphic to `RightDual`: Using relevant `IsIso` instances, we provide the isomorphism from the left dual of an object to the right dual. This can be achieved in two ways: either by using `leftDualIso` or using `rightDualIso`. We will prove in a subsequent PR that both these isomorphisms are equal.
Motivation: This is part of an effort to formalize CategoricalGroups, which can be defined as right rigid groupoids. The approach is motivated by the discussion in [#34830](https://github.com/leanprover-community/mathlib4/pull/34830).
Any comments or suggestions are welcome, especially about the naming.
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
|
64/2 |
Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean |
1 |
18 |
['dagurtomas', 'github-actions', 'joelriou', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
49-78631 1 month ago |
unknown |
unknown |
| 34028 |
floor-licker author:floor-licker |
feat(SimpleGraph): add max-flow/min-cut weak duality |
This PR introduces a basic s–t flow setup for undirected SimpleGraphs and proves the standard weak-duality
inequality: for any feasible flow f and any s–t cut S, value f ≤ cutCapacity S.
This is a small, self-contained lemma I extracted while working on larger graph-theoretic formalizations, in particular, results that will ultimately rely on a full max-flow/min-cut theorem. The full MFMC equality/existence statement is not included here. This is the weak-duality direction (∀ f S, value f ≤ cutCapacity S).
|
t-combinatorics
new-contributor
|
169/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/MaxFlowMinCut.lean |
2 |
14 |
['SnirBroshi', 'floor-licker', 'github-actions', 'mathlib-merge-conflicts'] |
kmill assignee:kmill |
48-76461 1 month ago |
unknown |
unknown |
| 36825 |
danlyng author:danlyng |
feat(MeasureTheory/Integral/IntegralEqImproper): add Iic variants of nonneg/nonpos derivative integrability and FTC-2 |
Add the `Iic` counterparts of the existing `Ioi` results for automatic integrability of derivatives on semi-infinite intervals and the corresponding corollaries computing the integral value. Additionally, apply minor fixes to existing docstrings.
New declarations:
- `integrableOn_Iic_deriv_of_nonneg` / `integrableOn_Iic_deriv_of_nonneg'`
- `integrableOn_Iic_deriv_of_nonpos` / `integrableOn_Iic_deriv_of_nonpos'`
- `integral_Iic_of_hasDerivAt_of_nonneg` / `integral_Iic_of_hasDerivAt_of_nonneg'`
- `integral_Iic_of_hasDerivAt_of_nonpos` / `integral_Iic_of_hasDerivAt_of_nonpos'`
These mirror `integrableOn_Ioi_deriv_of_nonneg`, `integrableOn_Ioi_deriv_of_nonpos`, `integral_Ioi_of_hasDerivAt_of_nonneg`, `integral_Ioi_of_hasDerivAt_of_nonpos` and their primed variants. |
t-measure-probability
new-contributor
awaiting-author
|
107/9 |
Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean |
1 |
7 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
48-7368 1 month ago |
unknown |
unknown |
| 32918 |
michelsol author:michelsol |
feat: define `supEdist` and `supDist` |
Create a new file Topology.MetricSpace.SupDistance and define the supremal distance in (extended) metric spaces. The defined `supEdist` and `supDist` will have similar theory to the already existing `infEdist` and `infDist`. The motivation is to be able to define the radius of a minimal bounding sphere as the infimum of the supDist later.
[zulip discussion here](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Formalizing.20Jung's.20theorem.20and.20minimal.20bounding.20spheres) |
t-topology
new-contributor
merge-conflict
|
75/0 |
Mathlib.lean,Mathlib/Topology/MetricSpace/SupDistance.lean |
2 |
5 |
['github-actions', 'mathlib4-merge-conflict-bot', 'michelsol', 'urkud'] |
nobody |
48-5380 1 month ago |
unknown |
unknown |
| 33668 |
Citronhat author:Citronhat |
feat(PMF): add lintegral formulas for PMF |
This PR introduces two lemmas describing the `lintegral` of a function with respect to the measure induced by a probability mass function:
- `PMF.lintegral_eq_tsum`
- `PMF.lintegral_eq_sum`
These are the `ℝ≥0∞` analogues of the existing Bochner `integral` formulas `integral_eq_tsum` and `integral_eq_sum`. They could be useful for reasoning about expectations and integrability.
In addition, the proof of `integral_eq_sum` is simplified by deriving it directly from `integral_eq_tsum` using `tsum_fintype`. |
t-measure-probability
new-contributor
awaiting-author
merge-conflict
|
14/5 |
Mathlib/Probability/ProbabilityMassFunction/Integrals.lean |
1 |
3 |
['DavidLedvinka', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
47-52967 1 month ago |
unknown |
unknown |
| 14669 |
Command-Master author:Command-Master |
feat(Data/Nat/PartENat): add lemmas for PartENat |
Add some missing lemmas for `PartENat`, as well as the additive homomorphism from it to `WithTop Int`.
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
merge-conflict
|
90/0 |
Mathlib/Data/Nat/PartENat.lean |
1 |
4 |
['erdOne', 'github-actions', 'mathlib-merge-conflicts', 'urkud'] |
nobody |
46-21490 1 month ago |
unknown |
unknown |
| 36719 |
NoneMore author:NoneMore |
feat(ModelTheory): add `PartialType` for first-order theories |
This PR adds the definitions of partial types over theories and over parameter sets, and proves several equivalent characterizations.
---
- [ ] depends on: #36667
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-logic
new-contributor
|
468/0 |
Mathlib.lean,Mathlib/ModelTheory/PartialTypes.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
4 |
5 |
['NoneMore', 'github-actions', 'mathlib-dependent-issues', 'vihdzp'] |
nobody |
44-26243 1 month ago |
unknown |
unknown |
| 35805 |
adrianmartir author:adrianmartir |
feat(NumberTheory/Divisors): Add `infinite_setOf_divisors_iff` |
This proves that the set of divisors `{ m | m | n }` of a natural number `n` is infinite if and only if `n` is zero. The first proof draft was by @Aristotle-Harmonic.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
|
10/0 |
Mathlib/NumberTheory/Divisors.lean |
1 |
6 |
['adrianmartir', 'alexjbest', 'github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
44-712 1 month ago |
unknown |
unknown |
| 31590 |
SuccessMoses author:SuccessMoses |
chore: tag `commutatorElement_def` with `simp` |
---
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
1/0 |
Mathlib/Algebra/Group/Commutator.lean |
1 |
3 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
43-75781 1 month ago |
unknown |
unknown |
| 34722 |
GrigorenkoPV author:GrigorenkoPV |
feat(Data/Finset/RangeDistance): bound distance between elements of `Finset.range` |
---
Rebase of https://github.com/leanprover-community/mathlib4/pull/26347
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
awaiting-author
|
34/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
7 |
['GrigorenkoPV', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-splicebot', 'plp127'] |
pechersky assignee:pechersky |
42-76559 1 month ago |
unknown |
unknown |
| 34236 |
homeowmorphism author:homeowmorphism |
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups |
Formulation of finitely presented groups
feat(GroupTheory/FinitelyPresentedGroup): add finitely presented groups
We define the notion of `IsFinitelyPresented` with equivalent datatype notions, what it means for a subgroup to be finitely generated in the normal closure, and some instances of finitely presented groups.
This started as an ItaLean2025 project. The related Zulip thread is here: https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Finitely.20Presented.20Groups/with/567565752.
Use of AI:
* Aristotle was used for giving a preliminary proof of some statements as this is my first contribution and I wanted to understand how to prove things; they have since been changed.
* GPT-5.2 was used to generate some of the proof sub-statements for efficiency once the mathematical blueprints of the proofs have been worked out.
* GPT-5.3 was used to rapidly refactor the code. Human review by PR author in-progress, but got to a point where it would be good to get external input.
* GPT-5.4 was used to refactor the variables. Human PR author then rewrote the whole thing.
---
- [x] depends on: #34580
- [x] depends on: #34624
- [x] depends on: #35033
- [x] depends on: #35029
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
merge-conflict
|
305/0 |
Mathlib.lean,Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
2 |
72 |
['copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'grunweg', 'homeowmorphism', 'kbuzzard', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
42-43109 1 month ago |
unknown |
unknown |
| 35857 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Logic.Equiv.BijectiveBase2): add bijective base-2 numeration |
This PR introduces a formalization of the bijective base-2 numeration system.
Unlike standard binary representation, bijective base-2 avoids the "leading zeros" problem, providing a strict mathematical bijection between natural numbers (`ℕ`) and lists of booleans (`List Bool`).
**Main additions:**
* `Equiv.BijectiveBase2.toBits`: Encodes `ℕ` to `List Bool`.
* `Equiv.BijectiveBase2.ofBits`: Decodes `List Bool` to `ℕ`.
* `equivBijectiveBase2`: The formal `ℕ ≃ List Bool` equivalence.
---
Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540)
Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051)
*(Note: This replaces my previously closed PR to avoid the terminology clash between "Dyadic" and dyadic rationals. The namespace and definitions have been updated accordingly).*
*(Note: Used AI to assist with standardizing proof structures).* |
t-logic
new-contributor
LLM-generated
blocked-by-batt-PR
|
95/0 |
Mathlib.lean,Mathlib/Logic/Equiv/ListNatBijective.lean |
2 |
6 |
['AlexeyMilovanov', 'SnirBroshi', 'github-actions', 'joneugster'] |
nobody |
42-14880 1 month ago |
unknown |
unknown |
| 36463 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Data.Nat.Bits): add Nat.ofBits and prove bits_injective |
This PR introduces `Nat.ofBitsList` for `List Bool` and provides the missing proofs that the standard binary representation `Nat.bits` is injective (`Nat.bits_injective`) and possesses a right inverse for normalized lists (`Nat.bits_ofBitsList`).
`ofBitsList` is implemented as an `abbrev` using `foldr` (keeping it transparent to tactics like `simp`). It serves as the exact left inverse to `bits`. Furthermore, `bits_ofBitsList` establishes that `bits` and `ofBitsList` form a bijection between `ℕ` and the set of lists with no trailing `false` values.
This avoids the name collision with `Nat.ofBits` from `Batteries` and aligns with previous Zulip discussions (see [here](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration)) regarding the utility of having a complete list-based API for `Nat.bits` in the library.
CC: @linesthatinterlace
- Adds `Nat.ofBitsList` (as an `abbrev`)
- Adds `Nat.ofBitsList_bits` (left inverse property)
- Adds `Nat.bits_injective`
- Adds `Nat.ofBitsList_eq_zero_iff` (helper lemma for lists without trailing zeros)
- Adds `Nat.bits_ofBitsList` (right inverse property)
---
Zulip: [#PR reviews > PR #35857: Bijective Base-2 Numeration](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/PR.20.2335857.3A.20Bijective.20Base-2.20Numeration/with/576336540)
Zulip: [#batteries > Upstreaming Nat.Bits](https://leanprover.zulipchat.com/#narrow/channel/348111-batteries/topic/Upstreaming.20Nat.2EBits/with/580736051) |
t-data
new-contributor
awaiting-author
blocked-by-batt-PR
|
68/1 |
Mathlib/Data/Nat/Bits.lean |
1 |
5 |
['github-actions', 'joneugster', 'linesthatinterlace'] |
nobody |
42-14873 1 month ago |
unknown |
unknown |
| 36274 |
JTylM author:JTylM |
feat(Combinatorics/SimpleGraph/Matching): implemented the matchingNumber of a graph |
---
- [ ] depends on: #36406
- [ ] depends on: #32555
I implemented the matchingNumber as described in the issue and proved some statements including
showing that there exists a matching achieving the matchingNumber.
matchingNumber is increasing under injective maps
matchingNumber is equal under isomorphisms
matchingNumber of a matching is the cardinality of the matching
This is my first PR and i had some trouble with some of the proofs, especially with the proof for matchingNumber.isAttained. So any suggestions on how to make the proofs shorter would be welcome. Also i was not sure about the naming of some of the theorems so i would apprechiate feedback here as well.
|
new-contributor
t-combinatorics
blocked-by-other-PR
|
292/2 |
Mathlib/Combinatorics/SimpleGraph/Matching.lean |
1 |
39 |
['JTylM', 'SnirBroshi', 'SproutSeeds', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
42-3891 1 month ago |
unknown |
unknown |
| 33817 |
FlAmmmmING author:FlAmmmmING |
fix(Combinatorics/Enumerative/Schroder): fix the definition of `smallSchroder` |
In the previous definition, the small Schröder numbers were defined as
```LaTeX
s_0 = 1, s_1 = 1, s_2 = 1, s_3 = 3...
```
, which does not match the sequence listed in OEIS A006318. Moreover, this definition makes it difficult to correctly write the generating function for the small Schröder numbers. This PR fixes this issue.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
awaiting-author
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
20 |
['FlAmmmmING', 'YaelDillies', 'github-actions', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
40-42809 1 month ago |
unknown |
unknown |
| 34703 |
martinwintermath author:martinwintermath |
Generalizing orthogonalBilin |
---
[](https://gitpod.io/from-referrer/)
|
new-contributor |
51/25 |
Mathlib/Analysis/InnerProductSpace/Orthogonal.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
3 |
1 |
['github-actions'] |
nobody |
40-7874 1 month ago |
unknown |
unknown |
| 34419 |
ster-oc author:ster-oc |
feat(RCLike): add `Continuous.re` and similar |
This PR adds dot notation for `re`, `im`, `conj` and `ofReal` for `Continuous`, `LipschitzWith` and `Memℓp`.
Given `hf : Continuous f` it allows to use `hf.re` to express `Continuous (fun x ↦ (f x).re)`, similarly to the usual `hf.add hg`.
I also can add the same features for `Summable` but I am not sure where to place them, suggestions are appreciated!
---
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
merge-conflict
|
186/41 |
Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/RCLike/Basic.lean |
3 |
15 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'ster-oc'] |
j-loreaux assignee:j-loreaux |
38-62342 1 month ago |
unknown |
unknown |
| 35376 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifold): orientable manifolds |
---
- [x] depends on: #33189
[](https://gitpod.io/from-referrer/)
|
new-contributor
WIP
t-differential-geometry
merge-conflict
awaiting-author
|
2116/11 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/MoebiusBand.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/IsManifold/InteriorBoundary.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Topology/Closure.lean |
7 |
8 |
['Rida-Hamadani', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
38-4797 1 month ago |
unknown |
unknown |
| 30142 |
shalliso author:shalliso |
feat(Topology/Baire): define IsNonMeagre |
non-meagre sets (also known as "of the second category") are worthy of their own definition and API. This was useful to me for formalizing a result of "automatic continuity", that is, a Baire-measurable homomorphism between Polish groups must be continuous. Simply working with the negation of IsMeagre quickly became cumbersome, and non-meagre sets have an important role in the study of Polish (e.g. locally compact) groups.
From https://github.com/shalliso/automatic_continuity
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
merge-conflict
awaiting-author
|
83/1 |
Mathlib/Topology/Baire/NonMeagre.lean,Mathlib/Topology/GDelta/Basic.lean |
2 |
6 |
['github-actions', 'grunweg', 'mathlib4-merge-conflict-bot'] |
nobody |
38-3204 1 month ago |
unknown |
unknown |
| 37101 |
fsefzig author:fsefzig |
feat: definition of kummer polynomials and prove that AdjoinRoot (KummerPolynomial n s) is etale |
This defines the Kummer polynomial ` KummerPolynomial n s := X^n - s` over a ring R and constructs the following instances for `AdjoinRoot (KummerPolynomial n s)`:
· Faithfullyflat
· SmoothOfRelativeDimension 0
· Etale |
t-ring-theory
new-contributor
awaiting-author
|
345/0 |
Mathlib.lean,Mathlib/RingTheory/AdjoinRootKummer.lean |
2 |
24 |
['acmepjz', 'chrisflav', 'fsefzig', 'github-actions', 'vihdzp'] |
nobody |
36-78227 1 month ago |
unknown |
unknown |
| 32583 |
MJ141592 author:MJ141592 |
refactor(SimpleGraph): change bridges not to require the edge to be present |
Remove the requirement for edges to exist in definition of isBridge, and then change the related lemmas to adjust for this, by renaming, fixing the statements and fixing the proofs, including in Acyclic.
Closes #31690.
---
- [x] depends on: #36802
- [x] depends on: #36804 |
t-combinatorics
new-contributor
|
84/84 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Combinatorics/SimpleGraph/Hamiltonian.lean |
4 |
20 |
['MJ141592', 'SnirBroshi', 'YaelDillies', 'b-mehta', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
36-24119 1 month ago |
unknown |
unknown |
| 34487 |
martinwintermath author:martinwintermath |
feat(LinearAlgebra/SesquilinearForm): add instances for SeparatingLeft, SeparatingRight and Nondegenerate |
Add typeclass instances for `Fact B.SeparatingLeft`, `Fact B.SeparatingRight`, `Fact B.Nondegenerate`:
* inferring `Fact B.flip.SeparatingLeft` from `Fact B.SeparatingRight` and vice versa
* inferring `Fact B.SeparatingLeft` and `Fact B.SeparatingRight` from `Fact B.Nondegenerate`
* inferring `Fact B.SeparatingLeft` and `Fact B.Nondegenerate` for `.id` and `Dual.eval`
* inferring `Fact B.Nondegenerate` from `B.IsPerfPair`
I also updated `PointedCone.dual_univ` to demonstrate the usefulness of these additions. Note that I needed to add an import to `Cone/Dual.lean` which somehow imports cardinals. So I needed to remove cardinals from `assert_not_exists`.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
large-import
label:t-algebra$ |
84/16 |
Mathlib/Geometry/Convex/Cone/Dual.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/PerfectPairing/Basic.lean,Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
4 |
4 |
['github-actions', 'martinwintermath', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
joelriou assignee:joelriou |
36-7682 1 month ago |
unknown |
unknown |
| 37585 |
cascone26 author:cascone26 |
feat: formal statements of Robin's and Lagarias' inequalities equivalent to RH |
## Summary
This PR adds `Mathlib/NumberTheory/LSeries/RobinInequality.lean`, which contains formal Lean 4 statements of two classical equivalences of the Riemann Hypothesis:
**Robin's theorem (1984):** RH ↔ σ₁(n) < e^γ · n · ln(ln(n)) for all n > 5040
**Lagarias' theorem (2002):** RH ↔ σ₁(n) ≤ H_n + exp(H_n) · ln(H_n) for all n ≥ 1
### New declarations
- `robinBound (n : ℕ) : ℝ` — the Robin bound e^γ · n · ln(ln(n))
- `lagariasBound (n : ℕ) : ℝ` — the Lagarias bound H_n + exp(H_n) · ln(H_n)
- `robin_iff_RH : RiemannHypothesis ↔ ∀ n > 5040, σ₁(n) < robinBound n`
- `lagarias_iff_RH : RiemannHypothesis ↔ ∀ n ≥ 1, σ₁(n) ≤ lagariasBound n`
### Status
The **statements** are complete and use existing Mathlib primitives:
- `ArithmeticFunction.sigma` for σ₁
- `Real.eulerMascheroniConstant` for γ
- `harmonic` for H_n (with ℚ → ℝ coercion)
- `RiemannHypothesis` from `Mathlib.NumberTheory.LSeries.RiemannZeta`
The **proofs** are currently `sorry`. The Robin direction (RH → inequality) requires analytic number theory following Robin's original 1984 paper. The converse uses Gronwall's theorem on superior highly composite numbers. Both are substantial Mathlib projects in their own right.
This PR establishes the formal statements as a foundation for future proof work. These equivalences are not currently formalized anywhere in Mathlib.
### References
- G. Robin, *Grandes valeurs de la fonction somme des diviseurs et hypothèse de Riemann*, J. Math. Pures Appl. **63** (1984), 187–213.
- J. Lagarias, *An elementary problem equivalent to the Riemann hypothesis*, Amer. Math. Monthly **109** (2002), 534–543.
### Note on `sorry`
I'm aware Mathlib does not merge `sorry`-laden PRs in general. I'm submitting this as a draft to:
1. Get feedback on whether the statement formulation is idiomatic
2. Establish that these statements don't already exist in Mathlib under a different name
3. Invite collaboration on completing the proofs |
t-number-theory
new-contributor
|
98/0 |
Mathlib/NumberTheory/LSeries/RobinInequality.lean |
1 |
2 |
['github-actions'] |
nobody |
35-36992 1 month ago |
unknown |
unknown |
| 36937 |
Yaohua-Leo author:Yaohua-Leo |
feat(Algebra/Jordan): add first linearization lemmas for IsCommJordan |
[](https://gitpod.io/from-referrer/)
AI assistance disclosure: I used AI assistance for CI/debugging and module-structure fixes in this PR. The mathematical content and main lemmas were written by me, with help from @pelicanhere.
This PR adds a new file `Mathlib/Algebra/Jordan/Linearization.lean` containing linearization lemmas for the commutative Jordan identity.
Main declarations:
* `IsCommJordan.four_nsmul_associator_mul_add`
* `IsCommJordan.associator_mul_add`
These lemmas formalize a first linearization of the commutative Jordan identity using `associator`, following McCrimmon, Proposition 1.8.5.
---
I put these lemmas in a separate file because I expect follow-up linearization lemmas to belong naturally in the same place.
I am also happy to rename declarations or move the file if reviewers would prefer. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
60/0 |
Mathlib.lean,Mathlib/Algebra/Jordan/Linearization.lean |
2 |
6 |
['Yaohua-Leo', 'github-actions', 'grunweg', 'ocfnash'] |
ocfnash assignee:ocfnash |
35-16339 1 month ago |
unknown |
unknown |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds `unaryPrefix` (a self-delimiting $1^n 0$ code) and `prefixPair` to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefix`**: A prefix-free unary encoding for $\mathbb{N}$, distinct from the existing `unaryEncodeNat`.
* **`unaryPrefix_append_inj`**: A basic cancellation lemma that allows unique extraction of a unary prefix from a concatenated list.
* **`prefixPair`**: A self-delimiting pairing function for boolean lists, defined as $\text{unaryPrefix } |x| \frown x \frown y$.
* **`prefixPair_inj`**: A concise proof of pair injectivity leveraging the new prefix lemmas.
|
t-computability
new-contributor
awaiting-author
|
56/1 |
Mathlib/Computability/Encoding.lean |
1 |
2 |
['Komyyy', 'github-actions'] |
Komyyy assignee:Komyyy |
34-43760 1 month ago |
unknown |
unknown |
| 37644 |
matthunz author:matthunz |
feat(Order/Causal): add `Causal` ordering for stream functions |
Adds `Causal` ordering for stream functions and related theorems:
```lean
def Causal (f : Stream' α → Stream' β) : Prop :=
∀ (x y : Stream' α) (t : ℕ), (∀ s, s ≤ t → x s = y s) → f x t = f y t
```
A stream function is causal if the output at time `t` depends only on inputs up to time `t`. Causal stream functions are commonly used in signal processing, reactive systems, and semantics of stateful computations, where outputs cannot depend on future inputs.
## Future work
- Mealy machines: define Mealy machines as causal stream functions with state, and relate them to standard automata-theoretic constructions.
- Feedback and delay operators: formalize feedback loops and delayed composition, enabling modeling of stateful and recursive stream definitions.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
79/0 |
Mathlib.lean,Mathlib/Order/Causal/Basic.lean,Mathlib/Order/Causal/Defs.lean |
3 |
2 |
['github-actions'] |
nobody |
33-69223 1 month ago |
unknown |
unknown |
| 37695 |
Morten-Ness author:Morten-Ness |
refactor(GroupTheory/Complement): simplify complement proofs |
Simplifies the proofs of:
- `Subgroup.IsComplement'.symm`
- `Subgroup.isComplement_singleton_left`
- `Subgroup.isComplement_singleton_right`
No API changes.
AI assistance: I used Codex/LLM suggestions as a starting point, then manually checked the proofs, and verified the final version locally.
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
awaiting-author
|
15/17 |
Mathlib/GroupTheory/Complement.lean |
1 |
4 |
['github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
31-24513 1 month ago |
unknown |
unknown |
| 37489 |
michael-novak-math author:michael-novak-math |
feat: add the fundamental theorem of plane curves |
We add to the PlaneCurves file created in PR #36731 a classical result in the subject of differential geometry of plane curves: the fundamental theorem of plane curves.
---------
- [ ] depends on: #36731 |
new-contributor
t-differential-geometry
t-analysis
blocked-by-other-PR
|
651/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
5 |
['github-actions', 'mathlib-dependent-issues', 'michael-novak-math'] |
nobody |
31-15093 1 month ago |
unknown |
unknown |
| 36698 |
ghseeli author:ghseeli |
feat(Combinatorics/Enumerative): Latin squares |
This PR defines Latin rectangles and Latin squares and proves an extension theorem using Hall's Marriage Theorem.
## Main results
- `group_to_cayley_table`: every finite group `G` yields a `LatinSquare G G`.
- `latin_rectangle_extends_one_row`: a (non-square) `LatinRectangle` extends to a `LatinRectangle`
with one more row. This is an application of **Hall's Marriage Theorem**, `hallMatchingsOn.nonempty`.
- `latin_rectangle_extends_to_latin_square`: a `LatinRectangle` extends to a `LatinSquare`.
This is included in a new file `Combinatorics/Enumerative/LatinSquare.lean`.
---
- [ ] depends on: #37190
- [ ] depends on: #37720
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
blocked-by-other-PR
|
642/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/LatinSquare.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Data/Fintype/Card.lean,docs/references.bib |
6 |
78 |
['SnirBroshi', 'cjrl', 'eric-wieser', 'ghseeli', 'github-actions', 'mathlib-dependent-issues', 'vlad902'] |
nobody |
30-53080 1 month ago |
unknown |
unknown |
| 37281 |
AltSoKoly author:AltSoKoly |
Update EdgeConnectivity.lean |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
123/0 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Data/Int/GCD.lean |
2 |
5 |
['github-actions', 'grunweg', 'themathqueen'] |
nobody |
30-3704 1 month ago |
unknown |
unknown |
| 37111 |
tannerduve author:tannerduve |
feat(Computability): add Nat.PrimrecIn and PrimrecIn |
- Add `Nat.PrimrecIn`: primitive recursive functions relative to a set of oracles
- Add `PrimrecIn`: lifts `Nat.PrimrecIn` to `Primcodable` types
A `PrimrecIn` version of `RecursiveIn.iff_nat` (i.e., `PrimrecIn O (f : ℕ → ℕ) ↔ Nat.PrimrecIn O f`) is left as future work as it requires proving `Nat.PrimrecIn O Nat.pred`, which needs additional API for `Nat.PrimrecIn`.
---
Split out from #34937 as requested in review.
- [x] depends on: #37061 |
t-computability
new-contributor
awaiting-author
|
24/0 |
Mathlib/Computability/RecursiveIn.lean |
1 |
14 |
['Komyyy', 'bryangingechen', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tannerduve'] |
nobody |
27-68617 27 days ago |
unknown |
unknown |
| 36763 |
alok author:alok |
refactor(Order/Filter/Germ): partial sections for Filter.Product |
## Summary
- Refactor `Filter.Product` from total functions to partial sections (`Product.Section`) with filter-large domains
- Adapt the model-theoretic `Prestructure` and Łoś's theorem proofs to partial sections
- Add `Germ ↔ Product` bridge equivalence for constant families
## Motivation
The current `Filter.Product` is a quotient of total functions `(a : α) → ε a` by eventual equality. This requires all fibers to be inhabited, which is not the mathematically correct construction. The ultraproduct should only require a section defined on a filter-large set.
The new `Product.Section` structure carries:
- A domain `dom : Set α` with `dom ∈ l`
- A dependent section `val : (a : dom) → ε a`
Two sections are equivalent if they agree on some filter-large common domain. This matches the standard mathematical construction and enables proper ultraproducts where some fibers may be empty.
## Changes
### `Mathlib/Order/Filter/Germ/Basic.lean`
- New `Product.Section` structure (partial section with filter-large domain)
- `productSetoid` redefined over `Product.Section`
- `Product.ofTotal` embeds total sections; `eq_iff_ofTotal` characterizes equality
### `Mathlib/ModelTheory/Ultraproducts.lean`
- `sectionStructure`: first-order structure on partial sections (funMap restricts to domain intersection, RelMap checks on common domain)
- `setoidPrestructure` adapted with full proofs of `fun_equiv` and `rel_equiv`
- `funMap_cast`, `boundedFormula_realize_cast` (rel case), `all` quantifier case all reproved for partial sections
- Łoś's theorem statement unchanged; `sentence_realize` still has the same API
### `Mathlib/Order/Filter/Germ/Product.lean` (new)
- `Germ.toProduct` / `Product.toGerm`: round-trip between germs and constant-family products
- `Germ.prodEquiv`: equivalence for inhabited constant families (backward compat)
## Test plan
- [x] `lake build` passes (7607/7607 modules)
- [x] All linter warnings resolved
- [x] `Mathlib.ModelTheory.Satisfiability` (uses `Filter.Product` + `sentence_realize`) still compiles
- [x] `Mathlib.Analysis.Real.Hyperreal` still compiles
---
Context: [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Nonstandard.20Analysis/near/513178715) — Violeta Hernández asked for fixing the ultraproduct definition as the first step after #33650 deprecated the old hyperreal machinery.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
new-contributor
merge-conflict
|
278/49 |
Mathlib.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/Order/Filter/Germ/Product.lean |
4 |
5 |
['alok', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
27-62661 27 days ago |
unknown |
unknown |
| 37954 |
jdhart81 author:jdhart81 |
feat(Data/ENNReal/Inv): add ENNReal.div_mul_div_cancel |
Proves a / b * (b / c) = a / c for b ≠ 0, b ≠ ∞ in ENNReal. Proof via mul_div_assoc and existing div_mul_cancel.
AI Disclosure: This PR was developed with assistance from an LLM (Claude, Anthropic) for proof exploration and text drafting. The proof was compiled and verified locally by the contributor, who understands the mathematical content. This lemma is extracted from a larger formalization of information-theoretic bounds (Zenodo DOI: 10.5281/zenodo.19317983).
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
5/0 |
Mathlib/Data/ENNReal/Inv.lean |
1 |
2 |
['github-actions'] |
nobody |
26-5076 26 days ago |
unknown |
unknown |
| 37720 |
cjrl author:cjrl |
feat(Data/Fintype/Card): existsUnique_notMem_image_of_injective_of_card_succ |
This pull requests adds a small theorem `existsUnique_notMem_image_of_injective_of_card_succ` to `Mathlib/Data/Fintype/Card` that says given an injective map f : α → β such that β has cardinality one more than α, there exists a unique element of β not in the image of f.
This can be viewed as going in the opposite direction of `card_lt_of_injective_of_notMem`.
This little fact is needed for our Latin Square PR #36698.
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
t-set-theory
|
15/0 |
Mathlib/Data/Fintype/Card.lean |
1 |
6 |
['IvanRenison', 'cjrl', 'github-actions'] |
nobody |
25-73389 25 days ago |
unknown |
unknown |
| 37190 |
cjrl author:cjrl |
feat(Combinatorics): Set-Valued Pigeonhole Principle |
This PR contributes two theorems to combinatorics:
- `exists_lt_card_cover_of_card_biUnion_lt_card` is a set-valued version of the pigeonhole principle.
- `sum_card_eq_sum_card_cover_biUnion` is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This was needed to prove the above pigeonhole principle.
The motivation for these results is our Latin Square PR #36698. These results were proved in less general terms in that PR, but are independent of Latin Square considerations and so we have generalized and moved them into more relevant files.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
38/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Pigeonhole.lean |
2 |
16 |
['IvanRenison', 'cjrl', 'ghseeli', 'github-actions', 'j-loreaux', 'vlad902'] |
nobody |
25-72581 25 days ago |
unknown |
unknown |
| 34007 |
martinwintermath author:martinwintermath |
feat(Algebra/Module/Submodule/Dual): dual operator for submodules |
Add new file `Dual.lean` that defines the dual operator for submodules. The main definition is
* `Submodule.dual`: given a bilinear pairing `p` between two modules `M₁` and `M₂` and a submodule `S` in `M₁`, `Submodule.dual p S` is the submodule in `M₂` consisting of all points `y` such that `0 = p x y` for all `x ∈ S`.
For reasons of generality, `p` is actually a general sesqui-bilinear map, that is, of the form
`p : M₁ →ₛₗ[I₁] M₂ →ₛₗ[I₂] M`.
This implementation of the `dual` operator for submodules is written to parallel the implementation of `PointedCone.dual`.
Include some additional results:
* theorems that represent the dual as the kernel of a linear map
* theorems for the relation between dual and the `dualAnnihilator` and `dualCoannihilator` of a submodule.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
239/0 |
Mathlib.lean,Mathlib/Algebra/Module/Submodule/Dual.lean |
2 |
7 |
['github-actions', 'joelriou', 'martinwintermath', 'mathlib-bors'] |
joelriou assignee:joelriou |
25-68245 25 days ago |
unknown |
unknown |
| 35834 |
homeowmorphism author:homeowmorphism |
feat(Mathlib/GroupTheory/PresentedGroup): every group has a presentation |
We show that every group has a presentation defined by taking the free group with all of the group elements as the generators, and defining the relations as the kernel of the induced subjective homomorphism from that free group to the group itself.
Use of AI: This has been vibe-coded with GPT-Codex-5.3, was updated through review, and was double-checked by the author.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-group-theory
large-import
awaiting-author
LLM-generated
|
29/1 |
Mathlib/GroupTheory/PresentedGroup.lean |
1 |
15 |
['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
24-82265 24 days ago |
unknown |
unknown |
| 35662 |
FrankieeW author:FrankieeW |
feat(NumberTheory/Zsqrtd): add Archimedean instance via le_arch |
This PR follows a suggestion made in #35606 , #35481
- add `Zsqrtd.le_arch_smul` in `Mathlib/NumberTheory/Zsqrtd/Basic.lean`
- use it to provide `instance : Archimedean (ℤ√d)` in the `Nonsquare` section
- refactor the proof using symmetry to reduce duplication while keeping checks clean
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
merge-conflict
LLM-generated
|
46/4 |
Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/Zsqrtd/Basic.lean |
2 |
13 |
['FrankieeW', 'MichaelStollBayreuth', 'euprunin', 'github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
24-82208 24 days ago |
unknown |
unknown |
| 33032 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
merge-conflict
|
832/251 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Auxillary.lean,Mathlib/Combinatorics/SimpleGraph/Konig/Konig.lean,Mathlib/Combinatorics/SimpleGraph/Konig/KonigFin.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean |
12 |
9 |
['SnirBroshi', 'github-actions', 'ksenono', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'vlad902'] |
nobody |
24-56770 24 days ago |
unknown |
unknown |
| 36770 |
Xmask19 author:Xmask19 |
feat: invariance of domain via Brouwer's fixed point theorem |
Continuous and injective maps from Rn to Rn are open mappings. This is shown given Brouwer's fixed point theorem. The specific version of Brouwer's theorem assumed is that a continuous map from the closed unit ball to itself has a fixed point. It is used to show a lemma in this proof. Then assuming that invariance of domain isn't true gives a contradiction with this lemma.
---
My supervisor has code for studying topological manifolds which relies on invariance of domain that can be found here: https://github.com/stevensivek/TopologicalManifolds and is planned to be submitted to Mathlib.
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
617/5 |
Mathlib.lean,Mathlib/AlgebraicTopology/InvarianceOfDomain.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order.lean |
5 |
2 |
['github-actions'] |
nobody |
22-75738 22 days ago |
unknown |
unknown |
| 38050 |
WilliamCoram author:WilliamCoram |
feat: Define Newton polygons |
In this file we construct a method to define newton polygons using a Stream' of `Step`'s which correspond to what you would obtain via the 'algorithm' of rotating half-planes as described in Gouvea's p-adic numbers.
---
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
|
620/0 |
Mathlib.lean,Mathlib/NumberTheory/NewtonPolygon.lean |
2 |
3 |
['github-actions', 'jcommelin'] |
nobody |
22-65784 22 days ago |
unknown |
unknown |
| 38113 |
robo7179 author:robo7179 |
feat(SimpleGraph/PerfectGraph): add lemma graph is perfect iff all su… |
Perfect graph theorem , discussion on zulip thread: [#graph theory > Second Order Monadic Logic](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/Second.20Order.20Monadic.20Logic.20for.20Graph/with/583013775)
- [ ] depends on: #37680
- [ ] depends on: #37598 |
t-combinatorics
new-contributor
blocked-by-other-PR
|
54/0 |
Mathlib/Combinatorics/SimpleGraph/PerfectGraph.lean |
1 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
22-14103 22 days ago |
unknown |
unknown |
| 33330 |
michael-novak-math author:michael-novak-math |
feat: add arc-length reparametrization of parametrized curves |
add new definitions of arc-length reparametrization and its corresponding parameter transformation and a theorem establishing the desired properties. |
t-analysis
new-contributor
awaiting-author
|
308/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/ArcLengthReparametrization.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
4 |
57 |
['SnirBroshi', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'michael-novak-math'] |
j-loreaux assignee:j-loreaux |
22-11852 22 days ago |
unknown |
unknown |
| 33217 |
Blackfeather007 author:Blackfeather007 |
feat(Algebra): define associated graded structure for abelian group |
In this PR we define the associated graded structure for abelian group when given a filtration and only give some basic lemmas about it.
---
migrated from https://github.com/leanprover-community/mathlib4/pull/26857
|
new-contributor
t-ring-theory
awaiting-author
|
144/0 |
Mathlib.lean,Mathlib/RingTheory/FilteredAlgebra/AssociatedGraded.lean |
2 |
13 |
['Blackfeather007', 'chrisflav', 'erdOne', 'eric-wieser', 'github-actions', 'urkud'] |
erdOne assignee:erdOne |
22-1347 22 days ago |
unknown |
unknown |
| 37938 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Probability/Posterior): Posterior PMFs and Various Lemmas |
Upstreaming the probability lemmas needed in https://github.com/leanprover/cslib/pull/464. |
t-measure-probability
new-contributor
awaiting-author
|
130/0 |
Mathlib.lean,Mathlib/Probability/ProbabilityMassFunction/Posterior.lean |
2 |
6 |
['EtienneC30', 'SamuelSchlesinger', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
21-61846 21 days ago |
unknown |
unknown |
| 34875 |
banrovegrie author:banrovegrie |
feat(LinearAlgebra/Matrix): add Sherman-Morrison formula |
Mathlib has the matrix determinant lemma (`det_add_replicateCol_mul_replicateRow` in SchurComplement.lean) but lacked the corresponding inverse formula. This PR fills that gap.
- Add `Matrix.inv_add_vecMulVec`: Sherman-Morrison formula for `(A + uv^T)^{-1}`
- Add `Matrix.inv_sub_vecMulVec`: subtraction variant
- Add `Matrix.isUnit_det_add_vecMulVec`: invertibility under the formula's hypotheses
## Test plan
- [x] `lake build` passes
- [x] Lines within 100 char limit
- [x] All declarations have docstrings
**Any specific AI usage?**: Used Copilot for review purposes. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
135/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/ShermanMorrison.lean |
2 |
13 |
['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
chrisflav assignee:chrisflav |
21-31653 21 days ago |
unknown |
unknown |
| 35569 |
goliath-klein author:goliath-klein |
refactor(PiTensorProduct/{InjectiveNorm, ProjectiveNorm}): deprecate `injectiveSeminorm` |
This PR:
* Deprecates `PiTensorProduct.injectiveSeminorm` and supporting lemmas.
* Moves the theory of `liftEquiv` from InjectiveSeminorm.lean to ProjectiveSeminorm.lean.
No changes are introduced beyond adding deprecation notices, adapting docstrings, and moving material between files.
The PR leaves InjectiveSeminorm.lean almost empty. A new implementation of `injectiveSeminorm`, one which reflects the common mathematical definition, is to be done.
This is the third in a series of three PRs with the goal to [deprecate `PiTensorProuduct.injectiveSeminorm`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/injectiveSeminorm/with/568798633).
---
- [ ] depends on: #35567
- [ ] depends on: #35568
Deprecations:
- injectiveSeminorm
- dualSeminorms_bounded
- injectiveSeminorm_apply
- norm_eval_le_injectiveSeminorm
- injectiveSeminorm_le_projectiveSeminorm
- injectiveSeminorm_tprod_le
Preliminary work toward a reimplementation is at #33969.
I've added Davood and myself to the "Authors" field, as we have now significantly refactored this module.
Co-authored-by: Davood H. T. Tehrani
[](https://gitpod.io/from-referrer/)
|
new-contributor |
222/233 |
Mathlib/Analysis/Normed/Module/PiTensorProduct/InjectiveSeminorm.lean,Mathlib/Analysis/Normed/Module/PiTensorProduct/ProjectiveSeminorm.lean |
2 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-25160 21 days ago |
unknown |
unknown |
| 38139 |
sidbedi author:sidbedi |
chore(Algebra/MvPolynomial/Variables): golf MvPolynomial.vars_0 to rfl |
---
The classical qualifier and explicit rewrite chain are unnecessary — the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
label:t-algebra$ |
1/2 |
Mathlib/Algebra/MvPolynomial/Variables.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
21-19906 21 days ago |
unknown |
unknown |
| 38140 |
sidbedi author:sidbedi |
chore(Data/Analysis/Filter): golf CFilter.ofEquiv_val to rfl |
---
cases F is unnecessary, the result holds definitionally.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
1/2 |
Mathlib/Data/Analysis/Filter.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
21-19862 21 days ago |
unknown |
unknown |
| 36731 |
michael-novak-math author:michael-novak-math |
feat: Frénet moving frame and Frénet equation for plane curves |
We define the curvature function, normal vector function and the Frénet moving frame for plane curve.
We also prove the Frénet equations for plane curves.
A separate PR (#37489) will prove the fundamental theorem of plane curves. |
new-contributor
t-differential-geometry
t-analysis
awaiting-author
|
321/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
114 |
['Ruben-VandeVelde', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] |
nobody |
21-13843 21 days ago |
unknown |
unknown |
| 37683 |
SabrinaJewson author:SabrinaJewson |
feat(Order/OrdContinuous): every map between complete lattices that preserves sSup is a left adjoint of some Galois connection |
It is already proven that the left side of a Galois connection is left-continuous; this provides the converse.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-order
|
90/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
20-80870 20 days ago |
unknown |
unknown |
| 37684 |
SabrinaJewson author:SabrinaJewson |
feat(Topology/Order): provide lemmas linking topological continuity to order continuity |
All the hard work is already done, but this just fills in a couple convenient missing pieces.
---
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
merge-conflict
t-topology
|
106/136 |
Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompletePartialOrder/Defs.lean,Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Tactic/Translate/ToDual.lean,Mathlib/Topology/Order/Basic.lean,Mathlib/Topology/Order/IsLUB.lean,Mathlib/Topology/Order/Monotone.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
20-80859 20 days ago |
unknown |
unknown |
| 37376 |
NoneMore author:NoneMore |
feat(Topology/CantorBendixson): add iterated derived sets and perfect kernel |
Define the transfinite iteration of the relative derived-set operator via `gfpApprox` and introduce the perfect kernel of a set.
---
AI disclosure: Most declarations, comments, and documentation in this PR were generated with Codex. Some proofs were structurally simplified using the `/golf` command from Lean 4 Skills. I reviewed the resulting code and documentation and can vouch for all submitted content.
- [ ] depends on: #37374
- [x] depends on: #37375
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
t-topology
|
249/0 |
Mathlib.lean,Mathlib/SetTheory/Ordinal/FixedPointApproximants.lean,Mathlib/Topology/CantorBendixson.lean,Mathlib/Topology/DerivedSet.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
20-80828 20 days ago |
unknown |
unknown |
| 35017 |
robo7179 author:robo7179 |
feat(Combinatorics/SimpleGraph/Acyclic): every nontrivial tree has at least two leaves |
Add two theorems to prove that every non trivial tree has at least two leaves (one in Finite the other in Acyclic).
---
- [ ] depends on: #37399
- [ ] depends on: #37400
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
blocked-by-other-PR
|
24/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Finite.lean |
2 |
44 |
['IvanRenison', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'robo7179'] |
YaelDillies assignee:YaelDillies |
20-78856 20 days ago |
unknown |
unknown |
| 38154 |
ybenmeur author:ybenmeur |
add subsingleton case to ExpChar |
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
113/49 |
Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/CharP/Subring.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/FieldTheory/Perfect.lean,Mathlib/FieldTheory/PurelyInseparable/Exponent.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Polynomial/SeparableDegree.lean,Mathlib/RingTheory/Trace/Basic.lean |
15 |
2 |
['github-actions'] |
nobody |
20-2228 20 days ago |
unknown |
unknown |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
112/0 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean |
2 |
39 |
['SnirBroshi', 'SproutSeeds', 'github-actions', 'jcommelin', 'ksenono'] |
b-mehta assignee:b-mehta |
19-52432 19 days ago |
unknown |
unknown |
| 37625 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors |
This PR adds a general formula for the coefficients of `det(1 + X • M)` as sums of principal minors, generalizing the existing `coeff_det_one_add_X_smul_one` (k=1, trace) and `det_eq_sign_charpoly_coeff` (k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial via `charpolyRev`.
New results:
- `det_piecewise_one_eq_submatrix_det`: relates piecewise-with-identity to principal submatrix determinants
- `coeff_det_one_add_X_smul_eq_sum_minors`: the k-th coefficient of `det(1 + X • M)` equals the sum of k×k principal minors
- `charpoly_coeff_eq_sum_minors`: coefficients of the characteristic polynomial as signed sums of principal minors
--- |
t-algebra
new-contributor
label:t-algebra$ |
105/1 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
24 |
['eric-wieser', 'github-actions', 'slavanaprienko', 'wwylele'] |
kim-em assignee:kim-em |
19-52428 19 days ago |
unknown |
unknown |
| 37593 |
IlPreteRosso author:IlPreteRosso |
refactor(Data.Finset.*Antidiagonal): rename set-based defs to `set*Antidiagonal` |
Renames set-based `Finset.mulAntidiagonal` → `setMulAntidiagonal` (and SMul/VAdd variants) to free the `mulAntidiagonal` name for the planned `HasMulAntidiagonal` typeclass. Deprecation aliases added.
Supersedes #34551 |
t-ring-theory
new-contributor
merge-conflict
|
178/96 |
Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Data/Finset/MulAntidiagonal.lean,Mathlib/Data/Finset/SMulAntidiagonal.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/PowerSeries.lean,Mathlib/RingTheory/HahnSeries/Summable.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
19-32255 19 days ago |
unknown |
unknown |
| 38270 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): The Tangent Functor on `MfldCat` |
A simple motivating example for PR #38223. We define the `tangentFunctor : MfldCat 𝕜 (n + 1) ⥤ MfldCat 𝕜 n` which takes any manifold to its tangent bundle and any smooth map to its pushforward.
This is a standard construction in differential geometry. See: J. Lee, Smooth Manifolds, pg. 75
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
320/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/TangentFunctor.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
18-45311 18 days ago |
unknown |
unknown |
| 38053 |
ntapiam author:ntapiam |
feat(Analysis/Controls): add Control functions |
Add Control functions
----
This PR adds Control functions in the sense of rough paths theory (see e.g. [Friz-Victoir, Section 1.2.1](https://page.math.tu-berlin.de/~friz/master4_May6th.pdf)).
They are related to p-variation norms which are the goal of #38055.
I've shown most results in the above reference though those relating to 1-variation are still a work in progress.
I had to add a few statements about convex functions in order to work over NNReal instead or Real, but I am not sure this is the best way to do it. The reason is that I've defined controls as taking values in NNReal (as they should).
In particular there is
```lean4
theorem nnreal_of_real {f : ℝ≥0 → ℝ≥0}
(hf : ConvexOn ℝ (Set.Ici 0) fun x : ℝ => (f x.toNNReal : ℝ)) : ConvexOn ℝ≥0 ⊤ f
```
which I didn't know where to put. It probably holds in more generality but I didn't check.
I have also included two versions of Controls, one global and one restricted to a set. I tried to follow Mathlib conventions as best as I could but perhaps that could be improved as well.
[](https://gitpod.io/from-referrer/)
|
WIP
t-analysis
new-contributor
|
571/1 |
Mathlib.lean,Mathlib/Analysis/Controls/BoundedVariation.lean,Mathlib/Analysis/Controls/ControlOn.lean,Mathlib/Analysis/Controls/Defs.lean,Mathlib/Analysis/Convex/Function.lean,docs/references.bib |
6 |
4 |
['github-actions', 'ntapiam'] |
nobody |
18-14359 18 days ago |
unknown |
unknown |
| 37010 |
pion2024 author:pion2024 |
`Sl2`update: add theorem `finrank_weightSpace_eq_one_of_isIrreducible` |
# Background:
I am a 2nd year undergrad student in mathematics currently self-teaching Lie algebra and representation theory.
Before starting the formalization, I searched for related keywords on Zulip and in the GitHub issues and commits. As far as I could tell, there were no existing results or ongoing attempts before I started.
All feedback is welcome. Even a quick check on the statement design/an idea on the generalization (cf Limitations below) would be incredibly helpful.
# Overview
In this PR, I added the new section `IsAlgClosedIrreducible` which formalizes the well-known theorem `finrank_weightSpace_eq_one_of_isIrreducible` for the Lie algebra $\mathfrak{sl}_2$ step by step. It proves that for a finite-dimensional irreducible representation of $\mathfrak{sl}_2$ over an algebraically closed field $K$ of characteristic zero, every non-trivial weight space has a dimension of exactly 1.
# Formalization Structure :
Instead of relying on explicit finite sums (`Finset.sum`) and manipulating coefficients, I heavily leverage Mathlib's abstractions in Submodule Lattice Theory and Coordinate-free Linear Algebra. The formalization proceeds in the following logic:
1. Existence of a Primitive Vector (`exists_primitiveVector`): I construct a primitive (highest-weight) vector by showing that repeated applications of the raising operator $e$ must eventually yield zero due to the finite-dimensionality of $M$ and the linear independence of eigenvectors corresponding to distinct eigenvalues.
2. The span of $f$-Tower as a Lie Submodule equals to the whole space (`fTowerLieSubmodule_eq_top`): I define the $f$-tower submodule as the $K$-span of $\{f^k m \mid k \in \mathbb{N}\}$. By proving its closure under the action of $f, h$, and $e$, I establish it as a Lie submodule. Since $M$ is irreducible, this submodule must be the entire space ($\top$).
3. Submodule Lattice Operations (`exists_mem_fTower_of_weightSpace_ne_bot`): To prove that every weight in $M$ is of the form $\mu_0 - 2k$, I use lattice operations (iSup, inf, and Disjoint) to avoid element-wise tracking. Since the $f$-tower spans $M$, the supremum of its weight spaces is $\top$. By leveraging `Module.End.eigenspaces_iSupIndep`, I show that any arbitrary non-trivial weight space would have a trivial intersection with $\top$ if its weight didn't belong to the sequence, yielding a contradiction.
4. Dimension Calculation via Basis Equivalence (`finrank_weightSpace_eq_one_of_isIrreducible`): Finally, I construct a basis from the non-zero elements of the $f$-tower. To show the weight space is 1-dimensional, I use `Basis.equivFun` to compare coefficients algebraically. This avoids heavy manual indexing and index-shifting, proving that any vector in the weight space $\mu_0 - 2k$ is merely a scalar multiple of $f^k m$.
# Use of AI:
I used Gemini 3.1 Pro for tactics, theorems, improvement suggestions, and error explanations. I fully understand and can vouch for all the modifications I have made to the file.
# Limitations:
I only managed to formalize the finite-dimensional version, although the theorem also holds in the infinite-dimensional case. In the infinite case the existence of a primitive vector is not guaranteed. A quick search suggests that we might need heavy tools like Casimir operators and the universal enveloping algebra, which are totally beyond my current level. I am looking into it, but since there is a significant mathematical gap, I thought it would be best to get this finite-dimensional version merged first. |
new-contributor
t-algebra
large-import
awaiting-author
merge-conflict
label:t-algebra$ |
336/0 |
Mathlib/Algebra/Lie/Sl2.lean |
1 |
10 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash', 'pion2024'] |
ocfnash assignee:ocfnash |
17-12612 17 days ago |
unknown |
unknown |
| 33257 |
NickAdfor author:NickAdfor |
feat(Combinatorics/SimpleGraph/Bipartite): Odd Cycle Theorem (A Solution to TODO) |
Prove bipartite iff all cycles are even
This PR formalizes the classical graph theory theorem: a graph is bipartite if and only if all its cycles have even length.
Co-authored-by: Nick Adfor
Co-authored-by: Yue Sun
Co-authored-by: Aristotle AI
---
## Main results
- `SimpleGraph.bipartite_iff_all_cycles_even` : the main equivalence theorem
## Key supporting lemmas
- `SimpleGraph.even_length_iff_same_color` : parity lemma for 2-colorings
- `SimpleGraph.even_length_iff_even_bypass_length` : bypass length parity
- `SimpleGraph.even_cycle_length_of_path` : cycle construction lemma
- `SimpleGraph.bypass_eq_nil_of_closed` : closed path properties
## Proof outline
1. For bipartite graphs: use the 2-coloring to show that in a 2-coloring, a walk has even length iff its endpoints have the same color.
2. For cycles (start = end), this forces even length.
3. For the converse: if all cycles are even, construct a 2-coloring using the `two_colorable_iff_forall_loop_even` characterization.
4. Show this coloring is valid using bypass operations and path properties.
## Technical notes
- Uses `SimpleGraph.Walk` for path/cycle representation
- Handles both `IsPath` and `IsCycle` predicates
- Uses bypass operations (`takeUntil`, `dropUntil`, `bypass`) to analyze walks
- Requires `DecidableEq V` for some lemmas
- Uses classical logic for case analysis
## Reviewer notes
- The proof uses induction on walks and case analysis on colorings
- Some lemmas (like `even_length_iff_same_color`) could be extracted to more general locations
- All theorems are in the `SimpleGraph` namespace
- The `bipartite_iff_all_cycles_even` theorem provides the complete characterization |
t-combinatorics
new-contributor
awaiting-author
LLM-generated
merge-conflict
|
145/12 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean,Mathlib/Combinatorics/SimpleGraph/ConcreteColorings.lean |
2 |
80 |
['IvanRenison', 'NickAdfor', 'Rida-Hamadani', 'SnirBroshi', 'YaelDillies', 'euprunin', 'github-actions', 'kmill', 'mathlib-merge-conflicts', 'mitchell-horner', 'vihdzp', 'vlad902'] |
YaelDillies assignee:YaelDillies |
16-63345 16 days ago |
unknown |
unknown |
| 37964 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Floor): weaken assumptions on theorems about `FloorRing` |
This PR weakens as much assumptions as possible on theorems about `FloorSemiring` and `FloorRing`. Mainly, `IsOrderedRing` and `IsStrictOrderedRing` are weakened to just `IsOrderedAddMonoid` or removed completely from the assumptions on the theorems.
Most theorems can be generalized as is or only requires a minor modification of replacing lemmas about casting naturals/integers preserving order (the likes of `Nat.cast_le`, `Int.cast_lt`, etc.) with the corresponding version for `FloorRing`. Some other lemmas require modification in the proofs, but these changes shorten the proofs. The new proof of the theorem `Int.mul_cast_floor_div_cancel_of_pos` requires an extra import.
The assumption `IsOrderedAddMonoid` is required on lemmas that involve comparison + addition, and `IsOrderedRing` is required only on lemmas that involve comparison + multiplication of two non-integer elements.
---
- [ ] depends on: #37714
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
349/266 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Order/Floor/Defs.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semiring.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Data/Int/Log.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
16-55310 16 days ago |
unknown |
unknown |
| 37279 |
imalinowskip author:imalinowskip |
feat(Probability): multivariate CLT (and Cramèr-Wold) |
---
- [x] depends on: #36208
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
awaiting-author
large-import
|
500/1 |
Mathlib.lean,Mathlib/Probability/CentralLimitTheorem.lean,Mathlib/Probability/CramerWold.lean |
3 |
10 |
['EtienneC30', 'github-actions', 'imalinowskip', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
15-70303 15 days ago |
unknown |
unknown |
| 37374 |
NoneMore author:NoneMore |
feat(Topology/DerivedSet): add relative derived set lemmas |
Add `relDerivedSet`, `relDerivedSet_subset`, and `IsClosed.relDerivedSet_eq`.
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
|
17/0 |
Mathlib/Topology/DerivedSet.lean |
1 |
6 |
['NoneMore', 'github-actions', 'plp127', 'vihdzp'] |
urkud assignee:urkud |
15-52381 15 days ago |
unknown |
unknown |
| 38399 |
openendings author:openendings |
feat: OrderHom.instOrderSupSet for LawfulSup |
Currently we have `instance [CompleteLattice β] : SupSet (α →o β)`.
We replace this with a mere `LawfulSup` assumption such as #38328, .
TODO:
- [ ] construct an `OrderSupSet` instance instead of `SupSet`
---
WIP
- [ ] depends on: #38328 [or other `LawfulSup`]
(based on master in case something else needs this)
[](https://gitpod.io/from-referrer/)
|
WIP
t-order
new-contributor
blocked-by-other-PR
|
26/0 |
Mathlib/Order/Hom/Order.lean |
1 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'openendings'] |
nobody |
15-34211 15 days ago |
unknown |
unknown |
| 38373 |
Nicola9Falciola author:Nicola9Falciola |
feat (Algebra/FreeAbelianGroup /Finsupp) : The support of non zero element in a freeabeliangroup is non empty |
Add the lemma that for a nonzero a : FreeAbelianGroup X the support of it is non empty.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
3/0 |
Mathlib/Algebra/FreeAbelianGroup/Finsupp.lean |
1 |
7 |
['Nicola9Falciola', 'SnirBroshi', 'github-actions'] |
nobody |
15-7804 15 days ago |
unknown |
unknown |
| 38388 |
supermanG author:supermanG |
feat(Combinatorics/SimpleGraph): add ballFinset with basic identities |
Introduces `SimpleGraph.ballFinset`, the `Finset` companion to `SimpleGraph.ball` (#36443) on graphs with a `Fintype` vertex set, together with the basic identities `mem_ballFinset`, `ballFinset_zero`, and `ballFinset_one`.
`SimpleGraph.ball` is the *open* metric ball `{u | edist u c < r}` and is indexed by `ℕ∞`; `ballFinset` is typed `ℕ → Finset V` for ergonomics at cardinality-facing call sites. The classical closed-ball cardinality at radius `r`, `|{u | edist u c ≤ r}|`, corresponds to `|ballFinset v (r + 1)|` in this setup.
Opened as draft so CI can run before pinging maintainers.
---
First-time Mathlib contribution — happy to adjust naming, file placement, or docstring style to match house conventions. Follow-up PRs will add cardinality envelopes (sphere cardinality, geometric-series bound, polynomial bound). |
t-combinatorics
new-contributor
LLM-generated
|
68/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/BallCardinality.lean |
2 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
15-261 15 days ago |
unknown |
unknown |
| 38214 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add Euler's continued fraction |
This PR formalizes Euler’s continued fractions by providing `Euler` which construct one by giving head term and coefficients with some basic property.
We also introduce a transformation `GenContFract.toEuler` that maps a generalized continued fraction `g : GenContFract K` to an equivalent Euler-form continued fraction. |
new-contributor
t-algebra
label:t-algebra$ |
262/0 |
Mathlib.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean |
2 |
15 |
['github-actions', 'mathlib-bors', 'wwylele'] |
nobody |
14-79504 14 days ago |
unknown |
unknown |
| 38114 |
javgomzar author:javgomzar |
feat(FinitelyPresentedGroup): add finite groups instance |
Add IsFinitelyPresented instance for finite groups.
Co-authored-by: Hang Lu Su , Thomas Browning
---
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
large-import
|
32/3 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean |
2 |
32 |
['github-actions', 'javgomzar', 'kbuzzard', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
mattrobball assignee:mattrobball |
14-52375 14 days ago |
unknown |
unknown |
| 38334 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/TreeDecomp): define tree decompositions |
Add definition for tree decompositions on simple graphs. Define the tree width of a simple graph and prove basic statements and conversions.
```lean
structure TreeDecomp (G : SimpleGraph V) where
/-- The type of bags in the tree. -/
W : Type u
/-- The set of vertices in each bag. -/
𝓧 : W → Finset V
/-- The graph adjacency relation of bags. -/
T : SimpleGraph W
/-- T must be a tree. -/
isTree : IsTree T
/-- All vertices in G must appear in some bag. -/
vertexCover : ∀ v : V, ∃ w : W, v ∈ 𝓧 w
/-- For any edge (u, v) in G, there is a bag containing both u and v. -/
edgeCover ⦃u v : V⦄ : G.Adj u v → ∃ w : W, u ∈ 𝓧 w ∧ v ∈ 𝓧 w
/-- For any vertex v in G, the set of bags that contain v is preconnected. -/
connectedBags : ∀ v : V, (T.induce ({w | v ∈ 𝓧 w})).Preconnected
```
AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed.
---
- [ ] depends on: #38027
[](https://gitpod.io/from-referrer/)
|
new-contributor
help-wanted
blocked-by-other-PR
t-combinatorics
LLM-generated
WIP
|
396/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
3 |
5 |
['8e7', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
14-32876 14 days ago |
unknown |
unknown |
| 36853 |
matthunz author:matthunz |
feat(CategoryTheory/Monoidal/Braded/Traced): add `TracedCategory` class |
Adds a `TracedCategory` class following [A. Joyal and R. Street and D. R. Verity, *Traced monoidal categories*](https://www.cambridge.org/core/journals/mathematical-proceedings-of-the-cambridge-philosophical-society/article/abs/traced-monoidal-categories/2BE85628D269D9FABAB41B6364E117C8#article):
```lean
/-- A traced symmetric monoidal category. -/
class TracedCategory
(C : Type u)
[Category.{v} C]
[MonoidalCategory.{v} C]
[SymmetricCategory.{v} C] where
/-- The trace operator. -/
trace : ∀ {A B : C} (W : C), (A ⊗ W ⟶ B ⊗ W) → (A ⟶ B)
/-- Left tightening: sliding a morphism past the trace on the left. -/
trace_naturality_left : ∀ {A A' B : C} (W : C) (f : A' ⟶ A) (g : A ⊗ W ⟶ B ⊗ W),
trace W (f ▷ W ≫ g) = f ≫ trace W g := by cat_disch
/-- Right tightening: sliding a morphism past the trace on the right. -/
trace_naturality_right : ∀ {A B B' : C} (W : C) (f : A ⊗ W ⟶ B ⊗ W) (g : B ⟶ B'),
trace W (f ≫ g ▷ W) = trace W f ≫ g := by cat_disch
/-- Sliding: an endomorphism on the feedback wire slides past the trace. -/
trace_dinaturality : ∀ {A B W : C} (f : A ⊗ W ⟶ B ⊗ W) (h : W ⟶ W),
trace W (f ≫ B ◁ h) = trace W (A ◁ h ≫ f) := by cat_disch
/-- Superposing: trace commutes with left tensoring by a bystander object. -/
trace_superposing : ∀ {A B : C} (C' W : C) (f : A ⊗ W ⟶ B ⊗ W),
C' ◁ trace W f = trace W ((α_ C' A W).hom ≫ C' ◁ f ≫ (α_ C' B W).inv) := by cat_disch
/-- Vanishing I: trace over the tensor unit is the morphism itself (up to unitors). -/
trace_vanishing_one : ∀ {A B : C} (f : A ⊗ 𝟙_ C ⟶ B ⊗ 𝟙_ C),
trace (𝟙_ C) f = (ρ_ A).inv ≫ f ≫ (ρ_ B).hom := by cat_disch
/-- Vanishing II: trace over a tensor product equals iterated trace. -/
trace_vanishing_two : ∀ {A B X Y : C} (f : A ⊗ (X ⊗ Y) ⟶ B ⊗ (X ⊗ Y)),
trace (X ⊗ Y) f = trace X (trace Y ((α_ A X Y).hom ≫ f ≫ (α_ B X Y).inv)) := by cat_disch
/-- Yanking: the trace of the braiding is the identity. -/
trace_yanking : ∀ (W : C), trace W (β_ W W).hom = 𝟙 W := by cat_disch
```
## Motivation
`TracedCategory` can be used for denoting things like electric circuits, which require a traced symmetric monoidal category for the wire graph network.
## Future work
- `instance [CompactClosedCategory C] : TracedCategory C`
- possible notation such as `Tr_[W] f`
---
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
merge-conflict
|
237/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Braided/Traced.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Traced.lean,docs/references.bib |
4 |
5 |
['dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'matthunz'] |
nobody |
13-80760 13 days ago |
unknown |
unknown |
| 37299 |
XC0R author:XC0R |
feat(NumberTheory): Chebyshev's lower bound on primorial |
## Summary
Prove `primorial(n) ≥ 2^(n/2)` for all `n ≥ 2` (Chebyshev's 1852 lower bound). This is the lower bound complement to `primorial_le_four_pow`. Addresses the TODO at `Chebyshev.lean` line 50: "Prove Chebyshev's lower bound."
### New file: `Mathlib/NumberTheory/PrimorialLowerBound.lean`
**Main theorems:**
- `two_pow_le_primorial`: `2 ^ n ≤ primorial (2 * n)` for `n ≥ 29`
- `two_pow_div_two_le_primorial`: `2 ^ (n / 2) ≤ primorial n` for `n ≥ 2`
**Key intermediates:**
- `centralBinom_le_pow_mul_primorial`: `C(2n,n) ≤ (2n)^{π(√(2n)+1)} * primorial(2n)`
- `eight_mul_sq_add_le_two_pow`: `8u² + 16u + 8 ≤ 2^u` for `u ≥ 10`
### Proof technique
Central binomial decomposition: from `four_pow_lt_mul_centralBinom` and `factorization_choose_le_log`, bound `C(2n,n)` above by `(2n)^{π(√(2n)+1)} * primorial(2n)`. Rearranging gives `primorial(2n) ≥ 2^n` for `n ≥ 29`. Base cases by `norm_num` + `decide`, large `n` analytically via `√n` factoring.
### AI disclosure
Claude (Anthropic) was used as a coding assistant for Lean tactic exploration, file structuring, and CI debugging. All proof strategy, mathematical content, and final code have been reviewed and are understood by the author. |
t-number-theory
new-contributor
awaiting-author
|
230/5 |
Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Primorial.lean,Mathlib/NumberTheory/SmoothNumbers.lean |
3 |
52 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
13-79014 13 days ago |
unknown |
unknown |
| 36313 |
SproutSeeds author:SproutSeeds |
feat(Inversion): cobounded tendsto near center |
Part of #5939
Add `tendsto_inversion_nhdsNE_center_cobounded` in `Mathlib/Geometry/Euclidean/Inversion/Basic.lean`, proving `Tendsto (inversion c R) (𝓝[≠] c) (Bornology.cobounded P)` for `R ≠ 0`.
Tools used: Codex 5.3 extra high
---
Happy to adjust naming, placement, or proof style based on maintainer preference.
|
t-euclidean-geometry
new-contributor
LLM-generated
awaiting-author
|
28/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
11 |
['SproutSeeds', 'euprunin', 'github-actions', 'jsm28', 'kbuzzard', 'ocfnash'] |
jsm28 assignee:jsm28 |
13-36067 13 days ago |
unknown |
unknown |
| 29713 |
jessealama author:jessealama |
feat(Algebra/Homology): add Euler–Poincaré formula |
This PR builds on the generalized Euler characteristic framework from #31121 to prove the Euler-Poincaré formula for chain complexes.
PR #31121 defines the Euler characteristic for general homological complexes. This PR specializes those definitions to ℤ-indexed chain complexes and proves the main Euler-Poincaré theorem.
### Main result (in `EulerPoincare.lean`)
* `ChainComplex.eulerChar_eq_homologyEulerChar`: For ℤ-indexed bounded chain complexes of finite-dimensional modules over a division ring, the alternating sum of chain dimensions equals the alternating sum of homology dimensions.
### Supporting lemmas
The file also provides dimension lemmas generalized to arbitrary `HomologicalComplex (ModuleCat k) c` (not just ℤ-indexed chain complexes):
* `HomologicalComplex.dFrom_zero_range` / `dTo_zero_range`: zero range when the target/source object is zero
* `HomologicalComplex.dFrom_range_finrank_eq_d` / `dTo_range_finrank_eq_d`: range of `dFrom`/`dTo` has the same dimension as the underlying differential
* `HomologicalComplex.range_dTo_le_ker_dFrom`: range of `dTo` is contained in the kernel of `dFrom`
---
- [ ] depends on: #38483 (`Antiperiodic.sum_Ico_shift` and bilinear cancellation lemma)
Builds on: #31121
Related to: #29639, #29643, #29646 |
awaiting-author
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
319/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Periodic.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
3 |
26 |
['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
13-27980 13 days ago |
unknown |
unknown |
| 35504 |
JoaBjo author:JoaBjo |
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property |
feat(Probability/Distributions/Exponential): add MGF, moments, and memoryless property
Add the main analytic results for the exponential distribution:
- moment-generating function `mgf id (expMeasure r) t = r / (r - t)` for `t < r`
- mean `∫ x, x ∂(expMeasure r) = r⁻¹`
- variance `Var[id; expMeasure r] = r⁻¹ ^ 2`
- `ℒp` membership for all `p`
- tail probability `P(X > x) = exp (-(r * x))`
- memoryless property `P(X > s + t | X > s) = P(X > t)`
The MGF is computed by reducing to the known improper integral `∫ exp(c * x)` on `Ioi`,
and integrability is deduced by contradiction from the positive closed-form value.
The mean and variance are computed via the Gamma function integral
`∫₀^∞ x^(n-1) exp(-r x) dx = Γ(n) / rⁿ`. The memoryless property follows from
the exponential identity `exp(-(r(s+t))) = exp(-rt) * exp(-rs)`.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
200/0 |
Mathlib/Probability/Distributions/Exponential.lean |
1 |
6 |
['JoaBjo', 'Timeroot', 'github-actions'] |
kex-y assignee:kex-y |
13-16655 13 days ago |
unknown |
unknown |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
5 |
['SnirBroshi', 'github-actions', 'vlad902'] |
nobody |
13-16623 13 days ago |
unknown |
unknown |
| 37006 |
hakii6 author:hakii6 |
feat(LinearAlgebra/Matrix/Block, Analysis/Normed/Algebra/MatrixExponential): add BlockTriangular.pow and BlockTriangular.exp |
# Summary
Add BlockTriangular.pow and BlockTriangular.exp for proving "det (exp A) = exp (trace A)"
# Which part using LLM
The part I used LLM is for
1. Searching duplicated theorems and lemmas I may missed (I already search them myself first).
2. Help me handle the "variables and signatures", the "letI" part, some of lemmas and theorems trivial but hard to find the true one.
3. After I finished, let them helped me check the structure match the disciplines of mathlib.
4. Check the steps PR match the disciplines of mathlib
Most things above are done by me first, then let them to make sure I'm not missing something.
# More context
More context can be found in a topic in "# new member" in Zulip
[#new members > (Matrix and NormedSpace.exp) | det (exp A) = exp (trace A)](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/.28Matrix.20and.20NormedSpace.2Eexp.29.20.7C.20det.20.28exp.20A.29.20.3D.20exp.20.28trace.20A.29/with/580964688)
|
new-contributor
LLM-generated
t-algebra
awaiting-author
label:t-algebra$ |
54/1 |
Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/Topology/Instances/Matrix.lean |
3 |
64 |
['SnirBroshi', 'eric-wieser', 'github-actions', 'hakii6', 'themathqueen', 'wwylele'] |
themathqueen assignee:themathqueen |
13-10955 13 days ago |
unknown |
unknown |
| 34815 |
Deep0Thinking author:Deep0Thinking |
feat(Analysis/SpecialFunctions/ImproperIntegrals): Frullani integral |
- [x] depends on: #34966
---
Add a proof of **Frullani integral**.
Main theorems:
- `Frullani.integral_Ioi`
- `IntegrableOn.tendsto_integral_Ioi`
- `exists_integral_div_eq_mul_log`
Supporting lemmas:
- `Frullani.comp_mul_left_div`
- `Frullani.intervalIntegrable_div`
- `Frullani.exists_integral_div_eq_mul_log`
- `Ioi_diff_Ioc`
- `ContinuousOn.comp_mul_left_div`, `ContinuousOn.comp_mul_right_div`
- `ContinuousOn.comp_mul_left`, `ContinuousOn.comp_mul_right`
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-analysis
awaiting-author
|
265/4 |
Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/MeanValue.lean,Mathlib/Topology/Algebra/GroupWithZero.lean,Mathlib/Topology/Algebra/Monoid.lean |
4 |
17 |
['CoolRmal', 'Deep0Thinking', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
12-71810 12 days ago |
unknown |
unknown |
| 38093 |
mortarsanjaya author:mortarsanjaya |
feat(Algebra/Order/Ring/Unbundled/Basic): add a generalization of `two_mul_le_add_of_sq_eq_mul` |
The equality `r^2 = a * b` in the hypothesis can be weakened to `r^2 ≤ a * b`.
The implementation requires adding an appropriate `ZeroLEOneClass` instance.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
maintainer-merge
label:t-algebra$ |
16/7 |
Mathlib/Algebra/Order/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean |
2 |
13 |
['github-actions', 'leanprover-radar', 'mortarsanjaya', 'themathqueen'] |
themathqueen assignee:themathqueen |
11-75287 11 days ago |
unknown |
unknown |
| 38546 |
yhx-12243 author:yhx-12243 |
fix: universe issue in injective module |
Change the definition of
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type v⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
into
```lean
class Module.Injective : Prop where
out : ∀ ⦃X Y : Type u⦄ [AddCommGroup X] [AddCommGroup Y] [Module R X] [Module R Y]
(f : X →ₗ[R] Y) (_ : Function.Injective f) (g : X →ₗ[R] Q),
∃ h : Y →ₗ[R] Q, ∀ x, h (f x) = g x
```
to make it agree with `Module.Baer` and real mathematical definition, **without universe issues**.
Since the criterion `Module.Flat` also uses `Type u` on testing modules.
See discussions in https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Universe.20issue.20about.20injective.20module .
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-zulip
label:t-algebra$ |
57/43 |
Mathlib/Algebra/Category/ModuleCat/Injective.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/RepresentationTheory/FinGroupCharZero.lean,Mathlib/RingTheory/Flat/Tensor.lean,Mathlib/RingTheory/LocalProperties/Injective.lean |
6 |
5 |
['github-actions', 'grunweg', 'mathlib-bors', 'wwylele'] |
nobody |
11-67458 11 days ago |
unknown |
unknown |
| 37722 |
SabrinaJewson author:SabrinaJewson |
feat(Order/Cover): intervals equal singletons iff |
To complement `Set.Icc_eq_singleton_iff`, this introduces:
- `Set.Ioc_eq_singleton_iff`
- `Set.Ico_eq_singleton_iff`
- `Set.Ioi_eq_singleton_iff`
- `Set.Iio_eq_singleton_iff`
- `Set.Ioo_eq_singleton_iff`
Unforunately because of the order of the ands, the last cannot be made self-dual.
---
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
39/0 |
Mathlib/Order/Cover.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
Komyyy and bryangingechen assignee:bryangingechen assignee:Komyyy |
11-52269 11 days ago |
unknown |
unknown |
| 36850 |
whocares-abt author:whocares-abt |
feat(Combinatorics/SimpleGraph/Acyclic): deleting leaves from a tree gives a tree |
Added theorem stating Deleting a leaf from a tree produces a tree. |
t-combinatorics
new-contributor
awaiting-author
|
5/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
9 |
['YaelDillies', 'github-actions', 'vlad902'] |
YaelDillies assignee:YaelDillies |
11-25638 11 days ago |
unknown |
unknown |
| 26300 |
igorkhavkine author:igorkhavkine |
feat(Analysis/Calculus/FDeriv): continuous differentiability from continuous partial derivatives on an open domain in a product space |
If a function `f : E × F → G` is continuously differentiable, then its partial derivatives along `E` and `F` are also continuous. The non-trivial converse implication holds when the partial derivatives are continuous on an open domain, and they can be added together to give the total derivative of `f`. See this [#mathlib4 > Partial derivatives @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Partial.20derivatives/near/520995477) and the containing thread for some discussion. The PR creates a new import (`Mathlib.Analysis.Calculus.FDeriv.Partial`), where other results about partial derivatives could go in the future.
---
*this is the migration of #25304 to the PR-from-fork workflow*
- [x] depends on: #25564
- [x] depends on: #26273
[](https://gitpod.io/from-referrer/)
|
WIP
new-contributor
awaiting-author
t-analysis
|
347/4 |
Mathlib/Analysis/Calculus/FDeriv/Partial.lean |
1 |
23 |
['YaelDillies', 'agjftucker', 'github-actions', 'igorkhavkine', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
sgouezel assignee:sgouezel |
11-21962 11 days ago |
unknown |
unknown |
| 37774 |
weisbrja author:weisbrja |
fix: change variables in `bicompl` to `Sort*` and add missing theorem mentioned in `bicompl` docs |
[#mathlib4 > Why does Mathlib use Type* instead of Sort* in some places?](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Why.20does.20Mathlib.20use.20Type.2A.20instead.20of.20Sort.2A.20in.20some.20places.3F/with/583882342)
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
merge-conflict
|
6/1 |
Mathlib/Logic/Function/Basic.lean |
1 |
8 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'weisbrja'] |
nobody |
10-75165 10 days ago |
unknown |
unknown |
| 31670 |
edwin1729 author:edwin1729 |
feat(Topology/Order): Scott Topology is Sober over Algebraic DCPO |
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) here
(2/2) PR to prove result in Stone Duality. Here we prove that Scott Topologies over Algebraic DCPOs are sober.
- [ ] depends on: #31662
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
new-contributor
merge-conflict
|
456/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
10-61554 10 days ago |
unknown |
unknown |
| 37445 |
edwin1729 author:edwin1729 |
feat(Topology/Order): set of compact elements, generating basic opens contained in a `Locale.PT`, is directed |
This is (2/4) PRs culminating in a proof that "Scott Topologies over Algebraic DCPOs are Sober". In this PR we prove properties of a certain set of compact elements, w.r.t a `Locale.PT`.
A `Locale.PT` can be thought of as a set of `Opens`. Precisely it is a Frame homomorphism from `Opens _` to `Prop` so we are essentially choosing certain `Opens` to form our set and this set has additional properties. Namely it is a completely prime filter: if the supremum of some Opens is contained than atleast one of the Opens must be contained.
Take some `Locale.PT`, `x`. In this PR, we prove that the set of compact elements generating basic opens (compact elements generate topological basis see #31662) contained in `x` is directed.
This set of compact elements defined above is important in subsequent parts of the proof since it fully determines `x`.
- [ ] depends on: #31662
---
[](https://gitpod.io/from-referrer/)
|
t-topology
blocked-by-other-PR
new-contributor
merge-conflict
|
296/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-58087 10 days ago |
unknown |
unknown |
| 37556 |
edwin1729 author:edwin1729 |
feat(Topology/Order): Locale.localePointOfSpacePoint if we have a Scott Topology from an Algebraic DCPO |
(3/4) in a series of PRs proving that "Scott Topologies over Algebraic DCPOs are Sober"
We prove here that the unit of the adjunction from `TopCat` to `Locale` defined in `Topology/Order/Category/FrameAdjunction.lean` is a surjective mapping, under the following condition:
The underlying TopologicalSpace must be a Scott Topology generated with an underlying Algebraic DCPO structure.
- [ ] depends on: #37445
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
blocked-by-other-PR
merge-conflict
|
393/1 |
Mathlib.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
10-58086 10 days ago |
unknown |
unknown |
| 38027 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/Star): define star graphs |
Add a new definition `starGraph` and several key lemmas. Star graphs are a trivial class of tree, often used in constructive proofs regarding trees. An example use case is shown in #38334.
---
All lemmas are hand written first, then golfed with the help of Claude Code.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
85/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Star.lean |
2 |
39 |
['8e7', 'IvanRenison', 'JovanGerb', 'SnirBroshi', 'github-actions', 'vihdzp', 'vlad902'] |
nobody |
10-44616 10 days ago |
unknown |
unknown |
| 38560 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): `MfldCat` is a `CartesianMonoidalCategory` |
We prove that the category `MfldCat` of C^n manifolds is a Cartesian monoidal category, and also derive the `BraidedCategory` instance. This PR introduces a new file `Geometry/Manifold/Category/MfldCat/CartesianMonoidal` closely mirroring the structure of `Algebra/Category/Grp/CartesianMonoidal.lean`
---
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
|
281/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/CartesianMonoidal.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
10-31332 10 days ago |
unknown |
unknown |
| 36210 |
vbeffara author:vbeffara |
feat(Combinatorics/SimpleGraph): definitions of graph contraction and graph minor |
A contraction is the image of a graph through a surjective function with connected fibers, and a minor is a contraction of a subgraph.
This PR shows that being a contraction is transitive, but does not show the same for minors because the proof is more involved, it will be in a subsequent PR. The definitions are in `Prop` and do not contain data, but I'm not sure if that was the right choice.
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean |
3 |
8 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] |
b-mehta assignee:b-mehta |
10-115 10 days ago |
unknown |
unknown |
| 36326 |
Arnav-panjla author:Arnav-panjla |
Feat/gaussian schwartz map |
feat(Analysis/SpecialFunctions/Gaussian): define the Gaussian as a Schwartz function in 1D
Define the Gaussian function `x ↦ exp (-x^2)` as a `SchwartzMap` in the one-dimensional case.
The proof establishes the Schwartz decay conditions by showing that polynomially
weighted expressions of the form `(1 + x^2)^m * exp (-x^2)` are bounded. This
allows the Gaussian to be packaged using the `SchwartzMap` API.
During the implementation a few adjustments were required to match the current
Mathlib API. In particular:
* replace the non-existent `IsBigO.mul_right` with `IsBigO.of_bound` applied to the
full product `(1 + x^2)^m * exp (-x^2)`
* fix `mem_cocompact` usage by replacing `(hh_tendsto.eventually ...).mem_cocompact`
with `mem_cocompact.mp (hh_tendsto ...)`
* adjust the `hb_bound` step using `gcongr` with exact bounds so that both goals close
* remove the unused declaration `hf_nonpos`
* register the required import in `Mathlib.lean`
This implements the one-dimensional case mentioned in the issue. The generalization
to Gaussians associated with arbitrary positive-definite bilinear forms can be
added in a follow-up PR.
Closes #33072 |
t-analysis
new-contributor
|
235/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/SchwartzMap.lean |
2 |
4 |
['CoolRmal', 'github-actions'] |
nobody |
9-70173 9 days ago |
unknown |
unknown |
| 38364 |
openendings author:openendings |
feat: create Order/DirectedCompletePartialOrder/Defs.lean |
Define DirectedCompletePartialOrder and its interaction with iSup and sSup.
---
A DirectedCompletePartialOrder is equivalently:
- a partial order with LUBs of nonempty directed sets;
- what happens when you remove ⊥ from a CompletePartialOrder; or
- a ConditionallyCompletePartialOrder in which every directed set is BddAbove.
Like CPOs, DCPOs are commonly studied in denotational semantics.
Potential applications:
- [#Is there code for X? > Summing `ENat`s without topology](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Summing.20.60ENat.60s.20without.20topology/with/590070848) -- defining infinite sums in an DCPO-enriched `AddCommMonoidWithTop` such as `ENat` or `ENNReal`.
- [#Is there code for X? > Scott Induction](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Scott.20Induction/with/590112858) -- fixpoint theorems similar to `OmegaCompletePartialOrder`, generalised to arbitrary cardinalities.
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
|
123/0 |
Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib |
3 |
4 |
['SnirBroshi', 'github-actions', 'openendings'] |
nobody |
9-60879 9 days ago |
unknown |
unknown |
| 33714 |
idontgetoutmuch author:idontgetoutmuch |
feat(Mathlib/Geometry/Manifold): Riemannian metrics exist II |
Supersedes https://github.com/leanprover-community/mathlib4/pull/33519
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
|
723/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Geometry/Manifold/PartitionOfUnity.lean |
4 |
200 |
['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] |
fpvandoorn assignee:fpvandoorn |
9-52068 9 days ago |
unknown |
unknown |
| 38551 |
TTony2019 author:TTony2019 |
feat(Analysis/Convex/Intrinsic): add `affineSpan_prod_eq` and `intrinsicInterior_prod_eq` |
### Summary
We prove that the affine span of a product set equals the product of the affine spans, and that the intrinsic interior of a product set equals the product of the intrinsic interiors.
- `affineSpan_prod_eq`: for `s : Set P₁` and `t : Set P₂`, `affineSpan k (s ×ˢ t) = (affineSpan k s) ×ˢ (affineSpan k t)` as sets.
- `intrinsicInterior_prod_eq`: for `s : Set P` and `t : Set Q`, `intrinsicInterior 𝕜 (s ×ˢ t) = intrinsicInterior 𝕜 s ×ˢ intrinsicInterior 𝕜 t`.
These two theorems are added to `Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean` and `Mathlib/Analysis/Convex/Intrinsic.lean`.
### Collaboration
Co-authored-by: @imathwy |
new-contributor |
144/0 |
Mathlib/Algebra/AddTorsor/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Analysis/Convex/Intrinsic.lean,Mathlib/LinearAlgebra/AffineSpace/AffineSubspace/Basic.lean,Mathlib/LinearAlgebra/Prod.lean |
5 |
21 |
['TTony2019', 'github-actions', 'wwylele'] |
nobody |
9-47283 9 days ago |
unknown |
unknown |
| 28546 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): basic setup of Zd, full shift, cylinders, pat… |
This PR adds a **group-generic** foundation for symbolic dynamics over an arbitrary group `G`, together with convenient specializations for `ℤ` and `ℤ^d`.
Summary of additions:
- **Full shift and shift action**
- `abbrev FullShift (A G) := G → A` (inherits product topology from the Π-type).
- Right shift `shift g x` with convention `(shift g x) h = x (h * g)`.
- **Cylinders and topology**
- `cylinder U x : Set (G → A)` for finite `U : Finset G`.
- Cylinders are open under `[DiscreteTopology A]`; with a finite alphabet they are also closed.
- Equality with dependent products:
`cylinder U x = Set.pi (↑U) (fun i => ({x i} : Set A))`, enabling use of the `Set.pi` API.
- **Patterns, occurrences, and subshifts**
- `Pattern A G` with finite `support : Finset G` and `data : support → A`.
- `Pattern.occursIn p x g` (occurrence at translate `g`) and the expected shift law.
- `forbids F` and `Subshift A G` (closed, shift-invariant subsets).
- `FixedSupport A G U` with an equivalence to `(U → A)` to obtain finiteness.
- **Language on finite shapes and counting**
- `languageOn X U`, `languageCardOn X U`, and `patternCountOn Y U`.
- **Entropy along a shape sequence**
- `limsupAtTop` (as an `sInf` of eventual upper bounds).
- `entropyAlong X F hF := limsup (log (patternCountOn X (F n) + 1) / |F n|)`
for any nonempty finite shapes `F : ℕ → Finset G` (the `+ 1` avoids `log 0`).
- **Specializations**
- `IntShapes`: segments `[-n,n]` on `Multiplicative ℤ`, with `entropy_Z`.
- `ZdShapes`: boxes `[-n,n]^d` on `ℤ^d` (as functions `Fin d → ℤ`), with `entropy_Zd`.
Mathematical remarks:
- The API is **shape-parametric**: entropy is defined along user-provided finite shapes.
- On **amenable** groups, using a **Følner** sequence yields a canonical value (Ornstein–Weiss).
This PR does not assume amenability; the family of shapes is an explicit input.
Motivation:
Provide a clean, reusable base for symbolic dynamics on groups in mathlib.
Future work:
- Add a Følner predicate and prove shape-independence / limit existence on amenable groups.
- Expand the `ℤ`/`ℤ^d` toolkit (alternative shapes, mixing, factors).
- Develop 1D theory and, longer-term, multidimensional SFT results (e.g. along the lines of Hochman–Meyerovitch).
|
t-dynamics
new-contributor
|
631/0 |
Mathlib.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/Tactic/Translate/ToAdditive.lean |
3 |
187 |
['Sfgangloff', 'botbaki-review', 'eric-wieser', 'github-actions', 'kckennylau', 'mathlib4-merge-conflict-bot', 'sgouezel'] |
urkud assignee:urkud |
9-41850 9 days ago |
unknown |
unknown |
| 37814 |
sglasman author:sglasman |
feat: Equivalence between HopfAlgCat R and Hopf (ModuleCat R) |
This PR resolves a TODO by demonstrating an equivalence of categories between two models of the category of Hopf algebras over a commutative ring R, that of Hopf objects in the module category of R and that of types with a `HopfAlgebra R` instance.
---
AI declaration: I consulted with Claude on proof strategies. The proofs were ultimately written by me.
|
new-contributor
large-import
t-category-theory
WIP
|
214/4 |
Mathlib/CategoryTheory/Monoidal/Hopf_.lean,Mathlib/RingTheory/HopfAlgebra/Basic.lean |
2 |
5 |
['dagurtomas', 'github-actions', 'robin-carlier', 'sglasman'] |
kim-em assignee:kim-em |
9-35850 9 days ago |
unknown |
unknown |
| 33478 |
anishrajeev author:anishrajeev |
feat(ModelTheory): define a subset of the topology over complete types |
Define a subset of the Stone Space over a language expanded with countably many constants. Define the proposition to indicate if a language is countable. The subset's density and openness is a future goal to prove (have a branch where it is almost finished), in pursuit of formalizing the proof of the Omitting Types Theorem via properties of Baire spaces.
- [ ] depends on: #32215
- [ ] depends on: #32546 |
t-logic
merge-conflict
new-contributor
|
160/1 |
Mathlib.lean,Mathlib/ModelTheory/Topology/Types.lean,Mathlib/ModelTheory/Types.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
4 |
8 |
['NoneMore', 'anishrajeev', 'github-actions', 'mathlib-dependent-issues', 'mathlib4-merge-conflict-bot', 'tb65536'] |
nobody |
8-82090 8 days ago |
unknown |
unknown |
| 33431 |
gululu996-ui author:gululu996-ui |
feat(Combinatorics/SimpleGraph/Bipartite): characterize bipartite simple graphs by even cycles |
Add the classical characterization of bipartite simple graphs: a simple graph is bipartite if and only if every cycle has even length.
Previously, mathlib has the definition of `IsBipartite` for `SimpleGraph` and various lemmas about bipartite graphs, but it does not provide this equivalence in a single theorem, so users have to reprove or reassemble it from existing results.
Prove the forward direction by showing a 2-coloring alternates along any walk, so every cycle must have even length. Prove the converse by showing that if an odd cycle exists then no bipartition is possible, hence if all cycles are even the graph admits a bipartition.
|
new-contributor
t-combinatorics
awaiting-author
merge-conflict
|
186/1 |
Mathlib/Combinatorics/SimpleGraph/Bipartite.lean |
1 |
6 |
['NickAdfor', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
kmill assignee:kmill |
8-66288 8 days ago |
unknown |
unknown |
| 34853 |
GrigorenkoPV author:GrigorenkoPV |
feat(Combinatorics/Enumerative/Catalan): ratio of subsequent Catalan numbers |
---
Should I split this into 2 PRs? Otherwise it'll get squashed & be less concise.
UPD: ok, I've opened #34854
[](https://gitpod.io/from-referrer/)
|
new-contributor
merge-conflict
|
304/194 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan.lean,Mathlib/Combinatorics/Enumerative/Catalan/Basic.lean,Mathlib/Combinatorics/Enumerative/Catalan/Ratio.lean,Mathlib/Combinatorics/Enumerative/Catalan/Tree.lean,Mathlib/Combinatorics/Enumerative/DyckWord.lean,Mathlib/RingTheory/PowerSeries/Catalan.lean |
7 |
6 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
8-65007 8 days ago |
unknown |
unknown |
| 34940 |
michaellee94 author:michaellee94 |
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold |
---
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
awaiting-author
merge-conflict
|
536/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/Instances/Graph.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Topology/Constructions/Graph.lean |
5 |
80 |
['botbaki-review', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'michaellee94', 'ocfnash'] |
ocfnash assignee:ocfnash |
8-65006 8 days ago |
unknown |
unknown |
| 35193 |
Brian-Nugent author:Brian-Nugent |
feat(Topology/Closeds): implement category of closed sets in topological spaces |
I copied over the nice API for working with `TopologicalSpace.Opens` as a category over for `TopologicalSpace.Closeds`. The only thing that did not immediately transfer was `Topology.IsInducing.functorObj` so I omitted it.
Based on work of @kim-em
---
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
please-adopt
merge-conflict
|
352/6 |
Mathlib.lean,Mathlib/Topology/Category/TopCat/Closeds.lean,Mathlib/Topology/Category/TopCat/Opens.lean |
3 |
24 |
['Brian-Nugent', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
dagurtomas assignee:dagurtomas |
8-64881 8 days ago |
unknown |
unknown |
| 36667 |
NoneMore author:NoneMore |
feat(ModelTheory): add `exClosure` definition for first-order formulas |
Prepare for moving realizations between elementarily equivalent structures.
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-logic
|
37/0 |
Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
2 |
2 |
['github-actions'] |
fpvandoorn assignee:fpvandoorn |
8-52121 8 days ago |
unknown |
unknown |
| 37682 |
SabrinaJewson author:SabrinaJewson |
refactor(Order/OrdContinuous): redefine left and right order continuity to not require preserving ⊥/⊤ |
`LeftOrdContinuous` currently requires that `f ⊥ = ⊥`, but this means that many functions that are perhaps intuitively left-continuous (like `f x = x + 1` on `ℝ≥0`) are not. In particular, this change means that functions between conditionally complete lattices are `LeftOrdContinuous` iff they are monotone and topologically left continuous (see `MonotoneOn.map_csSup_of_continuousWithinAt` for the reverse direction).
If one wants the concept that existed before, one can either accept the `f ⊥ = ⊥` hypothesis separately or, if the function is between complete lattices, use the left side of a `GaloisConnection` (which is equivalent, although I think this is not yet in Mathlib).
This removes the definitional equality of the type in favour of a structure. Since most of the time users will be working with the `sSup` versions and not with `IsLUB`, I think this is justified. As a consequence, this removes the definitional equality between `LeftOrdContinuous` and `RightOrdContinuous` of the dual – the latter could be redefined to re-add this, but we do have conversion functions.
`LeftOrdContinuous.continuousWithinAt_Iic` is rewritten to accomodate these changes; the superfluous `DenselyOrdered` assumption is also removed.
[Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/LeftOrdContinuous.20requires.20f.28.E2.8A.A5.29.20.3D.20.E2.8A.A5/near/582932491)
---
- [x] depends on: #37735
- [x] depends on: #37772
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
|
52/38 |
Mathlib/Order/OrdContinuous.lean,Mathlib/Order/SemiconjSup.lean,Mathlib/Topology/Order/Basic.lean |
3 |
10 |
['SabrinaJewson', 'astrainfinita', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
bryangingechen assignee:bryangingechen |
8-52115 8 days ago |
unknown |
unknown |
| 37076 |
ertwro author:ertwro |
feat(Combinatorics/SimpleGraph/Hasse): Hasse diagram is triangle-free |
Add `SimpleGraph.hasse_cliqueFree_three`: the Hasse diagram of a preorder is triangle-free (`CliqueFree 3`).
This is the graph-theoretic formulation of `not_covBy_of_lt_of_lt`: if `a ⋖ b` and `b ⋖ c`, then `¬ a ⋖ c`, so no three elements can be pairwise adjacent in the Hasse diagram.
The proof extracts three vertices from a hypothetical 3-clique, case-splits on the covering directions (8 cases), and closes each by `not_covBy_of_lt_of_lt` (6 transitive cases) or `lt_asymm` (2 cyclic cases).
---
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
11/0 |
Mathlib/Combinatorics/SimpleGraph/Hasse.lean |
1 |
21 |
['Rida-Hamadani', 'SnirBroshi', 'ertwro', 'github-actions', 'vlad902'] |
nobody |
8-44049 8 days ago |
unknown |
unknown |
| 38635 |
Fieldnote-Echo author:Fieldnote-Echo |
chore(scripts): handle simple to_additive deprecations |
Closes #38550.
This updates `scripts/add_deprecations.sh` so that, when a renamed declaration is near an existing `@[to_additive]` attribute, the script also emits the additive deprecation alias in the common default-name case.
For example, `foo_mul -> bar_mul` now produces:
```lean
@[deprecated (since := "...")]
alias foo_add := bar_add
@[to_additive existing, deprecated (since := "...")]
alias foo_mul := bar_mul
```
This is intentionally conservative and text-based, matching the existing script. It handles common name translations such as mul/add, prod/sum, one/zero, inv/neg, and div/sub, and skips cases that look like they need less common to_additive name generation.
Tested with a local six-case fixture and a scratch Lean file confirming that the generated alias form compiles and produces deprecation warnings for both names.
I opened this as draft because I still count as a new contributor under the LLM-assisted PR policy. I have one merged mathlib PR (#36443), and this is a one-file script patch that I reviewed/tested manually. I'll leave it as draft unless a maintainer gives it the green light to flip ready.
I used Claude assistance while drafting and testing the patch. I reviewed the final diff manually and tested the generated Lean form locally. |
CI
new-contributor
|
121/10 |
scripts/add_deprecations.sh |
1 |
4 |
['Fieldnote-Echo', 'SnirBroshi', 'github-actions'] |
kim-em assignee:kim-em |
8-36945 8 days ago |
unknown |
unknown |
| 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/)
|
t-combinatorics
new-contributor
|
395/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
2 |
['github-actions', 'mathlib4-merge-conflict-bot'] |
YaelDillies assignee:YaelDillies |
8-25654 8 days ago |
unknown |
unknown |
| 38026 |
mrdouglasny author:mrdouglasny |
feat(Analysis/Calculus): define absolutely monotone functions |
## Summary
- Define `AbsolutelyMonotoneOn f s` for functions `f : ℝ → ℝ` that are smooth on `s` with all iterated derivatives within `s` nonneg
- Prove closure under `add`, `smul`, `mul`
- Show `exp`, `cosh`, constants, and powers are absolutely monotone on appropriate domains
This is the first part of a split of #37879. Follow-up PRs will add:
- Bernstein backward direction (nonneg coefficients → absolutely monotone)
- Bernstein forward direction (absolutely monotone → analytic at 0)
- Matrix applications (Schur product theorem for power series, entrywise exp)
## Test plan
- [ ] CI passes (build + lint)
- [ ] Verify `AbsolutelyMonotoneOn` structure and examples type-check
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.6 (1M context) |
t-analysis
new-contributor
LLM-generated
|
123/0 |
Mathlib.lean,Mathlib/Analysis/Calculus/AbsolutelyMonotone.lean,docs/references.bib |
3 |
28 |
['ADedecker', 'github-actions', 'j-loreaux', 'mrdouglasny', 'sgouezel', 'vihdzp', 'wwylele'] |
sgouezel assignee:sgouezel |
8-287 8 days ago |
unknown |
unknown |
| 38314 |
pedroscortes author:pedroscortes |
feat(CategoryTheory/Monoidal): tensorμ_braid_swap and tensor-product IsCommComonObj |
## Summary
Two symmetric-monoidal coherence results:
1. `MonoidalCategory.tensorμ_braid_swap` (in `Monoidal/Braided/Basic.lean`) —
canonical rearrangement `tensorμ A A Y Y` intertwines the braiding on `A ⊗ Y`
with the pair of braidings on `A` and `Y`. Sibling of
`CategoryTheory.MonObj.mul_braiding`.
2. Tensor-product instance for `IsCommComonObj` (in `Monoidal/CommComon_.lean`):
if `A, B` carry commutative comonoid structures in a symmetric monoidal
category, so does `A ⊗ B`. Fills a gap alongside the existing
`instCommComonObjUnit` and `instIsCommComonObjOfCartesian`.
## Downstream consumer
The `IsCommComonObj` tensor-product instance is load-bearing for an external
library (markovcat, formalising Fritz–Klingler Markov categories). |
t-category-theory
new-contributor
maintainer-merge
|
15/0 |
Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean,Mathlib/CategoryTheory/Monoidal/CommComon_.lean |
2 |
19 |
['dagurtomas', 'github-actions', 'joelriou', 'pedroscortes', 'robin-carlier'] |
riccardobrasca assignee:riccardobrasca |
7-78596 7 days ago |
unknown |
unknown |
| 37997 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): generalize determinant formula to GenContFract |
Let $g$ be a `GenContFract K`.
In this PR I generalize the determinant formula for continued fractions from the simple continued fraction case
$$A_n B_{n+1} - B_n A_{n+1} = (-1)^n$$
to the generalized continued fraction product formula
$$A_n B_{n+1} - B_n A_{n+1} = (-a_0) (-a_1) \dots (-a_n)$$
- The `SimpContFract` version is still available unchanged, so this should avoid breaking existing users of the old API.
- The use of `0` as the default partial numerator in `(g.partNums.get? i).getD 0` allows product formulation that remains valid when the fraction is terminated. |
t-algebra
new-contributor
large-import
label:t-algebra$ |
53/28 |
Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean |
2 |
13 |
['emlis42', 'github-actions', 'themathqueen', 'vihdzp'] |
ocfnash assignee:ocfnash |
7-72514 7 days ago |
unknown |
unknown |
| 38390 |
mortarsanjaya author:mortarsanjaya |
feat(Data/Nat/Cast/Order/Basic): introduce new class `IsMonotoneNatCast` |
The class says that `Nat.cast` is monotone in an `AddMonoidWithOne`. Basically, we use this class when we only care about comparing the elements of a monoid that comes from the `Nat`s (so we do not have to care about the compatibility between the additive structure of the monoid and its order structure).
---
Other than that, I'm also reorganizing some section naming, and I change the proof of the `Nontrivial` instance at the bottom to using `NeZero.nontrivial`.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
28/18 |
Mathlib/Data/Nat/Cast/Order/Basic.lean |
1 |
7 |
['github-actions', 'leanprover-radar', 'mathlib-bors', 'mortarsanjaya', 'vihdzp'] |
nobody |
7-62048 7 days ago |
unknown |
unknown |
| 35069 |
A-M-Berns author:A-M-Berns |
feat(Geometry/Polygon): simple polygons and boundary map |
This PR introduces Simple polygons with the predicate `IsSimple`, which captures the idea of a non-self-intersecting boundary, in the file Simple.lean. In the file Boundary.lean, a boundary map from `AddCircle n` is defined. I prove that the range of this map is the boundary and that this map is injective if and only if the polygon is simple. I kept Boundary.lean and Simple.lean separate because future results will include stuff just about the boundary map independent of simplicity (e.g. that it is continuous in the appropriate setting) and stuff just about simple polygons independent of the boundary map (e.g. that for n = 3, IsSimple iff HasNondegenerateVertices.) I used Claude Code to help generate some of the proof material, but I golfed and edited all AI contribution.
- [x] depends on: #34598
---
|
new-contributor
t-euclidean-geometry
LLM-generated
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
30 |
['A-M-Berns', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
eric-wieser assignee:eric-wieser |
7-51816 7 days ago |
unknown |
unknown |
| 33985 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): `OmegaCompletePartialOrder` instance for `Sum` with basic `ωScottContinuous` lemmas |
This PR adds an `OmegaCompletePartialOrder` instance for `Sum`, along with `ωScottContinuous` lemmas for basic operations (`inl`, `inr`, `elim`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sum`s (e.g. see the proof of `Sum.ωScottContinuous_map`).
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
t-order
awaiting-author
merge-conflict
|
205/3 |
Mathlib/Data/Sum/Basic.lean,Mathlib/Data/Sum/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/ScottContinuity.lean,Mathlib/Topology/Constructions/SumProd.lean |
5 |
57 |
['Vierkantor', 'YaelDillies', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies and pechersky assignee:pechersky assignee:YaelDillies |
7-43746 7 days ago |
unknown |
unknown |
| 34054 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas |
This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s.
---
- [x] depends on: #33941
- [ ] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
please-merge-master
awaiting-author
merge-conflict
|
172/0 |
Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
2 |
29 |
['Vierkantor', 'YellPika', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
7-43745 7 days ago |
unknown |
unknown |
| 37819 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): add `OmegaCompletePartialOrder` instance for `WithBot` with basic `ωScottContinuous` lemmas |
This is a modification of #34093. See #34093 for details.
---
- [x] depends on: #33941
- [x] depends on: #37258
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
merge-conflict
|
337/10 |
Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Order/Monotone/Basic.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/TypeTags.lean,Mathlib/Order/WithBot.lean |
6 |
5 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
Komyyy assignee:Komyyy |
7-39226 7 days ago |
unknown |
unknown |
| 38745 |
FordUniver author:FordUniver |
chore(Combinatorics/SimpleGraph/Copy): rename labelledCopyCount |
Renames `labelledCopyCount` to `labeledCopyCount` (American spelling per the [naming conventions](https://leanprover-community.github.io/contribute/naming.html#spelling)). Deprecated aliases are provided for all renamed declarations.
---
Should probably be a prerequisite for #38631. |
t-combinatorics
new-contributor
|
31/19 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
15 |
['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions'] |
nobody |
7-23677 7 days ago |
unknown |
unknown |