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 |
blocks |
| 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 |
492-37498 1 year ago |
492-37498 492 days ago |
18-21376 18 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-topology
|
18/0 |
Mathlib/Topology/StoneCech.lean |
1 |
2 |
['github-actions', 'leanprover-community-bot-assistant'] |
nobody |
489-18876 1 year ago |
489-18876 489 days ago |
20-8050 20 days |
0 |
| 26200 |
adomani author:adomani |
fix: add label when landrun fails |
Adds the `permission-denied` label on PRs that get blocked by landrun.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
460-53491 1 year ago |
460-53491 460 days ago |
46-51722 46 days |
0 |
| 27987 |
kckennylau author:kckennylau |
feat(RingTheory/Valuation): define ball, closed ball, and sphere |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
454-85623 1 year ago |
454-85624 454 days ago |
6-5823 6 days |
0 |
| 28622 |
alreadydone author:alreadydone |
chore(Mathlib): replace `=>` by `↦` |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
446-58523 1 year ago |
446-58524 446 days ago |
0-55389 15 hours |
0 |
| 28626 |
alreadydone author:alreadydone |
chore(Archive, Counterexamples): replace => by ↦ |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
445-1249 1 year ago |
445-1250 445 days ago |
2-46227 2 days |
0 |
| 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)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
443-34285 1 year ago |
466-10207 466 days ago |
7-51497 7 days |
0 |
| 28042 |
kckennylau author:kckennylau |
feat(Topology/ValuativeRel): a topological basis indexed by pairs of elements |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
443-34239 1 year ago |
452-85683 452 days ago |
7-2766 7 days |
0 |
| 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 |
442-82517 1 year ago |
466-10208 466 days ago |
7-53541 7 days |
0 |
| 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]
```
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
438-39451 1 year ago |
438-39452 438 days ago |
12-69641 12 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
426-85797 1 year ago |
426-85798 426 days ago |
0-1045 17 minutes |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
426-80836 1 year ago |
482-24538 482 days ago |
0-51 51 seconds |
1 |
| 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`.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
426-8287 1 year ago |
unknown |
unknown |
1 |
| 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 |
426-2148 1 year ago |
426-2149 426 days ago |
10-49648 10 days |
1 |
| 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 |
420-14392 1 year ago |
420-14393 420 days ago |
87-78694 87 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
411-25989 1 year ago |
411-25990 411 days ago |
19-72402 19 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
405-77581 1 year ago |
405-77582 405 days ago |
0-4044 1 hour |
9 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
405-10583 1 year ago |
500-17867 500 days ago |
0-1046 17 minutes |
0 |
| 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).
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
404-13808 1 year ago |
unknown |
unknown |
8 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-ring-theory
|
172/0 |
Counterexamples.lean,Counterexamples/DiscreteTopologyWithNontrivialValuation.lean |
2 |
14 |
['github-actions', 'grunweg', 'kckennylau', 'mathlib4-merge-conflict-bot', 'pechersky'] |
nobody |
392-84054 1 year ago |
392-84055 392 days ago |
67-78029 67 days |
0 |
| 28132 |
dupuisf author:dupuisf |
feat: preliminary `grind` tags for `IsUnit` |
This PR adds preliminary `grind` tags for the `IsUnit` predicate.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
369-60652 1 year ago |
369-60653 369 days ago |
80-71574 80 days |
0 |
| 26827 |
pechersky author:pechersky |
feat(Analysis/Normed/ValuativeRel): helper instance for NormedField |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [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 |
362-2856 11 months ago |
362-2856 362 days ago |
121-79456 121 days |
0 |
| 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`)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24821 11 months ago |
355-24822 355 days ago |
133-16411 133 days |
0 |
| 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 |
355-24516 11 months ago |
355-24517 355 days ago |
99-48372 99 days |
1 |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani <mridahamadani@gmail.com>
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24363 11 months ago |
355-24364 355 days ago |
71-35799 71 days |
0 |
| 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 <aristotle-harmonic@harmonic.fun>
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24325 11 months ago |
355-24326 355 days ago |
69-16483 69 days |
0 |
| 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)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-23729 11 months ago |
355-23730 355 days ago |
54-81855 54 days |
0 |
| 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
-/
```
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-18750 11 months ago |
355-18751 355 days ago |
11-59965 11 days |
0 |
| 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`.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
354-83377 11 months ago |
unknown |
unknown |
5 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
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', 'mathlib4-merge-conflict-bot', 'pechersky', 'wrenna-robson'] |
joelriou assignee:joelriou |
328-56528 10 months ago |
350-6077 350 days ago |
60-49993 60 days |
0 |
| 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
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
307-77929 10 months ago |
unknown |
unknown |
1 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
295-12549 9 months ago |
397-17453 397 days ago |
25-73895 25 days |
0 |
| 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 |
290-78173 9 months ago |
364-43218 364 days ago |
74-48754 74 days |
0 |
| 33020 |
FormulaRabbit81 author:FormulaRabbit81 |
chore(Topology): Deprecate file |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
267-49233 8 months ago |
326-36622 326 days ago |
0-13670 3 hours |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
267-18027 8 months ago |
318-72252 318 days ago |
0-811 13 minutes |
0 |
| 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 |
266-80344 8 months ago |
266-80344 266 days ago |
0-1236 20 minutes |
1 |
| 33795 |
alreadydone author:alreadydone |
feat(Topology/Sheaves): LocalPredicate prerequisite for étalé spaces |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
264-32105 8 months ago |
264-32106 264 days ago |
34-7368 34 days |
3 |
| 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 |
264-11975 8 months ago |
264-11976 264 days ago |
16-81273 16 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
259-28873 8 months ago |
259-28873 259 days ago |
30-19397 30 days |
0 |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
254-65607 8 months ago |
254-65607 254 days ago |
38-8977 38 days |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [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 |
252-9788 8 months ago |
451-81598 451 days ago |
10-67265 10 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
239-79984 7 months ago |
355-24659 355 days ago |
114-33795 114 days |
0 |
| 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 |
233-1951 7 months ago |
307-66911 307 days ago |
21-957 21 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
95/110 |
Mathlib/Order/SuccPred/Limit.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
201-58404 6 months ago |
201-58405 201 days ago |
2-43850 2 days |
0 |
| 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)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
195-71736 6 months ago |
195-71737 195 days ago |
19-66334 19 days |
0 |
| 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 |
193-78661 6 months ago |
301-5802 301 days ago |
10-30503 10 days |
0 |
| 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`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
193-61199 6 months ago |
193-61200 193 days ago |
42-86188 42 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
193-52572 6 months ago |
193-52573 193 days ago |
7-34485 7 days |
0 |
| 37553 |
grunweg author:grunweg |
chore: golf using .ne and friends |
ne_of_gt -> .ne'
ne_of_lt -> .ne
le_of_lt -> .le
Drive-by golfs using gcongr and positivity and been split into separate PRs.
---
- [x] depends on: #37462
- [x] depends on: #37715
- [x] depends on: #37554
- [x] depends on: #37845
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
302/321 |
Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo2011Q3.lean,Archive/Imo/Imo2013Q5.lean,Archive/Imo/Imo2019Q4.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/BigOperators/Fin.lean,Mathlib/Algebra/BigOperators/Group/List/Lemmas.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Group/Fin/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Lie/Nilpotent.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/BigOperators/Group/Multiset.lean,Mathlib/Algebra/Order/BigOperators/GroupWithZero/Finset.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/CompleteField.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Interval/Set/Instances.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Order/Round.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/DenomsClearable.lean,Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticDiscriminant.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Proper.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Uniqueness.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Asymptotics/LinearGrowth.lean,Mathlib/Analysis/Asymptotics/SpecificAsymptotics.lean,Mathlib/Analysis/Asymptotics/TVS.lean,Mathlib/Analysis/BoxIntegral/Basic.lean,Mathlib/Analysis/BoxIntegral/Partition/Tagged.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/FDeriv/Extend.lean,Mathlib/Analysis/Calculus/FDeriv/Measurable.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Defs.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Complex/Exponential.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/Poisson.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Convex/Between.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Combination.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/Radon.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Subspace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinInversion.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Operator/ContinuousAlgEquiv.lean,Mathlib/Analysis/Normed/Ring/Units.lean,Mathlib/Analysis/Normed/Unbundled/IsPowMulFaithful.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Oscillation.lean,Mathlib/Analysis/Real/Hyperreal.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/Int/Interval.lean,Mathlib/Data/Int/ModEq.lean,Mathlib/Data/Nat/Bitwise.lean,Mathlib/Data/Nat/Lattice.lean,Mathlib/Data/Nat/Log.lean,Mathlib/Data/Nat/Multiplicity.lean,Mathlib/Data/Real/ConjExponents.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean |
114 |
7 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
179-52088 5 months ago |
179-52088 179 days ago |
13-56900 13 days |
0 |
| 39229 |
grunweg author:grunweg |
dev: towards `fun_prop` on manifolds |
---
- [ ] depends on: #39226
Rebased version of #31580. Meant to be a prototype that demonstrate how this could possibly work.
Not functional yet; waiting on cache to continue.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
305/1 |
Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Tactic/FunProp/Core.lean,MathlibTest/DifferentialGeometry/FunPropM.lean,MathlibTest/fun_prop_dev.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
177-32978 5 months ago |
unknown |
unknown |
0 |
| 39329 |
lecopivo author:lecopivo |
feat(fun_prop): eager application of transition theorems for fun_prop |
For properties like Integrable we want to apply transition theorems(like Continuous -> Integrable) eagerly
---
This is a change necessary in preparation for making `fun_prop` work for integrability.
-->
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
93/30 |
Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Core.lean,Mathlib/Tactic/FunProp/Decl.lean,MathlibTest/FunPropMinimal.lean |
4 |
14 |
['b-mehta', 'github-actions', 'lecopivo', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
174-79796 5 months ago |
177-7344 177 days ago |
1-34273 1 day |
1 |
| 37584 |
kennethgoodman author:kennethgoodman |
feat(Data/Nat/Fib): formalize Lamé's theorem |
## Summary
Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory.
**Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`.
### New definitions
- `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs.
### New theorems
- `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count.
- `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input.
- `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`.
### Proof strategy
Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm.
### References
- Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844.
---
### AI usage disclosure
Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps.
---
- [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`)
- [x] no `sorry`
- [x] lines ≤ 100 characters, no trailing whitespace
- [x] `autoImplicit false`
- [x] docstrings on all public declarations |
new-contributor
LLM-generated
t-data
merge-conflict
|
121/0 |
Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml |
5 |
25 |
['euprunin', 'github-actions', 'kennethgoodman', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
TwoFX assignee:TwoFX |
174-68469 5 months ago |
174-68470 174 days ago |
44-53174 44 days |
0 |
| 39509 |
mcdoll author:mcdoll |
chore(Topology): add `push/pull_end` tags for CLMs |
Simpsets were introduced in #38359, see also #39508
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
2/0 |
Mathlib/Topology/Algebra/Module/LinearMap.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
172-47969 5 months ago |
172-52017 172 days ago |
3-38611 3 days |
0 |
| 36774 |
euprunin author:euprunin |
chore: replace long terminal `rw […]`:s (≥4 lemmas) with bare `simp`:s |
The goal of this PR is to decrease the number of times lemmas are called explicitly. Any decrease in compilation time is a welcome side effect, although it is not a primary objective.
Trace profiling results (differences <30 ms considered measurement noise):
* `Finset.lcm_union`: unchanged 🎉
* `Finset.gcd_union`: unchanged 🎉
* `Polynomial.derivative_eval₂_C`: unchanged 🎉
* `Polynomial.expand_pow`: unchanged 🎉
* `Cardinal.mk_real`: unchanged 🎉
* `Real.log_zpow`: unchanged 🎉
* `Matroid.eRank_le_encard_add_eRk_compl`: unchanged 🎉
* `DFinsupp.single_tsub`: unchanged 🎉
* `EReal.inv_neg`: unchanged 🎉
* `Finsupp.toMultiset_map`: unchanged 🎉
* `Finsupp.single_tsub`: unchanged 🎉
* `Multiset.countP_map`: unchanged 🎉
* `Nat.ascFactorial_eq_factorial_mul_choose'`: unchanged 🎉
* `Real.sign_intCast`: unchanged 🎉
* `Real.volume_eball`: unchanged 🎉
* `Real.volume_closedEBall`: unchanged 🎉
* `LFunction_ne_zero_of_not_quadratic_or_ne_one`: 295 ms before, 152 ms after 🎉
* `hasSum_one_div_nat_pow_mul_cos`: unchanged 🎉
* `inv_eq_of_aeval_divX_ne_zero`: unchanged 🎉
* `AlgebraicIndependent.aeval_comp_mvPolynomialOptionEquivPolynomialAdjoin`: unchanged 🎉
* `Ordinal.deriv_mul_eq_opow_omega0_mul`: unchanged 🎉
Profiled using `set_option trace.profiler true in`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
22/24 |
Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Polynomial/Derivative.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/Analysis/Real/Cardinality.lean,Mathlib/Analysis/SpecialFunctions/Log/Basic.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Data/DFinsupp/Order.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/Finsupp/Multiset.lean,Mathlib/Data/Finsupp/Order.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Nat/Choose/Basic.lean,Mathlib/Data/Real/Sign.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/NumberTheory/LSeries/Nonvanishing.lean,Mathlib/NumberTheory/ZetaValues.lean,Mathlib/RingTheory/Algebraic/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/SetTheory/Ordinal/FixedPoint.lean |
19 |
3 |
['artie2000', 'euprunin', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
169-77406 5 months ago |
169-77407 169 days ago |
66-82463 66 days |
0 |
| 39489 |
Paul-Lez author:Paul-Lez |
fix: defeq abuse in HasFTaylorSeriesUpToOn.comp |
Removes a `set_option backward.isDefEq.respectTransparency false`. The fix isn't as nice as I would have hoped (I tried to make it smaller but to no avail).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
merge-conflict
|
5/2 |
Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
163-48070 5 months ago |
163-48070 163 days ago |
12-81129 12 days |
0 |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
merge-conflict
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
b-mehta assignee:b-mehta |
154-82303 5 months ago |
154-82304 154 days ago |
46-70512 46 days |
0 |
| 37707 |
MavenRain author:MavenRain |
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor |
Addresses #34962
|
new-contributor
t-combinatorics
merge-conflict
|
63/31 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
7 |
['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
150-63230 4 months ago |
150-63231 150 days ago |
26-50538 26 days |
0 |
| 39545 |
Hagb author:Hagb |
feat(Order/OrderIsoNat): some lemmas about `((· < ·) : ℕ → ℕ → Prop) ↪r r` |
This PR contains several lemmas about relation embedding from `<` in `Nat`, well order, and (in)finiteness.
- `RelEmbedding.infinite_iff_nonempty_relEmbedding_of_isWellOrder`: a type with a well order relation is infinite iff there is such a relation embedding.
- `RelEmbedding.finite_iff_empty_relEmbedding_of_isWellOrder`: a finite variant of `infinite_iff_nonempty_relEmbedding_of_isWellOrder`
- `IsWellOrder.finite_of_isWellOrder_of_isWellOrder_swap`: a type with a linear order relation well founded on both directions is finite.
- `instFiniteOfWellFoundedLTOfWellFoundedGT`: an instance variant of `IsWellOrder.finite_of_isWellOrder_of_isWellOrder_swap` on `WellFounded{LT,GT}`.
- `RelEmbedding.infinite_iff_nonempty_relEmbedding_lt_or_nonempty_relEmbedding_gt`: a type with a linear order relation is infinite iff there are both relation embedding between `<` in `Nat` and this relation, and between `>` in `Nat` and this relation.
- `RelEmbedding.finite_iff_isEmpty_relEmbedding_lt_and_isEmpty_relEmbedding_gt`: a finite variant of `infinite_iff_nonempty_relEmbedding_lt_or_nonempty_relEmbedding_gt`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
<details>
<summary> Edit: remove the description on the original motivation since `WellQuasiOrdered` instead of theorems in this PR can be used for that goal. </summary>
`RelEmbedding.finite_iff_empty_relEmbedding_of_isWellOrder` might be used for proof of
```lean
example {α β γ} [LinearOrder α] [LinearOrder β] [WellFoundedLT α] [WellFoundedLT β] [LinearOrder γ]
{f : α × β ≃ γ} (mono : Monotone f) : WellFoundedLT γ := sorry
```
The latter will be used for
```lean
example {α β γ} [Finite α] [LinearOrder β] [WellFoundedLT β] [LinearOrder γ]
{f : (α → β) ≃ γ} (mono : Monotone f) : WellFoundedLT γ := sorry
```
And the finial goal is the well-foundedness of monomial order when the index type `σ` is finite (under the definition in #39214). |
t-order
merge-conflict
|
58/0 |
Mathlib/Order/OrderIsoNat.lean |
1 |
16 |
['Hagb', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
150-60300 4 months ago |
150-60301 150 days ago |
23-45302 23 days |
1 |
| 40428 |
eric-wieser author:eric-wieser |
chore: remove a duplicate instance |
We already build this instance in the general case, I don't think we need to build it again.
We keep the shortcut since we already have other shortcuts of this style.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
merge-conflict
label:t-algebra$ |
2/3 |
Mathlib/Algebra/Field/Subfield/Basic.lean |
1 |
4 |
['eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
149-53593 4 months ago |
149-53594 149 days ago |
3-18132 3 days |
0 |
| 38968 |
eric-wieser author:eric-wieser |
fix: improve defeqs of comp actions |
The (deliberately) non-reducible `SMul.comp.smul` definition caused us to end with these failing unification examples at instance reducibility:
```lean
example : (Module.compHom ℕ (RingHom.id ℕ)).toSMul = SMul.comp ℕ (RingHom.id ℕ) := by
with_reducible_and_instances rfl
example : (Module.compHom ℕ (RingHom.id ℕ)).toMulAction = MulAction.compHom ℕ (MonoidHom.id ℕ) := by
with_reducible_and_instances rfl
```
There are two issues this fixes:
* the `compHom` constructors are inconsistent on whether they use `SMul.comp.smul` or reimplement its contents
* we need `SMul.comp.smul` to be instance-reducible, so that when invoked with the identity function it is instance-defeq to the original action.
As a bonus, allowing these to unify means we can have a single `SMul.comp_smul_def` lemma that works for all of the `compHom` definitions.
We could also consider changing `compHom` to take a `HomClass` in order to remove the casts entirely, which would remove the need to add these `SMul.comp` terms. This PR leaves that for possible future work, noting that in the past we have moved away from writing `def`s taking `HomClass`es.
Co-authored-by: Junye Ji <jijunye1@outlook.com>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
Refined from #38777 |
t-algebra
merge-conflict
label:t-algebra$ |
46/26 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Analysis/Complex/UpperHalfPlane/MoebiusAction.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Topology/Algebra/Group/OpenMapping.lean |
9 |
13 |
['JJYYY-JJY', 'Vierkantor', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
139-52545 4 months ago |
139-52546 139 days ago |
13-10860 13 days |
0 |
| 26911 |
JovanGerb author:JovanGerb |
chore: fix naming of `mono` and `monotone` |
The naming convention says:
"We use `_mono` for `a ≤ b → f a ≤ f b` and `_anti` for `a ≤ b → f b ≤ f a`, so we also use `_monotone` for `Monotone f`, `_antitone` for `Antitone f`, `_strictMono` for `StrictMono f`, `_strictAnti` for `StrictAnti f`, etc..."
This PR swaps `mono`/`anti` and `monotone`/`antitone` where required so that `monotone` refers to `Monotone`, while `mono` refers to a lemma that might be tagged with `@[gcongr]`
This PR does not address
- `monotone_right`/`mono_right` vs `right_monotone`/`right_mono`
- `monotone_arcsin` vs `arcsin_monotone`
edit: TODO: `ideal_mono` and friends
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
235/169 |
Archive/Imo/Imo1962Q1.lean,Archive/Wiedijk100Theorems/AbelRuffini.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/Field/Basic.lean,Mathlib/Algebra/Order/Group/Basic.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/GroupWithZero/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Order/ToIntervalMod.lean,Mathlib/Algebra/Polynomial/Degree/CardPowDegree.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Convex/Deriv.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Real/Pi/Bounds.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecificLimits/Basic.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/SetFamily/Kleitman.lean,Mathlib/Combinatorics/SimpleGraph/Girth.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENNReal/Operations.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Nat/Choose/Factorization.lean,Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Basic.lean,Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/MeasurablyGenerated.lean,Mathlib/MeasureTheory/OuterMeasure/Operations.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/FermatPsp.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/ModularForms/Bounds.lean,Mathlib/NumberTheory/Padics/Hensel.lean,Mathlib/NumberTheory/Padics/WithVal.lean,Mathlib/Order/Concept.lean,Mathlib/Order/Filter/AtTopBot/Archimedean.lean,Mathlib/Order/Filter/AtTopBot/Defs.lean,Mathlib/Order/Fin/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Heyting/Boundary.lean,Mathlib/Order/Heyting/Regular.lean,Mathlib/Order/Hom/Set.lean,Mathlib/Order/Interval/Set/Fin.lean,Mathlib/Order/KrullDimension.lean,Mathlib/Order/UpperLower/Closure.lean,Mathlib/Probability/StrongLaw.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/WittVector/Basic.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean |
63 |
15 |
['JovanGerb', 'bryangingechen', 'github-actions', 'leanprover-community-bot-assistant', 'mathlib-bors', 'mathlib-merge-conflicts', 'wrenna-robson'] |
bryangingechen assignee:bryangingechen |
138-35039 4 months ago |
486-1282 486 days ago |
2-48079 2 days |
0 |
| 34932 |
erdOne author:erdOne |
feat(AlgebraicGeometry): formally etale morphisms |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
merge-conflict
|
163/12 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Morphisms/Etale.lean,Mathlib/AlgebraicGeometry/Morphisms/FormallyEtale.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/RingTheory/RingHom/Etale.lean |
5 |
21 |
['chrisflav', 'erdOne', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
138-35038 4 months ago |
257-56525 257 days ago |
11-34462 11 days |
0 |
| 27180 |
ADedecker author:ADedecker |
feat: quotient of a monoid with zero by a multiplicative congruence |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
My motivation is getting a more conceptual construction of [ValuativeRel.ValueGroupWithZero](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/ValuativeRel.html#ValuativeRel.ValueGroupWithZero), but I think this is of independent interest.
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
141/26 |
Mathlib.lean,Mathlib/Data/Quot.lean,Mathlib/Data/Setoid/Basic.lean,Mathlib/GroupTheory/Congruence/Defs.lean,Mathlib/GroupTheory/Congruence/GroupWithZero.lean |
5 |
38 |
['ADedecker', 'eric-wieser', 'github-actions', 'mathlib-bors', 'mathlib4-merge-conflict-bot', 'ocfnash'] |
ocfnash assignee:ocfnash |
138-35035 4 months ago |
453-19935 453 days ago |
27-80433 27 days |
0 |
| 31607 |
grunweg author:grunweg |
chore: rename `continuous{,On,At,Within}_const` to `ContinuousFoo.const` |
Zulip discussion: [#mathlib4 > Naming convention @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/447491526)
---
- [x] depends on: #34441
- [x] depends on: #34688
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
412/378 |
Archive/Hairer.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/Inverse.lean,Mathlib/Analysis/Asymptotics/Lemmas.lean,Mathlib/Analysis/BoxIntegral/Box/Basic.lean,Mathlib/Analysis/BoxIntegral/UnitPartition.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/BumpFunction/FiniteDimension.lean,Mathlib/Analysis/Calculus/BumpFunction/InnerProduct.lean,Mathlib/Analysis/Calculus/DSlope.lean,Mathlib/Analysis/Calculus/Deriv/MeanValue.lean,Mathlib/Analysis/Calculus/DiffContOnCl.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/MeanValue.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/AbsMax.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Complex/HalfPlane.lean,Mathlib/Analysis/Complex/LocallyUniformLimit.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/RemovableSingularity.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Topology.lean,Mathlib/Analysis/Convex/Cone/InnerDual.lean,Mathlib/Analysis/Convex/Exposed.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Convex/PartitionOfUnity.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/StdSimplex.lean,Mathlib/Analysis/Convolution.lean,Mathlib/Analysis/InnerProductSpace/Continuous.lean,Mathlib/Analysis/InnerProductSpace/Harmonic/HarmonicContOnCl.lean,Mathlib/Analysis/InnerProductSpace/LinearPMap.lean,Mathlib/Analysis/InnerProductSpace/MeanErgodic.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/LocallyConvex/Separation.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Meromorphic/TrailingCoefficient.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Continuity.lean,Mathlib/Analysis/Normed/Group/Lemmas.lean,Mathlib/Analysis/Normed/Module/Ball/Homeomorph.lean,Mathlib/Analysis/Normed/Module/Connected.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/Multilinear/Basic.lean,Mathlib/Analysis/Normed/Operator/Completeness.lean,Mathlib/Analysis/ODE/Gronwall.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/Seminorm.lean,Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Isometric.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Deligne.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/PoissonSummation.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/MulExpNegMulSq.lean,Mathlib/Analysis/SpecialFunctions/PolarCoord.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Condensed/Light/TopCatAdjunction.lean,Mathlib/Condensed/TopCatAdjunction.lean,Mathlib/Dynamics/OmegaLimit.lean,Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/Geometry/Manifold/Complex.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/SmoothApprox.lean,Mathlib/MeasureTheory/Function/SpecialFunctions/Basic.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/CircleTransform.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/NumberTheory/Cyclotomic/CyclotomicCharacter.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/LSeries/AbstractFuncEq.lean,Mathlib/NumberTheory/LSeries/Deriv.lean,Mathlib/NumberTheory/LSeries/Dirichlet.lean,Mathlib/NumberTheory/LSeries/DirichletContinuation.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean |
185 |
19 |
['github-actions', 'j-loreaux', 'mathlib-bors', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
138-35033 4 months ago |
unknown |
unknown |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
6 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
134-8910 4 months ago |
192-35797 192 days ago |
22-4315 22 days |
0 |
| 40369 |
plp127 author:plp127 |
refactor: make `IsAtom` not depend on `OrderBot` |
We choose for `IsAtom a` to mean `∃ b, b ⋖ a ∧ ∀ c, c < a → b ≤ c`, which is equivalent to the current definition in the case of a `PartialOrder` with `OrderBot`. See [Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60IsAtom.60.20is.20wrong.20for.20preorders/near/601014129).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
370/300 |
Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/Killing.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Data/Finset/Grade.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/GroupTheory/SpecificGroups/Alternating/MaximalSubgroups.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/VectorSpace.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/Order/Atoms.lean,Mathlib/Order/BooleanGenerators.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Order/Filter/Ultrafilter/Defs.lean,Mathlib/Order/Ideal.lean,Mathlib/Order/Partition/Finpartition.lean,Mathlib/Order/Radical.lean,Mathlib/Order/SuccPred/Tree.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/Dvr.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DualNumber.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/GoingUp.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Quotient/Basic.lean,Mathlib/RingTheory/Jacobson/Ideal.lean,Mathlib/RingTheory/Jacobson/Radical.lean,Mathlib/RingTheory/Jacobson/Ring.lean,Mathlib/RingTheory/KrullDimension/Zero.lean,Mathlib/RingTheory/LocalRing/Basic.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Basic.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/SimpleModule/Isotypic.lean,Mathlib/RingTheory/Spectrum/Prime/Basic.lean,Mathlib/Topology/Sets/Closeds.lean |
40 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
130-57751 4 months ago |
130-57752 130 days ago |
22-11338 22 days |
0 |
| 40626 |
chenson2018 author:chenson2018 |
feat(Logic/Relation): some `EqvGen` API |
This is adapted from #40606 and existing lemmas in CSLib. I move two theorems (`Equivalence.eqvGen_iff` and `Equivalence.eqvGen_eq`) earlier for a better proof of `EqvGen.lift'` that matches what is done for other closures.
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
merge-conflict
|
77/14 |
Mathlib/Logic/Relation.lean |
1 |
6 |
['chenson2018', 'github-actions', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
125-66331 4 months ago |
125-66332 125 days ago |
19-19347 19 days |
0 |
| 33402 |
AntoineChambert-Loir author:AntoineChambert-Loir |
feat(LinearAlgebra/Transvection/Generation): prove exceptional case in Dieudonné's theorem |
Establish the fourth part of Dieudonné's theorem: is a linear equivalence is exceptional, it
is the product of `finrank K (V ⧸ e.fixedSubmodule)` transvections and one dilatransvection.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #33348
- [ ] depends on: #33347
- [ ] depends on: #33387
- [ ] depends on: #33282
- [ ] depends on: #33392
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
713/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Center.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/LinearAlgebra/Transvection/Generation.lean |
5 |
13 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
117-36619 3 months ago |
117-36619 117 days ago |
0-13417 3 hours |
5 |
| 41300 |
alreadydone author:alreadydone |
feat(EllipticCurve): the universal elliptic curve |
+ Define the universal Weierstrass curve (`Universal.curve`) over the polynomial ring `ℤ[A₁,A₂,A₃,A₄,A₆]`, and the universal pointed elliptic curve (`Universal.pointedCurve`) over the field of fractions (`Universal.Field`) of the universal ring `ℤ[A₁,A₂,A₃,A₄,A₆,X,Y]/⟨P⟩ = Universal.Poly/⟨P⟩` (`Universal.Ring`, where `P` is the Weierstrass polynomial) with distinguished point `(X,Y)`.
+ Given a Weierstrass curve `W` over a commutative ring `R`, we define the specialization homomorphism `W.specialize : ℤ[A₁,A₂,A₃,A₄,A₆] →+* R`. If `(x,y)` is a point on the affine plane, we define `W.polyEval x y : Universal.Poly →+* R`, which factors through `W.ringEval x y : Universal.Ring →+* R` if `(x,y)` is on `W`.
migrated from #13847
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebraic-geometry
t-algebra
merge-conflict
label:t-algebra$ |
213/0 |
Mathlib.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Universal.lean |
4 |
10 |
['Multramate', 'alreadydone', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
109-53712 3 months ago |
109-53713 109 days ago |
20-21279 20 days |
0 |
| 37716 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity |
This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring,
$$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$
The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings.
It seems there's some interest in adding this:
https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873
--- |
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
217/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean |
2 |
14 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts', 'slavanaprienko'] |
nobody |
104-6667 3 months ago |
129-55802 129 days ago |
53-45751 53 days |
0 |
| 26394 |
winstonyin author:winstonyin |
feat: existence of local flows on manifolds |
This PR continues the work from #21777.
Original PR: https://github.com/leanprover-community/mathlib4/pull/21777
Transfer the existence theorem of local flows on vector spaces to manifolds. The precise statement is:
> If a vector field `v` on a manifold `M` is continuously differentiable at an interior point `x₀`, then for a given `t₀` there exists a neighbourhood `u` of `x₀`, a positive `ε`, and `γ : M → ℝ → M` such that `γ x` is an integral curve of `v` on `(t₀ - ε, t₀ + ε)` for all `x ∈ u`.
This is powerful because all curves `γ x` (each with initial condition `x ∈ u`) share the same existence time interval `(t₀ - ε, t₀ + ε)`, rather than each curve having its own `ε`. This will allow us to show that $C^1$ vector fields on compact manifolds always have global integral curves / global flows.
Any suggestions to shorten the proof or split out useful lemmas are welcome!
- [x] depends on: #26392
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
merge-conflict
|
138/61 |
Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean,Mathlib/Order/Filter/Prod.lean |
3 |
13 |
['github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'ocfnash', 'winstonyin'] |
nobody |
104-6637 3 months ago |
162-56929 162 days ago |
23-1300 23 days |
1 |
| 38649 |
chrisflav author:chrisflav |
chore(RingTheory): equality of linear map with values in finite module spreads out |
We add some corollaries of `Module.Finite.exists_smul_of_comp_eq_of_isLocalizedModule`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
large-import
merge-conflict
|
75/1 |
Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/RingTheory/Localization/BaseChange.lean,Mathlib/RingTheory/Localization/Module.lean |
3 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
103-55852 3 months ago |
103-55853 103 days ago |
91-30358 91 days |
1 |
| 40695 |
khwilson author:khwilson |
feat(Topology/Semicontinuity/Hemicontinuity): intersections with compact absolutely convex sets |
Constructing lower hemicontinuous functions from other lower hemicontinuous functions is an important part of working with them. This PR shows that the intersection of a lower hemicontinuous function whose values are star convex w/r/t 0 with a compact, absolutely convex neighborhood of zero is also lower hemicontinuous.
This construction is used, for example, in combination with Michael's selection theorem to refine the open mapping theorem to say that if `f : V -> W` is a continuous, linear, bounded surjection of Banach spaces and K is a compact, absolutely convex neighborhood of zero, then there is a continuous section `g : f(K) -> K` of the restriction `f|_K : K -> W`. (This refinement is a follow up PR.)
Note this PR also contains some cleanup of the names in `Gauge.lean` along with the theorems we add for this PR.
- [ ] depends on: #40377
AI Disclosure: Claude models used for translating proof outline into first draft which was then refactored and revised
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
338/24 |
Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/AbsConvexOpen.lean,Mathlib/Topology/Semicontinuity/Hemicontinuity.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
97-84422 3 months ago |
unknown |
unknown |
0 |
| 35812 |
khwilson author:khwilson |
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis |
Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`).
Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof.
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [x] depends on: #xyz [optional extra text]
-->
- [x] depends on #37738
- [x] depends on #37740
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
merge-conflict
|
350/36 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean |
7 |
99 |
['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts', 'ocfnash', 'sgouezel'] |
nobody |
95-28668 3 months ago |
95-28668 95 days ago |
90-9647 90 days |
0 |
| 41622 |
benjub author:benjub |
feat(Order): add subset_Icc_iff and Set.OrdConnected.eq_Icc |
Add two lemmas relating to closed bounded intervals in a preorder:
- `subset_Icc_iff : s ⊆ Icc a b ↔ a ∈ lowerBounds s ∧ b ∈ upperBounds s` in `Mathlib/Order/Bounds/Basic.lean` characterizes containment in a closed bounded interval. This is the version "with witnesses" of `bddBelow_bddAbove_iff_subset_Icc`, and we prove the latter as a corollary.
- `OrdConnected.eq_Icc (s : Set α) (hs : OrdConnected s) (ha : IsLeast s a) (hb : IsGreatest s b) : s = Icc a b` in `Mathlib/Order/Interval/Set/OrdConnected.lean` gives a sufficient condition to be a closed bounded interval. It uses the previous lemma in its proof.
---
**Motivation:** I plan to use `OrdConnected.eq_Icc` to show that a set is closed when it is ordconnected and contains its infimum and supremum. This will allow to use the existing "continuous induction principle" `IsClosed.mem_of_ge_of_forall_exists_gt` to shorten the (compiling) proof in the draft PR #41552. |
t-order
new-contributor
merge-conflict
|
9/3 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean |
2 |
6 |
['benjub', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
94-53863 3 months ago |
94-53864 94 days ago |
25-14914 25 days |
0 |
| 40336 |
Bergschaf author:Bergschaf |
feat(Order/Sublocales): definition of open sublocales |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
49/7 |
Mathlib/Order/Sublocale.lean |
1 |
4 |
['Bergschaf', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
91-7628 2 months ago |
91-7628 91 days ago |
62-81221 62 days |
0 |
| 40768 |
AlexeyMilovanov author:AlexeyMilovanov |
Add a reachability characterization for PFun.fix |
Add a `ReflTransGen` characterization of `PFun.fix` and use it to simplify one Turing machine proof. |
new-contributor
merge-conflict
|
27/13 |
Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/PFun.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
90-35746 2 months ago |
90-35747 90 days ago |
40-57718 40 days |
0 |
| 31595 |
astrainfinita author:astrainfinita |
chore: redefine `Ideal.IsPrime` |
Redefine `Ideal.IsPrime` to make it correct for non-commutative cases
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
383/111 |
Mathlib/Algebra/Order/Ring/Ordering/Defs.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/GradedAlgebra/Homogeneous/Maps.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,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean |
24 |
35 |
['alreadydone', 'artie2000', 'astrainfinita', 'erdOne', 'github-actions', 'leanprover-bot', 'leanprover-radar', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
kim-em assignee:kim-em |
89-71757 2 months ago |
89-71758 89 days ago |
74-40487 74 days |
0 |
| 39807 |
vihdzp author:vihdzp |
feat: universe-heterogeneous cardinal equality |
We introduce a predicate `LiftEq a b`, with notation `a =ₗ b`, which states that two cardinals (in different universes) are equal. This serves as a single canonical spelling for `lift.{v} a = lift.{u} b` and similar incantations.
Future PRs will introduce the analogous predicates for `<` and `≤`, and a notation typeclass so the notation can be reused for `Ordinal` and `OrderType`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-set-theory
tech debt
merge-conflict
|
316/149 |
Mathlib/CategoryTheory/Abelian/GrothendieckCategory/EnoughInjectives.lean,Mathlib/FieldTheory/IsAlgClosed/Classification.lean,Mathlib/LinearAlgebra/Dimension/Basic.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/Dimension/Free.lean,Mathlib/LinearAlgebra/Dimension/FreeAndStrongRankCondition.lean,Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Satisfiability.lean,Mathlib/RingTheory/AlgebraicIndependent/Basic.lean,Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean,Mathlib/RingTheory/AlgebraicIndependent/TranscendenceBasis.lean,Mathlib/RingTheory/LinearDisjoint.lean,Mathlib/RingTheory/Localization/Cardinality.lean,Mathlib/SetTheory/Cardinal/Aleph.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Basic.lean,Mathlib/SetTheory/Cardinal/Defs.lean,Mathlib/SetTheory/Cardinal/ENat.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Cardinal/ToNat.lean,Mathlib/SetTheory/Ordinal/Univ.lean,Mathlib/SetTheory/ZFC/Cardinal.lean |
24 |
4 |
['acmepjz', 'github-actions', 'mathlib-merge-conflicts'] |
alreadydone assignee:alreadydone |
89-69142 2 months ago |
89-69143 89 days ago |
57-49310 57 days |
0 |
| 39663 |
Raph-DG author:Raph-DG |
feat(Topology): A spectral map between quasi-separated, prespectral sober spaces has compact fibers |
In this PR, we develop some API around the constructible topology, culminating in the fact that a spectral map between quasi-separated, prespectral sober spaces has compact fibers. To see why this might be of interest, note that the analogous theorem in algebraic geometry (that a quasiseparated map between schemes has quasicompact fibers) does not require any global separatedness assumptions, and the proof of this is very algebraic. So we have the somewhat mysterious situation that it seems as though there are nontrvial topological restrictions on the kinds of spectral maps which can be the underlying maps of morphisms of schemes.
This PR was originally part of #26304, a PR on pushforwards of algebraic cycles. This is where the notion of compactness of fibers becomes relevant, as this guarantees each coefficient of the pushforward of a cycle is computed by a finite sum.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
large-import
merge-conflict
|
178/6 |
Mathlib/Topology/Compactness/Compact.lean,Mathlib/Topology/Constructible.lean,Mathlib/Topology/Defs/Induced.lean,Mathlib/Topology/Maps/Proper/Basic.lean,Mathlib/Topology/Spectral/ConstructibleTopology.lean,Mathlib/Topology/WithTopology.lean |
6 |
6 |
['Raph-DG', 'chrisflav', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
86-58837 2 months ago |
86-58838 86 days ago |
69-13334 69 days |
1 |
| 41759 |
JovanGerb author:JovanGerb |
chore: deprecate `haveI'` and `letI'` |
It seems that the uses of `haveI'` can simply be replaced by `have`. If this doesn't cause performance regressions, then I think that this is desired.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
139/138 |
Mathlib/Algebra/Order/Field/Power.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Tactic/HaveI.lean,Mathlib/Tactic/ModCases.lean,Mathlib/Tactic/NormNum/Basic.lean,Mathlib/Tactic/NormNum/BigOperators.lean,Mathlib/Tactic/NormNum/DivMod.lean,Mathlib/Tactic/NormNum/Eq.lean,Mathlib/Tactic/NormNum/GCD.lean,Mathlib/Tactic/NormNum/Ineq.lean,Mathlib/Tactic/NormNum/Inv.lean,Mathlib/Tactic/NormNum/LegendreSymbol.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Ordinal.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Prime.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/ReduceModChar.lean |
19 |
11 |
['JovanGerb', 'eric-wieser', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'thorimur'] |
nobody |
86-57789 2 months ago |
86-57789 86 days ago |
30-75593 30 days |
0 |
| 42273 |
astrainfinita author:astrainfinita |
chore: remove `CovariantClass` and `ContravariantClass` |
This PR continues the work from #13124.
Original PR: https://github.com/leanprover-community/mathlib4/pull/13124 |
t-algebra
t-order
tech debt
merge-conflict
label:t-algebra$ |
526/322 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Order/AddTorsor.lean,Mathlib/Algebra/Order/Group/Action.lean,Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Algebra/Order/GroupWithZero/Defs.lean,Mathlib/Algebra/Order/Monoid/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Defs.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Monoid/Unbundled/WithTop.lean,Mathlib/Algebra/Order/Quantale.lean,Mathlib/Algebra/Order/Ring/Canonical.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Subring/Pointwise.lean,Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean,Mathlib/Analysis/RCLike/Basic.lean,Mathlib/Analysis/SumOverResidueClass.lean,Mathlib/Data/ENNReal/Action.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/MeasureTheory/Measure/MeasureSpace.lean,Mathlib/Order/Filter/Pointwise.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Pointwise.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean |
30 |
8 |
['astrainfinita', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
86-57392 2 months ago |
86-57393 86 days ago |
13-14099 13 days |
0 |
| 42426 |
mcdoll author:mcdoll |
chore(LinearAlgebra/LinearPMap): use `grind` and other golfs |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
63/106 |
Mathlib/LinearAlgebra/LinearPMap.lean |
1 |
8 |
['chenson2018', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'mcdoll', 'yuanyi-350'] |
nobody |
84-36564 2 months ago |
84-36565 84 days ago |
12-79443 12 days |
0 |
| 41815 |
felixpernegger author:felixpernegger |
chore: remove redundant brackets |
Remove redundant `()` brackets. This is pretty minor, but still a strict style improvement, so I PR it
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
1019/1019 |
Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/Imo/Imo2025Q3.lean,Counterexamples/DiscreteTopologyNonDiscreteUniformity.lean,Counterexamples/NowhereDifferentiable.lean,Counterexamples/TopologistsSineCurve.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/BigOperators/Group/List/Defs.lean,Mathlib/Algebra/Category/BoolRing.lean,Mathlib/Algebra/Category/Grp/Adjunctions.lean,Mathlib/Algebra/Category/Grp/Preadditive.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Submodule.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/Ring/Basic.lean,Mathlib/Algebra/CharZero/Defs.lean,Mathlib/Algebra/Field/Subfield/Defs.lean,Mathlib/Algebra/FreeMonoid/Count.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Even.lean,Mathlib/Algebra/Group/Subgroup/Order.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/TypeTags/Basic.lean,Mathlib/Algebra/Group/Units/Hom.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/ExactSequences.lean,Mathlib/Algebra/Homology/DerivedCategory/ShortExact.lean,Mathlib/Algebra/Homology/Embedding/AreComplementary.lean,Mathlib/Algebra/Homology/Embedding/Basic.lean,Mathlib/Algebra/Homology/Embedding/CochainComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/Plus.lean,Mathlib/Algebra/Homology/HomotopyFiber.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/ConcreteCategory.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Lie/Ideal.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/SemiDirect.lean,Mathlib/Algebra/Module/Equiv/Defs.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/SpanRank.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Order/Antidiag/Finsupp.lean,Mathlib/Algebra/Order/Antidiag/Nat.lean,Mathlib/Algebra/Order/Antidiag/Pi.lean,Mathlib/Algebra/Order/GroupWithZero/Lex.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Order/Monoid/Lex.lean,Mathlib/Algebra/Order/Positive/Ring.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Degree/Lemmas.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/Algebra/Quandle.lean,Mathlib/Algebra/Quaternion.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/Subring/Basic.lean,Mathlib/Algebra/Ring/Subring/MulOpposite.lean,Mathlib/Algebra/Ring/Subsemiring/Basic.lean,Mathlib/Algebra/Ring/Subsemiring/MulOpposite.lean,Mathlib/Algebra/Ring/ULift.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Algebra/SkewPolynomial/Basic.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/EffectiveEpi.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Functorial.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/Affine.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/Flat.lean,Mathlib/AlgebraicGeometry/Morphisms/Immersion.lean,Mathlib/AlgebraicGeometry/Morphisms/IsIso.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiCompact.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean |
657 |
9 |
['SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
83-78858 2 months ago |
83-78859 83 days ago |
4-48242 4 days |
0 |
| 35402 |
samueloettl author:samueloettl |
feat(Dynamics/BirkhoffSum): birkhoffAverage const |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
I think this is useful and one of these should be a simp lemma.
I'm not really sure if I got the naming of the theorems correct.
When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
merge-conflict
|
14/0 |
Mathlib/Dynamics/BirkhoffSum/Average.lean |
1 |
41 |
['Maldooor', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts', 'mcdoll', 'plp127', 'samueloettl'] |
nobody |
81-75548 2 months ago |
81-80349 81 days ago |
178-1592 178 days |
1 |
| 38848 |
jcreinhold author:jcreinhold |
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top |
Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `∂Δ[n] ↪ Δ[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`.
Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`).
AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option.
|
t-algebraic-topology
new-contributor
merge-conflict
|
117/3 |
Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean |
2 |
38 |
['dagurtomas', 'github-actions', 'jcreinhold', 'joelriou', 'mathlib-merge-conflicts', 'mckoen'] |
nobody |
79-61164 2 months ago |
79-61165 79 days ago |
109-40413 109 days |
0 |
| 40651 |
Scarlett-le author:Scarlett-le |
feat: signed power of a point and dimension-free power-of-a-point converses |
This PR reworks the converse direction of the power of a point in `Mathlib/Geometry/Euclidean/Sphere/Power.lean` to be dimension-free, and adds the converse of the intersecting secants theorem.
Main additions:
* `Sphere.inner_vsub_vsub_eq_power`: the signed power `⟪a -ᵥ p, b -ᵥ p⟫` of a point
`p` on a secant line through `a, b ∈ s` is exactly `s.power p`; this unifies the
chord and secant cases without splitting on the sign.
* `Sphere.mem_of_inner_vsub_vsub_eq_power_of_mem_line`: a one-secant converse.
* `cospherical_of_inner_vsub_eq_inner_vsub`: a dimension-free converse to the power
of a point, stated with the signed invariant.
* `cospherical_of_mul_dist_eq_mul_dist_of_angle_eq_zero`: the converse of the
intersecting secants theorem (new).
Main change:
* `cospherical_of_mul_dist_eq_mul_dist_of_angle_eq_pi` (converse of the intersecting
chords theorem) is reproved via `cospherical_of_inner_vsub_eq_inner_vsub`, going
through the circumsphere of the triangle `{p₁, p₂, p₃}`. It no longer reduces to
the 2D case, so the `[Fact (finrank ℝ V = 2)]` / `[Module.Oriented ℝ V (Fin 2)]`
machinery, the private auxiliary lemma, and the `AffineIsometry` embedding into the
affine span are all removed. The statement is unchanged.
Imports `Mathlib.Geometry.Euclidean.Angle.Sphere` and
`Mathlib.Geometry.Euclidean.Similarity` are dropped; `Mathlib.Geometry.Euclidean.Circumcenter`
is added. |
t-euclidean-geometry
tech debt
merge-conflict
|
140/89 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean,Mathlib/Geometry/Euclidean/Sphere/Power.lean |
2 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
79-60508 2 months ago |
79-60509 79 days ago |
21-79860 21 days |
0 |
| 41644 |
adomani author:adomani |
chore: add missing `to_additive` docstrings in Algebra (BigOperators, Order, ...) |
Adds the missing additive doc-strings (multiplicative side has a hand-written doc-string, additive side did not) across 16 file(s) in **Algebra (BigOperators, Order, ...)**.
The additive doc-strings are simple-minded translations of the multiplicative ones, with referenced lemma names replaced by their `to_additive` counterparts. These gaps were found by an environment linter that pairs each declaration with its `to_additive` counterpart and checks that both or neither is documented.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
LLM-generated
merge-conflict
|
68/40 |
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/FreeMonoid/Basic.lean,Mathlib/Algebra/Module/PUnit.lean,Mathlib/Algebra/MonoidAlgebra/Module.lean,Mathlib/Algebra/Order/Antidiag/Prod.lean,Mathlib/Algebra/Order/Group/Finset.lean,Mathlib/Algebra/Order/Group/Unbundled/Basic.lean,Mathlib/Algebra/Order/Hom/Monoid.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean,Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean,Mathlib/Algebra/Regular/Basic.lean,Mathlib/Algebra/Torsor/Basic.lean,Mathlib/Order/Filter/AtTopBot/Monoid.lean |
16 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
75-68481 2 months ago |
75-68481 75 days ago |
43-24968 43 days |
0 |
| 41085 |
chrisflav author:chrisflav |
feat(CategoryTheory): stalks of a presheaf on an indiscrete topological space |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
merge-conflict
|
84/0 |
Mathlib/CategoryTheory/Limits/Shapes/Terminal.lean,Mathlib/Topology/Category/TopCat/OpenNhds.lean,Mathlib/Topology/Sheaves/Stalks.lean |
3 |
10 |
['chrisflav', 'dagurtomas', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127'] |
joelriou assignee:joelriou |
75-10048 2 months ago |
89-10547 89 days ago |
46-64036 46 days |
0 |
| 41705 |
kbuzzard author:kbuzzard |
perf: speed up kernel typechecking of some of mathlib's slowest declarations |
This PR changes some of the proofs in mathlib which were slowest to typecheck in the kernel. Typically there is some kind of defeq abuse going on in master, which the elaborator is quick to accept but which the kernel doesn't like, typically resulting in the unfolding of a large amount of stuff. Hopefully all the changes are uncontroversial. The problematic declarations were located with an LLM and changes were also initially written by an LLM but some fixes were complex, and I removed most of these from his PR because they were fiddling with parts of the codebase I didn't know well. I have now gone through everything manually, tidied up, and tested that indeed this is making mathlib quicker in every case.
The added declaration `strictMono_valueGroupEquiv` in `Mathlib/RingTheory/DedekindDomain/AdicValuation.lean` is to tidy up one of the slow proofs. |
LLM-generated
merge-conflict
|
21/11 |
Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/Etale/Field.lean |
4 |
10 |
['github-actions', 'kbuzzard', 'leanprover-radar', 'mathlib-merge-conflicts', 'metakunt'] |
nobody |
72-55463 2 months ago |
72-55464 72 days ago |
31-32075 31 days |
0 |
| 41829 |
felixpernegger author:felixpernegger |
perf: explicitly specify free universes in `ModuleCat` |
Like #40964, but for `ModuleCat`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
197/193 |
Mathlib/Algebra/Category/AlgCat/Symmetric.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean,Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean,Mathlib/Algebra/Category/ModuleCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Images.lean,Mathlib/Algebra/Category/ModuleCat/Kernels.lean,Mathlib/Algebra/Category/ModuleCat/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.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/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Homology/ShortComplex/ModuleCat.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/CategoryTheory/Abelian/Ext.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Limits/ConcreteCategory/WithAlgebraicStructures.lean,Mathlib/CategoryTheory/Linear/Yoneda.lean,Mathlib/Condensed/Discrete/Module.lean,Mathlib/Condensed/Light/Explicit.lean,Mathlib/Condensed/Light/Small.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Monoidal.lean,Mathlib/LinearAlgebra/QuadraticForm/QuadraticModuleCat/Symmetric.lean,Mathlib/RepresentationTheory/Coinvariants.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupCohomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Basic.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/Functoriality.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LongExactSequence.lean,Mathlib/RepresentationTheory/Homological/GroupHomology/LowDegree.lean,Mathlib/RepresentationTheory/Homological/Resolution.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean,Mathlib/RepresentationTheory/Invariants.lean,Mathlib/RepresentationTheory/Rep/Basic.lean,Mathlib/RepresentationTheory/Rep/Iso.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Flat/CategoryTheory.lean,Mathlib/RingTheory/Regular/Category.lean |
51 |
11 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
71-5026 2 months ago |
71-5027 71 days ago |
44-58089 44 days |
0 |
| 42339 |
attilavjda author:attilavjda |
feat: add diagonal iSup and iInf lemmas |
Deduplicating three ENat and ENNReal addition proofs, by adding a corresponding more general lemma collapsing a cofinal double iSup/iInf to its diagonal.
Also adds conditionally complete version with `hf : BddAbove (range fun k ↦ f k k)`. Dropping [Nonempty ι] (both sides are sSup ∅ when empty) makes the `…Bot` copy the same statement
```
CompleteSemilatticeSup
|
+--> iSup₂_eq_iSup_diag_of_cofinal
|
+--> ENat.iSup_add_iSup
+--> ENNReal.iSup_add_iSup
+--> ENNReal.iInf_add_iInf (via dual)
ConditionallyCompleteLattice
|
+--> ciSup₂_eq_ciSup_diag_of_cofinal
```
Aristotle helped
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
LLM-generated
merge-conflict
|
18/4 |
Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
3 |
38 |
['SnirBroshi', 'attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
68-39208 2 months ago |
68-39209 68 days ago |
15-34434 15 days |
0 |
| 43404 |
j-loreaux author:j-loreaux |
refactor: rename `MulAction` to `MonoidAction` |
Given that we now have [SemigroupAction](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Group/Action/Defs.html#SemigroupAction) we are in the unfortunate scenario that the name which seems to have less structure (`MulAction`) actually has *more* structure. This PR:
1. renames `MulAction` to `MonoidAction` (and also `GMulAction` to `GMonoidAction`) to reflect this additional structure, as well as declarations referencing `MulAction` in their names. `Prop`-valued mixins in the `MulAction` namespace are also renamed (e.g., `MulAction.{IsMinimal,IsTopologicallyTransitive}` → `MonoidAction.{IsMinimal,IsTopologicallyTransitive`).
2. The additive version are also renamed (`AddAction` → `AddMonoidAction`) and the corresponding `Prop`-valued mixins.
3. does *not* rename modules with `MulAction` in the name
4. does *not* rename `DistribMulAction`, `SubMulAction`, `MulActionWithZero`, etc. If these need to happen, that can occur at a later time.
5. does *not* rename `SemigroupAction` to `MulAction`. Even if this rename is desired, because of the prevalence of `MulAction` in Mathlib, I think we should not conduct a move of this magnitude all at once. If we want to rename this to `MulAction`, we should wait for the 6 month embargo period during which time that name is deprecated, to give everyone downstream the opportunity to switch instead of silently breaking their builds.
Of course, another potential name is `MulOneAction`, but I don't think that's too helpful.
---
A word is in order about how this PR was generated and how it is intended to be reviewed. Firstly, this PR was authored by Claude (Opus 5) under my prompting, and I have reviewed the output. Because of some intricacies of renaming `MulAction` while not touching `DistribMulAction` and `MulActionWithZero` and the like, and also because I wanted reviewers to be able to easily see exactly which declarations were renamed, the scripts Claude wrote are not all simple `sed` scripts, especially since it also needed to generate deprecations. The commits have informative messages, but the basic layout of the commits are:
+ 72620a8a0e9736320479de72198e86b9cb58476c add scripts
+ 915d0a73262ed8697de16003642639d20bb1c203 rename *only* the declarations using the script for easier review of what names changed.
+ cdf6c620e64b2d3201fa6f741c25802262345a37 add *only* the deprecations using the script for easier review
+ 5af6e1352b0f4a02a056871e8429c61503c880c8 move downstream uses across Mathlib to the new names using the script (this is intentionally a simple `sed` script)
+ 99a0eb738557f0adc3e975415c9d5b680684bdfa adjust line lengths that are now too long
+ 159c145c63a5b1f0e570970a1ec09fd1cb4dbd83 fix `nolints` exemptions
+ c17c76738faf273bd0dfa5d7f7bbdc45b994eeaf revert names of a few declarations which were already deprecated
+ 8800a97ee4c4442bb2c9e30741e4badb373dea81 remove the scripts
I'm hoping the Lean-aware declarations diff will be able to tell if any deprecations were missed.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
LLM-generated
merge-conflict
|
4826/2049 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Algebra/Subalgebra/Basic.lean,Mathlib/Algebra/Algebra/Subalgebra/Pointwise.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Algebra/Unitization.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Preimage.lean,Mathlib/Algebra/BigOperators/GroupWithZero/Action.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/Field/Action/ConjAct.lean,Mathlib/Algebra/Field/Subfield/Basic.lean,Mathlib/Algebra/FreeMonoid/Basic.lean,Mathlib/Algebra/GradedMonoid.lean,Mathlib/Algebra/GradedMulAction.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Action/Defs.lean,Mathlib/Algebra/Group/Action/End.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Action/Faithful.lean,Mathlib/Algebra/Group/Action/Hom.lean,Mathlib/Algebra/Group/Action/Opposite.lean,Mathlib/Algebra/Group/Action/Option.lean,Mathlib/Algebra/Group/Action/Pi.lean,Mathlib/Algebra/Group/Action/Pointwise/Finset.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Action/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Action/Pretransitive.lean,Mathlib/Algebra/Group/Action/Prod.lean,Mathlib/Algebra/Group/Action/Sigma.lean,Mathlib/Algebra/Group/Action/Sum.lean,Mathlib/Algebra/Group/Action/TransferInstance.lean,Mathlib/Algebra/Group/Action/TypeTags.lean,Mathlib/Algebra/Group/Action/Units.lean,Mathlib/Algebra/Group/Conj.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Equiv/Finite.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Density.lean,Mathlib/Algebra/Group/Pointwise/Finset/Scalar.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Pointwise/Set/Card.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Group/Pointwise/Set/Lattice.lean,Mathlib/Algebra/Group/Pointwise/Set/Scalar.lean,Mathlib/Algebra/Group/Shrink.lean,Mathlib/Algebra/Group/Subgroup/Actions.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Pointwise.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/MulAction.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Group/TransferInstance.lean,Mathlib/Algebra/Group/TypeTags/Finite.lean,Mathlib/Algebra/GroupWithZero/Action/Basic.lean,Mathlib/Algebra/GroupWithZero/Action/ConjAct.lean,Mathlib/Algebra/GroupWithZero/Action/Defs.lean,Mathlib/Algebra/GroupWithZero/Action/End.lean,Mathlib/Algebra/GroupWithZero/Action/Opposite.lean,Mathlib/Algebra/GroupWithZero/Action/Pi.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Set.lean,Mathlib/Algebra/GroupWithZero/Action/Prod.lean,Mathlib/Algebra/GroupWithZero/Action/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Action/Units.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Basic.lean,Mathlib/Algebra/GroupWithZero/Pointwise/Set/Card.lean,Mathlib/Algebra/GroupWithZero/Subgroup.lean,Mathlib/Algebra/GroupWithZero/Submonoid/Pointwise.lean,Mathlib/Algebra/GroupWithZero/TransferInstance.lean,Mathlib/Algebra/GroupWithZero/Units/Lemmas.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/Algebra/Module/Defs.lean,Mathlib/Algebra/Module/Equiv/Basic.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LinearMap/End.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/PUnit.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Rat.lean,Mathlib/Algebra/Module/RingHom.lean,Mathlib/Algebra/Module/Submodule/Basic.lean,Mathlib/Algebra/Module/Submodule/Defs.lean,Mathlib/Algebra/Module/Submodule/Finsupp.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Submodule/LinearMap.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/ULift.lean,Mathlib/Algebra/MonoidAlgebra/PointwiseSMul.lean,Mathlib/Algebra/Order/Group/Action.lean |
402 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
66-57949 2 months ago |
66-57950 66 days ago |
0-22381 6 hours |
0 |
| 43074 |
vihdzp author:vihdzp |
feat: generalize `WellFoundedLT.induction_bot` |
We change the signature of `WellFoundedLT.induction_bot` to match that of `WellFounded.induction_bot`, and introduce `WellFoundedLT.induction_bot'` which also takes in a function argument.
We then use this to slightly clean up the proof of bubblesort induction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
We don't need an `OrderBot` argument, as the inductive hypothesis already indirectly proves that `⊥` is a bottom element.
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
74/63 |
Mathlib/Data/Fin/Tuple/BubbleSortInduction.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/WellFounded.lean,Mathlib/RingTheory/Ideal/AssociatedPrime/Finiteness.lean |
4 |
5 |
['github-actions', 'mathlib-merge-conflicts', 'plp127', 'vihdzp'] |
nobody |
58-73133 1 month ago |
58-73134 58 days ago |
1-36693 1 day |
0 |
| 43654 |
grunweg author:grunweg |
chore: rename `Isometry` to `Isometric` |
This definition refers to an unbundled isometry: let's keep the name `Isometry` for a future bundled version. The name `Isometric` is an adjective and avoids questions of whether to have an Is prefix. Suggested by `j-loreaux` [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Naming.20convention/near/615105410).
We leave declarations such as IsometryEquiv, IsometryClass, LinearIsometry alone.
Rename done using Claude code, manually reviewed by myself.
Co-Authored-By: Claude Sonnet 5 [noreply@anthropic.com](mailto:noreply@anthropic.com)
---------
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
LLM-generated
merge-conflict
|
1088/676 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/AperiodicOrder/Delone/Basic.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/Commutative/PosPart.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/GelfandDuality.lean,Mathlib/Analysis/CStarAlgebra/Hom.lean,Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/Deriv/Basic.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/LinearIsometry.lean,Mathlib/Analysis/Convex/StrictConvexBetween.lean,Mathlib/Analysis/Convex/StrictConvexSpace.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/LocallyConvex/Bounded.lean,Mathlib/Analysis/Matrix/Order.lean,Mathlib/Analysis/Normed/Affine/AddTorsor.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Unitization.lean,Mathlib/Analysis/Normed/Algebra/UnitizationL1.lean,Mathlib/Analysis/Normed/Field/Basic.lean,Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Group/AddTorsor.lean,Mathlib/Analysis/Normed/Group/Hom.lean,Mathlib/Analysis/Normed/Group/Pointwise.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp.lean,Mathlib/Analysis/Normed/Group/Uniform.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/Basic.lean,Mathlib/Analysis/Normed/Operator/Extend.lean,Mathlib/Analysis/Normed/Operator/LinearIsometry.lean,Mathlib/Analysis/Normed/Operator/Mul.lean,Mathlib/Analysis/Normed/Ring/Basic.lean,Mathlib/Analysis/Normed/Ring/Lemmas.lean,Mathlib/Analysis/ODE/PicardLindelof.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/RCLike/ContinuousMap.lean,Mathlib/Geometry/Euclidean/PerpBisector.lean,Mathlib/Geometry/Euclidean/Sphere/Basic.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/MeasureTheory/Function/LpSpace/Basic.lean,Mathlib/MeasureTheory/Function/LpSpace/ContinuousCompMeasurePreserving.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/ContDiff.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/Hausdorff.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean,Mathlib/MeasureTheory/SpecificCodomains/Pi.lean,Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean,Mathlib/NumberTheory/NumberField/Completion/LiesOverInstances.lean,Mathlib/Probability/Distributions/Gaussian/CharFun.lean,Mathlib/Topology/Algebra/Module/EmbeddingOfLocal.lean,Mathlib/Topology/ContinuousMap/Bounded/Basic.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean,Mathlib/Topology/ContinuousMap/ZeroAtInfty.lean,Mathlib/Topology/MetricSpace/Closeds.lean,Mathlib/Topology/MetricSpace/Completion.lean,Mathlib/Topology/MetricSpace/Congruence.lean,Mathlib/Topology/MetricSpace/Cover.lean,Mathlib/Topology/MetricSpace/CoveringNumbers.lean,Mathlib/Topology/MetricSpace/Dilation.lean,Mathlib/Topology/MetricSpace/DilationEquiv.lean,Mathlib/Topology/MetricSpace/Gluing.lean,Mathlib/Topology/MetricSpace/GromovHausdorff.lean,Mathlib/Topology/MetricSpace/GromovHausdorffRealized.lean,Mathlib/Topology/MetricSpace/HausdorffDimension.lean,Mathlib/Topology/MetricSpace/HausdorffDistance.lean,Mathlib/Topology/MetricSpace/IsometricSMul.lean,Mathlib/Topology/MetricSpace/Isometry.lean,Mathlib/Topology/MetricSpace/Kuratowski.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/MetricSpace/Polish.lean,Mathlib/Topology/MetricSpace/ProperSpace/Real.lean,Mathlib/Topology/MetricSpace/Similarity.lean,Mathlib/Topology/MetricSpace/UniformConvergence.lean,Mathlib/Topology/Metrizable/CompletelyMetrizable.lean,Mathlib/Topology/Metrizable/Urysohn.lean |
94 |
9 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
54-40715 1 month ago |
54-40716 54 days ago |
5-43220 5 days |
0 |
| 43796 |
b-mehta author:b-mehta |
feat(Data/Fin/VecNotation): add injectivity lemmas for vecCons |
As discussed with Eric
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
27/8 |
Mathlib/Data/Fin/VecNotation.lean,Mathlib/LinearAlgebra/Matrix/Notation.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean |
3 |
7 |
['b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
54-40584 1 month ago |
54-40585 54 days ago |
1-41211 1 day |
0 |
| 43436 |
JovanGerb author:JovanGerb |
perf: remove `simp` from `sup_of_le_left` and friends |
This PR removes `simp` from `sup_of_le_left` and friends, as these apply very generally and can cause expensive recursive `simp` calls. Instead, `simp` was added to lemmas like `sup_idem`, `sup_bot` and `max_zero`.
Many proofs have to be fixed. I did this manyally, mostly either by adding the removed lemma back to the `simp` call, or by writing the proof out more explicitly, or by using `grind`.
- I changed the `simp` set around `Real.toNNReal` and `Rat.toNNRat` to be compatible with the lack of a `sup_of_le_right` lemma (and to be consistent between the two).
- I added a `@[gcongr]` tag to `Cardinal.lift_le`.
The motivation for this PR is to reduce the performance impact of #42316. However, we could also decide that the performance impact is not so bad, and simply keep the `@[simp]` attributes.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
merge-conflict
|
206/219 |
Archive/Examples/Kuratowski.lean,Archive/RiemannStieltjes.lean,Counterexamples/Phillips.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Order/Archimedean/Class.lean,Mathlib/Algebra/Order/Group/Abs.lean,Mathlib/Algebra/Order/Group/MinMax.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/IsBotOne.lean,Mathlib/Algebra/Order/Monoid/Canonical/Defs.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/AlgebraicGeometry/Morphisms/Basic.lean,Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unique.lean,Mathlib/Analysis/Complex/CauchyIntegral.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Group/Real.lean,Mathlib/Analysis/Normed/Group/Ultra.lean,Mathlib/Analysis/Normed/Operator/Perturbation/StrictByFinite.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/Basic/ENNReal/Real.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Combinatorics/Matroid/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/NNRat/Defs.lean,Mathlib/Data/Sym/Sym2/Order.lean,Mathlib/FieldTheory/Cardinality.lean,Mathlib/Geometry/Manifold/Instances/Icc.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/GroupTheory/Commutator/Basic.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/DominatedConvergence.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Measure/LevyProkhorovMetric.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/Order/BooleanAlgebra/Basic.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/ProjIcc.lean,Mathlib/Order/Interval/Set/UnorderedInterval.lean,Mathlib/Order/Lattice.lean,Mathlib/Order/Lattice/Congruence.lean,Mathlib/Order/MinMax.lean,Mathlib/Order/SupClosed.lean,Mathlib/Order/SymmDiff.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/Probability/Process/HittingTime.lean,Mathlib/Probability/Process/Stopping.lean,Mathlib/RingTheory/Algebraic/Cardinality.lean,Mathlib/RingTheory/AlgebraicIndependent/RankAndCardinality.lean,Mathlib/RingTheory/Depth/Rees.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/KrullDimension/PID.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/UniqueFactorizationDomain/GCDMonoid.lean,Mathlib/SetTheory/Cardinal/Arithmetic.lean,Mathlib/SetTheory/Cardinal/Order.lean,Mathlib/SetTheory/Ordinal/Veblen.lean,Mathlib/Topology/ClusterPt.lean,Mathlib/Topology/ContinuousMap/Bounded/Normed.lean,Mathlib/Topology/ContinuousMap/CompactlySupported.lean,Mathlib/Topology/ContinuousMap/Interval.lean,Mathlib/Topology/DiscreteSubset.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean,Mathlib/Topology/MetricSpace/Thickening.lean,Mathlib/Topology/Path.lean,Mathlib/Topology/Semicontinuity/Basic.lean,MathlibTest/SetLike.lean |
85 |
8 |
['JovanGerb', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
52-61403 1 month ago |
52-61404 52 days ago |
11-12212 11 days |
0 |
| 41525 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Smooth.Basic for smooth representations |
This PR introduces basic setup for smooth representations of a topological group. Hopefully it will serve as preliminary content for those who are interested in formalizing representation theory for p-adic reductive groups in the future. We introduce the following in the file:
1. Define smoothness for representations of a topological group. It is a property for a representation to be smooth: the stabilizer of any vector is open.
2. Prove basic closure properties: subrepresentations, quotient representations, tensor products, direct sums of smooth representations are smooth.
3. Construct smoothHom and contragredient: they are obtained by cutting out smooth vectors from the naive hom and dual.
- [ ] depends on: #40941
- [ ] depends on: #41081 |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
277/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Smooth/Basic.lean,Mathlib/RepresentationTheory/Stabilizer.lean,Mathlib/RepresentationTheory/Subrepresentation.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
5 |
7 |
['JX-Mo', 'felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
51-79260 1 month ago |
51-79261 51 days ago |
51-52336 51 days |
0 |
| 41907 |
Rob23oba author:Rob23oba |
feat: make `NegZeroClass` and `InvOneClass` mixins |
Most of the changes just add `[Zero α] [Neg α]` or `[One α] [Inv α]`, except:
- The change itself to `InvOneClass` / `NegZeroClass`
- Generalizing `neg_eq_zero` (and related theorems) to `InvolutiveNeg` + `NegZeroClass` and deprecating `EReal.neg_eq_zero_iff` / `ENNReal.inv_eq_zero_iff` / `SignType.neg_eq_zero_iff` which are no longer necessary
- Replacing occurrences of `@inv_one ty _` with `inv_one (G := ty)`
- Removing `one` and `inv` in some instance declarations of the form `:= { one, inv with inv_one := ... }`
- `mabs_sup_div_sup_le_mabs`, `mabs_inf_div_inf_le_mabs` and `tendsto_zpow_nhdsNE_zero_cobounded` needed adaptations; not sure why, something to do with unification?
- handling `InvOneClass` specially in `DomMulAct`
- replacing `neg_apply` in ``
- being more specific (i.e. `inv_one (G := F)` instead of `inv_one`) in the proof of `RatFunc.single_zpow`
- adding an `rw` in `differentIdeal_ne_bot` due to leanprover/lean4#14447
- replacing `ArithmeticFunction.neg_apply` with an `IsNegApply` instance
- adapting meta code by adding more implicit arguments (in the form of `none` arguments to `mkAppOptM`)
Zulip discussion at [#mathlib4 > Having both `NegZeroClass` and `InvolutiveNeg`](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Having.20both.20.60NegZeroClass.60.20and.20.60InvolutiveNeg.60/with/611441611)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict
t-algebra
label:t-algebra$ |
100/71 |
Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/EvenFunction.lean,Mathlib/Algebra/Group/Finsupp.lean,Mathlib/Algebra/Group/Hom/Basic.lean,Mathlib/Algebra/Group/InjSurj.lean,Mathlib/Algebra/Group/Pi/Basic.lean,Mathlib/Algebra/Group/WithOne/Defs.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Ring/Periodic.lean,Mathlib/Algebra/TrivSqZeroExt/Basic.lean,Mathlib/Analysis/Normed/Field/Lemmas.lean,Mathlib/Data/ENNReal/Holder.lean,Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/EReal/Operations.lean,Mathlib/Data/FunLike/Group.lean,Mathlib/Data/Matrix/Basis.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Sign/Defs.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/GroupTheory/GroupAction/DomAct/Basic.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/Order/Filter/Germ/Basic.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/HahnSeries/Addition.lean,Mathlib/RingTheory/HahnSeries/Cardinal.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/Tactic/Abel.lean,Mathlib/Tactic/Linarith/Verification.lean,Mathlib/Topology/Algebra/SeparationQuotient/Basic.lean,Mathlib/Topology/ContinuousMap/ContinuousMapZero.lean |
36 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
50-52348 1 month ago |
80-55061 80 days ago |
32-86206 32 days |
0 |
| 42679 |
Raph-DG author:Raph-DG |
feat(Topology): induction principals for locally finsupp functions |
In this PR, we write some API connecting finsupp and locallyfinsupp functions, and provide some induction principals which are useful when thinking of locally finsupp functions as divisors.
AI disclosure: this started as a drafty version written by me but I have used AI to edit it quite heavily, enough that I think this deserves the LLM-generated label (of course, I have reviewed the code carefully, but still this is worth keeping in mind).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
LLM-generated
large-import
merge-conflict
t-topology
|
433/22 |
Mathlib.lean,Mathlib/Algebra/Group/Subgroup/Finsupp.lean,Mathlib/Data/Finsupp/Ext.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/LocallyFinsupp/Finsupp.lean |
5 |
3 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
50-52296 1 month ago |
54-61295 54 days ago |
34-33064 34 days |
0 |
| 43503 |
carlok author:carlok |
chore: weaken unused typeclass assumptions on section variables |
This PR has been described at
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/unused.20hypotheses.3A.20431.20in.20a.2029k.20sample.2C.20and.2033.20one-line.20PRs/near/622113682
it is a list of mechanically found [1] one-liners relaxing theorems whose setting is stronger than their proof needs. Each change compiled alone against an unmodified file (whole library building locally at 633b366493).
More information on the project https://github.com/carlok/unused-assumptions
In the zulip thread, @SnirBroshi spotted that the refactored Topology/EMetricSpace/Pi.lean takes [EDist α] in place of two binders.
PS: A single PR because I noticed #42214 (813 files, merged, same kind of change).
Thank you for your work.
[1] LLM + Lean4 itself |
new-contributor
merge-conflict
|
32/32 |
Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/Archimedean/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Algebra/Regular/SMul.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Normed/Group/CocompactMap.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Over.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Module.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/Instances/Sign.lean |
29 |
6 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
48-37151 1 month ago |
48-37152 48 days ago |
15-21300 15 days |
0 |
| 41762 |
felixpernegger author:felixpernegger |
chore: replace terminal `convert` with `exact` |
Replaces terminal `convert(!)` with `exact` whenever possible.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
191/188 |
Mathlib/Algebra/BigOperators/Group/List/Basic.lean,Mathlib/Algebra/Category/ModuleCat/EpiMono.lean,Mathlib/Algebra/CharP/MixedCharZero.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Group/Action/Basic.lean,Mathlib/Algebra/Group/Fin/Tuple.lean,Mathlib/Algebra/Group/Pointwise/Set/Finite.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/NatInt.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Div.lean,Mathlib/Algebra/Ring/GeomSum.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian/Point.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Projective/Point.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/Spec.lean,Mathlib/Analysis/BoxIntegral/Partition/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Convolution.lean,Mathlib/Analysis/Calculus/ContDiff/Defs.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousAlternatingMap.lean,Mathlib/Analysis/Calculus/FDeriv/ContinuousMultilinearMap.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Side.lean,Mathlib/Analysis/Convex/SpecificFunctions/Deriv.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean,Mathlib/Analysis/Normed/Field/UnitBall.lean,Mathlib/Analysis/Normed/Lp/ProdLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean,Mathlib/Basic/ENNReal/Operations.lean,Mathlib/CategoryTheory/Abelian/Pseudoelements.lean,Mathlib/CategoryTheory/Adhesive/Basic.lean,Mathlib/CategoryTheory/Category/Basic.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean,Mathlib/CategoryTheory/Limits/Types/Coequalizers.lean,Mathlib/CategoryTheory/Localization/Opposite.lean,Mathlib/CategoryTheory/Monoidal/Internal/Module.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/Basic.lean,Mathlib/CategoryTheory/Monoidal/Internal/Types/CommGrp_.lean,Mathlib/CategoryTheory/PUnit.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Sites/Types.lean,Mathlib/CategoryTheory/Subobject/Classifier/Defs.lean,Mathlib/Combinatorics/Configuration.lean,Mathlib/Combinatorics/Hindman.lean,Mathlib/Combinatorics/Nullstellensatz.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Dart.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Chunk.lean,Mathlib/Data/DFinsupp/Interval.lean,Mathlib/Data/Fin/Tuple/Basic.lean,Mathlib/Data/Finset/Image.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Intervals.lean,Mathlib/Data/Nat/Digits/Defs.lean,Mathlib/Data/QPF/Univariate/Basic.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/FieldTheory/PrimitiveElement.lean,Mathlib/Geometry/Convex/Cone/Pointed.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Euclidean/Projection.lean,Mathlib/Geometry/Manifold/ChartedSpace.lean,Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/Geometry/Manifold/Sheaf/Basic.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace/HasColimits.lean,Mathlib/Geometry/RingedSpace/OpenImmersion.lean,Mathlib/Geometry/RingedSpace/PresheafedSpace/Gluing.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/Perm/Closure.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/GroupTheory/Submonoid/Inverses.lean,Mathlib/LinearAlgebra/AffineSpace/AffineMap.lean,Mathlib/LinearAlgebra/AffineSpace/Centroid.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean,Mathlib/LinearAlgebra/Dimension/LinearMap.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Pi.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/StdBasis.lean,Mathlib/LinearAlgebra/TensorAlgebra/Basic.lean,Mathlib/Logic/Equiv/Fin/Basic.lean,Mathlib/Logic/Equiv/Fintype.lean,Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean,Mathlib/MeasureTheory/Function/Jacobian.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Integral/FinMeasAdditive.lean,Mathlib/MeasureTheory/Measure/Content.lean,Mathlib/MeasureTheory/Measure/Haar/Unique.lean,Mathlib/MeasureTheory/Measure/Prod.lean |
148 |
18 |
['Parcly-Taxel', 'adomani', 'chenson2018', 'felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
47-82210 1 month ago |
47-82212 47 days ago |
42-16793 42 days |
0 |
| 40166 |
felixpernegger author:felixpernegger |
chore: remove all terminal `refine`'s with `exact` |
Found with scripts. This was a pretty exhaustive search and should be almost all of them.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
315/329 |
Archive/Imo/Imo1961Q3.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Category/Ring/Limits.lean,Mathlib/Algebra/Category/Ring/Small.lean,Mathlib/Algebra/DualNumber.lean,Mathlib/Algebra/Exact/Basic.lean,Mathlib/Algebra/Group/Pointwise/Finset/Basic.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/HomologySequence.lean,Mathlib/Algebra/Lie/Abelian.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LinearMap/FiniteRange.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/Submodule/Lattice.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MvPolynomial/Division.lean,Mathlib/Algebra/MvPolynomial/Polynomial.lean,Mathlib/Algebra/Order/Archimedean/Basic.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/Algebra/Polynomial/UnitTrinomial.lean,Mathlib/Algebra/QuadraticAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Cover/Sigma.lean,Mathlib/AlgebraicGeometry/Fiber.lean,Mathlib/AlgebraicGeometry/Geometrically/Integral.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Finite.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/AlgebraicGeometry/Morphisms/Integral.lean,Mathlib/AlgebraicGeometry/Morphisms/RingHomProperties.lean,Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ZariskisMainTheorem.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonDegenerateSimplices.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Basic.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Isometric.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Restrict.lean,Mathlib/Analysis/Calculus/ContDiff/FTaylorSeries.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/FDeriv/Pow.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Complex/Periodic.lean,Mathlib/Analysis/LocallyConvex/WeakOperatorTopology.lean,Mathlib/Analysis/LocallyConvex/WeakSpace.lean,Mathlib/Analysis/LocallyConvex/WithSeminorms.lean,Mathlib/Analysis/Normed/Lp/PiLp.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Module/MStructure.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Localization.lean,Mathlib/CategoryTheory/Adhesive/Basic.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/EquivalenceRelation.lean,Mathlib/CategoryTheory/FiberedCategory/Fibered.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/Limits/Indization/FilteredColimits.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Products.lean,Mathlib/CategoryTheory/Limits/Shapes/CombinedProducts.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Monoidal/Closed/Ideal.lean,Mathlib/CategoryTheory/ObjectProperty/LimitsClosure.lean,Mathlib/CategoryTheory/ObjectProperty/Retract.lean,Mathlib/CategoryTheory/ObjectProperty/Shift.lean,Mathlib/CategoryTheory/ObjectProperty/Small.lean,Mathlib/CategoryTheory/PathCategory/MorphismProperty.lean,Mathlib/CategoryTheory/Presentable/Directed.lean,Mathlib/CategoryTheory/Presentable/Type.lean,Mathlib/CategoryTheory/Products/Basic.lean,Mathlib/CategoryTheory/Sites/CompatiblePlus.lean,Mathlib/CategoryTheory/Sites/CoverLifting.lean,Mathlib/CategoryTheory/Sites/Coverage.lean,Mathlib/CategoryTheory/Sites/Hypercover/Saturate.lean,Mathlib/CategoryTheory/Sites/Hypercover/ZeroFamily.lean,Mathlib/CategoryTheory/Sites/Point/Conservative.lean,Mathlib/CategoryTheory/Triangulated/Pretriangulated.lean,Mathlib/Combinatorics/Additive/FreimanHom.lean,Mathlib/Combinatorics/Matroid/Closure.lean,Mathlib/Combinatorics/Matroid/Constructions.lean,Mathlib/Combinatorics/Matroid/IndepAxioms.lean,Mathlib/Combinatorics/Matroid/Minor/Contract.lean,Mathlib/Combinatorics/Matroid/Rank/ENat.lean,Mathlib/Combinatorics/Matroid/Sum.lean,Mathlib/Combinatorics/Pigeonhole.lean,Mathlib/Combinatorics/Quiver/Path/Decomposition.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean |
241 |
39 |
['dagurtomas', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
47-70154 1 month ago |
47-70155 47 days ago |
39-79307 39 days |
0 |
| 40223 |
felixpernegger author:felixpernegger |
chore: replace `by exact` occurences |
Basically: Replace `by exact abc` with `abc` whenever it works.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
298/357 |
Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo2024Q5.lean,Archive/Wiedijk100Theorems/BuffonsNeedle.lean,Archive/Wiedijk100Theorems/SumOfPrimeReciprocalsDiverges.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/Group/Opposite.lean,Mathlib/Algebra/Homology/Localization.lean,Mathlib/Algebra/Homology/SpectralObject/EpiMono.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Presentation/Free.lean,Mathlib/Algebra/Module/SpanRankOperations.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Polynomial/Eval/Algebra.lean,Mathlib/Algebra/Ring/Subsemiring/Defs.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Subscheme.lean,Mathlib/AlgebraicGeometry/OpenImmersion.lean,Mathlib/AlgebraicTopology/ExtraDegeneracy.lean,Mathlib/AlgebraicTopology/SimplicialSet/Coskeletal.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Instances.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Integral.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/NonUnital.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Unital.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/Implicit.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Complex/SqrtDeriv.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/TestFunction.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Projection/Minimal.lean,Mathlib/Analysis/InnerProductSpace/StandardSubspace.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Algebra/GelfandMazur.lean,Mathlib/Analysis/Normed/Group/InfiniteSum.lean,Mathlib/Analysis/SpecialFunctions/ExpDeriv.lean,Mathlib/Analysis/SpecialFunctions/NonIntegrable.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Bounds.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ColimCoyoneda.lean,Mathlib/CategoryTheory/Bicategory/FunctorBicategory/Oplax.lean,Mathlib/CategoryTheory/Center/NegOnePow.lean,Mathlib/CategoryTheory/EffectiveEpi/Extensive.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Localization/Pi.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Mon.lean,Mathlib/CategoryTheory/Pi/Basic.lean,Mathlib/CategoryTheory/Shift/InducedShiftSequence.lean,Mathlib/CategoryTheory/Sites/DenseSubsite/Basic.lean,Mathlib/CategoryTheory/Sites/Descent/Precoverage.lean,Mathlib/CategoryTheory/Sites/GlobalSections.lean,Mathlib/CategoryTheory/Sites/SheafOfTypes.lean,Mathlib/CategoryTheory/Triangulated/TStructure/TruncLTGE.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Prod.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Energy.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Decomp.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Data/DFinsupp/Sigma.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/Nat/Squarefree.lean,Mathlib/Data/PNat/Factors.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/WSeq/Relation.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/FieldTheory/Galois/Profinite.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Defs.lean,Mathlib/Geometry/Convex/Cone/TensorProduct.lean,Mathlib/Geometry/Euclidean/Angle/Sphere.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/Algebra/LieGroup.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Sign.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Pi.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Card.lean,Mathlib/LinearAlgebra/Orientation.lean,Mathlib/LinearAlgebra/Ray.lean,Mathlib/LinearAlgebra/RootSystem/Hom.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean |
177 |
70 |
['JovanGerb', 'b-mehta', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
47-70153 1 month ago |
47-70154 47 days ago |
30-71222 30 days |
0 |
| 40292 |
felixpernegger author:felixpernegger |
chore: replace `by calc` by `calc` whenever possible |
Avoids unnecessarily going into tactic mode, similar to #40223.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
202/202 |
Archive/Imo/Imo1981Q3.lean,Archive/Imo/Imo1982Q1.lean,Archive/Imo/Imo1982Q3.lean,Archive/Imo/Imo2005Q3.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2025Q3.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Group/Finset/Indicator.lean,Mathlib/Algebra/Group/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Floor/Semifield.lean,Mathlib/Algebra/Order/Ring/Unbundled/Basic.lean,Mathlib/Algebra/Order/Sub/Defs.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Ring/Invertible.lean,Mathlib/Analysis/CStarAlgebra/Module/Defs.lean,Mathlib/Analysis/Calculus/BumpFunction/Normed.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Analysis/Complex/AbelLimit.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/ValueDistribution/FirstMainTheorem.lean,Mathlib/Analysis/Convex/Caratheodory.lean,Mathlib/Analysis/Convex/Continuous.lean,Mathlib/Analysis/Convex/Visible.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Defs.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Matrix/Normed.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/ODE/DiscreteGronwall.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Log.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean,Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Basic.lean,Mathlib/CategoryTheory/Bicategory/Adjunction/Mate.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Lax.lean,Mathlib/CategoryTheory/Bicategory/NaturalTransformation/Oplax.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Localization/Composition.lean,Mathlib/CategoryTheory/MarkovCategory/Positive.lean,Mathlib/CategoryTheory/Monoidal/DayConvolution.lean,Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Combinatorics/Additive/Energy.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SetFamily/LYM.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean,Mathlib/Combinatorics/SimpleGraph/Triangle/Removal.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Fintype/BigOperators.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/Nat/Choose/Vandermonde.lean,Mathlib/Data/Nat/Factorial/Basic.lean,Mathlib/Data/Rat/Floor.lean,Mathlib/FieldTheory/Finite/Basic.lean,Mathlib/FieldTheory/Minpoly/IsConjRoot.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/Tensoriality.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Matrix.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/Invertible.lean,Mathlib/LinearAlgebra/RootSystem/RootPositive.lean,Mathlib/MeasureTheory/Constructions/HaarToSphere.lean,Mathlib/MeasureTheory/Covering/Vitali.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean,Mathlib/MeasureTheory/Function/LpSeminorm/CompareExp.lean,Mathlib/MeasureTheory/Integral/Bochner/ContinuousLinearMap.lean,Mathlib/MeasureTheory/Integral/BoundedContinuousFunction.lean,Mathlib/MeasureTheory/Integral/CircleAverage.lean,Mathlib/MeasureTheory/Integral/Gamma.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/MeanValue.lean,Mathlib/MeasureTheory/Measure/AddContent.lean,Mathlib/MeasureTheory/Measure/Count.lean,Mathlib/MeasureTheory/Measure/FiniteMeasure.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/FLT/MasonStothers.lean,Mathlib/NumberTheory/MahlerMeasure.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Three.lean |
135 |
8 |
['github-actions', 'madvorak', 'mathlib-merge-conflicts'] |
nobody |
47-70152 1 month ago |
47-70152 47 days ago |
46-45862 46 days |
0 |
| 41625 |
felixpernegger author:felixpernegger |
chore: remove unused `haveI` and `letI` |
This PR removes all `haveI/letI` in proofs of theorems when they are actually redundant/unused. (like 11% of total) Excludes MathlibTest.
Note this PR does not touch any abbrevs/defs/instances yet (even Prop valued fields of those), to make it a bit safer we arent accidentally changing something.
Note: Most of these are now `have/let` and no longer `haveI/letI` which is due to #41708. But all removals here are disjoint from #41749.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/339 |
Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/EuclideanDomain/Defs.lean,Mathlib/Algebra/Homology/HomotopyCofiber.lean,Mathlib/Algebra/Order/GroupWithZero/Bounds.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/AlgebraicGeometry/EllipticCurve/IsomOfJ.lean,Mathlib/AlgebraicGeometry/Normalization.lean,Mathlib/AlgebraicGeometry/Properties.lean,Mathlib/AlgebraicGeometry/SpreadingOut.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicGeometry/ValuativeCriterion.lean,Mathlib/Analysis/Calculus/SmoothSeries.lean,Mathlib/Analysis/Hofer.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/InnerProductSpace/l2Space.lean,Mathlib/Analysis/Normed/Module/FiniteDimension.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Analysis/Normed/Operator/Banach.lean,Mathlib/Analysis/Normed/Order/UpperLower.lean,Mathlib/Analysis/Normed/Unbundled/FiniteExtension.lean,Mathlib/Basic/Nontrivial/Basic.lean,Mathlib/CategoryTheory/Abelian/Basic.lean,Mathlib/CategoryTheory/Abelian/GrothendieckAxioms/Basic.lean,Mathlib/CategoryTheory/Abelian/Transfer.lean,Mathlib/CategoryTheory/Adjunction/Reflective.lean,Mathlib/CategoryTheory/Comma/Final.lean,Mathlib/CategoryTheory/Functor/Flat.lean,Mathlib/CategoryTheory/Galois/EssSurj.lean,Mathlib/CategoryTheory/Galois/Topology.lean,Mathlib/CategoryTheory/Groupoid/Basic.lean,Mathlib/CategoryTheory/Limits/ConeCategory.lean,Mathlib/CategoryTheory/Limits/Constructions/WeaklyInitial.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/Preserves/Finite.lean,Mathlib/CategoryTheory/Limits/Shapes/Images.lean,Mathlib/CategoryTheory/Limits/Shapes/StrictInitial.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Localization/Adjunction.lean,Mathlib/CategoryTheory/Localization/CalculusOfFractions.lean,Mathlib/CategoryTheory/Localization/SmallHom.lean,Mathlib/CategoryTheory/Sites/Sheaf.lean,Mathlib/Combinatorics/Additive/ErdosGinzburgZiv.lean,Mathlib/Data/Multiset/ZeroCons.lean,Mathlib/Data/Nat/Totient.lean,Mathlib/FieldTheory/AxGrothendieck.lean,Mathlib/FieldTheory/ChevalleyWarning.lean,Mathlib/FieldTheory/Differential/Basic.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/FieldTheory/Galois/Abelian.lean,Mathlib/FieldTheory/IntermediateField/Adjoin/Algebra.lean,Mathlib/FieldTheory/IntermediateField/Algebraic.lean,Mathlib/FieldTheory/KummerExtension.lean,Mathlib/FieldTheory/LinearDisjoint.lean,Mathlib/FieldTheory/PolynomialGaloisGroup.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/PerfectClosure.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Manifold/WhitneyEmbedding.lean,Mathlib/GroupTheory/Schreier.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/Basis/VectorSpace.lean,Mathlib/LinearAlgebra/BilinearForm/DualLattice.lean,Mathlib/LinearAlgebra/DFinsupp.lean,Mathlib/LinearAlgebra/Dimension/Finite.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean,Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean,Mathlib/LinearAlgebra/Dual/Lemmas.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean,Mathlib/LinearAlgebra/Finsupp/LinearCombination.lean,Mathlib/LinearAlgebra/Finsupp/Supported.lean,Mathlib/LinearAlgebra/FreeModule/Determinant.lean,Mathlib/LinearAlgebra/FreeModule/PID.lean,Mathlib/LinearAlgebra/LinearDisjoint.lean,Mathlib/LinearAlgebra/LinearIndependent/Basic.lean,Mathlib/LinearAlgebra/LinearIndependent/Lemmas.lean,Mathlib/LinearAlgebra/Matrix/Basis.lean,Mathlib/LinearAlgebra/Matrix/Block.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean,Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/FiniteDimensional.lean,Mathlib/LinearAlgebra/QuadraticForm/Basic.lean,Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Lemmas.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Covering/Differentiation.lean,Mathlib/MeasureTheory/Function/AEEqOfIntegral.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/Indicator.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/AEStronglyMeasurable.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean |
166 |
29 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'plp127', 'themathqueen'] |
nobody |
47-69341 1 month ago |
47-69342 47 days ago |
9-42722 9 days |
0 |
| 43625 |
b-mehta author:b-mehta |
feat(NumberTheory/Bernoulli): denominators of Bernoulli numbers are squarefree |
This PR adds some new public theorems for bernoulli numbers. The new results are typically viewed as corollaries of the von Staudt-Clausen theorem, but the implementation in mathlib means it's actually easier to prove them along the way, and we can obtain `rw` versions, or versions with weaker hypotheses than von Staudt-Clausen.
In addition, the API changes have a secondary purpose: to act as a prereq for #42304. In principle these could be separate PRs, but the redefinition of the private abbrev `pIntegral` is mixed tightly with the new public API that it's difficult to make this PR into two.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
merge-conflict
|
148/79 |
Mathlib/NumberTheory/Bernoulli.lean |
1 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
47-68133 1 month ago |
47-68134 47 days ago |
13-15582 13 days |
0 |
| 41896 |
felixpernegger author:felixpernegger |
chore: replace `simp_all` with `simp` whenever possible |
Replaces `simp_all (only)` with `simp (only)` whenever possible. About 5% of total `simp_all` occurences. Excludes MathlibTest.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
97/101 |
Archive/Arithcc.lean,Archive/Imo/Imo2024Q3.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean,Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean,Mathlib/Algebra/MvPolynomial/Basic.lean,Mathlib/Algebra/Polynomial/Basic.lean,Mathlib/Algebra/Polynomial/Expand.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Reduction.lean,Mathlib/Analysis/Analytic/Binomial.lean,Mathlib/Analysis/Complex/Basic.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Meromorphic/Basic.lean,Mathlib/Analysis/Meromorphic/Divisor.lean,Mathlib/Analysis/Meromorphic/FactorizedRational.lean,Mathlib/Analysis/Polynomial/Fourier.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/Integrals/PosLog.lean,Mathlib/Analysis/SpecialFunctions/Log/PosLog.lean,Mathlib/CategoryTheory/Action/Basic.lean,Mathlib/CategoryTheory/Functor/TypeValuedFlat.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean,Mathlib/Combinatorics/Quiver/Path/Vertices.lean,Mathlib/Combinatorics/SimpleGraph/Clique.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/List/ProdSigma.lean,Mathlib/Data/List/Sigma.lean,Mathlib/Data/Nat/Digits/Lemmas.lean,Mathlib/Data/PEquiv.lean,Mathlib/Data/PNat/Xgcd.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Data/TypeVec.lean,Mathlib/Data/Vector/Basic.lean,Mathlib/Data/ZMod/Basic.lean,Mathlib/Geometry/Manifold/MFDeriv/SpecificFunctions.lean,Mathlib/GroupTheory/PushoutI.lean,Mathlib/LinearAlgebra/Basis/Exact.lean,Mathlib/LinearAlgebra/Finsupp/Pi.lean,Mathlib/MeasureTheory/Constructions/Polish/StronglyMeasurable.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/TaylorExpansion.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/NumberTheory/Height/MvPolynomial.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Defs.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/Order/ScottContinuity/Prod.lean,Mathlib/Order/SetDissipate.lean,Mathlib/Order/SuccPred/Basic.lean,Mathlib/Order/WithBot.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/Probability/Kernel/Representation.lean,Mathlib/RepresentationTheory/Homological/TateCohomology/Basic.lean,Mathlib/RepresentationTheory/Tannaka.lean,Mathlib/RingTheory/Adjoin/Polynomial/Bivariate.lean,Mathlib/RingTheory/Binomial.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/HahnSeries/Multiplication.lean,Mathlib/RingTheory/HahnSeries/Summable.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/Nilpotent/Exp.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/IsTrivialOn.lean,Mathlib/RingTheory/Valuation/ValuativeRel/Basic.lean,Mathlib/SetTheory/Lists.lean,Mathlib/Topology/LocallyFinsupp.lean,Mathlib/Topology/MetricSpace/Bounded.lean |
76 |
29 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen', 'vlad902'] |
nobody |
47-57768 1 month ago |
47-57769 47 days ago |
53-63754 53 days |
0 |
| 40381 |
felixpernegger author:felixpernegger |
chore: replace `:= by rfl` with `:= rfl` |
Continuation of #40371.
This PR replace `:= by rfl` with `:= rfl` whenever possible (also if the `rfl` is on the next line). This ought to make `dsimp` a little bit better as well.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
232/417 |
Archive/Imo/Imo2010Q5.lean,Mathlib/Algebra/Algebra/NonUnitalHom.lean,Mathlib/Algebra/Category/Grp/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/MonCat/Basic.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/DirectSum/Finsupp.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/Algebra/DirectSum/Ring.lean,Mathlib/Algebra/Group/AddChar.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/Single.lean,Mathlib/Algebra/Lie/Basic.lean,Mathlib/Algebra/Lie/Cochain.lean,Mathlib/Algebra/Lie/Extension.lean,Mathlib/Algebra/Lie/OfAssociative.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Order/Hom/Ring.lean,Mathlib/Algebra/Order/Module/PositiveLinearMap.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Coeff.lean,Mathlib/Algebra/Polynomial/Derivation.lean,Mathlib/Algebra/Polynomial/Module/Basic.lean,Mathlib/Algebra/Polynomial/Sequence.lean,Mathlib/Algebra/Vertex/HVertexOperator.lean,Mathlib/Algebra/Vertex/VertexOperator.lean,Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean,Mathlib/AlgebraicTopology/SimplicialSet/StdSimplex.lean,Mathlib/Analysis/Analytic/Composition.lean,Mathlib/Analysis/Asymptotics/ExpGrowth.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Distribution/Distribution.lean,Mathlib/Analysis/Distribution/FourierMultiplier.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean,Mathlib/Analysis/Distribution/TemperedDistribution.lean,Mathlib/Analysis/Fourier/Convolution.lean,Mathlib/Analysis/Normed/Affine/Isometry.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Span.lean,Mathlib/Analysis/SpecialFunctions/Complex/CircleAddChar.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/CategoryTheory/Distributive/Monoidal.lean,Mathlib/CategoryTheory/Limits/Presheaf.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean,Mathlib/CategoryTheory/Limits/Types/Equalizers.lean,Mathlib/CategoryTheory/Limits/Types/Products.lean,Mathlib/CategoryTheory/Monoidal/Braided/Multifunctor.lean,Mathlib/CategoryTheory/Monoidal/Closed/Basic.lean,Mathlib/CategoryTheory/Monoidal/Comon_.lean,Mathlib/CategoryTheory/Monoidal/Mod.lean,Mathlib/CategoryTheory/MorphismProperty/OfObjectProperty.lean,Mathlib/CategoryTheory/Shift/CommShift.lean,Mathlib/CategoryTheory/Shift/ShiftedHomOpposite.lean,Mathlib/CategoryTheory/Sites/IsSheafFor.lean,Mathlib/CategoryTheory/Subfunctor/SubmonoidFunctor.lean,Mathlib/CategoryTheory/Yoneda.lean,Mathlib/Combinatorics/Enumerative/Stirling.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Basic.lean,Mathlib/Computability/AkraBazzi/AkraBazzi.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/Data/Fin/VecNotation.lean,Mathlib/Data/Nat/Factorization/PrimePow.lean,Mathlib/Data/PFunctor/Multivariate/Basic.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Data/Set/FiniteExhaustion.lean,Mathlib/Data/Set/Pairwise/Lattice.lean,Mathlib/Data/Subtype.lean,Mathlib/Geometry/Euclidean/Volume/Measure.lean,Mathlib/Geometry/Manifold/Bordism.lean,Mathlib/Geometry/Manifold/IsManifold/ExtChartAt.lean,Mathlib/Geometry/Polygon/Basic.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/FreeGroup/Orbit.lean,Mathlib/GroupTheory/GroupAction/ConjAct.lean,Mathlib/GroupTheory/GroupAction/Hom.lean,Mathlib/GroupTheory/SpecificGroups/Alternating.lean,Mathlib/GroupTheory/SpecificGroups/Quaternion.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean,Mathlib/LinearAlgebra/AffineSpace/Simplex/Centroid.lean,Mathlib/LinearAlgebra/Basis/Defs.lean,Mathlib/LinearAlgebra/BilinearForm/Hom.lean,Mathlib/LinearAlgebra/Dual/Defs.lean,Mathlib/LinearAlgebra/GeneralLinearGroup/Basic.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/GeneralLinearGroup/Defs.lean,Mathlib/LinearAlgebra/Matrix/ToLin.lean,Mathlib/LinearAlgebra/Multilinear/Curry.lean,Mathlib/LinearAlgebra/Multilinear/TensorProduct.lean,Mathlib/LinearAlgebra/Projectivization/Action.lean |
157 |
23 |
['dagurtomas', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts', 'tb65536'] |
dagurtomas assignee:dagurtomas |
44-65073 1 month ago |
44-65074 44 days ago |
42-27812 42 days |
0 |
| 41259 |
felixpernegger author:felixpernegger |
chore: remove redudant `nonrec`'s |
Remove all `nonrec` which are just not needed, about 9% of all `nonrec` occurences (tech debt)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
62/62 |
Mathlib/Algebra/Colimit/DirectLimit.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean,Mathlib/AlgebraicGeometry/Morphisms/ClosedImmersion.lean,Mathlib/AlgebraicGeometry/Morphisms/Descent.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/Sites/SheafQuasiCompact.lean,Mathlib/Analysis/Calculus/Deriv/Comp.lean,Mathlib/Analysis/Calculus/Deriv/Star.lean,Mathlib/Analysis/Calculus/FDeriv/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/Normed/Group/Quotient.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Basic/NNReal/Defs.lean,Mathlib/Basic/Rel/Cover.lean,Mathlib/Basic/Rel/Separated.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Cycle.lean,Mathlib/Geometry/Euclidean/Inversion/Calculus.lean,Mathlib/Geometry/Manifold/ContMDiff/Constructions.lean,Mathlib/Geometry/Manifold/ContMDiff/NormedSpace.lean,Mathlib/LinearAlgebra/Multilinear/Basic.lean,Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/Lebesgue.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean,Mathlib/ModelTheory/Ultraproducts.lean,Mathlib/NumberTheory/BernoulliPolynomials.lean,Mathlib/Probability/Density.lean,Mathlib/Probability/Moments/Variance.lean,Mathlib/RingTheory/Flat/Basic.lean,Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/Topology/Connected/PathConnected.lean,Mathlib/Topology/FiberBundle/Basic.lean,Mathlib/Topology/Filter.lean,Mathlib/Topology/Homotopy/Basic.lean,Mathlib/Topology/Instances/ENat.lean,Mathlib/Topology/MetricSpace/MetricSeparated.lean,Mathlib/Topology/MetricSpace/Pseudo/Basic.lean,Mathlib/Topology/Order/LocalExtr.lean |
44 |
6 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
44-8298 1 month ago |
44-8299 44 days ago |
45-64030 45 days |
1 |
| 41539 |
rmhi author:rmhi |
chore(RepresentationTheory/Homological/ContCohomology): refactor functoriality |
Currently, functoriality of continuous cohomology is given by `ContCohomology.map`, which takes
a continuous group homomorphism \phi and an intertwining map f: res \phi X \to Y and returns a map from the
continuous cohomology of X to the continuous cohomology of Y.
The problem with this is that `ContCohomology.map` does not have a natural type such as Functor or NatTrans.
In this PR, we split `ContCohomology.map` as a composition of `(continuousCohomologyFunctor _ _ _).map` and a restriction map in continuous cohomology, which is defined as a natural transformation `resNatTrans`.
co-authored-by: Edison Xie @Whysoserioushah
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
499/74 |
Mathlib/RepresentationTheory/Continuous/Basic.lean,Mathlib/RepresentationTheory/Continuous/TopRep.lean,Mathlib/RepresentationTheory/Homological/ContCohomology/Functoriality.lean,Mathlib/Topology/CompactOpen.lean |
4 |
14 |
['JX-Mo', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'rmhi'] |
mattrobball assignee:mattrobball |
44-8173 1 month ago |
44-8174 44 days ago |
72-58052 72 days |
1 |
| 41749 |
felixpernegger author:felixpernegger |
chore: remove redudant `have`'s |
This PR removes most unused `have` statements in mathlib.
Some edge cases (Prop valued fields, have statements with arguments, etc) are not yet included (but this already took my computer 7 hours, so I will push that for later).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
5/341 |
Archive/Imo/Imo1998Q2.lean,Counterexamples/NowhereDifferentiable.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/SpectralObject/Basic.lean,Mathlib/Algebra/Homology/SpectralObject/HasSpectralSequence.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/Module/ZLattice/Covolume.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Floor/Ring.lean,Mathlib/Algebra/Order/Ring/WithTop.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/Geometrically/Reduced.lean,Mathlib/AlgebraicGeometry/Group/Abelian.lean,Mathlib/AlgebraicGeometry/Modules/Tilde.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiFinite.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/AlgebraicGeometry/QuasiAffine.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/ModelCategory/BifibrantObjectHomotopy.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/Inner/Basic.lean,Mathlib/AlgebraicTopology/SingularHomology/Basic.lean,Mathlib/Analysis/Calculus/FDeriv/Mul.lean,Mathlib/Analysis/Calculus/FDeriv/WithLp.lean,Mathlib/Analysis/InnerProductSpace/NormDet.lean,Mathlib/Analysis/InnerProductSpace/PiL2.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/Normed/Module/RCLike/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/ConjSqrt.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/RingInverseOrder.lean,Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/CategoryTheory/Abelian/SerreClass/Localization.lean,Mathlib/CategoryTheory/ConcreteCategory/EpiMono.lean,Mathlib/CategoryTheory/EffectiveEpi/Comp.lean,Mathlib/CategoryTheory/Galois/Examples.lean,Mathlib/CategoryTheory/Generator/StrongGenerator.lean,Mathlib/CategoryTheory/Limits/Types/Pushouts.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/ChosenPullbacksAlong.lean,Mathlib/CategoryTheory/Monoidal/Braided/Reflection.lean,Mathlib/CategoryTheory/MorphismProperty/CommaSites.lean,Mathlib/CategoryTheory/MorphismProperty/Limits.lean,Mathlib/CategoryTheory/Preadditive/Projective/Basic.lean,Mathlib/CategoryTheory/Presentable/CardinalFilteredPresentation.lean,Mathlib/CategoryTheory/Presentable/Retracts.lean,Mathlib/CategoryTheory/Sites/Coherent/LocallySurjective.lean,Mathlib/CategoryTheory/Sites/Continuous.lean,Mathlib/CategoryTheory/Sites/CoverPreserving.lean,Mathlib/CategoryTheory/Subobject/Limits.lean,Mathlib/CategoryTheory/Triangulated/Functor.lean,Mathlib/Combinatorics/Additive/VerySmallDoubling.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean,Mathlib/Condensed/Discrete/Characterization.lean,Mathlib/Condensed/Discrete/Colimit.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/List/MinMax.lean,Mathlib/Data/List/PeriodicityLemma.lean,Mathlib/Data/Nat/Prime/Defs.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/FieldTheory/Galois/IsGaloisGroup.lean,Mathlib/FieldTheory/NormalizedTrace.lean,Mathlib/FieldTheory/PurelyInseparable/Basic.lean,Mathlib/FieldTheory/PurelyInseparable/Tower.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/Geometry/Euclidean/Angle/Bisector.lean,Mathlib/Geometry/Euclidean/Inversion/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Basic.lean,Mathlib/Geometry/Manifold/VectorBundle/LocalFrame.lean,Mathlib/GroupTheory/GroupAction/Jordan.lean,Mathlib/GroupTheory/GroupAction/SubMulAction/Combination.lean,Mathlib/GroupTheory/IndexNSmul.lean,Mathlib/GroupTheory/Perm/MaximalSubgroups.lean,Mathlib/LinearAlgebra/Charpoly/BaseChange.lean,Mathlib/LinearAlgebra/Determinant.lean,Mathlib/LinearAlgebra/Dimension/Constructions.lean,Mathlib/LinearAlgebra/PiTensorProduct/DirectSum.lean,Mathlib/LinearAlgebra/Trace.lean,Mathlib/LinearAlgebra/Transvection/Basic.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/Measure/Typeclasses/ZeroOne.lean,Mathlib/MeasureTheory/VectorMeasure/Integral.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Cyclotomic/Basic.lean,Mathlib/NumberTheory/Cyclotomic/PrimitiveRoots.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Three.lean,Mathlib/NumberTheory/Fermat.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/NumberTheory/NumberField/CMField.lean |
178 |
15 |
['SnirBroshi', 'felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
44-8046 1 month ago |
44-8047 44 days ago |
24-2784 24 days |
0 |
| 41933 |
felixpernegger author:felixpernegger |
chore: prefer `beta_reduce` over `(d)simp only` |
Insired by discussion at #38989.
This PR replaces `(d)simp only` (with no arguments) with the slightly cheaper `beta_reduce` whenever that works and doesnt change the goal. This also increases code readability a bit
More could be replaced if we allow the goal to be changed. Additonally, some of the `simp only` could be removed entirely (I dont think doing either one of those is good though).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
186/186 |
Mathlib/Algebra/Category/Grp/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRings.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/DirectSum/Internal.lean,Mathlib/Algebra/GroupWithZero/WithZero.lean,Mathlib/Algebra/MonoidAlgebra/NoZeroDivisors.lean,Mathlib/Algebra/MvPolynomial/Derivation.lean,Mathlib/Algebra/Order/CauSeq/BigOperators.lean,Mathlib/Algebra/Order/Module/HahnEmbedding.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Morphisms/AffineAnd.lean,Mathlib/AlgebraicGeometry/Morphisms/SurjectiveOnStalks.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Continuity.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Order.lean,Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean,Mathlib/Analysis/CStarAlgebra/Unitization.lean,Mathlib/Analysis/Calculus/ContDiff/FaaDiBruno.lean,Mathlib/Analysis/Calculus/FDeriv/Analytic.lean,Mathlib/Analysis/Calculus/LHopital.lean,Mathlib/Analysis/Calculus/ParametricIntegral.lean,Mathlib/Analysis/Complex/ValueDistribution/Cartan.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Fourier/AddCircle.lean,Mathlib/Analysis/Fourier/AddCircleMulti.lean,Mathlib/Analysis/InnerProductSpace/Projection/FiniteDimensional.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/CompareExp.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean,Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/CategoryTheory/Bicategory/End.lean,Mathlib/Combinatorics/Hall/Basic.lean,Mathlib/Combinatorics/Hall/Finite.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Computability/TuringMachine/ToPartrec.lean,Mathlib/Data/DFinsupp/Defs.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/EReal/Inv.lean,Mathlib/Data/List/NodupEquivFin.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/Data/Setoid/Partition.lean,Mathlib/FieldTheory/CardinalEmb.lean,Mathlib/Geometry/Euclidean/Incenter.lean,Mathlib/Geometry/Euclidean/Triangle.lean,Mathlib/Geometry/Manifold/Riemannian/PathELength.lean,Mathlib/GroupTheory/CoprodI.lean,Mathlib/GroupTheory/Coxeter/Basic.lean,Mathlib/GroupTheory/Divisible.lean,Mathlib/GroupTheory/GroupAction/Basic.lean,Mathlib/GroupTheory/GroupAction/MultiplePrimitivity.lean,Mathlib/GroupTheory/GroupAction/Quotient.lean,Mathlib/GroupTheory/HNNExtension.lean,Mathlib/GroupTheory/Nilpotent.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/QuotientGroup/Defs.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic/Basic.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/AffineSpace/Independent.lean,Mathlib/LinearAlgebra/Lagrange.lean,Mathlib/LinearAlgebra/Matrix/Adjugate.lean,Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Matrix/ZPow.lean,Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean,Mathlib/LinearAlgebra/RootSystem/OfBilinear.lean,Mathlib/LinearAlgebra/SpecialLinearGroup.lean,Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean,Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean,Mathlib/MeasureTheory/Function/L2Space.lean,Mathlib/MeasureTheory/Function/LpSpace/Complete.lean,Mathlib/MeasureTheory/Function/LpSpace/Indicator.lean,Mathlib/MeasureTheory/Integral/Bochner/Basic.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/SetToL1/DominatedConvergence.lean,Mathlib/MeasureTheory/MeasurableSpace/Prod.lean,Mathlib/NumberTheory/Harmonic/ZetaAsymp.lean,Mathlib/NumberTheory/JacobiSum/Basic.lean,Mathlib/NumberTheory/MulChar/Basic.lean,Mathlib/NumberTheory/NumberField/CMField.lean,Mathlib/Order/Category/NonemptyFinLinOrd.lean,Mathlib/Order/CountableSupClosed.lean,Mathlib/Order/Filter/Finite.lean,Mathlib/Order/PiLex.lean,Mathlib/Order/SuccPred/LinearLocallyFinite.lean,Mathlib/Probability/Kernel/Defs.lean,Mathlib/Probability/Kernel/Disintegration/MeasurableStieltjes.lean |
128 |
7 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
44-8045 1 month ago |
44-8046 44 days ago |
34-3240 34 days |
0 |
| 35790 |
Brian-Nugent author:Brian-Nugent |
feat(CategoryTheory/AlgebraicGeometry): Flasque Sheaves have vanishing cohomology |
Proves cohomology vanishing for flasque sheaves.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #34742
- [x] depends on: #34267
- [x] depends on: #35785
- [x] depends on: #36218
[](https://gitpod.io/from-referrer/)
|
large-import
t-category-theory
tech debt
merge-conflict
|
139/14 |
Mathlib/CategoryTheory/Generator/Presheaf.lean,Mathlib/CategoryTheory/Generator/Sheaf.lean,Mathlib/Topology/Sheaves/AddCommGrpCat.lean,Mathlib/Topology/Sheaves/Flasque.lean,Mathlib/Topology/Sheaves/LocallySurjective.lean,Mathlib/Topology/Sheaves/Sheaf.lean |
6 |
37 |
['Brian-Nugent', 'Multramate', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smorel394'] |
dagurtomas assignee:dagurtomas |
42-38975 1 month ago |
42-38977 42 days ago |
13-37304 13 days |
1 |
| 39834 |
or4nge19 author:or4nge19 |
feat(LinearAlgebra): triangularizability via flags and block-triangular matrices |
Part 2/3 of #39139.
In finite dimension, shows that `⨆ μ, f.maxGenEigenspace μ = ⊤` is equivalent to:
- existence of a `Basis` whose `flag` lies in `f.invtSubmodule`;
- existence of an invariant `Flag`;
- `Matrix.BlockTriangular id` for `LinearMap.toMatrix b b f` in some basis.
Over an algebraically closed field, deduces the above from `IsAlgClosed.splits` on the charpoly. Compared to #39139 we do not introduce new global `IsTriangularizable` (or similar) predicates.
This also fills the previous TODO and replaces/shorten the proof of `iSup_maxGenEigenspace_eq_top` by a charpoly-splitting argument.
- [ ] depends on: #39829 [Part 1/3 of #39139. ]
Co-authored-by: [kuotsanhsu](https://github.com/kuotsanhsu) [learningstud@gmail.com](mailto:learningstud@gmail.com)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
tech debt
merge-conflict
label:t-algebra$ |
381/76 |
Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/LinearAlgebra/Eigenspace/Basic.lean,Mathlib/LinearAlgebra/Eigenspace/Triangularizable.lean |
3 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
42-37090 1 month ago |
42-37090 42 days ago |
25-47290 25 days |
2 |
| 43174 |
Raph-DG author:Raph-DG |
feat(RingTheory): algebraic hartogs' lemma for ufds |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
94/0 |
Mathlib/RingTheory/Ideal/UFD.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
42-10918 1 month ago |
42-10919 42 days ago |
27-44683 27 days |
0 |
| 43321 |
owenpkent author:owenpkent |
feat(RingTheory/Polynomial/RationalRoot): rational root theorem with multiplicity |
This PR adds the rational root theorem with multiplicity to
`Mathlib/RingTheory/Polynomial/RationalRoot.lean`:
- `den_pow_rootMultiplicity_dvd_leadingCoeff`: if `r : K` is a root of `p : A[X]` (`A` a UFD, `K`
its fraction field) with multiplicity `m = rootMultiplicity r (p.map (algebraMap A K))`, then
`(den A r) ^ m ∣ p.leadingCoeff`;
- `prod_den_pow_rootMultiplicity_dvd_leadingCoeff`: the multi-point version, `∏ r ∈ s, (den A r) ^
rootMultiplicity r ∣ p.leadingCoeff` over any finite set `s : Finset K` (the denominators need
**not** be pairwise coprime in `A`; the recombination happens on the polynomial side, where the
root factors at distinct points are pairwise coprime over `K`);
- `den_mul_X_sub_C_num_pow_rootMultiplicity_dvd`: the `A`-level form both corollaries come from,
`(C (den A r) * X - C (num A r)) ^ m ∣ p` in `A[X]`.
These generalize the existing multiplicity-one statement `den_dvd_of_is_root`: at `m = 1` the new
theorem recovers it exactly (a guard `example` confirmed this against the branch). Two supporting
lemmas travel with them, placed in `Content.lean`, whose existing content they extend:
- `Polynomial.IsPrimitive.pow` and `Polynomial.isPrimitive_prod`: powers and finite
products of primitive polynomials stay primitive.
**Proof route.** The reduced linear factor `C (den A r) * X - C (num A r)` is primitive (a constant
divisor of both coefficients divides the reduced numerator/denominator pair, hence is a unit) and,
over `K`, a unit multiple of `X - C r`. Its `rootMultiplicity`-power therefore divides `p.map
(algebraMap A K)` (`pow_rootMultiplicity_dvd`), and one-sided Gauss descent (the existing
`IsPrimitive.dvd_of_fraction_map_dvd_fraction_map`) brings the divisibility back down to `A`;
multiplicativity of the leading coefficient finishes. The multi-point case recombines the same
argument over a product of linear factors that are pairwise coprime over `K`
(`isCoprime_X_sub_C_of_isUnit_sub`, `Finset.prod_dvd_of_coprime`).
**A hypothesis note.** `Polynomial.IsPrimitive.pow` / `Polynomial.isPrimitive_prod` are stated
under `[NormalizedGCDMonoid R]`, matching the hypothesis level of their host section in
`Content.lean` (neither proof needs anything UFD-specific). The six `RationalRoot.lean`
declarations (three public, and three `private` helpers about the reduced linear factor:
`isPrimitive_den_mul_X_sub_C_num`, `map_den_mul_X_sub_C_num`,
`leadingCoeff_den_mul_X_sub_C_num`) need only the file's existing
`UniqueFactorizationMonoid A` context: where a
`NormalizedGCDMonoid A` instance is required to invoke the `Content.lean` lemmas, the proofs
materialize one locally via `let : NormalizedGCDMonoid A := Nonempty.some inferInstance` (the
`Nonempty` instance comes from `UniqueFactorizationMonoid A` through `IsGCDMonoid A`, in scope via
the file's existing `RingTheory.Localization.NumDen` import), the same idiom `GaussLemma.lean`
already uses. The statements are instance-independent.
All eight new declarations (two in `Content.lean`, six in `RationalRoot.lean`) build green and
`#print axioms` clean (`[propext, Classical.choice, Quot.sound]`; no `sorryAx`, no
`native_decide`) on master commit `8acb872c31` (toolchain v4.34.0-rc2), with `lake exe lint-style`
and the batteries env linter (`runLinter`) passing on both touched modules, and all direct
downstream importers rebuilt green. Three `public import`s are added to `RationalRoot.lean`
(`RingTheory.Polynomial.GaussLemma`, `Algebra.Polynomial.BigOperators`,
`RingTheory.Coprime.Lemmas`); each is used directly by the new proofs (`shake` no longer exists as
a lake executable on current master, so no automated minimization pass was run).
**Import-graph cost: zero downstream.** The three added imports grow `RationalRoot.lean`'s own
transitive closure by 30 modules (1614 -> 1644), mostly the `FieldTheory.SplittingField` /
`IntermediateField` / `Minpoly` cone that `GaussLemma.lean` pulls in. That growth does not
propagate: `RationalRoot.lean` has exactly three importers in Mathlib
(`RingTheory/Polynomial/IsIntegral.lean`, `RingTheory/DedekindDomain/Basic.lean`,
`NumberTheory/Niven.lean`), and all three already import `GaussLemma` and
`SplittingField.Construction` transitively today, so no file in Mathlib gains an import from this
PR. If a maintainer would still rather keep `RationalRoot.lean` light, the six declarations move to
a new `RingTheory/Polynomial/RationalRootMultiplicity.lean` without any proof change; I am happy to
do that on request.
---
**AI use disclosure** (per Mathlib's contribution guidelines): this generalization was developed in
a personal research project with the help of an AI coding agent (Claude Code). The agent developed
the multiplicity generalization and its proof (building on the existing single-multiplicity
`den_dvd_of_is_root`), then ported it directly onto Mathlib's own source files: placing the two
primitivity lemmas in `Content.lean`'s existing `NormalizedGCDMonoid` section (a weaker hypothesis
than the UFD one the standalone draft used; neither proof needs anything UFD-specific), adapting
the imports to the module system, and rebasing onto current master. During the rebase the agent
found that Mathlib had independently generalized
`IsPrimitive.dvd_of_fraction_map_dvd_fraction_map` to the one-sided form an earlier draft of this
PR supplied as a new lemma, so that lemma was dropped and the proofs call the existing one. Build
green, `#print axioms` clean, and linters passing were confirmed directly against Mathlib's source
tree. The underlying result is a natural generalization of an existing Mathlib theorem, and every
proof step uses only existing Mathlib API. I have reviewed and understand the proofs, take
responsibility for the content, and will respond to review in my own words.
|
t-ring-theory
new-contributor
LLM-generated
merge-conflict
|
129/1 |
Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/RationalRoot.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
42-10786 1 month ago |
42-10786 42 days ago |
26-49699 26 days |
0 |
| 43422 |
vasnesterov author:vasnesterov |
chore(Tactic): deprecate `pnat_to_nat` and `enat_to_nat` in favor of `basify` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #43254
[](https://gitpod.io/from-referrer/)
|
t-meta
merge-conflict
|
34/18 |
Mathlib/Combinatorics/SimpleGraph/VertexCover.lean,Mathlib/Data/Seq/Basic.lean,Mathlib/Tactic/ComputeAsymptotics/Multiseries/Corecursion.lean,Mathlib/Tactic/ENatToNat.lean,Mathlib/Tactic/PNatToNat.lean,MathlibTest/Tactic/ENatToNat.lean,MathlibTest/Tactic/PNatToNat.lean |
7 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
42-10780 1 month ago |
42-10781 42 days ago |
10-33041 10 days |
0 |
| 43604 |
MetinovAdik author:MetinovAdik |
feat(Analysis): Laplacian and gradient under composition with a dilation |
feat(Analysis): Laplacian and gradient under composition with a dilation
Two lemmas describing how the Laplacian and the gradient behave under
pre-composition with `c • ·`, the missing companions of `fderiv_comp_smul`
and `iteratedFDeriv_comp_const_smul`.
* `InnerProductSpace.laplacian_comp_smul` (in `InnerProductSpace/Laplacian.lean`,
next to `laplacian_smul`): for `f : E → F` with `ContDiff ℝ 2 f` and `c : ℝ`,
`Δ (f <| c • ·) x = c ^ 2 • Δ f (c • x)`.
Each of the two derivatives contributes one factor of `c`.
Proof: `laplacian_eq_iteratedFDeriv_stdOrthonormalBasis` and
`iteratedFDeriv_comp_const_smul`, in the style of `laplacian_smul`.
* `gradient_comp_smul` (in `Calculus/Gradient/Basic.lean`): for `f : F → 𝕜`
and `c : 𝕜`, `∇ (f <| c • ·) x = conj c • ∇ f (c • x)`.
The derivative picks up `c` (`fderiv_comp_smul`) and the Riesz isomorphism is
conjugate linear, hence `conj c`. No differentiability hypothesis: for `c = 0`
both sides are `0`, exactly as in `fderiv_comp_smul`.
Motivation: the parabolic scaling `v ↦ λ • v (λ • x) (λ² t)` of the Navier–Stokes
equations, where every term acquires `λ³`. Establishing that in Lean required
these two facts, which were the only missing pieces; the rest was already in
Mathlib.
Names follow `fderiv_comp_smul` rather than `iteratedFDeriv_comp_const_smul`;
happy to switch if the other convention is preferred.
---
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
t-analysis
new-contributor
LLM-generated
merge-conflict
|
20/0 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
42-10648 1 month ago |
42-10649 42 days ago |
19-11294 19 days |
0 |
| 40534 |
mcdoll author:mcdoll |
feat(Algebra): introduce notation typeclass for composition of functions |
This PR defines two new typeclasses: `FComp` and `IsCompApply`. The former is just a notation typeclass with notation `(g ∘ᶠ f)` and the second one asserts that `(g ∘ᶠ f) x = g (f x)`.
---
There are two PRs that illustrate the use of these classes: #41169 and #41224
The second one is closer to what we actually implement here, but not sorry-free (because I ran into unrelated defeq abuse pretty far down the line)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
108/15 |
Mathlib/Algebra/Notation/Defs.lean,Mathlib/Algebra/SkewMonoidAlgebra/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Bounds.lean,Mathlib/Data/FunLike/IsApply.lean,Mathlib/Geometry/Manifold/GroupLieAlgebra.lean,Mathlib/Geometry/Manifold/VectorField/LieBracket.lean,Mathlib/NumberTheory/Height/Basic.lean,Mathlib/Probability/Distributions/Gaussian/HasGaussianLaw/Independence.lean,Mathlib/RingTheory/Coalgebra/Basic.lean,Mathlib/Topology/VectorBundle/Hom.lean |
10 |
6 |
['eric-wieser', 'github-actions', 'jcommelin', 'mathlib-merge-conflicts'] |
ocfnash assignee:ocfnash |
40-17539 1 month ago |
40-17540 40 days ago |
83-3300 83 days |
0 |
| 41564 |
felixpernegger author:felixpernegger |
chore: unexpose public sections with no defs |
This PR remove `@[expose]` from public sections when there are no `(irredcible_)def`'s inside the section anyways, so there is no reason to expose the section (does not make a difference).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
merge-conflict
|
21/21 |
Mathlib/Algebra/Field/Rat.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Notation/Pi/Defs.lean,Mathlib/Algebra/Order/Archimedean/Real/Basic.lean,Mathlib/Algebra/Order/Nonneg/Lattice.lean,Mathlib/Algebra/Order/Ring/Unbundled/Rat.lean,Mathlib/Analysis/InnerProductSpace/Coalgebra.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/CategoryTheory/MorphismProperty/LocalClosure.lean,Mathlib/Data/ENat/Pow.lean,Mathlib/Data/Sigma/Order.lean,Mathlib/Order/ConditionallyCompleteLattice/Basic.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Lattice/Nat.lean,Mathlib/RingTheory/Coalgebra/CoassocSimps.lean,Mathlib/RingTheory/QuasiFinite/Basic.lean,Mathlib/RingTheory/QuasiFinite/Weakly.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Mathlib/Topology/Category/DeltaGenerated.lean,Mathlib/Topology/EMetricSpace/Weak.lean,Mathlib/Topology/List.lean |
21 |
10 |
['JovanGerb', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'themathqueen'] |
JovanGerb assignee:JovanGerb |
40-17265 1 month ago |
40-17266 40 days ago |
29-24593 29 days |
0 |
| 42569 |
astrainfinita author:astrainfinita |
refactor: use `cmpLE` in `LinearOrder` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
tech debt
merge-conflict
|
110/69 |
Mathlib/Data/Ordering/Basic.lean,Mathlib/Data/Prod/Lex.lean,Mathlib/Data/String/Basic.lean,Mathlib/Order/Basic.lean,Mathlib/Order/Compare.lean,Mathlib/Order/CompleteLattice/Defs.lean,Mathlib/Order/ConditionallyCompleteLattice/Defs.lean,Mathlib/Order/Defs/LinearOrder.lean,Mathlib/Order/OrderDual.lean,Mathlib/Order/Std.lean,scripts/nolints.json |
11 |
4 |
['JovanGerb', 'astrainfinita', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
39-62429 1 month ago |
39-62430 39 days ago |
53-36046 53 days |
1 |
| 42741 |
felixpernegger author:felixpernegger |
feat(Topology): generalise Isometry to `WeakPseudoEMetricSpace` and friends |
After doing the first few per hand, this was now done by GPT 5.6 Sol. I reviewed however and it looks good
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on #42706
[](https://gitpod.io/from-referrer/)
|
t-topology
LLM-generated
merge-conflict
|
249/209 |
Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean,Mathlib/Topology/EMetricSpace/Lipschitz.lean,Mathlib/Topology/MetricSpace/Antilipschitz.lean,Mathlib/Topology/MetricSpace/Isometry.lean |
4 |
5 |
['felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
39-55625 1 month ago |
39-55626 39 days ago |
12-74204 12 days |
2 |
| 29788 |
robertmaxton42 author:robertmaxton42 |
feat(Topology): adds bundled continuous maps for sum, sigma, subtype, mapsto, inclusion |
Adds a collection of bundled continuous maps and homeomorphisms, and helper lemmas for working with their compositions.
Bundling of existing continuity lemmas:
* `ContinuousMap.subtypeVal`
* `ContinuousMap.inl` and `.inr`; `ContinuousMap.sum` bundles `Continuous.sumElim`; `ContinuousMap.sumMap`, which is a quotient map when both components are quotient maps
* `ContinuousMap.sigmaMap`, which is a quotient map when given a family of quotient maps
* `ContinuousMap.mapsTo` bundles `ContinuousOn.restrict_mapsTo`
New functions:
* `ContinuousMap.preimageValIncl : C(s ↓∩ t, t)` and `.inclPreimageVal C(s, t ↓∩ s)`, and their unbundled functions in `Set`
* `Homeomorph.Set.preimageVal` witnesses that the two are opposite directions of a homeomorphism
* Descending from a coherent set of subspaces is a quotient map
The primary use for these bundled maps is easy composition and the ability to introduce them by rewriting right-to-left: it is much more convenient to write `subtypeVal.comp _` than to use either the anonymous constructor (which doesn't work in any position without an expected type) or `ContinuousMap.mk` (which will disappear as soon as it is coerced to a function, making it difficult to use in mixed-categorical contexts where many maps can only be reduced by introducing a composition with some other map.)
This PR is part of a family of PRs that ultimately construct transformations in both directions between the concrete `Topology.RelCWComplex` and abstract `TopCat.RelativeCWComplex`. `.mapsTo` in particular bundles together a couple of potentially nontrivial proofs in a way that makes them easy to refer to later; I use it and `.subtypeVal` particularly heavily later in a dependent PR to build the cell inclusion maps on both sides of the equivalence.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
large-import
t-topology
merge-conflict
|
227/2 |
Mathlib/Data/Set/Subset.lean,Mathlib/Topology/Category/TopCat/Limits/Products.lean,Mathlib/Topology/Coherent.lean,Mathlib/Topology/Constructions.lean,Mathlib/Topology/Constructions/SumProd.lean,Mathlib/Topology/ContinuousMap/Basic.lean,scripts/noshake.json |
7 |
18 |
['adamtopaz', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'robertmaxton42'] |
adamtopaz assignee:adamtopaz |
39-13127 1 month ago |
276-81004 276 days ago |
85-37050 85 days |
2 |
| 28686 |
mitchell-horner author:mitchell-horner |
feat(Combinatorics/SimpleGraph): prove the Erdős-Stone theorem |
Proves the Erdős-Stone theorem:
If `G` has at least `(1 - 1 / r + o(1)) * n ^ 2 / 2` many edges, then `G` contains a copy of a `completeEquipartiteGraph (r + 1) t`.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #28685
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
merge-conflict
|
164/1 |
Mathlib/Combinatorics/SimpleGraph/Extremal/ErdosStoneSimonovits.lean |
1 |
14 |
['Parcly-Taxel', 'SnirBroshi', 'barni120400', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'mitchell-horner'] |
b-mehta assignee:b-mehta |
35-16809 1 month ago |
35-16810 35 days ago |
93-71842 93 days |
2 |
| 28700 |
Timeroot author:Timeroot |
feat(ModelTheory): Set.Definable is transitive |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
This PR continues the work from #19695.
Original PR: https://github.com/leanprover-community/mathlib4/pull/19695
- [x] depends on: #26332
[](https://gitpod.io/from-referrer/)
|
t-logic
large-import
increases-technical-debt
merge-conflict
|
371/4 |
Mathlib/ModelTheory/Definability.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Syntax.lean |
3 |
11 |
['Timeroot', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'staroperator'] |
nobody |
35-16807 1 month ago |
35-16808 35 days ago |
55-2416 55 days |
0 |
| 41536 |
Mathias-Stout author:Mathias-Stout |
chore(Algebra): make quaternion directory |
We create separate directory for quaternions and move the two existing files into it.
This prepares a follow-up PR proving that quaternions are central simple.
Co-authored-by: Justus Springer <justusspringer@gmx.de>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
merge-conflict
|
12/9 |
Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,MathlibTest/Quaternion.lean |
7 |
6 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
34-71464 1 month ago |
34-71465 34 days ago |
44-18522 44 days |
1 |
| 35217 |
kim-em author:kim-em |
feat: auxiliary lemmas for Artin and braid groups |
This PR adds small lemmas to existing files, in preparation for the Artin groups and braid groups PRs.
- `Commute.mul_pow_eq_one`: for commuting elements with `a ^ m = 1` and `b ^ m = 1`
- `Equiv.Perm.swap_conjugate`: braid relation for adjacent transpositions
- `Equiv.Perm.swap_mul_swap_comm_of_disjoint`: disjoint transpositions commute
- `@[grind =]` attributes on `Perm.mul_apply`, `Perm.one_apply`; new `Perm.pow_add_one_apply`
- `Subgroup.normalClosure_singleton_one`
- `FreeGroup.ofList` and associated lemmas
- `FreeGroup.freeGroupUnitMulEquivInt`
- `PresentedGroup.instUniqueOfIsEmpty`
- `CoxeterMatrix.Aₙ_adjacent`, `CoxeterMatrix.Aₙ_far`
🤖 Prepared with Claude Code |
t-group-theory
LLM-generated
merge-conflict
|
64/2 |
Mathlib/Algebra/Group/Commute/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/GroupTheory/Coxeter/Matrix.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean,Mathlib/GroupTheory/PresentedGroup.lean |
7 |
26 |
['eric-wieser', 'github-actions', 'kim-em', 'mathlib-merge-conflicts', 'tb65536', 'themathqueen'] |
tb65536 assignee:tb65536 |
31-18775 1 month ago |
31-18776 31 days ago |
46-77137 46 days |
3 |
| 38815 |
dagurtomas author:dagurtomas |
feat(Tactic/CategoryTheory): extend `@[to_app]` to natural transformations |
This extends `@[to_app]` and `to_app_of%` to natural transformations and equations already in `Cat`, while preserving specialization of bicategorical equations. Natural-transformation lemmas retain their universe parameters, and generated component lemmas use Lean’s standard `defeq`/`backward_defeq` inference.
|
t-category-theory
LLM-generated
t-meta
merge-conflict
|
387/80 |
Mathlib/Tactic/CategoryTheory/ToApp.lean,Mathlib/Util/AddRelatedDecl.lean,MathlibTest/AddRelatedDecl.lean,MathlibTest/CategoryTheory/ToApp.lean |
4 |
12 |
['Vierkantor', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-10634 1 month ago |
31-10635 31 days ago |
148-45427 148 days |
0 |
| 40983 |
khwilson author:khwilson |
feat: lemmas to support F-space open mapping theorem |
In order to generalize the Banach open mapping theorem to a generic F-space, we need several leamms about balanced and absorbent sets in more arbitrary spaces. In particular, we need some key lemmas such as:
- A closed absorbent set in a Baire space with countably generated cobounded filter has nonempty interior
- A topological vector space has a basis of neighborhoods about 0 consisting of balanced sets
AI Disclosure: Generated by Claude Code with specific prompts from me and edits by me.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
LLM-generated
merge-conflict
|
119/11 |
Mathlib.lean,Mathlib/Analysis/LocallyConvex/AbsConvex.lean,Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean,Mathlib/Analysis/LocallyConvex/Basic.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Baire/Absorbent.lean,Mathlib/Topology/Bornology/Absorbs.lean,Mathlib/Topology/MetricSpace/Bounded.lean |
8 |
24 |
['felixpernegger', 'github-actions', 'j-loreaux', 'khwilson', 'mathlib-bors', 'mathlib-merge-conflicts', 'mcdoll', 'scholzhannah'] |
j-loreaux assignee:j-loreaux |
31-10164 1 month ago |
31-10165 31 days ago |
88-28860 88 days |
1 |
| 42871 |
WilliamCoram author:WilliamCoram |
feat: multivariate gauss norm API and a lemma to discharge hdom in mul_eq_mul |
We add some missing API as well as lemmas that compute explicit values of the gauss norm (e.g. on monomials, X, C). Finally, we add a lemma that will be used to discharge `hdom` in `mul_eq_mul` in applications.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
118/4 |
Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean |
1 |
11 |
['WilliamCoram', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca'] |
nobody |
31-7941 1 month ago |
31-7942 31 days ago |
52-77986 52 days |
0 |
| 43420 |
Timeroot author:Timeroot |
chore(AlgebraicGeometry): refactor and clean up AffineTransitionLimit.lean |
Refactor and cleans up very long proofs in AffineTransitionLimit.lean
Several proofs in this file were the largest in Mathlib (as measured by actual time to validate the proof term) and I noticed they were terrible. This was the result of some ~20 rounds of me with Claude together doing cleanup, not just shortening the proofs but also cleaning up the file in other ways. It involved pulling 15 helpful little lemmas out in other related files, reordering some declarations into an easier order to re-use, changing some section variables (to make declarations much more readable), a great reduction in `set_option backward.isDefEq.respectTransparency false` and `set_option backward.defeqAttrib.useBackward` debt, and of course, simplifying many proofs to use cleaner or more direct arguments.
The net result is 138 less lines than before, and instead of having a massive `Scheme.exists_π_app_comp_eq_of_locallyOfFinitePresentation` (and friends) that's 104 lines, nearly everything is at a sane length.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
merge-conflict
|
532/669 |
Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/Morphisms/QuasiSeparated.lean,Mathlib/AlgebraicGeometry/Restrict.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/CategoryTheory/Filtered/Basic.lean |
7 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-7772 1 month ago |
31-7773 31 days ago |
32-13506 32 days |
0 |
| 43832 |
Raph-DG author:Raph-DG |
refactor(Topology): make locallyFinsupp.map an additive monoid homomorphism |
In this PR we slightly refactor locallyFinsupp.map by making it an additive monoid hom, and removing some superfluous assumptions from the type signature
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
merge-conflict
|
62/30 |
Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/Topology/LocallyFinsupp/Pushforward.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-6618 1 month ago |
31-6619 31 days ago |
22-61660 22 days |
0 |
| 44144 |
Brian-Nugent author:Brian-Nugent |
chore: tag more functors implicit_reducible |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
tech debt
merge-conflict
|
53/71 |
Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/AlgebraicGeometry/Cover/Directed.lean,Mathlib/AlgebraicGeometry/Scheme.lean,Mathlib/AlgebraicGeometry/Sites/SmallAffineZariski.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/ModuleEmbedding/GabrielPopescu.lean,Mathlib/CategoryTheory/Bicategory/Basic.lean,Mathlib/CategoryTheory/Bicategory/Functor/Prelax.lean,Mathlib/CategoryTheory/Bicategory/Functor/Pseudofunctor.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/Bicategory/LocallyGroupoid.lean,Mathlib/CategoryTheory/Bicategory/Yoneda.lean,Mathlib/CategoryTheory/Category/Cat.lean,Mathlib/CategoryTheory/Category/Cat/Limit.lean,Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/CategoryTheory/Category/Pointed.lean,Mathlib/CategoryTheory/Category/RelCat.lean,Mathlib/CategoryTheory/Enriched/Opposite.lean,Mathlib/CategoryTheory/FiberedCategory/Fiber.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Functor/Basic.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoid.lean,Mathlib/CategoryTheory/Groupoid/FreeGroupoidOfCategory.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Join/Pseudofunctor.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Over.lean,Mathlib/CategoryTheory/LocallyCartesianClosed/Sections.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Ring.lean,Mathlib/CategoryTheory/MorphismProperty/Comma.lean,Mathlib/CategoryTheory/MorphismProperty/OverAdjunction.lean,Mathlib/CategoryTheory/PathCategory/Basic.lean,Mathlib/CategoryTheory/Pi/Monoidal.lean,Mathlib/CategoryTheory/Preadditive/Yoneda/Basic.lean,Mathlib/CategoryTheory/Sites/Closed.lean,Mathlib/CategoryTheory/Topos/Sheaf.lean,Mathlib/Combinatorics/Quiver/Prefunctor.lean,Mathlib/Combinatorics/Quiver/Push.lean,Mathlib/Combinatorics/Quiver/Symmetric.lean,Mathlib/Geometry/RingedSpace/LocallyRingedSpace.lean,Mathlib/Geometry/RingedSpace/SheafedSpace.lean |
40 |
4 |
['Brian-Nugent', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
31-6460 1 month ago |
31-6461 31 days ago |
15-50941 15 days |
0 |
| 38190 |
AntoineChambert-Loir author:AntoineChambert-Loir |
refactor(Topology/Sion): use a dense and continuous completion to generalize the statements |
Use the existence of a dense and continuous completion to simplify the final part of the proof of Sion's theorem.
As a matter of fact, only an early lemma needs to be modified and the rest holds in weaker assumptions,
leading to a serious simplification.
Since the PR proving Sion is very recent and unused, we didn't add deprecation lemmas.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #37939
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
51/125 |
Mathlib/Order/Completion.lean,Mathlib/Topology/Sion.lean |
2 |
15 |
['AntoineChambert-Loir', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
29-54104 29 days ago |
114-79363 114 days ago |
38-85091 38 days |
0 |
| 44540 |
vincentqb author:vincentqb |
feat(Algebra/Polynomial): monotonicity of polynomial evaluation |
This PR adds `Polynomial.eval_le_eval`, tagged `@[gcongr]`, for preordered semirings whose addition and multiplication are monotone. It applies in particular to `ℕ`, `ℝ≥0`, and `ℝ≥0∞`.
---
This supplies the polynomial monotonicity lemma used privately in #44441.
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
LLM-generated
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
22/0 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean |
2 |
12 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vincentqb'] |
nobody |
23-83787 23 days ago |
23-83788 23 days ago |
7-85935 7 days |
0 |
| 43250 |
WenrongZou author:WenrongZou |
chore(Valuation/Integers): rename `Valuation.Integers` to `Valuation.IsIntegers` |
I think [`Valuation.Integers`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Valuation/Integers.html#Valuation.Integers) is the characteristic predicate. If this is not what we want, I am happy to add a characteristic predicate in this file.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
merge-conflict
|
193/61 |
Mathlib/NumberTheory/Padics/Complex.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation.lean,Mathlib/RingTheory/DiscreteValuationRing/Basic.lean,Mathlib/RingTheory/Perfection.lean,Mathlib/RingTheory/Valuation/Archimedean.lean,Mathlib/RingTheory/Valuation/Discrete/Basic.lean,Mathlib/RingTheory/Valuation/Discrete/IsDiscreteValuationRing.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/RingTheory/Valuation/Integral.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/RingTheory/Valuation/ValuationSubring.lean,Mathlib/Topology/Algebra/Valued/LocallyCompact.lean |
12 |
20 |
['WenrongZou', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib-bors', 'mathlib-merge-conflicts', 'riccardobrasca'] |
nobody |
22-84002 22 days ago |
22-84003 22 days ago |
33-40704 33 days |
0 |
| 44535 |
vincentqb author:vincentqb |
feat(RingTheory/SimpleModule): semisimplicity along semilinear maps |
This PR proves that semisimplicity passes to the domain of an injective semilinear map and to the codomain of a surjective one, assuming `RingHomSurjective σ`.
The scalar-map hypothesis corrects the two `proof_wanted` statements. For example, the injective map `ℤ → ℚ` would otherwise imply that `ℤ` is semisimple as a `ℤ`-module.
---
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
LLM-generated
new-contributor
file-removed
t-ring-theory
merge-conflict
|
31/30 |
Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/Basic.lean |
5 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'tb65536', 'vincentqb'] |
nobody |
22-83300 22 days ago |
22-83301 22 days ago |
10-3144 10 days |
0 |
| 33466 |
Shreyas4991 author:Shreyas4991 |
refactor(Combinatorics/Digraph): add vertex sets |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
large-import
merge-conflict
|
208/58 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
225 |
['IvanRenison', 'Shreyas4991', 'SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'vihdzp', 'vlad902'] |
SnirBroshi assignee:SnirBroshi |
22-48939 22 days ago |
31-18906 31 days ago |
68-21179 68 days |
0 |
| 43692 |
j-loreaux author:j-loreaux |
feat: a syntax linter for the `@[congr]` attribute |
The documentation for the `@[congr]` attribute states:
```
A `simp` congruence lemma should prove the equality of two applications of the same function from
the equality of the individual arguments. They are used by `simp` to visit subexpressions of an
application where the default congruence algorithm fails. This is particularly important for
functions where some parameters depend on previous parameters.
Congruence lemmas should have an equality for every parameter, possibly bounded by foralls, with
the right hand side being an application of a parameter on the right-hand side. When applying
congruence theorems, `simp` will first infer parameters from the right-hand side, then try to
simplify each left-hand side of the parameter equalities and finally infer the right-hand side
parameters from the result.
```
However, no check is performed to verify that all the arguments to the function vary. This PR adds a syntax linter to check this and turns it on by default across Mathlib. We explicitly silence the linter where it currently triggers.
This linter addresses a real problem, as I was bitten by the lack of this check in #43028 and fixed in #43689.
---
AI disclosure: this was generated by Claude (Opus 5) with my prompting. I rewrote some bits here and there to something I found more suitable, especially in the documentation portions. I understand all the meta code written herein, but I'm not sure if it follows best practices everywhere or not.
After some initial review, I had some better ideas of what could be changed, and made edits myself, without Claude.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-linter
LLM-generated
large-import
merge-conflict
|
244/0 |
Mathlib.lean,Mathlib/Data/Finset/Filter.lean,Mathlib/Data/Finset/Fold.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Data/List/Basic.lean,Mathlib/Data/List/Find.lean,Mathlib/Data/List/Zip.lean,Mathlib/Data/Multiset/Bind.lean,Mathlib/Data/Multiset/Filter.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/Data/Set/Image.lean,Mathlib/Data/Set/NAry.lean,Mathlib/Data/Sym/Basic.lean,Mathlib/Data/Sym/Sym2.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Init.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/CongrFixedArgs.lean,MathlibTest/Linter/CongrFixedArgs.lean |
19 |
28 |
['JovanGerb', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
20-75207 20 days ago |
20-75208 20 days ago |
35-28250 35 days |
0 |
| 43566 |
kim-em author:kim-em |
refactor(CategoryTheory): insert missing functor associators and unitors |
This PR inserts the functor associators and unitors that Mathlib currently omits, or applies in the wrong direction, when it identifies `(F ⋙ G) ⋙ H` with `F ⋙ G ⋙ H` or `𝟭 C ⋙ F` with `F` by unfolding `Functor.comp` and `Functor.id`. None of these changes are *necessary*, but all reduce some defeq abuse that hopefully will make life easier in future.
It is extracted from Paul Reichert's experiment making `Functor.comp` and `Functor.id` `instance_reducible` with a semireducible `map` field (https://github.com/leanprover-community/mathlib4/compare/master...leanprover-community:mathlib4-nightly-testing:datokrat/functorcomp, discussed at https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/backward.2EisDefEq.2ErespectTransparency), keeping only the bracketing and unit fixes so that future experiments of this kind have less to repair. The `Functor.comp_map` proof changes from that branch are not included, and the corresponding changes for (pre)sheaves of modules are in a separate PR.
The notable API changes are: `limit.pre_pre`, `post_post`, `pre_post` and their duals now relate the two bracketings through `HasLimit.isoOfNatIso (Functor.associator _ _ _)`; `StructuredArrow.final_map₂_id` takes `β : T ⋙ S ⟶ 𝟭 C ⋙ T'`; and `Join.mkNatTrans` and `mkNatIso` carry associators in their (autoparam) compatibility hypothesis.
🤖 Prepared with Claude Code |
tech debt
merge-conflict
|
254/128 |
Mathlib/AlgebraicGeometry/ColimitsOver.lean,Mathlib/CategoryTheory/Abelian/GrothendieckCategory/Subobject.lean,Mathlib/CategoryTheory/Comma/Final.lean,Mathlib/CategoryTheory/Comma/StructuredArrow/Basic.lean,Mathlib/CategoryTheory/Equivalence.lean,Mathlib/CategoryTheory/Filtered/Final.lean,Mathlib/CategoryTheory/Functor/Derived/Adjunction.lean,Mathlib/CategoryTheory/Functor/KanExtension/Basic.lean,Mathlib/CategoryTheory/Join/Basic.lean,Mathlib/CategoryTheory/Limits/Constructions/Over/Connected.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Limits/FunctorCategory/Basic.lean,Mathlib/CategoryTheory/Limits/HasLimits.lean,Mathlib/CategoryTheory/Limits/IndYoneda.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Pullbacks.lean,Mathlib/CategoryTheory/Limits/Shapes/Opposites/Pullbacks.lean,Mathlib/CategoryTheory/Limits/VanKampen.lean,Mathlib/CategoryTheory/Limits/Weighted/PreservesLimit.lean,Mathlib/CategoryTheory/Localization/Adjunction.lean,Mathlib/CategoryTheory/Monad/Limits.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean,Mathlib/CategoryTheory/Monoidal/Multifunctor.lean,Mathlib/CategoryTheory/Opposites.lean,Mathlib/CategoryTheory/Shift/Induced.lean,Mathlib/CategoryTheory/Whiskering.lean |
25 |
16 |
['github-actions', 'kim-em', 'leanprover-radar', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
20-36592 20 days ago |
20-59380 20 days ago |
30-62327 30 days |
0 |
| 42336 |
kim-em author:kim-em |
feat(Tactic): add sum-of-squares tactic |
This PR adds the `leanprover/sos` tactic to Mathlib. See `MathlibTest/Tactic/SOS/Showcase.lean` for example applications.
---
## Review order
The history is deliberately six buildable commits, in this order:
1. `feat(Cache): fetch prebuilt native dependencies` — the Lake/cache boundary, tests, workflow hook, security documentation, and stable engine pin.
2. `feat(Tactic/SOS): add exact certificate verifier` — the small proof-facing polynomial and certificate layer.
3. `feat(Tactic/SOS): add sum-of-squares tactic` — reification, lifting, tactic elaboration, and public imports.
4. `test(Tactic/SOS): cover published examples and trust boundary` — the announcement showcase, Harrison examples, Blekherman–Bodirsky–Raghavendra follow-up examples, division/modulus coverage, issue #50, and axiom audit.
5. `chore(Tactic/SOS): use Lean 4.34 native releases` — the final SOS/CSDP release pins and simplified provider-release fetch.
6. `refactor(Tactic/SOS): share certificate quotation` — moves reusable certificate decompilation, quotation, and formatting into SOS v0.2.4, and removes obsolete commentary and repeated end-to-end examples. This layer reduces the Mathlib diff by 405 lines without removing distinct tactic paths or active negative tests.
## Trust and cache boundary
CSDP is a search oracle, not part of the logical trusted base. The tactic converts its answer to exact rational data and closes the goal through the checked verifier and Lean kernel.
Mathlib's cache command fetches `@CSDP:release` before unpacking the ordinary Lean cache. CSDP v0.1.2 supplies its complete platform build, so a cold checkout retains the normal invariant without compiling CSDP components:
```bash
lake exe cache get
lake build --no-build
```
The checked-in manifest pins the provider source, and the cache helper executes only its explicit allowlist. CSDP does not use Lake's implicit preferred-release job, so an ordinary offline or sandboxed build can still fall back to its bundled portable sources.
The Mathlib requirement points to the immutable, Mathlib-free SOS v0.2.4 release. Its Hex dependencies are likewise pinned to stable releases.
## Required landing order
1. Merge this Mathlib PR while it points to the stable SOS release tag.
2. Update SOS `main` to the staged Mathlib-free engine branch.
3. Make a one-line Mathlib follow-up changing the SOS requirement from the release tag back to `main`.
|
t-meta
merge-conflict
|
4002/2 |
Cache/IO.lean,Cache/Main.lean,Cache/Native.lean,Cache/README.md,Cache/SECURITY.md,Cache/Test.lean,Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/SOS.lean,Mathlib/Tactic/SOS/Certificate.lean,Mathlib/Tactic/SOS/Lift.lean,Mathlib/Tactic/SOS/Polynomial.lean,Mathlib/Tactic/SOS/Raw.lean,Mathlib/Tactic/SOS/Reify.lean,Mathlib/Tactic/SOS/Tactic.lean,Mathlib/Tactic/SOS/Verifier.lean,MathlibTest/Tactic/SOS/Axioms.lean,MathlibTest/Tactic/SOS/BBR.lean,MathlibTest/Tactic/SOS/DivMod.lean,MathlibTest/Tactic/SOS/Examples.lean,MathlibTest/Tactic/SOS/Harrison.lean,MathlibTest/Tactic/SOS/Issue50.lean,MathlibTest/Tactic/SOS/Showcase.lean,docs/workflows.md,lake-manifest.json,lakefile.lean |
26 |
5 |
['JovanGerb', 'github-actions', 'joneugster', 'mathlib-merge-conflicts'] |
nobody |
18-48953 18 days ago |
18-48954 18 days ago |
41-56064 41 days |
0 |
| 41443 |
alreadydone author:alreadydone |
feat(RingTheory/AdjoinRoot): add AdjoinRoot.isFractionRing |
Co-authored-by: Sriram Chinthalagiri Venkata @sriram3301
Co-authored-by: David Kurniadi Angdinata @Multramate
This contribution was created as part of the Heidelberg Lean workshop "Formalising algebraic geometry" in November 2025.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
t-ring-theory
merge-conflict
label:t-algebra$ |
96/9 |
Mathlib/RingTheory/AdjoinRoot.lean,Mathlib/RingTheory/Algebraic/Integral.lean,Mathlib/RingTheory/IsAdjoinRoot.lean,Mathlib/RingTheory/Localization/Algebra.lean |
4 |
15 |
['Multramate', 'alreadydone', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
13-67621 13 days ago |
13-67622 13 days ago |
86-62232 86 days |
0 |
| 44361 |
JovanGerb author:JovanGerb |
chore(Algebra/Homology/ShortComplex): remove many backward options |
This PR removes almost all uses of `backward.isDefEq.respectTransparency` from `Algebra/Homology/ShortComplex` by marking definitions `@[implicit_reducible]` appropriately.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
tech debt
merge-conflict
|
115/309 |
Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/Algebra/Homology/ShortComplex/Exact.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Homology.lean,Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean,Mathlib/Algebra/Homology/ShortComplex/Limits.lean,Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean,Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean,Mathlib/Algebra/Homology/ShortComplex/RightHomology.lean,Mathlib/Algebra/Homology/ShortComplex/SnakeLemma.lean,Mathlib/CategoryTheory/Abelian/Refinements.lean,Mathlib/CategoryTheory/Limits/Cones.lean,Mathlib/CategoryTheory/Limits/IsLimit.lean,Mathlib/CategoryTheory/Limits/Shapes/Kernels.lean |
15 |
10 |
['JovanGerb', 'github-actions', 'grunweg', 'joelriou', 'leanprover-radar', 'mathlib-merge-conflicts', 'robin-carlier'] |
nobody |
13-64594 13 days ago |
13-64596 13 days ago |
26-17539 26 days |
0 |
| 43406 |
luigi-massacci author:luigi-massacci |
ci: add comment with rendered links for PRs with new crossref tags |
Add a new workflow that computes the list of added cross-reference tags, and renders it as a markdown table with the declaration name (as a clickable link to the code line) side by side with the tag (as a clickable link to the corresponding database entry). This is then be added as a comment to the PR.
The possibility to have something like this was discussed before both on Zulip and in the comments of PRs adding tags, as it is currently highly annoying for a reviewer to see exactly what is being referenced to in the database, this should make it significantly easier.
To compute the diffs, I am recycling the existing `export_crossref` infrastructure so that nothing has to be elaborated again, which seems very reasonable to me. I am only making one change to it, namely adding the resolved url to the json computed in `export_crossrefs.lean`. This won't break anything in the downstream `export-crossref` repo (that reads the entries it needs off a dict), but allows this workflow to not have to re-elaborate all the tags. Unfortunately some entry urls (e.g. for pi-base) cannot be extracted just from the database name and id, so it's either this or re-elaborating.
In order to use it, I'm also adding the currently generated and discarded `crossrefs.json`to the `import-graph`. Looking at the current state, I'm neither the first nor the second to piggy-back off of `import-graph`, and by now we should probably change the name in a follow up PR, if I don't misunderstand something.
Note that the new workflow file is mostly identical to the existing `declDiff`, the changes only start at line 153 (out of 214).
This is the corresponding PR to mathlib-ci for the script that computes the table: https://github.com/leanprover-community/mathlib-ci/pull/68
I've also made a [PR to the crossref-export](https://github.com/leanprover-community/crossref-exports/pulls) repo adjusting the documentation (README).
One thing is I made a documentation choice that can be discussed: I've removed all explicit references to the existing tags from the various script doc-strings and markdown docs, and replaced them with generic phrases. The reason is that every single one was out of date with what is currently in mathlib, and it seems an unnecessary maintenance burden to list the available databases in all those places, especially since none of the scripts actually care (they are not hard-coded).
AI use: I've never added anything to CI before so I had Claude help me a bit with the first draft.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #44817
[](https://gitpod.io/from-referrer/)
|
CI
LLM-generated
merge-conflict
|
236/15 |
.github/workflows/build_template.yml,.github/workflows/crossref-diff.yml,.github/workflows/export_crossrefs.yml,docs/workflows.md,scripts/README.md,scripts/export_crossrefs.lean |
6 |
9 |
['SnirBroshi', 'github-actions', 'luigi-massacci', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
12-57452 12 days ago |
27-22355 27 days ago |
39-59235 39 days |
0 |
| 42735 |
FrankieNC author:FrankieNC |
chore(Probability/ProbabilityMassFunction): remove defeq option in Monad |
Remove the `set_option backward.isDefEq.respectTransparency` false in `Mathlib/Probability/ProbabilityMassFunction/Monad.lean`, on `bindOnSupport_bindOnSupport`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
t-measure-probability
merge-conflict
|
10/9 |
Mathlib/Probability/ProbabilityMassFunction/Monad.lean |
1 |
6 |
['FrankieNC', 'JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
12-55349 12 days ago |
12-55350 12 days ago |
70-46064 70 days |
0 |
| 44718 |
vihdzp author:vihdzp |
feat: finite index subgroups of ℤ biject with ℕ+ |
This will be used to justify the construction of `ZHat` as sequences `Π n : ℕ+, ZMod n`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
This material is only used for the profinite completion of groups, which is already quite deep in the import chain, so I think this import increase is fine.
The increase in tech debt is due to the fact that `ℕ+` does not have its own constructor, and instead reuses that of `Subtype`, which causes type mismatches. The solution, outside of the scope of this PR, would be to create a `PNat.mk` constructor, or to make `ℕ+` an abbrev.
- [x] depends on: #44956
- [x] depends on: #44957 |
large-import
increases-technical-debt
t-group-theory
merge-conflict
|
94/18 |
Mathlib/Algebra/Group/Subgroup/ZPowers/Basic.lean,Mathlib/Algebra/Order/Group/Cyclic.lean,Mathlib/GroupTheory/ArchimedeanDensely.lean,Mathlib/GroupTheory/FiniteIndexNormalSubgroup.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/OrderOfElement.lean,Mathlib/GroupTheory/ResiduallyFinite.lean,Mathlib/GroupTheory/SpecificGroups/Cyclic/Subgroup.lean,Mathlib/NumberTheory/ModularForms/Cusps.lean,Mathlib/Topology/Algebra/Order/ArchimedeanDiscrete.lean,Mathlib/Topology/Instances/AddCircle/DenseSubgroup.lean |
11 |
9 |
['JX-Mo', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536', 'vihdzp'] |
nobody |
12-41949 12 days ago |
23-25061 23 days ago |
6-10504 6 days |
0 |
| 44031 |
kim-em author:kim-em |
chore: apply mergeWithGrind suggestions from the weekly linting report |
This PR applies the `linter.tacticAnalysis.mergeWithGrind` suggestions from the weekly linting report of 2026-09-21 (https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Weekly.20linting.20log/near/625644995): in each flagged proof the tactic preceding a terminal `grind` call is redundant and is removed. In `Combinatorics/SimpleGraph/Acyclic.lean` this also restores the original proof recorded in an adaptation note, which now works again.
Three of the 22 suggestions were false positives and are not applied: under `all_goals tac; grind` the linter only tests the first goal, and the other goals still need `tac` (`Combinatorics/SimpleGraph/Extremal/Turan.lean` and two lemmas in `Analysis/SpecialFunctions/Log/Basic.lean`).
🤖 Prepared with Claude Code |
tech debt
LLM-generated
merge-conflict
|
10/46 |
Mathlib/Algebra/QuadraticAlgebra/Discriminant.lean,Mathlib/Algebra/Star/NonUnitalSubalgebra.lean,Mathlib/AlgebraicTopology/SimplexCategory/ToMkOne.lean,Mathlib/AlgebraicTopology/SimplicialObject/ChainHomotopy.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Maps.lean,Mathlib/Combinatorics/SimpleGraph/Tutte.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Multiset/Find.lean,Mathlib/MeasureTheory/VectorMeasure/IntegrationByParts.lean,Mathlib/NumberTheory/FundamentalDiscriminant.lean,Mathlib/NumberTheory/Height/EllipticCurve.lean,Mathlib/NumberTheory/LucasLehmer.lean,Mathlib/Topology/Instances/AddCircle/Defs.lean |
16 |
6 |
['felixpernegger', 'github-actions', 'grunweg', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
12-37716 12 days ago |
12-37717 12 days ago |
36-64934 36 days |
0 |
| 38534 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability): make `PFun` a one-field structure |
This PR refactors `PFun` from `def PFun α β := α → Part β` to a structure with a `FunLike` instance.
[Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29)
### Main changes
- Redefine `PFun` as a structure with one field, `toFun : α → Part β`.
- Add the `FunLike (α →. β) α (Part β)` instance and configure `simps` projections.
- Add the projection and application simp lemmas required by the structure wrapper.
- Add `fun x ↦. ...` notation for partial-function literals.
- Adapt downstream equality proofs to use `PFun.ext` or `DFunLike.ext` where
`funext` no longer applies directly.
- Remove 33 local `backward.isDefEq.respectTransparency false` workarounds that
are no longer needed after the refactor.
### Downstream impact
The refactor mainly impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). Since `PFun` is no longer definitionally equal to `α → Part β`, tactics such as `rfl`, `simp`, and `funext` can no longer always see through the old raw-function representation.
### Note on LLM usage
The core `PFun` change caused numerous downstream errors. I initially used an LLM to help draft fixes for these files. Afterwards, I spent a significant amount of time manually correcting and modifying all of the generated changes. |
new-contributor
t-computability
tech debt
LLM-generated
merge-conflict
|
599/544 |
Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean |
13 |
79 |
['AlexeyMilovanov', 'JovanGerb', 'YaelDillies', 'dagurtomas', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
12-13298 12 days ago |
47-71224 47 days ago |
118-17573 118 days |
0 |
| 43774 |
justus-springer author:justus-springer |
refactor(*): use `IsSelfInv` and `IsSelfNeg` |
Use the recently added `IsSelfInv` and `IsSelfNeg` to do some small refactors. In particular:
- In `Combinatorics/Additive/ApproximateSubgroup`, use `IsSelfInv`/`IsSelfNeg` in the definition of approximate subgroups. Proofs get slightly shorter.
- In `Geometry/Group/Growth/QuotientInter`, `Topology/Algebra/Group/OpenMapping` and `Topology/Algebra/Group/Pointwise`: Replace hypotheses of the form `A⁻¹ = A` and `∀ x ∈ s, x⁻¹ ∈ s` by `IsSelfInv`. Mainly a cosmetic change.
- `Topology/Algebra/OpenSubgroup`: Use `IsSelfNeg` in the definition of `IsTopologicalAddGroup.addNegClosureNhd`. This allows for a 5-line golf.
Generative AI was used to search Mathlib for possibilities of using `IsSelfInv`/`IsSelfNeg` and suggest refactors. I reviewed every line and did small tweaks.
- [x] depends on: #43773
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
LLM-generated
merge-conflict
|
139/56 |
Mathlib.lean,Mathlib/Algebra/Group/Pointwise/Finset/SelfInv.lean,Mathlib/Algebra/Group/Pointwise/Set/SelfInv.lean,Mathlib/Combinatorics/Additive/ApproximateSubgroup.lean,Mathlib/Combinatorics/Additive/SmallTripling.lean,Mathlib/Geometry/Group/Growth/QuotientInter.lean,Mathlib/Topology/Algebra/Group/CompactOpen.lean,Mathlib/Topology/Algebra/Group/OpenMapping.lean,Mathlib/Topology/Algebra/Group/Pointwise.lean,Mathlib/Topology/Algebra/OpenSubgroup.lean |
10 |
7 |
['eric-wieser', 'github-actions', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
11-4850 11 days ago |
11-4851 11 days ago |
0-3408 56 minutes |
0 |
| 45045 |
ooovi author:ooovi |
chore(Geometry/Convex): creating convex set folder |
Creates a folder for results about convex sets, and moves appropriate files there.
---
I want to define faces of convex sets, and this folder is where they should live.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
file-removed
t-convex-geometry
merge-conflict
|
6/6 |
Mathlib.lean,Mathlib/Geometry/Convex/ConvexSpace/Module.lean,Mathlib/Geometry/Convex/Set/Basic.lean,Mathlib/Geometry/Convex/Set/Hull.lean,Mathlib/Geometry/Convex/Set/Star.lean |
5 |
4 |
['github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
10-62666 10 days ago |
10-62667 10 days ago |
9-64069 9 days |
1 |
| 45145 |
mathlib-splicebot author:mathlib-splicebot |
chore(NumberTheory/NumberField/Completion/InfinitePlace): fix a zsmul diamond |
Found by the linter in #38781.
Co-authored-by: Jovan Gerbscheid <jovan.gerbscheid@gmail.com> |
merge-conflict
t-number-theory
tech debt
|
4/1 |
Mathlib/NumberTheory/NumberField/Completion/InfinitePlace.lean |
1 |
5 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts', 'smmercuri', 'tb65536'] |
nobody |
9-73185 9 days ago |
9-73186 9 days ago |
8-83459 8 days |
0 |
| 43577 |
javgomzar author:javgomzar |
chore(Order/BooleanAlgebra): Add push tags |
Add push tags to some lemmas in Mathlib/Order/BooleanAlgebra/Set.lean
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
merge-conflict
|
19/4 |
Mathlib/Order/BooleanAlgebra/Set.lean |
1 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-29388 9 days ago |
9-29389 9 days ago |
52-39990 52 days |
0 |
| 45576 |
felixpernegger author:felixpernegger |
chore: replace _ with - in patterns whenever possible |
This PR replaces `-` with `_` in `rcases`, `rintro` and `obtain` whenever possible. While `_` gives a hypothesis/parameter an anonymous name, `-` removes it from the context. So in theory, in should be faster for things like `simp_all` and `grind`. About 2/3 rds of all patterns were replaceable, the number of `-` in those patterns rose from 2136 to 5248.
I made this PR since I expected gains, but oh well (however in theory one can construct artifical examples where it indeed makes a difference)... (there are small improvments in some files though)
Nevertheless, this PR increases readability of the infoview.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
tech debt
merge-conflict
|
2300/2300 |
Archive/Arithcc.lean,Archive/Imo/Imo2006Q5.lean,Archive/Imo/Imo2008Q2.lean,Archive/Imo/Imo2024Q3.lean,Archive/Imo/Imo2025Q3.lean,Archive/Kuratowski.lean,Archive/Sensitivity.lean,Archive/Wiedijk100Theorems/BallotProblem.lean,Archive/Wiedijk100Theorems/CubingACube.lean,Archive/Wiedijk100Theorems/InverseTriangleSum.lean,Archive/ZagierTwoSquares.lean,Counterexamples/AharoniKorman.lean,Counterexamples/CanonicallyOrderedCommSemiringTwoMul.lean,Counterexamples/CliffordAlgebraNotInjective.lean,Counterexamples/GrothendieckPower.lean,Counterexamples/HomogeneousPrimeNotPrime.lean,Counterexamples/PolynomialIsDomain.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Subalgebra/Centralizer.lean,Mathlib/Algebra/Algebra/Subalgebra/Lattice.lean,Mathlib/Algebra/Algebra/Subalgebra/Operations.lean,Mathlib/Algebra/BigOperators/Group/Finset/Basic.lean,Mathlib/Algebra/BigOperators/Intervals.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/Basic.lean,Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/CharP/Lemmas.lean,Mathlib/Algebra/ContinuedFractions/Computation/Approximations.lean,Mathlib/Algebra/ContinuedFractions/Computation/TerminatesIffRat.lean,Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/FreeMonoid/FreeSemigroup.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Center.lean,Mathlib/Algebra/Group/Commute/Units.lean,Mathlib/Algebra/Group/ModEq.lean,Mathlib/Algebra/Group/Monoid.lean,Mathlib/Algebra/Group/Nat/Range.lean,Mathlib/Algebra/Group/Pointwise/Set/Basic.lean,Mathlib/Algebra/Group/Subgroup/Ker.lean,Mathlib/Algebra/Group/Subgroup/Lattice.lean,Mathlib/Algebra/Group/Subgroup/Map.lean,Mathlib/Algebra/Group/Submonoid/Membership.lean,Mathlib/Algebra/Group/Submonoid/Operations.lean,Mathlib/Algebra/Group/Subsemigroup/Membership.lean,Mathlib/Algebra/Group/Subsemigroup/Operations.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/GroupWithZero/ProdHom.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/BifunctorHomotopy.lean,Mathlib/Algebra/Homology/DerivedCategory/Ext/EnoughProjectives.lean,Mathlib/Algebra/Homology/DerivedCategory/Fractions.lean,Mathlib/Algebra/Homology/Embedding/Boundary.lean,Mathlib/Algebra/Homology/Embedding/Connect.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/HomologicalComplex.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory.lean,Mathlib/Algebra/Homology/LeftResolution/Basic.lean,Mathlib/Algebra/Homology/QuasiIso.lean,Mathlib/Algebra/Homology/ShortComplex/Ab.lean,Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean,Mathlib/Algebra/Homology/ShortComplex/Pullback.lean,Mathlib/Algebra/Homology/ShortComplex/Pushout.lean,Mathlib/Algebra/Lie/Basis/Prod.lean,Mathlib/Algebra/Lie/CartanExists.lean,Mathlib/Algebra/Lie/EngelSubalgebra.lean,Mathlib/Algebra/Lie/IdealOperations.lean,Mathlib/Algebra/Lie/InvariantForm.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Semisimple/Basic.lean,Mathlib/Algebra/Lie/Solvable.lean,Mathlib/Algebra/Lie/Subalgebra.lean,Mathlib/Algebra/Lie/Submodule.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/IsSimple.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Algebra/Module/LocalizedModule/Away.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/LocalizedModule/Int.lean,Mathlib/Algebra/Module/LocalizedModule/Submodule.lean,Mathlib/Algebra/Module/PID.lean,Mathlib/Algebra/Module/Presentation/Basic.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Submodule/Bilinear.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Pointwise.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Algebra/MonoidAlgebra/Ideal.lean,Mathlib/Algebra/MvPolynomial/Basic.lean |
1197 |
4 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
6-28951 6 days ago |
6-28952 6 days ago |
0-64557 17 hours |
0 |
| 35881 |
astrainfinita author:astrainfinita |
chore: do not use `inf` `sup` in `LinearOrder` lemmas |
`max` and `sup` have been unified into the same function. It is no longer necessary to create lemmas about `sup` for `LinearOrder`.
This PR moves `max` lemmas to an earlier file to ensure that files importing deprecated `sup` lemmas can use them.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #35841
- [ ] depends on: #35880
- [ ] depends on: #42373
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
71/62 |
Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/PosPart.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/AlgebraicGeometry/OrderOfVanishing.lean,Mathlib/Analysis/Analytic/Basic.lean,Mathlib/Analysis/Analytic/ConvergenceRadius.lean,Mathlib/Analysis/CStarAlgebra/Basic.lean,Mathlib/Analysis/Complex/OpenMapping.lean,Mathlib/Analysis/Complex/UpperHalfPlane/ProperAction.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Analysis/Normed/Module/Seminorm/Basic.lean,Mathlib/Data/Finset/Lattice/Fold.lean,Mathlib/Data/Nat/Factorization/LCM.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/Measure/Stieltjes.lean,Mathlib/MeasureTheory/PiSystem.lean,Mathlib/NumberTheory/AbelSummation.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/Order/BoundedOrder/Lattice.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Filter/ENNReal.lean,Mathlib/Order/Heyting/Basic.lean,Mathlib/Order/Interval/Set/LinearOrder.lean,Mathlib/Order/Lattice.lean,Mathlib/Probability/Moments/Basic.lean,Mathlib/Probability/Moments/IntegrableExpMul.lean,Mathlib/Probability/Process/LocalProperty.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder.lean,Mathlib/RingTheory/MvPowerSeries/GaussNorm.lean,Mathlib/RingTheory/Polynomial/HilbertPoly.lean,Mathlib/RingTheory/PowerSeries/WeierstrassPreparation.lean,Mathlib/RingTheory/Valuation/Basic.lean,Mathlib/Topology/MetricSpace/Algebra.lean,Mathlib/Topology/MetricSpace/BundledFun.lean,Mathlib/Topology/MetricSpace/Infsep.lean,Mathlib/Topology/Semicontinuity/Basic.lean,Mathlib/Topology/Sion.lean |
39 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
5-50169 5 days ago |
5-50170 5 days ago |
46-51029 46 days |
0 |
| 44024 |
kim-em author:kim-em |
chore: remove backward.privateInPublic in algebra, combinatorics and number theory |
This PR removes the `backward.privateInPublic` option in 9 files across algebra, combinatorics, number theory, order theory and set theory. In each case a private definition appeared in the statement of a public declaration, so it was already part of the public interface in all but name. The fix is to drop `private` from those definitions, adding docstrings where they were missing. In `Algebra/EuclideanDomain/Basic` the opposite direction is cleaner: the only consumer `xgcdAux_P` becomes private as well, matching the existing setup in `Data/Int/GCD`. In `Combinatorics/SetFamily/FourFunctions` the definition becomes `Finset.collapse` rather than a root-level name. In `Combinatorics/SetFamily/KruskalKatona` the predicate is marked `@[expose]`, since the file's `public section` is not exposed and the `DecidableRel` instance needs to unfold it.
Files where a private *lemma* appeared in a public statement are handled by wrapping the use site instead, in #44032. Names are kept as they were (for example `Pell.d`); suggestions for better names are welcome but are not needed for this PR.
🤖 Prepared with Claude Code |
tech debt
merge-conflict
|
14/107 |
Mathlib/Algebra/EuclideanDomain/Basic.lean,Mathlib/Algebra/FreeAlgebra.lean,Mathlib/Combinatorics/SetFamily/FourFunctions.lean,Mathlib/Combinatorics/SetFamily/KruskalKatona.lean,Mathlib/Combinatorics/SimpleGraph/Regularity/Increment.lean,Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/SetTheory/Ordinal/Notation.lean |
9 |
4 |
['JovanGerb', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
5-6506 5 days ago |
5-6507 5 days ago |
44-16029 44 days |
0 |
| 45024 |
kim-em author:kim-em |
feat(linter): reject commands scoped with in section |
Commands such as `variable ... in section` do not open the section that their layout suggests: the generated `end` closes the inner section immediately and leaves the generated outer scope open. Named sections fail outright. Prefer opening a section first and putting the command inside it.
Add `linter.style.inSection` to the standard linter set for any command prefix ending in `section`, including `omit`, `include`, `variable`, `set_option`, `open`, `attribute`, local notation, and `universe`. The check uses the generic command-level `in` syntax instead of a list of command names. Nested prefixes receive one warning; scoped linter options are respected. The check lives in the existing style-linter module and adds no imports or separate source scan.
Fix both existing library uses: `Mathlib/Data/TypeVec.lean` (`variable`) and `Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean` (`omit`). Preserve the eight intentional `set_option ... in section` test blocks in two existing test files with local opt-outs.
Tests cover all eight command forms above, multiline syntax and comments, section modifiers, nested wrappers, option disabling/re-enabling, valid per-declaration and ordinary section forms, quotations, strings, and elaboration failures. The new test file and both modified test files pass. Both changed library modules compile with the standard linter set and warnings as errors; all 327 compiled declaration-type fingerprints are unchanged. Text-style lint and `git diff --check` pass.
This PR targets current `master` independently of #45016 and #45017, and does not decide whether plain `omit` should be restricted.
:robot: prepared with Codex
|
maintainer-merge
t-linter
merge-conflict
|
274/2 |
Mathlib/CategoryTheory/Limits/Shapes/Pullback/IsPullback/BicartesianSq.lean,Mathlib/Data/TypeVec.lean,Mathlib/Init.lean,Mathlib/Tactic/Linter/Style.lean,MathlibTest/Linter/DeprecatedSyntax.lean,MathlibTest/Linter/InSection.lean,MathlibTest/Linter/TextBased.lean |
7 |
8 |
['adomani', 'github-actions', 'joneugster', 'leanprover-radar', 'mathlib-merge-conflicts'] |
nobody |
5-5481 5 days ago |
5-5482 5 days ago |
16-2867 16 days |
0 |
| 44490 |
staroperator author:staroperator |
feat(Order/Preorder/Chain): add `IsLEChain` and `IsLTChain` abbreviations |
`IsLEChain` and `IsLTChain` are abbreviations for `IsChain (· ≤ ·)` and `IsChain (· < ·)`. The motivation to add new abbreviations includes:
- canonizing `to_dual` translation (currently `IsChain (· ≤ ·)` are translated into `IsChain (· ≥ ·)`, which is equivalent via `IsChain.symm`)
- separating properties of `≤`-chain and `<`-chain under different namespaces (they are not equivalent in preorders, the former is strictly weaker, and the latter correspond to linearly ordered subsets)
- (maybe) promoting the use of `<`-chain
Feel free to discuss the design in [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Order.20dual.20tactic/near/628982679).
As a TODO, Zorn's lemmas can be reproved under `<`-chains, which are more general in preorders.
This PR does not add `IsMaxLEChain` for `IsMaxChain (· ≤ ·)`, considering they only have 10 usages so far, mainly associated with `Flag`.
This PR adds `to_dual` to [`IsCoatomic.of_isChain_bounded`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/ZornAtoms.html#IsCoatomic.of_isChain_bounded). It also changes the signatures of existing [`zorn_ge`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Zorn.html#zorn_ge) etc. from `IsChain (· ≥ ·)` into `IsChain (· ≤ ·)`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order
merge-conflict
|
186/128 |
Counterexamples/AharoniKorman.lean,Mathlib/Algebra/Module/Injective.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Cone/Extension.lean,Mathlib/Data/Fin/FlagRange.lean,Mathlib/FieldTheory/Extension.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/LinearAlgebra/Basis/Flag.lean,Mathlib/Order/BourbakiWitt.lean,Mathlib/Order/Extension/Linear.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,Mathlib/Order/OrderIsoNat.lean,Mathlib/Order/Preorder/Chain.lean,Mathlib/Order/Zorn.lean,Mathlib/Order/ZornAtoms.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/MinimalPrime/Basic.lean,Mathlib/RingTheory/Ideal/Oka.lean,Mathlib/RingTheory/PrincipalIdealDomain.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Kaplansky.lean,Mathlib/SetTheory/Cardinal/EventuallyConst.lean,Mathlib/Topology/ShrinkingLemma.lean |
22 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'staroperator', 'vihdzp'] |
nobody |
3-64351 3 days ago |
3-64352 3 days ago |
31-80362 31 days |
2 |
| 42782 |
j-loreaux author:j-loreaux |
refactor: update `spectralRadius` material to assume `HasSummableGeomSeries` instead of `CompleteSpace` |
The elementary results involving the spectral radius only require that geometric series converge, not that the space is complete. This PR updates the lemmas to take this hypothesis instead.
At the same time, we also remove `NormOneClass` assumptions from several theorems, and deprecate the corresponding lemmas featuring `‖1‖`. This is because we can pass to `WithLp 1 (Unitization 𝕜 A)` in proofs, which also satisfies `HasSummableGeomSeries` whenever `A` does. Previously, the same technique was not possible with the `CompleteSpace` assumption without additionally assuming that `𝕜` is complete.
Finally, we add `HasSummableGeomSeries` instance for closed subrings of a ring with this property.
---
- [x] depends on: #42779
- [x] depends on: #44081
- [x] depends on: #44082
- [x] depends on: #44083
- [x] depends on: #44085
- [x] depends on: #44087
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
tech debt
merge-conflict
|
692/558 |
Mathlib/Analysis/CStarAlgebra/Spectrum.lean,Mathlib/Analysis/InnerProductSpace/Rayleigh.lean,Mathlib/Analysis/InnerProductSpace/Spectrum.lean,Mathlib/Analysis/Normed/Algebra/Basic.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Operator/NNNorm.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,Mathlib/MeasureTheory/Measure/ResolventTransform.lean |
10 |
18 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
3-57739 3 days ago |
3-57740 3 days ago |
3-3042 3 days |
0 |
| 45196 |
eric-wieser author:eric-wieser |
feat(Analysis/Matrix/Norm): norm inequalities |
This shows that
```math
\begin{aligned}
\|A\|_{\max} &\le \|A\|_\infty \le |n| \|A\|_{\max}, &
\|A\|_\infty &\le \sqrt{|n|} \|A\|_F, \\
\|A\|_{\max} &\le \|A\|_F \le \sqrt{|m||n|} \|A\|_{\max}, &
\|A\|_F &\le \sqrt{|m|} \|A\|_\infty.
\end{aligned}
```
And some more results for the $$\ell_2$$ norm.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-analysis
t-algebra
merge-conflict
label:t-algebra$ |
229/2 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean,Mathlib/Analysis/Matrix/Normed.lean |
2 |
9 |
['eric-wieser', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mcdoll'] |
nobody |
3-51097 3 days ago |
3-51099 3 days ago |
14-3643 14 days |
0 |
| 45680 |
felixpernegger author:felixpernegger |
chore(Analysis): remove unused hypothesis |
Removes unused hypothesis from #45673 in Analysis. |
t-analysis
LLM-generated
merge-conflict
|
173/108 |
Mathlib/Analysis/Analytic/Constructions.lean,Mathlib/Analysis/Analytic/OfScalars.lean,Mathlib/Analysis/Analytic/Order.lean,Mathlib/Analysis/Calculus/Taylor.lean,Mathlib/Analysis/Complex/JensenFormula.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/Strict/Extreme.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/Meromorphic/Order.lean,Mathlib/Analysis/Normed/Algebra/GelfandFormula.lean,Mathlib/Analysis/Normed/Algebra/Spectrum.lean,Mathlib/Analysis/Normed/Module/Convex.lean,Mathlib/Analysis/Normed/Operator/Basic.lean,Mathlib/Analysis/Normed/Unbundled/SeminormFromConst.lean,Mathlib/Analysis/PSeries.lean,Mathlib/Analysis/Polynomial/MahlerMeasure.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean,Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/RootsExtrema.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean,Mathlib/NumberTheory/LSeries/SumCoeff.lean |
26 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
3-13540 3 days ago |
3-50305 3 days ago |
0-85064 23 hours |
1 |
| 45594 |
marcelolynch author:marcelolynch |
ci: retire the legacy Lean nightly pipeline |
Stop the daily merge into `mathlib4-nightly-testing`. Remove the legacy toolchain updater and the workflow that reports nightly results and creates tags and adaptation PRs.
The daily checks test `master` and the newest canonical `bump/v4.*.0` branch. Each run pins the bump commit and uses that commit in its Zulip reports. The `master` checks still run if branch resolution fails.
Move `AesopTest` from the fork-only step in `build_template.yml` into a separate daily job. Report success and failure to Zulip. Keep the daily leanchecker, test executable, and nanoda checks.
The scheduled checks test the canonical bump branch, which receives reviewed adaptations through `downstream-lean4`. Update the workflow reference and remove obsolete helper examples.
Validation: Actionlint and `git diff --check` pass. Branch resolution and the reporting changes passed focused review. Full scheduled builds await deployment.
Prepared with Codex to inspect the workflow dependencies and update the scheduled checks.
|
CI
merge-conflict
|
165/1136 |
.github/actions/get-mathlib-ci/README.md,.github/workflows/build_template.yml,.github/workflows/daily-master-tag.yml,.github/workflows/daily.yml,.github/workflows/decls-diff.yml,.github/workflows/nightly_bump_toolchain.yml,.github/workflows/nightly_detect_failure.yml,.github/workflows/nightly_merge_master.yml,.github/workflows/publish_tools.yml,.github/workflows/zulip_emoji_reconcile.yml,.github/zulip-emoji-config-nightly.json,docs/workflows.md |
12 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-1187 3 days ago |
3-1189 3 days ago |
3-74716 3 days |
0 |
| 45692 |
felixpernegger author:felixpernegger |
chore(NumberTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in NumberTheory. |
t-number-theory
LLM-generated
merge-conflict
|
100/62 |
Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/ArithmeticFunction/Misc.lean,Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Divisors.lean,Mathlib/NumberTheory/FLT/Polynomial.lean,Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/LegendreSymbol/Basic.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean,Mathlib/NumberTheory/NumberField/Ideal/Basic.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/PellMatiyasevic.lean,Mathlib/NumberTheory/PowModTotient.lean,Mathlib/NumberTheory/RamificationInertia/Ramification.lean,Mathlib/NumberTheory/Real/Irrational.lean |
19 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-1061 3 days ago |
3-1062 3 days ago |
1-47105 1 day |
1 |
| 45648 |
vihdzp author:vihdzp |
chore: dualize `Finset.Ixx` theorems |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-order
merge-conflict
|
135/279 |
Mathlib/Order/Interval/Finset/Basic.lean |
1 |
6 |
['JovanGerb', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-78850 2 days ago |
4-21270 4 days ago |
1-5118 1 day |
0 |
| 43122 |
harahu author:harahu |
chore(Tactic): tidy markdown headers |
This PR ensures files in `Mathlib/Tactic` have one and only one H1 header.
In the cases where the file did not already have an obvious H1 header candidate, a new header was authored by Claude Opus 5.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
58/37 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/DSimpPercent.lean,Mathlib/Tactic/DeclarationNames.lean,Mathlib/Tactic/DepRewrite.lean,Mathlib/Tactic/FunProp/Attr.lean,Mathlib/Tactic/FunProp/Decl.lean,Mathlib/Tactic/FunProp/Elab.lean,Mathlib/Tactic/FunProp/FunctionData.lean,Mathlib/Tactic/FunProp/Mor.lean,Mathlib/Tactic/FunProp/Theorems.lean,Mathlib/Tactic/FunProp/ToBatteries.lean,Mathlib/Tactic/FunProp/Types.lean,Mathlib/Tactic/GuardGoalNums.lean,Mathlib/Tactic/GuardHypNums.lean,Mathlib/Tactic/Inhabit.lean,Mathlib/Tactic/Linarith.lean,Mathlib/Tactic/Linter/Style.lean,Mathlib/Tactic/Linter/TextBased.lean,Mathlib/Tactic/Linter/UpstreamableDecl.lean,Mathlib/Tactic/NormNum/Core.lean,Mathlib/Tactic/NormNum/OfScientific.lean,Mathlib/Tactic/NormNum/Pow.lean,Mathlib/Tactic/NormNum/Result.lean,Mathlib/Tactic/Positivity/Basic.lean,Mathlib/Tactic/Positivity/Core.lean,Mathlib/Tactic/Ring/NamePolyVars.lean,Mathlib/Tactic/Ring/NamePowerVars.lean,Mathlib/Tactic/SplitIfs.lean,Mathlib/Tactic/Tauto.lean,Mathlib/Tactic/ToAdditive.lean,Mathlib/Tactic/ToDual.lean,Mathlib/Tactic/Widget/CommDiag.lean |
36 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-53444 2 days ago |
2-53445 2 days ago |
57-83876 57 days |
0 |
| 37838 |
Thmoas-Guan author:Thmoas-Guan |
feat(FieldTheory): basic theories about transcendental separable extension |
The formalization of [Stacks 030W] via [Stacks 030U].
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #37934
- [x] depends on: #39138
- [x] depends on: #39740
[](https://gitpod.io/from-referrer/)
|
t-algebra
large-import
merge-conflict
label:t-algebra$ |
453/16 |
Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/FieldTheory/TranscendentalSeparable.lean,Mathlib/RingTheory/LocalProperties/Reduced.lean |
3 |
39 |
['Multramate', 'Thmoas-Guan', 'github-actions', 'jjdishere', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
2-38922 2 days ago |
2-38923 2 days ago |
55-40472 55 days |
1 |
| 42766 |
harahu author:harahu |
chore(Order): tidy markdown headers |
This PR:
- Ensures all files in `Mathlib/Order` have an H1 header.
- Aligns some H2 headers with the examples in the documentation style guide.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
merge-conflict
|
8/5 |
Mathlib/Order/Comparable.lean,Mathlib/Order/CompleteSublattice.lean,Mathlib/Order/Completion.lean,Mathlib/Order/Interval/Set/OrdConnectedLinear.lean,Mathlib/Order/Quotient.lean,Mathlib/Order/Types/Arithmetic.lean |
6 |
2 |
['Multramate', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-37221 2 days ago |
2-37222 2 days ago |
84-56591 84 days |
0 |
| 44294 |
harahu author:harahu |
doc(RepresentationTheory): add module doc headers for Action and Equiv |
Add H1 module doc headers for `Mathlib/RepresentationTheory/Action.lean` and `Mathlib/RepresentationTheory/Equiv.lean`.
Split out from #42795 to allow the mechanical header cleanups to be merged separately.
---
[](https://gitpod.io/from-referrer/)
|
t-algebra
merge-conflict
label:t-algebra$ |
5/1 |
Mathlib/RepresentationTheory/Action.lean,Mathlib/RepresentationTheory/Equiv.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-36388 2 days ago |
2-36389 2 days ago |
39-41528 39 days |
0 |
| 38964 |
smmercuri author:smmercuri |
chore(Algebra): consolidate variables and sections for `AlgHom`/`AlgEquiv` |
This is a preparatory PR for the refactor of `AlgHom` to be semilinear (see #38376). This PR does not add or remove any results and only moves things around to reduce the diff for the future refactor. Namely, we do the following:
- Re-order variables in `AlgHom` and `AlgEquiv` so that `CommSemiring R` directly follows `R`. This is needed in the semialgebra definition.
- Move `comp` and `trans` API later in respective files so that the extra variables needed for those lemmas can be sectioned better.
- Similarly move some `congr` results in `Equiv.lean` to their own sections.
- Align variable names in `Equiv.lean` to match `Hom.lean`
---
- [x] depends on: #38950
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
merge-conflict |
374/353 |
Mathlib/Algebra/Algebra/Equiv.lean,Mathlib/Algebra/Algebra/Hom.lean,Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/FieldTheory/Galois/Basic.lean,Mathlib/FieldTheory/Galois/Notation.lean,Mathlib/FieldTheory/Normal/Basic.lean,Mathlib/FieldTheory/SeparableDegree.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/Polynomial/Quotient.lean,Mathlib/RingTheory/Smooth/IntegralClosure.lean,MathlibTest/GalNotation.lean |
11 |
22 |
['Multramate', 'SnirBroshi', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'smmercuri'] |
nobody |
1-76279 1 day ago |
1-76280 1 day ago |
58-20235 58 days |
1 |
| 42788 |
andreylukin author:andreylukin |
feat(Combinatorics/Sperner): define facet incidence data |
## Summary
Adds a small finite facet-ridge incidence interface intended as a prerequisite for the general Sperner lemma (#25231).
- defines finite facets, ridges, and their incidence relation;
- assumes every ridge has one or two cofacets;
- defines boundary and interior ridges and proves that they are disjoint and partition the ridges.
This deliberately does not claim the geometric Sperner theorem. A future development must connect finite triangulations of the standard simplex to this incidence interface and establish the required coface-count property.
## Validation
- `lake build Mathlib.Combinatorics.Sperner.Basic`
- `lake env lean -DwarningAsError=false Mathlib.lean`
Towards #25231
|
t-combinatorics
new-contributor
merge-conflict
|
117/0 |
Mathlib.lean,Mathlib/Combinatorics/Sperner/Basic.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-75169 1 day ago |
1-75170 1 day ago |
84-7627 84 days |
0 |
| 42888 |
forxhunter author:forxhunter |
feat(Combinatorics/SimpleGraph): abstract polymer model and the Kotecký–Preiss criterion |
This PR introduces the abstract polymer model of statistical mechanics and the classical
convergence criteria for its cluster expansion, in
`Mathlib/Combinatorics/SimpleGraph/ClusterExpansion.lean`.
The central object is the partition function over independent subsets of a finite family
`Λ` in a graph `G` of incompatibilities, with activities (weights) `w`:
`G.indepPartitionFunction w Λ = ∑ S ⊆ Λ independent in G, ∏ v ∈ S, w v`
As a graph invariant this is the **multivariate independence polynomial** (the
independent-set polynomial of Scott–Sokal) of the subgraph induced on `Λ`, evaluated at `w`;
in statistical mechanics it is the partition function of the abstract polymer model /
hard-core lattice gas. Mathlib has `SimpleGraph.IsIndepSet` (and `IsNIndepSet`, `indepNum`,
…) but — as far as I can find — no independence polynomial in any form; the definition here
is built directly on `IsIndepSet` and is stated for weights in an arbitrary `CommSemiring`.
Main results:
* `SimpleGraph.indepPartitionFunction_deletion`: the deletion identity
`Z Λ = Z (Λ.erase v) + w v * Z (Λ \ N[v])` (over any `CommSemiring`), the induction
backbone of the whole theory.
* `SimpleGraph.DobrushinCriterion` / `SimpleGraph.KoteckyPreissCriterion`: the two classical
sufficient convergence conditions as `Prop`-valued structures, and
`KoteckyPreissCriterion.toDobrushinCriterion`: KP implies Dobrushin via the explicit
damping ansatz `x v = 1 - exp (-(|w v| * exp (a v)))`.
* `SimpleGraph.DobrushinCriterion.indepPartitionFunction_pos`: **nonvanishing** — for signed
real activities satisfying Dobrushin's condition, `0 < Z Λ` for every finite `Λ`, proved
by a strong induction through the deletion identity (the inductive route of
Bissacot–Fernández–Procacci, J. Stat. Phys. 139 (2010); no analyticity, no cluster
combinatorics), together with one-step and telescoped ratio bounds and the two-sided
log-ratio bound `|log (Z Λ) - log (Z Λ')| ≤ ∑ v ∈ Λ \ Λ', -log (1 - x v)`.
* The finite **Kotecký–Preiss theorem** (Comm. Math. Phys. 103 (1986)) with the classical
constants: `KoteckyPreissCriterion.indepPartitionFunction_pos`,
`exp (-∑ a)`- and `exp (∑ a)`-ratio bounds, and
`|log (Z Λ) - log (Z Λ')| ≤ ∑ v ∈ Λ \ Λ', |w v| * exp (a v) ≤ ∑ v ∈ Λ \ Λ', a v`.
* Also new small API: `SimpleGraph.closedNeighborFinset` (`N[v]` as a `Finset`, which
Mathlib currently lacks), `IsIndepSet.not_adj`, `isIndepSet_coe_iff`, and the
unconditional nonnegative-activity estimates (`one_le_indepPartitionFunction`,
`indepPartitionFunction_le_prod`, monotonicity, domination by absolute activities).
Everything is stated for a locally finite incompatibility graph (`[G.LocallyFinite]`) with
finite volumes `Λ : Finset α`; the infinite-volume statements are exactly the monotone
limits of these and are left for a later PR.
**Motivation.** Cluster/polymer expansions are the workhorse of rigorous statistical
mechanics and constructive quantum field theory — they are the standard tool behind
exponential decay of correlations, uniqueness of Gibbs states, and strong-coupling
expansions in lattice gauge theory. To my knowledge no proof assistant has any of this
material (checked against Lean/Mathlib, Coq, and Isabelle AFP, 2026-08-17). This PR is the
self-contained combinatorial/analytic core, extracted from an ongoing Lean formalization
program in mathematical physics (lattice gauge theory, Osterwalder–Seiler strong-coupling
regime), where these bounds are the engine for decay-of-correlations results. Via
Scott–Sokal (J. Stat. Phys. 118 (2005)), the nonvanishing region of this same polynomial is
also the natural home of the Lovász local lemma / Shearer bound, so the object should be
useful to combinatorics independently of the physics.
References: Kotecký–Preiss 1986; Dobrushin 1996; Fernández–Procacci 2007;
Bissacot–Fernández–Procacci 2010; Scott–Sokal 2005 (LLL connection); Fialho
arXiv:2001.00652 (proof source for the follow-up FP engine).
**Planned follow-up PRs** (material exists and is proved; kept out to keep this PR
reviewable):
1. The Fernández–Procacci criterion (replace `exp` in KP by the local partition function on
`N[v]`) and its convergence engine, via Fialho's minorant-invariant induction
(arXiv:2001.00652) — weaker hypothesis, sharper `(1 + μ)` one-step bound.
2. Certified separations of the criterion hierarchy: Dobrushin strictly weaker than KP, FP
strictly weaker than Dobrushin (quantified over *all* ansatzes), and non-necessity of all
three.
3. Exponential decay of truncated correlations in the walk-distance of the incompatibility
graph, with explicit constants.
4. One-point occupancy (density) bounds under KP.
5. Possibly: the uniform-activity specialization as a univariate `Polynomial`, connecting
to the classical independence polynomial `I(G, x)`.
Naming is up for discussion: `indepPartitionFunction` was chosen to serve both the graph
theory and the statistical mechanics readings; I am happy to rename (e.g. to something
closer to "independence polynomial") or to split the `CommSemiring` definition from the
real-activity engine if reviewers prefer.
**AI disclosure**: this PR was substantially generated with Claude Code (Anthropic) — the
proof scripts, the port to current master, and the deduplication against existing Mathlib
material. It is opened as a **draft** while the human author reviews the content; it will be
marked ready only after that review, per the policy that contributors must understand and be
able to defend AI-assisted contributions. The `LLM-generated` label applies and should be
added by a maintainer.
awaiting-author items (will be resolved before marking ready):
- [x] Author review of the full file per the AI-contribution policy.
- [x] The `Authors:` line is finalized as `Tianyu (forxhunter)`.
- [x] Decide on the final name for `indepPartitionFunction` with reviewers.
|
t-combinatorics
new-contributor
LLM-generated
merge-conflict
|
723/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/ClusterExpansion.lean |
2 |
4 |
['forxhunter', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
1-75168 1 day ago |
1-75168 1 day ago |
29-5334 29 days |
0 |
| 44674 |
justus-springer author:justus-springer |
doc(*): fix citation key typos |
Fixes malformed citation keys so they point to the correct reference. I believe all of these are just typos, with possibly one exceptions: `diestel2017` may be pointing to the older edition of the book (we only have the 2025 edition in references.bib). I checked the new edition, and Section 1.9 still covers bonds, so this is still a valid comment.
- [x] depends on: #44758
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
LLM-generated
merge-conflict
|
53/51 |
Mathlib/Algebra/Homology/HomotopyCategory/KInjective.lean,Mathlib/Algebra/Homology/HomotopyCategory/KProjective.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/AlgebraicGeometry/Noetherian.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean,Mathlib/AlgebraicGeometry/StructureSheaf.lean,Mathlib/AlgebraicTopology/SimplicialCategory/Basic.lean,Mathlib/Analysis/SpecialFunctions/Bernstein.lean,Mathlib/CategoryTheory/Bicategory/Grothendieck.lean,Mathlib/CategoryTheory/FiberedCategory/Grothendieck.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/PullbackObjObj.lean,Mathlib/Combinatorics/Graph/Connected/EdgeCut.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/GroupTheory/Focal.lean,Mathlib/MeasureTheory/Integral/Bochner/VitaliCaratheodory.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Basic.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/NNReal.lean,Mathlib/MeasureTheory/Integral/RieszMarkovKakutani/Real.lean,Mathlib/MeasureTheory/Measure/PreVariation.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Defs.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Galois.lean,Mathlib/Order/PrimeSeparator.lean,Mathlib/Probability/Kernel/Deterministic.lean,Mathlib/RingTheory/DividedPowers/RatAlgebra.lean,Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean,Mathlib/RingTheory/LittleWedderburn.lean,Mathlib/Topology/UniformSpace/Ultra/Basic.lean,docs/references.bib |
31 |
14 |
['Multramate', 'github-actions', 'grunweg', 'justus-springer', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
1-73707 1 day ago |
1-73708 1 day ago |
27-16781 27 days |
0 |
| 45696 |
felixpernegger author:felixpernegger |
chore(RingTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in RingTheory. |
t-ring-theory
LLM-generated
merge-conflict
|
112/83 |
Mathlib/NumberTheory/Height/NumberField.lean,Mathlib/NumberTheory/NumberField/Completion/FinitePlace.lean,Mathlib/NumberTheory/NumberField/Cyclotomic/Basic.lean,Mathlib/NumberTheory/PrimesCongruentOne.lean,Mathlib/RingTheory/Bialgebra/Hom.lean,Mathlib/RingTheory/ChainOfDivisors.lean,Mathlib/RingTheory/DedekindDomain/AdicValuation/Valuation.lean,Mathlib/RingTheory/DedekindDomain/Different.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean,Mathlib/RingTheory/FractionalIdeal/Extended.lean,Mathlib/RingTheory/FractionalIdeal/Inverse.lean,Mathlib/RingTheory/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Norm/AbsNorm.lean,Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean,Mathlib/RingTheory/LaurentSeries.lean,Mathlib/RingTheory/Multiplicity.lean,Mathlib/RingTheory/MvPowerSeries/Expand.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/OrderOfVanishing/Basic.lean,Mathlib/RingTheory/OrderOfVanishing/Noetherian.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Basic.lean,Mathlib/RingTheory/PowerSeries/Inverse.lean,Mathlib/RingTheory/PowerSeries/Schroder.lean,Mathlib/RingTheory/UniqueFactorizationDomain/FactorSet.lean,Mathlib/RingTheory/UniqueFactorizationDomain/Multiplicity.lean,Mathlib/RingTheory/ZMod/UnitsCyclic.lean |
27 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'vlad902'] |
nobody |
1-73283 1 day ago |
1-73284 1 day ago |
2-59964 2 days |
1 |
| 39387 |
marcelolynch author:marcelolynch |
feat(Tactic/Linter): add superfluousExpose linter |
This PR adds the `linter.superfluousExpose` linter, the dual of `privateModule`. The linter warns on an `@[expose] public section` where no declaration benefits from the `@[expose]` modifier, and suggests that you remove the modifier. Downstream code typechecks the same after the removal.
## Which declarations benefit from `@[expose]`
A section-level `@[expose]` exposes the bodies of the `def` declarations in the section. A declaration benefits from the modifier when it is a `def` with an exposed body (`Environment.hasExposedBody`) and Lean does not expose that body without the modifier. The linter skips generated declarations (`isAutoDecl`).
These declarations do not benefit from the modifier:
- Declarations without an exposed body: theorems, `opaque` and `partial def`s, private declarations, propositional instances, `@[no_expose]` and `meta` defs, and the parser descriptors of `notation` and `syntax`.
- Declarations from an `abbrev` command. Lean exposes the body of an `abbrev` by its keyword, not by its reducibility, so a `@[reducible] def` benefits.
- Instances (`isInstanceCore`) from an `instance`, `deriving instance`, `inductive`, `class inductive`, or `structure` command. An `@[instance] def` follows the rules of a `def`.
- Structure projections.
Lean exposes the bodies in the last three cases in every public section. The linter reads the command kind through `set_option … in` and `open … in` wrappers. A `mutual` block or a macro gets no exemption.
Every other exposed `def` benefits from the modifier. Thus the linter is silent when in doubt, and a change to a reported section is safe.
## Implementation
The linter is a stateful linter (leanprover/lean4#14357). It tracks the regions where the scope is public and has `expose`. It classifies the constants of each command while the scopes of that command are active. As a result:
- Each expose section gets its own verdict.
- `scoped` and `local` instances get the correct classification.
- The warning points at the section header.
The known limitations cause false negatives only, and the module docstring lists them. The main case is a hand-written meta-code def, such as a `def` of type `Simproc`. The linter counts it as an ordinary def.
The test files cover positive and negative cases, with one file per case. The first cleanup sweep, #39388, applied an earlier version of these suggestions to 136 files.
Zulip thread: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Removing.20unnecessary.20.60.40.5Bexpose.5D.60/with/595180230
|
t-linter
LLM-generated
merge-conflict
|
906/0 |
Mathlib.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose.lean,MathlibTest/Linter/SuperfluousExpose/Negative_DerivingDecidableEq.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ExposeOnNonPublicSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_InstanceAttrDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_IrreducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_NoExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Negative_PlainDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ReducibleDef.lean,MathlibTest/Linter/SuperfluousExpose/Negative_ToAdditive.lean,MathlibTest/Linter/SuperfluousExpose/Negative_UnsafeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_AbbrevOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ClassOnly.lean,MathlibTest/Linter/SuperfluousExpose/Positive_FileEndClose.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Inductive.lean,MathlibTest/Linter/SuperfluousExpose/Positive_MultiSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NestedExposeSection.lean,MathlibTest/Linter/SuperfluousExpose/Positive_NoExposeDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Notation.lean,MathlibTest/Linter/SuperfluousExpose/Positive_PartialDef.lean,MathlibTest/Linter/SuperfluousExpose/Positive_ScopedLocalInstance.lean,MathlibTest/Linter/SuperfluousExpose/Positive_Structure.lean,MathlibTest/Linter/SuperfluousExpose/Positive_TheoremOnly.lean |
25 |
7 |
['eric-wieser', 'github-actions', 'joneugster', 'marcelolynch', 'mathlib-merge-conflicts', 'ocfnash'] |
nobody |
1-70009 1 day ago |
1-70010 1 day ago |
87-16066 87 days |
0 |
| 45691 |
felixpernegger author:felixpernegger |
chore(MeasureTheory): remove unused hypothesis |
Removes unused hypothesis from #45673 in MeasureTheory. |
LLM-generated
t-measure-probability
merge-conflict
|
103/75 |
Mathlib/MeasureTheory/Constructions/ProjectiveFamilyContent.lean,Mathlib/MeasureTheory/Function/EssSup.lean,Mathlib/MeasureTheory/Function/L1Space/HasFiniteIntegral.lean,Mathlib/MeasureTheory/Function/L1Space/Integrable.lean,Mathlib/MeasureTheory/Function/LpSeminorm/LpNorm.lean,Mathlib/MeasureTheory/Group/FundamentalDomain.lean,Mathlib/MeasureTheory/Integral/CircleIntegral.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/TrapezoidalRule.lean,Mathlib/MeasureTheory/Integral/Lebesgue/Add.lean,Mathlib/MeasureTheory/VectorMeasure/Basic.lean,Mathlib/MeasureTheory/VectorMeasure/Decomposition/Jordan.lean,Mathlib/MeasureTheory/VectorMeasure/Operations.lean,Mathlib/MeasureTheory/VectorMeasure/Order.lean,Mathlib/MeasureTheory/VectorMeasure/Variation/Basic.lean |
16 |
9 |
['felixpernegger', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts'] |
nobody |
1-57770 1 day ago |
1-57771 1 day ago |
2-77413 2 days |
1 |
| 45741 |
grunweg author:grunweg |
chore: remove trailing newlines in doc-strings |
Per mathlib's style guide, module doc-strings are not supposed to end in a newline. About 3000 files in mathlib violate this. This also causes spurious diffs in the verso doc-string migration (see #45730).
As a by-product, we also remove a few trailing newlines in other doc-strings. They need not be present either, and not removing them would be more work than it's worth. Also, the upcoming auto-formatter will most likely remove those anyway.
This PR was generated purely mechanically by replacing the regex `\n\n-/` with `\n-/` within VS Code.
---
- [x] depends on: #45755
- [x] depends on: #45756
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
merge-conflict |
0/3044 |
Mathlib/Algebra/Algebra/Defs.lean,Mathlib/Algebra/Algebra/Hom/Rat.lean,Mathlib/Algebra/Algebra/Spectrum/Pi.lean,Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean,Mathlib/Algebra/Algebra/Subalgebra/Rank.lean,Mathlib/Algebra/Algebra/Subalgebra/Tower.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/Azumaya/Matrix.lean,Mathlib/Algebra/BigOperators/Associated.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/Group/Finset/Interval.lean,Mathlib/Algebra/BigOperators/Group/Finset/Pi.lean,Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean,Mathlib/Algebra/BigOperators/Group/Finset/Sigma.lean,Mathlib/Algebra/Category/BialgCat/Basic.lean,Mathlib/Algebra/Category/BialgCat/Monoidal.lean,Mathlib/Algebra/Category/CoalgCat/Basic.lean,Mathlib/Algebra/Category/CoalgCat/ComonEquivalence.lean,Mathlib/Algebra/Category/CoalgCat/Monoidal.lean,Mathlib/Algebra/Category/FGModuleCat/Abelian.lean,Mathlib/Algebra/Category/FGModuleCat/Basic.lean,Mathlib/Algebra/Category/FGModuleCat/Colimits.lean,Mathlib/Algebra/Category/FGModuleCat/EssentiallySmall.lean,Mathlib/Algebra/Category/Grp/Colimits.lean,Mathlib/Algebra/Category/Grp/FilteredColimits.lean,Mathlib/Algebra/Category/Grp/FiniteGrp.lean,Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean,Mathlib/Algebra/Category/Grp/Injective.lean,Mathlib/Algebra/Category/Grp/IsFinite.lean,Mathlib/Algebra/Category/Grp/LargeColimits.lean,Mathlib/Algebra/Category/Grp/Limits.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Baer.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Ext/DimensionShifting.lean,Mathlib/Algebra/Category/ModuleCat/Ext/Finite.lean,Mathlib/Algebra/Category/ModuleCat/Ext/HasExt.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/FilteredColimits.lean,Mathlib/Algebra/Category/ModuleCat/Free.lean,Mathlib/Algebra/Category/ModuleCat/InjectiveDimension.lean,Mathlib/Algebra/Category/ModuleCat/LeftResolution.lean,Mathlib/Algebra/Category/ModuleCat/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Monoidal/Adjunction.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/EpiMono.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pullback.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Pushforward.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/PushforwardZeroMonoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafification.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/ProjectiveDimension.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Abelian.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/ChangeOfRings.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Colimits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Free.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Limits.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Localization.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/LocallyFree.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PushforwardContinuous.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Stalk.lean,Mathlib/Algebra/Category/ModuleCat/Subobject.lean,Mathlib/Algebra/Category/ModuleCat/Tannaka.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/ModuleCat/Ulift.lean,Mathlib/Algebra/Category/MonCat/FilteredColimits.lean,Mathlib/Algebra/Category/MonCat/ForgetCorepresentable.lean,Mathlib/Algebra/Category/MonCat/Limits.lean,Mathlib/Algebra/Category/Ring/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Category/Ring/FinitePresentation.lean,Mathlib/Algebra/Category/Ring/LinearAlgebra.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Category/Ring/Under/Limits.lean,Mathlib/Algebra/Central/Defs.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/IntermediateField.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/LocalRing.lean,Mathlib/Algebra/Colimit/Module.lean,Mathlib/Algebra/Colimit/Ring.lean |
3000 |
3 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-76824 21 hours ago |
0-76825 21 hours ago |
1-45770 1 day |
0 |
| 43804 |
JovanGerb author:JovanGerb |
feat(Algebra/Homology/ShortComplex/Basic): use `to_dual` |
Use `to_dual` for `ShortComplex`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #43750
[](https://gitpod.io/from-referrer/)
|
tech debt
t-algebra
merge-conflict
label:t-algebra$ |
46/37 |
Mathlib/Algebra/Homology/ShortComplex/Basic.lean,Mathlib/CategoryTheory/Limits/Preserves/Shapes/Zero.lean |
2 |
8 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
0-39416 10 hours ago |
0-39417 10 hours ago |
28-68189 28 days |
1 |
| 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 |
blocks |
| 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 |
447-33196 1 year ago |
450-18725 450 days ago |
0-32456 9 hours |
0 |
| 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)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
443-34285 1 year ago |
466-10207 466 days ago |
7-51497 7 days |
0 |
| 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 |
442-82517 1 year ago |
466-10208 466 days ago |
7-53541 7 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-data
new-contributor
|
326/0 |
Mathlib/Data/Nat/Choose/AbelBinomial.lean |
1 |
28 |
['ElifUskuplu', 'FrankieNC', 'github-actions', 'iu-isgood'] |
nobody |
442-82278 1 year ago |
unknown |
unknown |
0 |
| 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 |
426-2148 1 year ago |
426-2149 426 days ago |
10-49648 10 days |
1 |
| 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 |
411-1348 1 year ago |
unknown |
unknown |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
406-16392 1 year ago |
507-25792 507 days ago |
0-45487 12 hours |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-group-theory
new-contributor
|
6/0 |
Mathlib/GroupTheory/GroupAction/CardCommute.lean |
1 |
17 |
['github-actions', 'kckennylau', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
385-1693 1 year ago |
385-1693 385 days ago |
8-4679 8 days |
0 |
| 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`).
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
381-75057 1 year ago |
unknown |
unknown |
0 |
| 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 |
377-21096 1 year ago |
392-82172 392 days ago |
47-56312 47 days |
0 |
| 30158 |
nicolaviolette author:nicolaviolette |
feat: combinatorics simplegraph basic |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
|
9/4 |
Mathlib/Combinatorics/SimpleGraph/Basic.lean |
1 |
3 |
['b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
370-31877 1 year ago |
370-31877 370 days ago |
31-68997 31 days |
0 |
| 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 |
367-78545 1 year ago |
unknown |
unknown |
0 |
| 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 |
355-25207 11 months ago |
unknown |
unknown |
0 |
| 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 |
355-24847 11 months ago |
470-68605 470 days ago |
25-4678 25 days |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24842 11 months ago |
384-77861 384 days ago |
61-86220 61 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24805 11 months ago |
unknown |
unknown |
0 |
| 27753 |
YunkaiZhang233 author:YunkaiZhang233 |
feat(CategoryTheory): implemented proofs for factorisation categories being equivalent to iterated comma categories in two ways |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
355-24650 11 months ago |
465-82213 465 days ago |
0-2875 47 minutes |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24648 11 months ago |
464-56875 464 days ago |
0-3675 1 hour |
0 |
| 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 |
355-24516 11 months ago |
355-24517 355 days ago |
99-48372 99 days |
1 |
| 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 |
355-24502 11 months ago |
unknown |
unknown |
0 |
| 28871 |
JaafarTanoukhi author:JaafarTanoukhi |
feat(Combinatorics/Digraph): Tournaments |
Define orientations and tournaments. Related to #26771.
Co-authored-by: Rida Hamadani <mridahamadani@gmail.com>
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-24363 11 months ago |
355-24364 355 days ago |
71-35799 71 days |
0 |
| 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)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
355-23729 11 months ago |
355-23730 355 days ago |
54-81855 54 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
354-83300 11 months ago |
386-20494 386 days ago |
74-50277 74 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
354-83168 11 months ago |
unknown |
unknown |
0 |
| 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 |
354-83080 11 months ago |
unknown |
unknown |
0 |
| 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$.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
14/0 |
Mathlib/Analysis/Convolution.lean |
1 |
3 |
['github-actions', 'urkud'] |
nobody |
346-25647 11 months ago |
346-25647 346 days ago |
0-81373 22 hours |
0 |
| 30525 |
ZihuiBai author:ZihuiBai |
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 |
338-70786 11 months ago |
347-27929 347 days ago |
39-39956 39 days |
1 |
| 31113 |
ZihuiBai author:ZihuiBai |
feat(Mathlib/Combinatorics/Enumerative/Polya.lean): Add additional theorem in `Polya.lean` |
---
- [ ] depends on: #30525
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
338-70662 11 months ago |
348-6688 348 days ago |
16-74719 16 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com/ if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [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 |
336-5097 11 months ago |
336-5097 336 days ago |
18-34491 18 days |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
21/0 |
Mathlib/Probability/Moments/Basic.lean |
1 |
5 |
['DavidLedvinka', 'github-actions'] |
RemyDegenne assignee:RemyDegenne |
329-83603 10 months ago |
329-83603 329 days ago |
21-30654 21 days |
0 |
| 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 |
325-20605 10 months ago |
325-20645 325 days ago |
2-83075 2 days |
0 |
| 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 |
324-55374 10 months ago |
324-55374 324 days ago |
7-30937 7 days |
0 |
| 27817 |
zhuyizheng author:zhuyizheng |
feat: add IMO2025P1 |
Add a solution to IMO2025P1, the original problem statement from https://github.com/jsm28/IMOLean
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
324-1171 10 months ago |
383-52139 383 days ago |
54-69322 54 days |
0 |
| 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 |
321-33836 10 months ago |
unknown |
unknown |
5 |
| 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 |
321-33728 10 months ago |
unknown |
unknown |
1 |
| 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 |
321-33644 10 months ago |
unknown |
unknown |
1 |
| 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 |
321-31316 10 months ago |
321-31317 321 days ago |
0-206 3 minutes |
0 |
| 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 |
321-31314 10 months ago |
321-31315 321 days ago |
0-415 6 minutes |
1 |
| 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 |
321-31313 10 months ago |
unknown |
unknown |
0 |
| 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 |
321-31311 10 months ago |
321-31312 321 days ago |
0-978 16 minutes |
0 |
| 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 |
321-31308 10 months ago |
321-31311 321 days ago |
0-1162 19 minutes |
2 |
| 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 |
321-31307 10 months ago |
321-31308 321 days ago |
0-1375 22 minutes |
5 |
| 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).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-order
|
16/1 |
Mathlib/Order/Interval/Basic.lean |
1 |
5 |
['Vierkantor', 'eric-wieser', 'github-actions', 'kingiler'] |
Vierkantor assignee:Vierkantor |
304-77814 10 months ago |
304-77814 304 days ago |
13-40294 13 days |
0 |
| 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]
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
295-12593 9 months ago |
unknown |
unknown |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
281-61567 9 months ago |
335-62005 335 days ago |
0-614 10 minutes |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
281-13998 9 months ago |
unknown |
unknown |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
281-13991 9 months ago |
unknown |
unknown |
0 |
| 31102 |
JOSHCLUNE author:JOSHCLUNE |
feat: require LeanHammer |
Experimenting with adding LeanHammer as a mathlib dependency
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
281-4473 9 months ago |
unknown |
unknown |
0 |
| 33601 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): Concatenation of CFGs is CFG |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] 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 |
278-19615 9 months ago |
308-3478 308 days ago |
0-329 5 minutes |
0 |
| 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 |
276-11977 9 months ago |
276-11977 276 days ago |
12-18344 12 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
274-48216 9 months ago |
274-48216 274 days ago |
35-13883 35 days |
0 |
| 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 |
271-83090 8 months ago |
305-19558 305 days ago |
120-65801 120 days |
0 |
| 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 |
269-7340 8 months ago |
269-54569 269 days ago |
7-47963 7 days |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
267-18027 8 months ago |
318-72252 318 days ago |
0-811 13 minutes |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
264-82866 8 months ago |
265-1100 265 days ago |
1-14123 1 day |
0 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
264-78623 8 months ago |
264-78829 264 days ago |
39-4185 39 days |
0 |
| 33276 |
NicolaBernini author:NicolaBernini |
feat: Rename List.reverse_perm to List.reverse_perm_self and List.reverse_perm' to List.reverse_perm_iff |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
264-32241 8 months ago |
315-10514 315 days ago |
3-79472 3 days |
0 |
| 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 |
264-11975 8 months ago |
264-11976 264 days ago |
16-81273 16 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
259-28873 8 months ago |
259-28873 259 days ago |
30-19397 30 days |
0 |
| 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 |
255-903 8 months ago |
unknown |
unknown |
0 |
| 33791 |
PhoenixIra author:PhoenixIra |
feat: Generalization of FixedPointApproximants to CompletePartialOrder |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
254-65607 8 months ago |
254-65607 254 days ago |
38-8977 38 days |
0 |
| 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 <hagb@hagb.name>
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Junyu Guo @Hagb <hagb@hagb.name>
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
252-40618 8 months ago |
496-20351 496 days ago |
13-83428 13 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
247-84280 8 months ago |
297-26407 297 days ago |
10-67951 10 days |
2 |
| 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!
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
247-79987 8 months ago |
unknown |
unknown |
1 |
| 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 |
247-71380 8 months ago |
454-51526 454 days ago |
25-82865 25 days |
0 |
| 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 |
247-53360 8 months ago |
258-68009 258 days ago |
47-73664 47 days |
0 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
243-31116 7 months ago |
255-63361 255 days ago |
2-31794 2 days |
0 |
| 36503 |
Mrigna01 author:Mrigna01 |
Add false theorem test file |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor |
135/0 |
Mathlib/FalseBench/FalseTheorems.lean |
1 |
3 |
['github-actions'] |
nobody |
242-54398 7 months ago |
unknown |
unknown |
0 |
| 33599 |
nielstron author:nielstron |
feat(Computability/ContextFreeGrammar): closure under union |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
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 |
242-19233 7 months ago |
297-28092 297 days ago |
10-63563 10 days |
1 |
| 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
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
239-79918 7 months ago |
283-68575 283 days ago |
59-48116 59 days |
0 |
| 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`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
237-85695 7 months ago |
unknown |
unknown |
0 |
| 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).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
new-contributor
t-topology
|
117/0 |
Mathlib.lean,Mathlib/Topology/Algebra/MulActionConst.lean |
2 |
8 |
['LTolDe', 'github-actions', 'urkud'] |
nobody |
235-78045 7 months ago |
300-64389 300 days ago |
16-30636 16 days |
0 |
| 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 |
233-73032 7 months ago |
235-50075 235 days ago |
60-13439 60 days |
0 |
| 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 |
233-1951 7 months ago |
307-66911 307 days ago |
21-957 21 days |
0 |
| 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 |
232-49538 7 months ago |
251-14633 251 days ago |
55-70824 55 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
awaiting-author
|
10/0 |
Mathlib/NumberTheory/Divisors.lean |
1 |
6 |
['adrianmartir', 'alexjbest', 'github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
228-83683 7 months ago |
228-83684 228 days ago |
27-10796 27 days |
0 |
| 31590 |
SuccessMoses author:SuccessMoses |
chore: tag `commutatorElement_def` with `simp` |
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
228-72352 7 months ago |
unknown |
unknown |
0 |
| 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 |
227-11451 7 months ago |
227-11501 227 days ago |
27-57874 27 days |
0 |
| 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', 'wrenna-robson'] |
nobody |
227-11444 7 months ago |
233-79556 233 days ago |
9-52446 9 days |
0 |
| 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!
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
223-58913 7 months ago |
257-72668 257 days ago |
8-23775 8 days |
0 |
| 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
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
222-86175 7 months ago |
unknown |
unknown |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-group-theory
new-contributor
awaiting-author
|
15/17 |
Mathlib/GroupTheory/Complement.lean |
1 |
4 |
['github-actions', 'tb65536'] |
tb65536 assignee:tb65536 |
216-21084 7 months ago |
216-21084 216 days ago |
0-66893 18 hours |
0 |
| 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 |
216-11664 7 months ago |
221-82920 221 days ago |
0-11137 3 hours |
0 |
| 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 |
212-65188 6 months ago |
213-78047 213 days ago |
1-77226 1 day |
0 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
209-78779 6 months ago |
244-5362 244 days ago |
15-46568 15 days |
0 |
| 33032 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph): Konig’s theorem on bipartite graphs |
---
<!-- Your PR title will become the first line of the commit message.
Three additions:
* Combinatorics/SimpleGraph/Konig/Auxillary.lean
* Combinatorics/SimpleGraph/Konig/KonigFin.lean
* Combinatorics/SimpleGraph/Konig/Konig.lean
(all other changes are rebased from the PRs below)
- [ ] depends on: #30129
- [ ] depends on: #32552
- [ ] depends on: #32555
- [ ] depends on: #32570
-->
[](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 |
209-53341 6 months ago |
unknown |
unknown |
0 |
| 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 |
207-8423 6 months ago |
305-48464 305 days ago |
6-58846 6 days |
0 |
| 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 |
206-84318 6 months ago |
316-63736 316 days ago |
4-55780 4 days |
9 |
| 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 |
206-16477 6 months ago |
206-16477 206 days ago |
0-32811 9 hours |
0 |
| 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 |
206-16433 6 months ago |
206-16433 206 days ago |
0-33717 9 hours |
0 |
| 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`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
198-77331 6 months ago |
234-66894 234 days ago |
0-24596 6 hours |
0 |
| 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 |
196-22209 6 months ago |
196-22319 196 days ago |
38-71219 38 days |
0 |
| 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)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
195-71736 6 months ago |
195-71737 195 days ago |
19-66334 19 days |
0 |
| 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
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
195-58125 6 months ago |
unknown |
unknown |
0 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
195-54658 6 months ago |
unknown |
unknown |
1 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
195-54657 6 months ago |
220-79157 220 days ago |
0-562 9 minutes |
0 |
| 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 |
193-78661 6 months ago |
301-5802 301 days ago |
10-30503 10 days |
0 |
| 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 |
193-62859 6 months ago |
283-5102 283 days ago |
26-95 26 days |
0 |
| 34940 |
michaellee94 author:michaellee94 |
feat: the graph of a continuous function on a $C^n$ manifold is a $C^n$ manifold |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
193-61577 6 months ago |
250-62941 250 days ago |
14-84147 14 days |
0 |
| 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
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
193-61452 6 months ago |
233-81965 233 days ago |
17-61064 17 days |
0 |
| 32880 |
0xTerencePrime author:0xTerencePrime |
feat(Analysis/Asymptotics): define subpolynomial growth |
## Main definitions
* `Asymptotics.IsSubpolynomial l f g`: A function `f` has subpolynomial growth with respect to `g` along filter `l` if `f = O(1 + ‖g‖^k)` for some natural `k`.
## Main results
* `IsSubpolynomial.const`: Constant functions have subpolynomial growth
* `IsSubpolynomial.id`: Identity has subpolynomial growth
* `IsSubpolynomial.add`: Closure under addition
* `IsSubpolynomial.neg`: Closure under negation
* `IsSubpolynomial.sub`: Closure under subtraction
* `IsSubpolynomial.mul`: Closure under multiplication
* `IsSubpolynomial.pow`: Closure under powers
* `isSubpolynomial_iff_one_add`: Equivalence with `(1 + ‖g‖)^k` formulation
* `IsSubpolynomial.uniform`: Uniform bounds for finite families
## Implementation notes
The definition uses `1 + ‖g‖^k` rather than `(1 + ‖g‖)^k` as the primary form, with the equivalence established in `isSubpolynomial_iff_one_add`. Four private auxiliary lemmas handle the key inequalities needed for closure proofs.
Closes #32658
|
awaiting-author
t-analysis
new-contributor
|
184/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
29 |
['0xTerencePrime', 'ADedecker', 'github-actions', 'j-loreaux'] |
ADedecker assignee:ADedecker |
190-18832 6 months ago |
301-52040 301 days ago |
22-12319 22 days |
0 |
| 38170 |
maddycrim author:maddycrim |
feat(Algebra/Module/FinitePresentation): Finitely Presented Module Lemma |
From FLT Project
Main Definitions:
`Module.FinitePresentation.exists_fin_exact` : A finitely presented module M admits an exact sequence F' -> F -> M -> 0 where F' and F are finite free modules.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
9/0 |
Mathlib/Algebra/Module/FinitePresentation.lean |
1 |
17 |
['chrisflav', 'github-actions', 'maddycrim', 'themathqueen', 'vlad902'] |
nobody |
188-23605 6 months ago |
188-23605 188 days ago |
17-35026 17 days |
0 |
| 38960 |
ajhendel author:ajhendel |
chore: remove ℕ+ interval_cases workaround in ADEInequality |
`interval_cases` now supports `ℕ+`, so the manual `Finset.mem_Iio`/`Finset.mem_Ico` + `conv` + `fin_cases` workaround (marked with a porting note) is no longer needed.
Replaces three 3-4 line workaround blocks with `interval_cases p`/`q`/`r`. |
t-number-theory
new-contributor
awaiting-CI
|
3/10 |
Mathlib/NumberTheory/ADEInequality.lean |
1 |
2 |
['github-actions'] |
nobody |
187-7301 6 months ago |
unknown |
unknown |
0 |
| 39108 |
idontgetoutmuch author:idontgetoutmuch |
feat(Geometry/Manifold/GroupLieAlgebra): Add mfderiv_mul_left_mul and left-translate for integral curves |
Add the following:
`mfderiv_mul_left_mul`: the derivative of left-multiplication satisfies a chain rule:
$$d(L_{g \cdot h})_x = d(L_g)_{h \cdot x} \circ d(L_h)_x$$
`mulInvariantVectorField_mul`: the vector field at the translated point is the push forward of the vector field:
$$V(g \cdot h) = d(L_g)_h(V(h))$$
`IsMIntegralCurve.left_translate`: using these, if $\gamma$ is an integral curve of $V$, then so is $t \mapsto g \bullet \gamma(t)$ for any $g \in G$, since:
$$\frac{d}{dt}(g \bullet \gamma(t)) = d(L_g)_{\gamma(t)}\left(\frac{d\gamma}{dt}(t)\right) = d(L_g)_{\gamma(t)}(V(\gamma(t))) = V(g \bullet \gamma(t))$$
I argue (*) all the time with LLMs so this PR will certainly have had some input from them. Is that enough of a disclosure?
(*) Like Lewis Carroll:
In my youth said the sage I took to the law and argued each case with wife
And the muscular strength that it gave to my jaw has lasted the rest of my life
|
t-differential-geometry
new-contributor
awaiting-author
LLM-generated
|
73/0 |
Mathlib/Geometry/Manifold/GroupLieAlgebra.lean |
1 |
8 |
['github-actions', 'grunweg'] |
nobody |
183-74872 5 months ago |
183-74937 183 days ago |
0-37210 10 hours |
0 |
| 39151 |
anovickis author:anovickis |
feat(Analysis/CStarAlgebra/Matrix): IsTopologicalGroup for specialUnitaryGroup |
Adds `ContinuousInv` and `IsTopologicalGroup` instances for `Matrix.specialUnitaryGroup n 𝕜`.
The unitary group `Matrix.unitaryGroup n α` already inherits these via the `unitaryGroup ≡ unitary R` abbrev + existing instances on `unitary R` (in `Mathlib/Topology/Algebra/Star/Unitary.lean`). However, `specialUnitaryGroup` is the sub-Submonoid `unitaryGroup ⊓ MonoidHom.mker detMonoidHom` — it does not auto-inherit those instances since it is not literally an alias of `unitary R`.
### New declarations
- `instance Matrix.specialUnitaryGroup.instContinuousInv` — proven via `Matrix.star_eq_inv` + `continuous_star`
- `instance Matrix.specialUnitaryGroup.instIsTopologicalGroup` — combining `ContinuousMul` (from Submonoid structure) + `ContinuousInv`
Both placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean` (the natural neighborhood for matrix-specific topological structure on (special) unitary groups).
### Motivation
These instances enable using `specialUnitaryGroup` as a topological group in homogeneous-space constructions (e.g., `SU(3) ⧸ T = F₂` flag manifolds). They complement #39146 (CompactSpace instances for the same groups) — together giving the standard 'compact topological group' typeclass set on `specialUnitaryGroup`.
### Verification
\`\`\`lean
example : ContinuousInv (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
example : IsTopologicalGroup (Matrix.specialUnitaryGroup (Fin 3) ℂ) := inferInstance -- now works
\`\`\`
Both fail on master without this PR; both succeed after. |
t-analysis
new-contributor
awaiting-author
|
30/0 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean |
1 |
3 |
['github-actions', 'j-loreaux', 'wwylele'] |
nobody |
182-63996 5 months ago |
182-63996 182 days ago |
0-3025 50 minutes |
0 |
| 39191 |
m13683320924-hue author:m13683320924-hue |
feat: define Asymptotics.IsSubpolynomial |
This PR defines `Asymptotics.IsSubpolynomial l f g`, meaning that `f` is asymptotically bounded by `1 + ‖g‖ ^ k` for some `k : ℕ`.
It also adds basic closure lemmas for constants, addition, multiplication, and natural powers.
Towards #32658.
The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
t-analysis
new-contributor
|
259/0 |
Mathlib.lean,Mathlib/Analysis/Asymptotics/Subpolynomial.lean |
2 |
3 |
['github-actions'] |
nobody |
182-3554 5 months ago |
unknown |
unknown |
0 |
| 39213 |
m13683320924-hue author:m13683320924-hue |
feat: define maximal cliques and independent sets |
This PR adds explicit predicates for maximal cliques and maximal independent sets:
- `SimpleGraph.IsMaximalClique`
- `SimpleGraph.IsMaximalIndepSet`
It also adds conversion lemmas to and from the existing `Maximal G.IsClique` and `Maximal G.IsIndepSet` formulations, plus basic complement and maximum-to-maximal lemmas.
Towards #34962.
The formalization was developed with the help of Doubao-Seed-2.0-code and manually checked in Lean.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
60/22 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
181-69361 5 months ago |
unknown |
unknown |
0 |
| 39165 |
allenhaozhu author:allenhaozhu |
feat(Probability/Moments): add IsSubExponential class |
Add `ProbabilityTheory.IsSubExponential X μ ν b`, the sub-exponential random variable class: `mgf X μ s ≤ exp (s²ν/2)` for `|s| < 1/b`. Mirror the structure of the existing `Mathlib/Probability/Moments/SubGaussian.lean`. Include constructor lemmas (`IsSubExponential.const`, `mono_b`, `mono_nu`) and a tail bound derived through Mathlib's `measure_ge_le_exp_mul_mgf`.
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-measure-probability
new-contributor
LLM-generated
awaiting-author
|
257/0 |
Mathlib.lean,Mathlib/Probability/Moments/SubExponential.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
181-9438 5 months ago |
182-19081 182 days ago |
0-2698 44 minutes |
0 |
| 39168 |
allenhaozhu author:allenhaozhu |
feat(Analysis/Convex/Subgradient): add subgradient characterization for |·| and ℓ¹ |
Add `Convex.IsAbsSubgradient x g`, the predicate that `g` is a subgradient of `|·|` at `x`. Prove the standard characterization: the only subgradient at `x > 0` is `1`; at `x < 0` it is `-1`; at `x = 0` the subgradients are exactly `[-1, 1]`. Add `IsL1Subgradient`, the componentwise lift to `Fin n → ℝ` used by ℓ¹-regularized estimation (Lasso KKT).
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-analysis
new-contributor
LLM-generated
awaiting-author
|
231/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Subgradient/Abs.lean |
2 |
4 |
['allenhaozhu', 'github-actions', 'grunweg'] |
nobody |
181-9436 5 months ago |
182-19166 182 days ago |
0-2608 43 minutes |
0 |
| 37584 |
kennethgoodman author:kennethgoodman |
feat(Data/Nat/Fib): formalize Lamé's theorem |
## Summary
Formalize [Lamé's theorem](https://en.wikipedia.org/wiki/Lam%C3%A9%27s_theorem) (1844), the founding result of computational complexity theory.
**Lamé's Theorem:** If the Euclidean algorithm on inputs `(a, b)` with `b ≤ a` takes `n + 1` division steps, then `b ≥ fib(n + 1)` and `a ≥ fib(n + 2)`.
### New definitions
- `Nat.euclidSteps`: counts the number of division steps in the Euclidean algorithm on natural number inputs.
### New theorems
- `Nat.fib_le_of_euclidSteps`: the main Lamé bound — Fibonacci lower bound on inputs given a step count.
- `Nat.euclidSteps_le_of_lt_fib`: the contrapositive — step count upper bound given a Fibonacci bound on the smaller input.
- `Nat.add_mod_le`: helper lemma that `b + a % b ≤ a` when `b ≤ a` and `0 < b`.
### Proof strategy
Induction on `n`, tracking both elements of the pair. The key insight is that each Euclidean step replaces `(a, b)` with `(b, a % b)`, and since `a ≥ b + a % b` (because `a / b ≥ 1`), the Fibonacci recurrence `fib(n+3) = fib(n+2) + fib(n+1)` matches the structure of the algorithm.
### References
- Gabriel Lamé, *Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers*, Comptes rendus de l'Académie des sciences, 1844.
---
### AI usage disclosure
Per the [Mathlib AI guidelines](https://leanprover-community.github.io/contribute/index.html#use-of-ai): Claude Code (Claude Opus 4.6) was used to assist with writing the Lean 4 proof code, fixing tactic errors, and drafting this PR description. The mathematical proof (induction on step count, tracking both pair elements through the Fibonacci recurrence) was designed by hand and verified on paper before formalization. I have reviewed and understand every line of the resulting Lean code and can explain all proof steps.
---
- [x] builds cleanly (`lake build Mathlib.Data.Nat.Fib.Lame`)
- [x] no `sorry`
- [x] lines ≤ 100 characters, no trailing whitespace
- [x] `autoImplicit false`
- [x] docstrings on all public declarations |
new-contributor
LLM-generated
t-data
merge-conflict
|
121/0 |
Mathlib.lean,Mathlib/Data/Nat/Basic.lean,Mathlib/Data/Nat/Fib/Basic.lean,Mathlib/Data/Nat/Fib/Lame.lean,docs/1000.yaml |
5 |
25 |
['euprunin', 'github-actions', 'kennethgoodman', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
TwoFX assignee:TwoFX |
174-68469 5 months ago |
174-68470 174 days ago |
44-53174 44 days |
0 |
| 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
merge-conflict
|
292/2 |
Mathlib/Combinatorics/SimpleGraph/Matching.lean |
1 |
40 |
['JTylM', 'SnirBroshi', 'SproutSeeds', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
174-48319 5 months ago |
235-2108 235 days ago |
8-58058 8 days |
0 |
| 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.
This PR adds the new file:
'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
|
174/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Jacobian.lean |
2 |
21 |
['erdOne', 'github-actions', 'hdmkindom', 'jcommelin'] |
sgouezel assignee:sgouezel |
173-78317 5 months ago |
264-84759 264 days ago |
39-33087 39 days |
0 |
| 39673 |
drocta author:drocta |
feat: add instances of MetricSpace, NormedAddGroup, and NormedAddCommGroup for DirectLimit |
add files `Topology/MetricSpace/DirectLimit.lean` (with an instance of `MetricSpace` for a `DirectLimit` of a directed system of `MetricSpace`s with `IsometryClass` map types between them) and `Analysis/Normed/Group/DirectLimit.lean` (with instances of `NormedAddGroup` and `NormedAddCommGroup` on `DirectLimit`)
also lemmas `dist_def` and `norm_def` for these.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
This PR is part of a project of adding support for direct limits of $C^*$-algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ).
This PR uses `IsometryClass` to implement the requirement that the directed systems preserve the `Norm` on the `NormedAddGroup`s, following the advice I got [this Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Representing.20norm-preservation.20for.20directed.20systems.3F/with/595941824) .
Use of AI:
I again used ChatGPT a bit for some advice when writing this (for example, for ideas for simplifying parts of proofs that I suspected could be simpler/shorter, and for advice on which of a couple options would be more idiomatic).
I can personally vouch for all of these contributions, and that I understand this code.
|
t-topology
new-contributor
awaiting-author
|
258/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Group/DirectLimit.lean,Mathlib/Analysis/Normed/Ring/DirectLimit.lean,Mathlib/Topology/MetricSpace/DirectLimit.lean |
4 |
23 |
['drocta', 'eric-wieser', 'github-actions', 'j-loreaux'] |
nobody |
171-32388 5 months ago |
171-45858 171 days ago |
0-13565 3 hours |
0 |
| 39146 |
anovickis author:anovickis |
feat(Analysis/CStarAlgebra/Matrix): CompactSpace instances for unitaryGroup and specialUnitaryGroup |
Adds `CompactSpace` instances (and supporting `IsClosed` / `IsCompact` lemmas) for the matrix unitary and special unitary groups.
The compactness follows from Heine-Borel applied to the entrywise sup norm: every unitary matrix has all entries bounded by `1` (via the existing `entry_norm_bound_of_unitary` lemma), and `Matrix n n 𝕜` is finite-dimensional, so `closed + bounded ⇒ compact`.
### New declarations
- `isClosed_unitaryGroup`, `isCompact_unitaryGroup`
- `instance Matrix.unitaryGroup.instCompactSpace`
- `isClosed_specialUnitaryGroup`, `isCompact_specialUnitaryGroup`
- `instance Matrix.specialUnitaryGroup.instCompactSpace`
All placed inside the existing `EntrywiseSupNorm` section in `Mathlib/Analysis/CStarAlgebra/Matrix.lean`, so the `Matrix.Norms.Elementwise` scope used for the bound is already in scope.
### Motivation
These instances enable downstream constructions of compact matrix Lie groups such as flag manifolds (e.g. SU(3)/T = F₂), where the quotient inherits compactness for free via `Quotient.compactSpace`. They also fill an obvious gap in the matrix-group API: `unitary R` is known to be closed, but compactness for `Matrix.unitaryGroup` was not previously available as an instance.
Claude Code / Anthropic was used for generating the code, Verification was done with lake build, each lemma reviewed. Proofs came out of F2 mass gap lean library - so compile verified |
t-analysis
new-contributor
awaiting-author
|
52/0 |
Mathlib/Analysis/CStarAlgebra/Matrix.lean |
1 |
12 |
['anovickis', 'github-actions', 'j-loreaux', 'wwylele'] |
nobody |
168-72619 5 months ago |
182-64627 182 days ago |
0-6851 1 hour |
0 |
| 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
merge-conflict
|
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 |
66 |
['YaelDillies', 'github-actions', 'hawkrobe', 'kckennylau', 'mathlib-merge-conflicts', 'ntapiam'] |
nobody |
167-65077 5 months ago |
351-50837 351 days ago |
0-30128 8 hours |
0 |
| 39871 |
daiduo2 author:daiduo2 |
feat(Analysis/ODE): Uniform Gronwall inequality |
## Summary
Adds the integral-form **Uniform Gronwall inequality**, a variant of Gronwall's inequality essential in PDE theory. Unlike the standard Gronwall bound which depends on an initial value, the uniform version provides a bound on `y(t)` that depends only on the **time-averages** of `g`, `h`, and `y` over sliding windows of length `r`.
## Mathematical Statement
Let `y, g, h : ℝ → ℝ` satisfy `y'(t) ≤ g(t) * y(t) + h(t)` on `[0, T)`. If for some `r > 0`:
- `∫_t^{t+r} g(s) ds ≤ a₁`
- `∫_t^{t+r} h(s) ds ≤ a₂`
- `∫_t^{t+r} y(s) ds ≤ a₃`
for all `t ∈ [0, T-r]`, then `y(t) ≤ (a₃/r + a₂) * exp(a₁)` for all `t ∈ [r, T]`.
## Changes
- **New file**: `Mathlib/Analysis/ODE/UniformGronwall.lean` (~590 lines)
- `uniformGronwallBound` — the explicit bound
- `uniformGronwallBound_of_a₂0_a₃0`, `uniformGronwallBound_nonneg` — simp lemmas
- `le_uniformGronwallBound_of_deriv_le` — main theorem
- **Updated**: `Mathlib.lean` — added import
## Design Decisions
- Real-valued functions `ℝ → ℝ` (generalization to normed spaces left for future work)
- Right derivatives (`HasDerivWithinAt` with `Ici`), matching `Gronwall.lean` style
- Assumes non-negativity (`g, h, y ≥ 0`), standard in PDE applications
## References
- R. Temam, *Infinite-Dimensional Dynamical Systems in Mechanics and Physics*, Appendix A |
t-analysis
new-contributor
awaiting-author
LLM-generated
|
601/0 |
Mathlib.lean,Mathlib/Analysis/ODE/UniformGronwall.lean |
2 |
4 |
['daiduo2', 'github-actions', 'grunweg'] |
nobody |
165-65438 5 months ago |
166-76346 166 days ago |
0-12410 3 hours |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
awaiting-author
merge-conflict
|
61/39 |
Mathlib/Combinatorics/Enumerative/Schroder.lean |
1 |
21 |
['FlAmmmmING', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies assignee:YaelDillies |
163-54064 5 months ago |
228-32070 228 days ago |
74-33585 74 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
awaiting-author
merge-conflict
|
64/2 |
Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean |
1 |
19 |
['dagurtomas', 'github-actions', 'joelriou', 'mathlib-merge-conflicts', 'parabamoghv', 'robin-carlier'] |
robin-carlier assignee:robin-carlier |
163-52406 5 months ago |
234-75202 234 days ago |
7-33709 7 days |
0 |
| 39164 |
allenhaozhu author:allenhaozhu |
feat(Probability/Distance): add total variation distance `tvDist` |
Add `MeasureTheory.tvDist : Measure α → Measure α → ℝ≥0∞`, the total variation distance between two measures, defined via the truncated subtraction `μ - ν` already in `Mathlib.MeasureTheory.Measure.Sub`. Add four basic lemmas (`tvDist_self`, `tvDist_comm`, `tvDist_nonneg`, `tvDist_le_one`) and a bridge lemma `tvDist_eq_signedMeasure_totalVariation` connecting `tvDist` to the existing `MeasureTheory.SignedMeasure.totalVariation` for finite measures.
---
## AI-assistance disclosure
Per the Mathlib [AI-use policy](https://leanprover-community.github.io/contribute/index.html#use-of-ai):
- **Tool.** Claude Code (Anthropic) with the Claude Sonnet 4.6 model.
- **Use.** I specified the target lemma statements and the proof strategy; the assistant drafted Lean 4 tactic combinations against current Mathlib. I iterated on the proofs, verified each lemma builds under `lake build` from a clean checkout, and read the final code.
- **Vouching.** I have read every declaration in this file and can defend the proofs without further AI assistance. I welcome reviewer feedback on naming, namespace placement, and stylistic alignment with the surrounding Mathlib modules. |
t-measure-probability
new-contributor
LLM-generated
awaiting-author
merge-conflict
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distance/TotalVariation.lean |
2 |
5 |
['allenhaozhu', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
163-48334 5 months ago |
182-19073 182 days ago |
0-2707 45 minutes |
0 |
| 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 |
15 |
['Xxxjdjdid', 'banrovegrie', 'chrisflav', 'copilot-pull-request-reviewer', 'eric-wieser', 'github-actions', 'wwylele'] |
chrisflav assignee:chrisflav |
161-76453 5 months ago |
207-77530 207 days ago |
69-2479 69 days |
0 |
| 38887 |
Rosario-Leonardi-CT author:Rosario-Leonardi-CT |
feat(Analysis/Fourier/ZMod): add dft_star_comp |
Adds `ZMod.dft_star_comp`, expressing that `𝓕 (star ∘ Φ) k = star (𝓕 Φ (-k))`, the discrete analogue of the Fourier transform's interaction with complex conjugation, complementing the existing `dft_comp_neg`.
---
AI disclosure: lemma statement and proof drafted with assistance from Claude Code; verified by the Lean compiler with no `sorry` and standard axioms only (`propext`, `Classical.choice`, `Quot.sound`). |
t-analysis
new-contributor
awaiting-author
|
9/0 |
Mathlib/Analysis/Fourier/ZMod.lean |
1 |
9 |
['Rosario-Leonardi-CT', 'github-actions', 'wwylele'] |
j-loreaux assignee:j-loreaux |
161-75716 5 months ago |
184-74652 184 days ago |
5-5712 5 days |
0 |
| 40225 |
localparty author:localparty |
feat(RingTheory/LaurentSeries): leibniz product rule for derivative |
This PR adds the Leibniz product rule (`(f * g)' = f' * g + f * g'`) for the
first formal derivative on `LaurentSeries R` (R a commutative ring).
The first derivative is already packaged in
`Mathlib/RingTheory/LaurentSeries.lean` as
```lean
def derivative (R : Type*) {V : Type*} [AddCommGroup V] [Semiring R] [Module R V] :
LaurentSeries V →ₗ[R] LaurentSeries V :=
hasseDeriv R 1
```
with a `derivative_*` family of theorems (`derivative_apply`,
`derivative_iterate`, `derivative_iterate_coeff`). The Leibniz product rule
was missing. This PR fills that gap, adding `derivative_mul` alongside the
existing `derivative_*` family.
The proof is direct on coefficients via `HahnSeries.coeff_mul` and an
`addAntidiagonal` shift-bijection (matching the style of the existing
`hasseDeriv_*` lemmas). Five private helper lemmas factor the
coefficient-side calculation:
- `derivative_coeff` — clean coefficient formula at k = 1
- `support_derivative_subset` — `(derivative R f).support ⊆ (· - 1) '' f.support`
- `isPWO_shifted_support` — PWO preserved by the shift-by-(-1)
- `sum_bij_left` / `sum_bij_right` — `Finset.sum_nbij'` shift-reindexings
Total addition: ~85 LOC (5 private helpers + the public `derivative_mul`).
## Related future work
Full `Derivation` packaging for `LaurentSeries.hasseDeriv` (matching
`PowerSeries.derivative`-as-`Derivation` at
`Mathlib/RingTheory/PowerSeries/Derivative.lean:102`) is a natural follow-up,
since this Leibniz rule would discharge the `leibniz'` field. Out of scope
for this PR; can be a separate follow-up "LaurentSeries algebra-of-derivations
API" PR.
## Provenance
This lemma surfaced during work on a Lean 4 formalization of equisingular
flat connections (Connes–Marcolli 2008, Ch IV §6.4), where `LaurentSeries ℂ`
serves as the base ring for the ℂ((t))-module connection-matrix substrate.
The Leibniz rule is needed for the category-of-connection-preserving-maps
intertwining condition.
|
t-ring-theory
new-contributor
awaiting-author
LLM-generated
|
104/0 |
Mathlib/RingTheory/LaurentSeries.lean |
1 |
5 |
['github-actions', 'grunweg', 'localparty'] |
nobody |
157-70790 5 months ago |
157-77988 157 days ago |
0-6916 1 hour |
0 |
| 38348 |
mirajcs author:mirajcs |
feat(Geometry/Curve): add Frenet–Serret framework |
---
This PR introduces a basic formalization of smooth parametrized curves in `ℝ³`
(`EuclideanSpace ℝ (Fin 3)`) together with the Frenet frame and partial proofs
of the Frenet–Serret formulas.
Main contributions:
* Define `ParametrizedDifferentiableCurve` as a smooth map on an open interval.
* Define arc length and arc-length parametrization.
* Define geometric quantities:
- curvature `κ(t) = ‖α''(t)‖`
- tangent, normal, and binormal vector fields
- torsion via `‖B'(t)‖`
* Introduce the `FrenetFrame` structure.
* Prove key Frenet–Serret formulas:
- `T' = κ • N`
- `B' = -τ • N`
- `N' = -κ • T + τ • B`
The implementation relies on existing analysis and inner product space
infrastructure, as well as properties of the cross product in `ℝ³`.
Some intermediate lemmas about orthogonality and cross-product identities
are included.
At present, some results assume nonvanishing curvature/torsion and include
auxiliary hypotheses about derivatives. These can be streamlined in future work.
This development is intended as a foundation for further formalization of
classical differential geometry (curves and surfaces).
---
|
new-contributor
t-differential-geometry
awaiting-author
|
525/0 |
Mathlib.lean,Mathlib/Geometry/Curves/Basic.lean,Mathlib/Geometry/Curves/FrenetFrame.lean |
3 |
19 |
['bryangingechen', 'github-actions', 'mathlib-merge-conflicts', 'mirajcs', 'ocfnash', 'vihdzp', 'wwylele'] |
nobody |
157-44928 5 months ago |
194-79035 194 days ago |
6-47452 6 days |
0 |
| 39939 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/TreeDecomp): clique lemma for tree decompositions |
This PR proves the treewidth of a complete graph is `#V - 1` for finite V, and consequently, `G.cliqueNum - 1 <= G.treeWidth`. This PR follows #38334, and is a direct application of #39864.
AI Usage: The proofs were developed with the help of Claude Code. I vouch for all the code written and understand the content fully.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #38334
- [ ] depends on: #39864
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
LLM-generated
blocked-by-other-PR
|
588/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
4 |
5 |
['8e7', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
157-43059 5 months ago |
165-77045 165 days ago |
0-3155 52 minutes |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
merge-conflict
label:t-algebra$ |
131/0 |
Mathlib.lean,Mathlib/FieldTheory/PurelyInseparable/AdjoinPthRoots.lean |
2 |
14 |
['artie2000', 'chrisflav', 'dleijnse', 'erdOne', 'github-actions', 'leanprover-radar', 'mathlib-merge-conflicts'] |
erdOne assignee:erdOne |
156-63395 5 months ago |
316-76445 316 days ago |
10-11880 10 days |
0 |
| 38344 |
robo7179 author:robo7179 |
feat(SimpleGraph/Coloring/VertexColoring): Matching is 2 colorable |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
merge-conflict
|
51/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/VertexColoring.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
b-mehta assignee:b-mehta |
154-82303 5 months ago |
154-82304 154 days ago |
46-70512 46 days |
0 |
| 39192 |
jayscambler author:jayscambler |
feat(InnerProductSpace/PiL2): det of a linear isometry has unit norm |
Adds `LinearIsometryEquiv.norm_det` and the real corollary `LinearIsometryEquiv.abs_det`. The proof uses the unitary matrix of a linear isometry in orthonormal bases, via `LinearIsometryEquiv.toMatrix_mem_unitaryGroup` and `Matrix.det_of_mem_unitary`. The supporting matrix lemma is moved from `Adjoint.lean` to `PiL2.lean`, where it no longer depends on adjoints. |
t-analysis
new-contributor
LLM-generated
awaiting-author
|
22/0 |
Mathlib/Analysis/InnerProductSpace/PiL2.lean |
1 |
8 |
['github-actions', 'grunweg', 'jayscambler', 'sgouezel', 'themathqueen', 'wwylele'] |
sgouezel assignee:sgouezel |
151-12591 4 months ago |
172-890 172 days ago |
10-6700 10 days |
0 |
| 37707 |
MavenRain author:MavenRain |
feat(Combinatorics/SimpleGraph): add IsMaximalClique/IsMaximalIndepSet, refactor IsMaximum* to MaximalFor |
Addresses #34962
|
new-contributor
t-combinatorics
merge-conflict
|
63/31 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
7 |
['MavenRain', 'SnirBroshi', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
150-63230 4 months ago |
150-63231 150 days ago |
26-50538 26 days |
0 |
| 38364 |
openendings author:openendings |
feat(Order): directed complete partial orders |
Define DirectedCompletePartialOrder and its interaction with iSup and sSup.
A directed complete partial order 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
awaiting-author
|
123/0 |
Mathlib.lean,Mathlib/Order/DirectedCompletePartialOrder/Defs.lean,docs/references.bib |
3 |
5 |
['SnirBroshi', 'YaelDillies', 'github-actions', 'openendings'] |
YaelDillies assignee:YaelDillies |
149-30986 4 months ago |
149-30986 149 days ago |
51-71038 51 days |
0 |
| 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
|
327/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean,Mathlib/Geometry/PlaneCurves.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean,docs/references.bib |
5 |
117 |
['Ruben-VandeVelde', 'eric-wieser', 'github-actions', 'grunweg', 'michael-novak-math', 'scholzhannah'] |
nobody |
149-15868 4 months ago |
218-74437 218 days ago |
12-731 12 days |
1 |
| 39791 |
zixiaowang17 author:zixiaowang17 |
feat(Probability/HypothesisTesting): add Neyman-Pearson lemma |
This PR adds `Probability/HypothesisTesting/NeymanPearson.lean`, formalizing the classical Neyman-Pearson lemma with reference
Ingster, Y. and Suslina, I.A., 2012. Nonparametric goodness-of-fit testing under Gaussian models (Vol. 169). Springer Science & Business Media.
-/
The main definitions are:
* `ProbabilityTheory.NeymanPearson.npLikelihoodRatio`
* `ProbabilityTheory.NeymanPearson.npTest`
* `ProbabilityTheory.NeymanPearson.npSumError`
The main theorem is:
* `ProbabilityTheory.NeymanPearson.neyman_pearson`
We state the theorem in the weighted form `∫ T dP + t * ∫ (1 - T) dQ`, over measurable tests T : Ω → ℝ with values in [0, 1], using P + Q as the canonical dominating measure; rather than starting with the constrained formulation that fixes the Type I error and minimizes the Type II error. The reasons are two fold.
First, it can be thought as the Lagrangian form of the classical constrained Neyman-Pearson problem.
Second, this weighted form is often arises in applications, such as, in minimax lower-bound arguments for functional estimation, where one typically reduces estimation lower bounds to testing inequalities involving weighted sums of error probabilities.
Worflow with AI: we first manually wrote a blueprint in latex with every definition and lemma we need [NL_Blueprint_NP_Lemma.pdf](https://github.com/user-attachments/files/28199645/NL_Blueprint_NP_Lemma.pdf). then we checked the Mathlib API with claude code, chatgpt and LeanSearch, We manually wrote the outline, in the outline version we deleted the discussion on gamma in the blueprint - since we have used the version of the NP lemma that uses the likelihood ratio to construct the test, rather than writing in terms of comparisons of Radon-Nikodym derivatives with a common dominating measure, and hence have used gamma to arbitrarily define likelihood-ratio sets of measure zero under the null hypothesis. This choice is motivated by the downstream derivation of errors of NP tests. since we are unfamiliar with mathlib naming style, we used claude code skill for proof golfing and some syntax correction, eg whether should use unfold or simp only [];
Co-authored-by: Rajarshi Mukherjee <ram521@mail.harvard.edu>
--- |
t-measure-probability
new-contributor
LLM-generated
merge-conflict
|
179/0 |
Mathlib.lean,Mathlib/Probability/Decision/HypothesisTesting/NeymanPearson.lean |
2 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
148-64519 4 months ago |
unknown |
unknown |
0 |
| 39162 |
anovickis author:anovickis |
feat(Topology/PartitionOfUnity): add pointwise_decomposition_finsum + companions |
Add three short lemmas to `Mathlib/Topology/PartitionOfUnity.lean` extending the existing `PartitionOfUnity` API:
- `pointwise_decomposition_finsum` — for `f : X → ℝ` and `x ∈ s`, `f x = ∑ᶠ i, ρ i x · f x`. This is the pointwise step that lifts to integral linearity in measure-theoretic PoU integration: `∫_s f dμ = ∑ᶠ i, ∫_s (ρ i · f) dμ`.
- `one_minus_sum_nonneg` — `0 ≤ 1 - ∑ᶠ i, ρ i x`. Direct rearrangement of the existing `sum_le_one` field; useful as a complement-mass remainder bound in chart-by-chart estimates.
- `abs_le_one` — `|ρ i x| ≤ 1`. Combines the existing `nonneg` and `le_one`; convenience for absolute-value bounds.
All three are short proofs using existing structure fields (`sum_eq_one`, `sum_le_one`, `nonneg`, `le_one`).
These came up while writing chart-by-chart Stokes-on-manifold estimates where one wants to decompose `∫_M f` into chart-supported pieces using a partition of unity. The pointwise identity is the obvious first step; the other two are complementary algebraic bounds that show up in remainder estimates.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-topology
new-contributor
LLM-generated
awaiting-author
|
27/0 |
Mathlib/Topology/PartitionOfUnity.lean |
1 |
6 |
['github-actions', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
145-70018 4 months ago |
145-70018 145 days ago |
36-60212 36 days |
0 |
| 26413 |
michaellee94 author:michaellee94 |
feat: existence of maximal solutions for ODEs meeting Picard-Lindelöf conditions |
Add existence proof for maximal solution of ODE using Picard-Lindelöf and a uniqueness theorem using Grönwall's lemma.
---
- [x] depends on: #26382
- [x] depends on: #29186
- [x] depends on: #35043
- [ ] depends on: #40687
[](https://gitpod.io/from-referrer/) |
new-contributor
t-analysis
blocked-by-other-PR
|
662/1 |
Mathlib.lean,Mathlib/Analysis/ODE/ExistUnique.lean,Mathlib/Analysis/ODE/MaximalSolution.lean,docs/undergrad.yaml |
4 |
114 |
['botbaki-review', 'github-actions', 'grunweg', 'leanprover-community-bot-assistant', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'michaellee94', 'winstonyin'] |
nobody |
145-5895 4 months ago |
145-63021 145 days ago |
0-1069 17 minutes |
0 |
| 39981 |
MarAndrey77 author:MarAndrey77 |
feat(Analysis/Convex): prove Shapley-Folkman lemma |
## Summary
This PR adds a formal proof of the Shapley-Folkman lemma for finite sums of sets in finite-dimensional real vector spaces.
The main theorem states that if a point belongs to a finite sum of convex hulls, then it can be represented as a sum where all but at most `finrank ℝ E` terms belong to the original sets.
## Main declarations
* `shapley_folkman`
* `shapley_folkman_exists_choice`
* `ShapleyFolkmanRep.nonsingleton_card_le_finrank_of_minimal`
## Implementation notes
The proof uses a minimal-complexity representation and a perturbation argument to bound the number of nonsingleton convex combinations by `Module.finrank ℝ E`.
## AI usage
AI assistance was used during this project. In particular, it was used to help identify existing Mathlib theorems that could be useful for the proof, and to analyze Lean error messages while debugging the formalization.
## Checks
* `lake exe mk_all`
* `lake build Mathlib.Analysis.Convex.ShapleyFolkman`
* no `sorry`
* no linter warnings |
awaiting-author
t-analysis
new-contributor
|
1297/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean |
2 |
10 |
['MarAndrey77', 'github-actions', 'grunweg', 'wwylele'] |
nobody |
142-84411 4 months ago |
unknown |
unknown |
0 |
| 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
LLM-generated
|
98/1 |
Mathlib/Order/Filter/Cofinite.lean,Mathlib/Order/Filter/Ultrafilter/Basic.lean |
2 |
3 |
['felixpernegger', 'github-actions'] |
nobody |
142-68477 4 months ago |
unknown |
unknown |
0 |
| 40677 |
nrs-status author:nrs-status |
chore: update `Data.PFunctor.Univariate.M` docstring with example usage |
It is not clear how to make use of the `PFunctor.M` API, an example is added.
Following https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Possibly.20infinite.20trees/near/592161797 |
t-data
new-contributor
|
37/0 |
Mathlib/Data/PFunctor/Univariate/M.lean |
1 |
11 |
['eric-wieser', 'github-actions', 'nrs-status'] |
nobody |
142-13282 4 months ago |
145-74910 145 days ago |
0-475 7 minutes |
0 |
| 40539 |
edwardfalk author:edwardfalk |
feat(NumberTheory/LSeries): trivial and nontrivial zeros of riemannZeta |
This PR adds the sets of trivial and nontrivial zeros of the Riemann zeta function to
`Mathlib/NumberTheory/LSeries/ZetaZeros.lean`:
- `riemannZetaTrivialZeros` : the set `{-2, -4, -6, …}`, with a membership lemma and
the inclusion into `riemannZetaZeros` (via `riemannZeta_neg_two_mul_nat_add_one`);
- `riemannZetaNontrivialZeros` : zeros that are neither trivial nor the point `s = 1`,
with a membership lemma and the inclusion into `riemannZetaZeros`;
- `riemannHypothesis_iff_nontrivialZeros` : `RiemannHypothesis` is equivalent to the
statement that every nontrivial zero has real part `1/2`.
Motivation: the set-based formulation is the natural interface for follow-up work on
the Riemann xi function (follow-up PR adds `riemannXi` with the unconditional zero
characterization `riemannXi s = 0 ↔ s ∈ riemannZetaNontrivialZeros`) and, further out,
for Li's criterion, whose coefficient sums range over the nontrivial zero set.
Disclosure: this code was written with substantial assistance from Claude (Anthropic),
as part of a long-running formalization project; I have reviewed it, it is sorry-free,
and it builds and lints clean at master. Please apply the `LLM-generated` label.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-number-theory
new-contributor
LLM-generated
awaiting-author
|
51/0 |
Mathlib/NumberTheory/LSeries/ZetaZeros.lean |
1 |
4 |
['felixpernegger', 'github-actions', 'loefflerd'] |
loefflerd assignee:loefflerd |
141-79505 4 months ago |
141-79505 141 days ago |
8-25262 8 days |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
59 |
['Komyyy', 'Vierkantor', 'YaelDillies', 'YellPika', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
YaelDillies and pechersky assignee:pechersky assignee:YaelDillies |
139-56743 4 months ago |
224-21225 224 days ago |
52-43778 52 days |
0 |
| 40576 |
zhangmai19 author:zhangmai19 |
feat(Analysis/Convex): add Shapley-Folkman lemma |
The Shapley-Folkman lemma is a convex analysis result well-known in economics but rarely stated in math. Roughly: a sum of non-convex sets is "almost convex" — any point in the convex hull of the sum can be written as a sum of points from the individual convex hulls, and at most d of them actually need the convex hull (the rest are already in the original sets).
Closes #14427 |
t-analysis
new-contributor
awaiting-author
|
1022/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean,docs/references.bib |
3 |
12 |
['felixpernegger', 'github-actions', 'grunweg', 'zhangmai19'] |
YaelDillies assignee:YaelDillies |
138-33041 4 months ago |
unknown |
unknown |
0 |
| 39820 |
samuelchassot author:samuelchassot |
feat(Combinatorics/SimpleGraph): an eulerian walk exists iff exactly 0 or 2 vertices have odd degree |
As per the TODO open in `Trails.lean`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
671/3 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Eulerian.lean,Mathlib/Combinatorics/SimpleGraph/Trails.lean |
3 |
9 |
['SnirBroshi', 'YaelDillies', 'copilot-pull-request-reviewer', 'github-actions'] |
YaelDillies assignee:YaelDillies |
135-10711 4 months ago |
167-8122 167 days ago |
0-85186 23 hours |
0 |
| 38897 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SetFamily): formalize 1D Sperner's Lemma parity |
Formalizes the 1-dimensional Sperner's Lemma (parity version): given a coloring of
the `n + 1` vertices of a subdivided line segment with two colors (`ZMod 2`), if the
two endpoints have different colors, then the number of color-changing edges is odd.
This is **distinct** from `IsAntichain.sperner` in `SetFamily.LYM`, which concerns
antichains in a power set. This file formalizes the topological/combinatorial parity
statement used as the base case in higher-dimensional Sperner arguments.
## Key declarations
- `SpernerColoring`: type-safe coloring via `Fin (n + 1) → ZMod 2`
- `edgeDiff`: color difference on adjacent vertices, computed in `ZMod 2`
- `totalDiff`: telescoping sum of all edge differences
- `diffEdges`: the `Finset` of bichromatic (color-changing) edges
- `sperner_1d`: main theorem — `Odd (diffEdges c).card`
## Design notes
- Using `Fin (n + 1) → ZMod 2` instead of `ℕ → ZMod 2` makes boundary conditions
unrepresentable at the type level, eliminating out-of-bounds cases entirely.
- The proof reduces to a telescoping sum in `ZMod 2`, using `CharTwo.add_self_eq_zero`
to cancel all interior vertices, avoiding parity case splits.
This is intended as the 1D base case, the approach generalizes to higher-dimensional
Sperner's Lemma in future work.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
133/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Sperner1D.lean |
2 |
4 |
['YaelDillies', 'github-actions', 'grunweg'] |
YaelDillies assignee:YaelDillies |
134-85002 4 months ago |
134-85002 134 days ago |
54-39067 54 days |
0 |
| 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 |
134-70376 4 months ago |
unknown |
unknown |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
6 |
['Komyyy', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
134-8910 4 months ago |
192-35797 192 days ago |
22-4315 22 days |
0 |
| 40979 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(NumberTheory/ArithmeticFunction/Asymptotics) |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
sphere-packing
awaiting-author
|
37/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Asymptotics.lean |
2 |
13 |
['b-mehta', 'github-actions', 'loefflerd', 'thefundamentaltheor3m'] |
loefflerd assignee:loefflerd |
133-21217 4 months ago |
133-21241 133 days ago |
5-26316 5 days |
0 |
| 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.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
large-import
merge-conflict
|
1587/5 |
Mathlib.lean,Mathlib/Algebra/Polynomial/Roots.lean,Mathlib/AlgebraicTopology/InvarianceOfDomain.lean,Mathlib/Analysis/Convex/GaugeRescale.lean,Mathlib/Topology/Closure.lean,Mathlib/Topology/Order.lean |
6 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
131-47995 4 months ago |
unknown |
unknown |
0 |
| 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
merge-conflict
|
226/2 |
Mathlib/NumberTheory/Chebyshev.lean,Mathlib/NumberTheory/Primorial.lean |
2 |
54 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'XC0R', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
131-47870 4 months ago |
212-70648 212 days ago |
13-57688 13 days |
0 |
| 40835 |
Gracie-z author:Gracie-z |
feat(Probability): add Paley-Zygmund inequality |
Add the Paley-Zygmund inequality: for a nonneg random variable Z with finite variance and 0 ≤ θ ≤ 1,
(1-θ)² E[Z]² ≤ E[Z²] · P(Z > θ E[Z]).
The proof uses Jensen's inequality applied to x² on the set {Z > θ E[Z]}.
AI disclosure: I used Claude Code as a learning aid while writing this proof. It helped me find the right Mathlib lemma names and understand tactic syntax, but I wrote every line of code myself.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
85/0 |
Mathlib.lean,Mathlib/Probability/PaleyZygmund.lean |
2 |
20 |
['CoolRmal', 'Gracie-z', 'SnirBroshi', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
130-27723 4 months ago |
130-27723 130 days ago |
12-4673 12 days |
0 |
| 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`.
---
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
94/0 |
Mathlib/LinearAlgebra/Matrix/Transvection.lean,MathlibTest/matrix.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'zach1502'] |
nobody |
129-57875 4 months ago |
371-12347 371 days ago |
41-49475 41 days |
0 |
| 37350 |
aditya-ramabadran author:aditya-ramabadran |
feat(Analysis/Distribution): define the map from test functions to Schwartz functions |
Defines the canonical continuous linear map from test functions to Schwartz functions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
This PR originally also included the induced map from tempered distributions to distributions,
`𝓢'(E, F) →ₗ[ℂ] 𝓓'(Ω, F)`, via a real-to-complex bridge
`𝓓(Ω, ℝ) →L[ℝ] 𝓢(E, ℂ)`. After feedback from @mcdoll , I removed that second part from this PR so that the `𝓓 → 𝓢` map can be merged separately / later in a follow up PR after we figure out the best way to do it.
**Old description:**
Put in a separate file since Distribution.lean only imports TestFunction right now and I thought it was cleaner to do in a new bridge file with both the maps. Open to changing this though.
* Made use of #36445 (proved first map locally on fixed support spaces first by local seminorm estimates, then used limitCLM)
* Needed a real to complex bridge `TestFunction.ToComplexSchwartzMap` since distributions are defined on real-valued test functions but tempered distributions in mathlib are defined on complex-valued Schwartz functions
* Induced map $\mathcal S'(E,F) \to \mathcal D'(Ω,F)$ is $\mathbb C$-linear
The main important defs are `ContDiffMapSupportedIn.toSchwartzMapCLM` which is the local fixed-support part, then `TestFunction.toSchwartzMapCLM` (where the continuity uses limitCLM to glue the local continuous linear maps on each $\mathcal D_K$), and `TemperedDistribution.toDistributionLM` which is the linear map from tempered distributions to ordinary distributions.
Tested with `lake env lean Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean`
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
143/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/TestFunctionSchwartz.lean |
2 |
27 |
['aditya-ramabadran', 'github-actions', 'j-loreaux', 'luigi-massacci', 'mcdoll'] |
mcdoll assignee:mcdoll |
129-25219 4 months ago |
129-25219 129 days ago |
77-19533 77 days |
0 |
| 40984 |
jujumumu author:jujumumu |
feat(Algebra/Homology): add A-infinity grading data |
This is the first PR in a series of PRs that are aimed at defining AInfinityCategories in Lean.
This initial PR defines the necessary grading definitions and RLinearGradedQuiver, which is the first step to defining what an AInfinityCategory is.
We have a general roadmap that looks like Graded Quivers -> AinfinityCategoryStruct -> AInfinityCategory just like how Mathlib has Quiver -> CategoryStruct -> Category.
I've been chatting with a few people on [zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/A-Infinity.20Categories) regarding this project.
More information can be found at this website: https://marcodavid.net/ainfinity/. We have done a lot of work on defining AInfinityCategories and functors and some basic properties of them. The most recent code can be found [here](https://github.com/marco-david/ainfinity-lean/tree/AInfinityCategories).
AI Usage: GPT 5.5 was used in the overall development of this project. But all of the lean code in this first commit was written by humans. We intend for all PRs to be written by humans.
|
t-algebra
new-contributor
t-category-theory
awaiting-author
label:t-algebra$ |
81/0 |
Mathlib.lean,Mathlib/Algebra/Homology/AInfinity/Grading.lean |
2 |
4 |
['github-actions', 'joelriou'] |
nobody |
125-22698 4 months ago |
125-22698 125 days ago |
13-18843 13 days |
0 |
| 40237 |
syedjafri06193 author:syedjafri06193 |
fix(scripts): add_deprecations.sh generates additive aliases for @[to_additive] decls |
Fixes #38550
When a renamed declaration is preceded by `@[to_additive]`, the script
previously only emitted a deprecation alias for the multiplicative name.
This PR also emits one for the additive counterpart.
**Changes:**
- Switch `git diff` to `--unified=1` so the unchanged `@[to_additive]`
attribute appears as a context line in the diff output
- Track that context line in awk; when detected, apply standard
mul→add word substitutions to derive additive old/new names and
emit a second `@[deprecated] alias`
**Example — before:**
@[deprecated (since := "2026-06-04")] alias foo_mul := bar_mul
**Example — after:**
@[deprecated (since := "2026-06-04")] alias foo_mul := bar_mul
@[deprecated (since := "2026-06-04")] alias foo_add := bar_add
---
- [ ] depends on: #40503
AI disclosure: this fix was developed with Claude (claude.ai).
I understand all the changes and can explain every design decision. |
new-contributor
CI
awaiting-author
LLM-generated
|
58/4 |
scripts/add_deprecations.sh |
1 |
10 |
['CoolRmal', 'SnirBroshi', 'adomani', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'syedjafri06193'] |
nobody |
124-68999 4 months ago |
157-70802 157 days ago |
0-1576 26 minutes |
0 |
| 39406 |
roos-j author:roos-j |
feat(Analysis): van der Corput's lemma |
Adds van der Corput's lemma on one-dimensional oscillatory integrals, a standard tool in harmonic analysis.
Co-authored-by: Manasa Praveen <Manasa_Praveen@student.uml.edu>
---
From https://github.com/roos-j/lean-oscillatory, see there for future plans
Zulip discussion [#mathlib4 > Oscillatory integrals in Lean](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Oscillatory.20integrals.20in.20Lean/with/584786060)
AI disclosure: The code in this PR was human-written. At some point there were attempts to shorten proofs using AI, but those have since been largely overwritten. Currently there is no significant AI-contributed code.
(Edited 6/18/26) |
t-analysis
new-contributor
awaiting-author
|
523/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Trigonometric.lean,Mathlib/Analysis/OscillatoryIntegrals/VanDerCorput.lean,Mathlib/Topology/Order/IntermediateValue.lean,docs/references.bib |
5 |
69 |
['github-actions', 'j-loreaux', 'mathlib-merge-conflicts', 'mathlib-triage', 'roos-j', 'sgouezel'] |
j-loreaux assignee:j-loreaux |
123-53786 4 months ago |
124-7127 124 days ago |
49-5479 49 days |
0 |
| 41499 |
qdiazblanco author:qdiazblanco |
feat(NumberTheory): add bernoulli'_five, bernoulli'_six and riemannZeta_six |
Add bernoulli'_five and bernoulli'_six as simp lemmas, continuing the
existing sequence of explicit values bernoulli'_zero through
bernoulli'_four, and use the latter to prove `riemannZeta 6 = π ^ 6 / 945`.
Along the way, golf the proofs of `bernoulli'_two`, `bernoulli'_three` and
`bernoulli'_four` .
These results are upstreamed from the FLT project (ImperialCollegeLondon/FLT#1069).
Co-authored-by: William Coram
Co-authored-by: Samuel Yin
Co-authored-by: Pepa Montero
Co-authored-by: Archie Browne
---
Original PR by William Coram and Samuel Yin, written with the assistance of Claude and
cleaned up by Codex and then by Pepa Montero).
I have done some further changes to fit Mathlib conventions and Claude was also used to help shorten the
proof of `riemannZeta_six` with an idea by Archie Browne.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
LLM-generated
FLT
new-contributor
awaiting-author
|
18/4 |
Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/LSeries/HurwitzZetaValues.lean |
2 |
5 |
['github-actions', 'grunweg', 'qdiazblanco'] |
nobody |
122-86034 3 months ago |
123-81722 123 days ago |
0-2480 41 minutes |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #36667
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
432/17 |
Mathlib.lean,Mathlib/ModelTheory/PartialTypes.lean,Mathlib/ModelTheory/Semantics.lean |
3 |
7 |
['NoneMore', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
116-47280 3 months ago |
116-47367 116 days ago |
124-27426 124 days |
0 |
| 41755 |
Yangdx02 author:Yangdx02 |
feat(RingTheory/KrullAkizuki): add the Krull-Akizuki theorem |
This PR proves the Krull–Akizuki theorem. It proves that if $A$ is a one-dimensional Noetherian domain with fraction field $K$, $L / K$ is a finite extension, and $B$ is a subring of $L$ containing $A$, then $B$ is a Noetherian ring of Krull dimension at most one, and every nonzero ideal of $B$ has finite $A$-length quotient.
Main results:
* `krullAkizuki_isNoetherianRing`
* `krullAkizuki_dimensionLEOne`
* `krullAkizuki_quotient_ideal_finiteLength`
* `krull_akizuki`
--- |
t-ring-theory
new-contributor
awaiting-author
|
684/0 |
Mathlib.lean,Mathlib/RingTheory/KrullAkizuki.lean,Mathlib/RingTheory/Length.lean |
3 |
11 |
['Yangdx02', 'github-actions', 'grunweg', 'tb65536', 'vlad902'] |
nobody |
116-10757 3 months ago |
unknown |
unknown |
0 |
| 41396 |
xixifusi1213-gif author:xixifusi1213-gif |
Rename Real rpow order lemmas |
Closes #13544.
This renames the `Real.rpow` order lemmas so the names indicate which argument is being varied:
- `_left` for monotonicity/strict monotonicity in the base
- `_right` for monotonicity/strict monotonicity in the exponent
The old `Real` names are kept as deprecated aliases, and downstream `Real` usages in Mathlib are updated to the new names. The public `NNReal` and `ENNReal` theorem names are intentionally left unchanged.
|
new-contributor
awaiting-author
merge-conflict
|
253/169 |
Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Analysis/AbsoluteValue/Equivalence.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/PhragmenLindelof.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/TemperateGrowth.lean,Mathlib/Analysis/Fourier/PoissonSummation.lean,Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean,Mathlib/Analysis/MellinTransform.lean,Mathlib/Analysis/Normed/Lp/lpSpace.lean,Mathlib/Analysis/Normed/Unbundled/SmoothingSeminorm.lean,Mathlib/Analysis/Normed/Unbundled/SpectralNorm.lean,Mathlib/Analysis/SpecialFunctions/ImproperIntegrals.lean,Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean,Mathlib/Analysis/SpecialFunctions/Log/Base.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean,Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean,Mathlib/Analysis/SpecialFunctions/Pow/Real.lean,Mathlib/Analysis/SpecificLimits/FloorPow.lean,Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean,Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean,Mathlib/Computability/AkraBazzi/SumTransform.lean,Mathlib/MeasureTheory/Function/ConditionalExpectation/CondJensen.lean,Mathlib/MeasureTheory/Function/ContinuousMapDense.lean,Mathlib/MeasureTheory/Function/UniformIntegrable.lean,Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean,Mathlib/MeasureTheory/Measure/Lebesgue/VolumeOfBalls.lean,Mathlib/NumberTheory/Bertrand.lean,Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean,Mathlib/NumberTheory/LSeries/PrimesInAP.lean,Mathlib/NumberTheory/ModularForms/EisensteinSeries/Summable.lean,Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean,Mathlib/NumberTheory/NumberField/Discriminant/Basic.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/SumPrimeReciprocals.lean,Mathlib/NumberTheory/Transcendental/Liouville/Measure.lean,Mathlib/Topology/MetricSpace/Snowflaking.lean |
39 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
115-43259 3 months ago |
126-11782 126 days ago |
0-21602 6 hours |
0 |
| 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
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
awaiting-CI
merge-conflict
|
405/7 |
Mathlib/Computability/NFA.lean |
1 |
17 |
['YaelDillies', 'ctchou', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot'] |
nobody |
114-81271 3 months ago |
298-72320 298 days ago |
43-73349 43 days |
0 |
| 41922 |
junjihashimoto author:junjihashimoto |
feat(Analysis/Fourier): the Plancherel theorem for the Clifford-Fourier transform |
The Clifford–Fourier transform (Ebling–Scheuermann, *IEEE TVCG* 2005; Brackx–De Schepper–Sommen, *J. Fourier Anal. Appl.* 2005) of `f : ℝⁿ → Cl(n,0)` replaces the imaginary unit in the Fourier kernel by the pseudoscalar `ω`:
`ℱ f ξ = ∫ x, (cos (2π ⟪x, ξ⟫) - sin (2π ⟪x, ξ⟫) ω) * f x`.
For `n ≡ 2, 3 [MOD 4]` the pseudoscalar squares to `-1` (#41920), so left multiplication by the kernel is complex scalar multiplication for the pseudoscalar complex structure, and the Clifford–Fourier transform is *literally* the ordinary vector-valued Fourier transform (`cliffordFourierIntegral_eq_fourier`). Plancherel's theorem (`integral_norm_sq_cliffordFourier`), the Fourier inversion formula (`cliffordFourierInv_cliffordFourier`) and the `L²` isometry (`cliffordFourierL2`) are then inherited from the vector-valued `L²` Fourier theory. The case `n = 3` is the transform used for 3D vector field analysis in visualization; `n ≡ 2 [MOD 4]` covers the two-dimensional (quaternionic-style) transform, where the pseudoscalar is not central.
- [ ] depends on: #41920
|
t-analysis
new-contributor
blocked-by-other-PR
|
568/0 |
Mathlib.lean,Mathlib/Analysis/CliffordAlgebra/Euclidean.lean,Mathlib/Analysis/Fourier/CliffordPlancherel.lean |
3 |
4 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
113-10465 3 months ago |
113-16259 113 days ago |
0-967 16 minutes |
0 |
| 38316 |
tannerduve author:tannerduve |
feat(Order/OmegaCompletePartialOrder): least fixed point and Scott induction |
Adds `ContinuousHom.lfp` for endomorphisms on an ωCPO with `⊥`, as the `ωSup` of the iterate chain from `⊥`, together with `map_lfp`, `isFixedPt_lfp`, `lfp_le_fixed`, `isLeast_lfp`, and the Scott induction theorem `lfp_induction` (specialized from a more general seed-based `ωSup_iterate_induction`).
For `Part.fix`, adds:
* `Part.exists_mem_approx_of_mem_fix`: if `y ∈ Part.fix g x`, some finite approximation of `g` already contains `y`.
* `Part.Fix.approx_eq_iterate_bot` and `Part.Fix.approxChain_eq_iterateChain`: bridges between `Fix.approx`/`approxChain` and `f^[n] ⊥`/`iterateChain`.
* `Part.fix_eq_lfp`: `Part.fix g = ContinuousHom.lfp (.ofFun g hc)` when `g` is ω-Scott continuous.
* `Part.fix_scott_induction`: Scott induction specialized to `Part.fix`.
* `Part.fix_induction_mem`: membership induction on `Part.fix`, derived from `fix_scott_induction`. |
new-contributor
awaiting-author
t-order
|
118/9 |
Mathlib/Control/LawfulFix.lean,Mathlib/Order/OmegaCompletePartialOrder.lean,docs/references.bib |
3 |
7 |
['b-mehta', 'github-actions'] |
b-mehta assignee:b-mehta |
108-10172 3 months ago |
114-74019 114 days ago |
87-55158 87 days |
0 |
| 41945 |
generantao author:generantao |
feat(Polish): add analyticSet_graph_iff_measurable |
Proved that a function between standard Borel spaces (with specified Polish topologies) is Borel measurable iff its graph is analytic.
Supported by NSF grant DMS 2425401.
- [ ] depends on: #41944
Co-authored-by: Zelong Li <zelongl@andrew.cmu.edu>
Co-authored-by: Aaron Liu <aaronliu2008@outlook.com>
Co-authored-by: Wojciech Nawrocki <wjn@lean-fro.org>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
blocked-by-other-PR
new-contributor
|
81/2 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean,Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean |
3 |
4 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
107-48496 3 months ago |
unknown |
unknown |
0 |
| 31766 |
SuccessMoses author:SuccessMoses |
feat(Topology/EMetricSpace): continuity of arc length |
fixes half of #31751
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-topology
awaiting-author
merge-conflict
|
396/0 |
Mathlib.lean,Mathlib/Topology/EMetricSpace/ArcLength.lean,Mathlib/Topology/EMetricSpace/BoundedVariation.lean |
3 |
41 |
['SnirBroshi', 'SuccessMoses', 'Zeta-Wu', 'alreadydone', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
105-53829 3 months ago |
334-61440 334 days ago |
2-76060 2 days |
0 |
| 41944 |
generantao author:generantao |
feat(CountablyGenerated): add measurableSet_graph |
This PR proves that the graph of a measurable function into a countably separated space is measurable. It also renames the currently proven special case `measurableSet_graph` to `measurableSet_graph_real`, deprecating the current name.
Supported by NSF grant DMS 2425401.
Co-authored-by: Wojciech Nawrocki <wjn@lean-fro.org>
---
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
|
28/2 |
Mathlib/MeasureTheory/MeasurableSpace/CountablyGenerated.lean,Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean |
2 |
22 |
['CoolRmal', 'Vtec234', 'generantao', 'github-actions', 'plp127', 'vlad902'] |
nobody |
105-45615 3 months ago |
109-56073 109 days ago |
2-70596 2 days |
1 |
| 37716 |
slavanaprienko author:slavanaprienko |
feat(LinearAlgebra/Matrix/Determinant): Desnanot-Jacobi identity |
This PR adds the Desnanot-Jacobi identity (also known as the Lewis Carroll identity or Dodgson condensation): for any (n+2)×(n+2) matrix M over a commutative ring,
$$\det(M) \cdot \det(M_{1,n}^{1,n}) = \det(M_1^1) \cdot \det(M_n^n) - \det(M_1^n) \cdot \det(M_n^1)$$
The proof follows Bressoud's *Proofs and Confirmations* (Cambridge University Press, 1999): multiply M by an auxiliary matrix built from columns of the adjugate, then compare determinants. This yields the identity premultiplied by det(M). To cancel, we pass to a universal polynomial ring (an integral domain with nonzero determinant), then specialize back to arbitrary commutative rings.
It seems there's some interest in adding this:
https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Determinantal.20identity.20and.20the.20Cauchy.20matrix.20determinant/with/582946873
--- |
t-algebra
new-contributor
merge-conflict
label:t-algebra$ |
217/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Determinant/DesnanotJacobi.lean |
2 |
14 |
['SnirBroshi', 'github-actions', 'grunweg', 'kim-em', 'mathlib-merge-conflicts', 'slavanaprienko'] |
nobody |
104-6667 3 months ago |
129-55802 129 days ago |
53-45751 53 days |
0 |
| 35442 |
dhyan-aranha author:dhyan-aranha |
feat: Affine line with doubled origin counter example |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
t-algebraic-geometry
merge-conflict
|
305/0 |
Counterexamples.lean,Counterexamples/AffineLineWithDoubledOrigin.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean |
4 |
22 |
['BryceT233', 'chrisflav', 'dhyan-aranha', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
102-81249 3 months ago |
265-1553 265 days ago |
0-2563 42 minutes |
0 |
| 41454 |
EzequielS2 author:EzequielS2 |
feat(Topology/ContinuousMap): domMulAct action on bounded continuous maps |
- Define the action of `Mᵈᵐᵃ` on bounded continuous functions `α →ᵇ β`.
- Add basic instances and simp lemmas.
---
- [ ] depends on: #41449
|
new-contributor
t-topology
blocked-by-other-PR
|
184/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/Bounded/DomAct.lean,Mathlib/Topology/ContinuousMap/DomAct.lean |
3 |
8 |
['EzequielS2', 'github-actions', 'grunweg', 'j-loreaux', 'mathlib-dependent-issues'] |
j-loreaux assignee:j-loreaux |
101-12809 3 months ago |
103-49889 103 days ago |
21-26280 21 days |
0 |
| 41919 |
junjihashimoto author:junjihashimoto |
feat(Algebra): the Cayley-Dickson construction, octonions and sedenions |
We define the Cayley–Dickson double of a (possibly non-associative) star ring, and show that it preserves `NonAssocRing` and `StarRing`, so the construction can be iterated indefinitely: quaternions → octonions → sedenions → trigintaduonions → …. The octonions and sedenions are defined as the corresponding levels of the tower over `Quaternion R`.
The key lemma is `CayleyDickson.unit_mul_unit_mul`: the doubling unit `ℓ = ⟨0, 1⟩` satisfies `ℓ * (ℓ * x) = -x` at *every* level of the tower, by a computation that only uses that `star` is an involution — no alternativity is developed (and indeed the sedenions are not alternative and have zero divisors). Left multiplication by `ℓ` is therefore a complex structure on every Cayley–Dickson algebra; in a follow-up PR this yields Plancherel's theorem and the Fourier inversion formula for the hypercomplex (octonion, sedenion, …) Fourier transforms, by reduction to the vector-valued `L²` Fourier theory.
TODO (deliberately left for future work, noted in the module docstring): alternativity of the double of an associative star ring (Moufang identities), the multiplicative norm for composition algebras.
- [ ] depends on: (nothing)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
315/0 |
Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean |
3 |
9 |
['github-actions', 'vihdzp'] |
nobody |
101-4566 3 months ago |
101-4566 101 days ago |
12-12305 12 days |
2 |
| 41165 |
gnahz04 author:gnahz04 |
feat(Analysis/InnerProductSpace): the representer theorem |
Adds the representer theorem (Schölkopf version): infinite dimensional kernel space represented by finite number of data points.
Discussed in #mathlib4 ("RKHS representer theorem").
**AI disclosure.** I used Claude Code (Claude Opus 4.8) to draft and iterate the Lean proof. I work in kernel methods / RKHS, understand the statement and proof, and can justify the design choices to reviewers.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-analysis
new-contributor
LLM-generated
awaiting-author
|
51/0 |
Mathlib/Analysis/InnerProductSpace/Reproducing.lean |
1 |
11 |
['felixpernegger', 'github-actions', 'gnahz04', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
98-85471 3 months ago |
110-78613 110 days ago |
21-78262 21 days |
0 |
| 41477 |
lucifer1004 author:lucifer1004 |
feat(Analysis/InnerProductSpace): add Hilbert-Schmidt inner product and norm |
This PR adds the Hilbert-Schmidt (Frobenius) inner product and norm on linear maps `E →ₗ[𝕜] F` between finite-dimensional inner product spaces over an `RCLike` field, built through `InnerProductSpace.Core`. The instances are scoped under `LinearMap.Norms.HilbertSchmidt` (rather than global, since `E →ₗ[𝕜] F` should not carry a canonical norm), mirroring the `Matrix.Norms.Frobenius` convention.
Main declarations:
- `LinearMap.hilbertSchmidtCore`
- `LinearMap.hilbertSchmidtNormedAddCommGroup`
- `LinearMap.hilbertSchmidtInnerProductSpace`
- `LinearMap.trace_adjoint_comp_eq_sum_inner`
- `LinearMap.hilbertSchmidt_inner_eq_trace`
- `LinearMap.hilbertSchmidt_norm_sq_eq_re_trace`
- `LinearMap.hilbertSchmidt_norm_sq_eq_sum_norm_sq`
This is the foundation for a sequence of PRs proving the Eckart-Young-Mirsky best low-rank approximation theorems on top of `LinearMap.singularValues`; see the notes below the fold.
Verification:
- Builds
- `runLinter` passes
- `lint-style` clean
- No `sorry`
AI use disclosure: this PR was developed with the assistance of Claude (via Claude Code), which was used to draft and refactor the Lean proofs under my direction. I have reviewed the final code, can justify the design decisions, and take responsibility for it.
---
Following review feedback on Zulip, the original four-file PR has been split; this PR now contains only the Hilbert-Schmidt norm, and the proofs across all four files have been refactored to be more compact. The follow-ups are:
- Ky Fan inequality + Eckart-Young in Frobenius norm (branch `eckart-young-frobenius`, depends on this PR);
- the operator norm equals the largest singular value (branch `opnorm-singular-values`, independent);
- Eckart-Young in operator norm (branch `eckart-young-spectral`, independent).
I would especially appreciate feedback on whether the scoped `LinearMap.Norms.HilbertSchmidt` instance is the right API here, or whether a type-synonym approach (à la `WithLp`) would be preferred.
|
t-analysis
new-contributor
LLM-generated
awaiting-author
|
120/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/HilbertSchmidt.lean |
2 |
6 |
['TJHeeringa', 'github-actions', 'j-loreaux', 'ocfnash'] |
j-loreaux assignee:j-loreaux |
98-29567 3 months ago |
103-50051 103 days ago |
20-73722 20 days |
0 |
| 35812 |
khwilson author:khwilson |
feat(MeasureTheory/Group/GeometryOfNumbers): successive minima and existence of a directional basis |
Define the successive minima of a discrete subgroup of a real vector space with respect to a convex set. These invariants show up throughout the geometry of numbers and are the focus of Minkowski's Second Theorem (whose statement is left here with a `proof_wanted`).
Note: The key lemma is that the "gauge set" of the convex set is closed. I took the approach of showing that it is sequentially closed. There's an alternative approach via showing it's the union of a finite number of closed sets. I personally thought this approach was more intuitive, but the union approach may result in a slightly shorter proof.
Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [x] depends on: #xyz [optional extra text]
-->
- [x] depends on #37738
- [x] depends on #37740
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
merge-conflict
|
350/36 |
Mathlib/Algebra/Module/ZLattice/Basic.lean,Mathlib/Analysis/Convex/Basic.lean,Mathlib/Analysis/Convex/Body.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/LinearAlgebra/FiniteDimensional/Basic.lean,Mathlib/MeasureTheory/Group/GeometryOfNumbers.lean,Mathlib/NumberTheory/NumberField/Units/Regulator.lean |
7 |
99 |
['Vierkantor', 'YaelDillies', 'github-actions', 'joneugster', 'khwilson', 'mathlib-merge-conflicts', 'ocfnash', 'sgouezel'] |
nobody |
95-28668 3 months ago |
95-28668 95 days ago |
90-9647 90 days |
0 |
| 41622 |
benjub author:benjub |
feat(Order): add subset_Icc_iff and Set.OrdConnected.eq_Icc |
Add two lemmas relating to closed bounded intervals in a preorder:
- `subset_Icc_iff : s ⊆ Icc a b ↔ a ∈ lowerBounds s ∧ b ∈ upperBounds s` in `Mathlib/Order/Bounds/Basic.lean` characterizes containment in a closed bounded interval. This is the version "with witnesses" of `bddBelow_bddAbove_iff_subset_Icc`, and we prove the latter as a corollary.
- `OrdConnected.eq_Icc (s : Set α) (hs : OrdConnected s) (ha : IsLeast s a) (hb : IsGreatest s b) : s = Icc a b` in `Mathlib/Order/Interval/Set/OrdConnected.lean` gives a sufficient condition to be a closed bounded interval. It uses the previous lemma in its proof.
---
**Motivation:** I plan to use `OrdConnected.eq_Icc` to show that a set is closed when it is ordconnected and contains its infimum and supremum. This will allow to use the existing "continuous induction principle" `IsClosed.mem_of_ge_of_forall_exists_gt` to shorten the (compiling) proof in the draft PR #41552. |
t-order
new-contributor
merge-conflict
|
9/3 |
Mathlib/Order/Bounds/Basic.lean,Mathlib/Order/Interval/Set/OrdConnected.lean |
2 |
6 |
['benjub', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
94-53863 3 months ago |
94-53864 94 days ago |
25-14914 25 days |
0 |
| 33163 |
Aaron1011 author:Aaron1011 |
feat: prove subgroup of (M -> Z) is finitely generated |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
merge-conflict
|
5/0 |
Mathlib/RingTheory/DedekindDomain/Dvr.lean |
1 |
3 |
['erdOne', 'github-actions', 'mathlib-merge-conflicts'] |
alreadydone assignee:alreadydone |
91-11200 2 months ago |
316-69395 316 days ago |
5-78603 5 days |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-data
awaiting-author
merge-conflict
|
34/0 |
Mathlib.lean,Mathlib/Algebra/Order/Group/Unbundled/Abs.lean,Mathlib/Data/Finset/RangeDistance.lean |
3 |
8 |
['GrigorenkoPV', 'Vierkantor', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'plp127'] |
pechersky assignee:pechersky |
90-67818 2 months ago |
227-73130 227 days ago |
52-16075 52 days |
0 |
| 38843 |
FordUniver author:FordUniver |
chore(Combinatorics/SimpleGraph/Copy): replace file-wide `@[expose]` with selective exposure |
Removes the file-wide `@[expose] public section` and restores selective `@[expose]` only on the small constructive `def`s that need cross-module reduction: `Copy.toEmbedding`, `Copy.id`, `Copy.ofLE`, `Copy.topEmbedding` — each has an exported `@[simp]` lemma proved by `rfl` that needs the definition unfolded to typecheck. Replaces `@[simps!]` on `topEmbedding` with an explicit `@[simp] topEmbedding_apply` to avoid a private `_proof_1` term leaking into generated lemma names; adds `toEmbedding_apply` to match the existing `toHom_apply`. Switches `IsIndContained` from `def` to `abbrev` so the structural alias `Nonempty (G ↪g H)` stays transparent, matching `IsContained` and `Free`.
Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com>
---
**Step 3/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
The noncomputable counts `copyCount` and `unlabeledCopyCount` are deliberately *not* exposed (see [@plp127's review](https://github.com/leanprover-community/mathlib4/pull/38631#discussion_r3161902380) on #38631 explaining that unfolding a `classical`-`Fintype.card` body is rarely what you want); the downstream consumers in #38631 bridge via public `*_eq_nat_card` lemmas introduced in #38931 instead.
- [ ] depends on: #38745
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/chore/copy-spelling...chore/copy-expose)
|
t-combinatorics
new-contributor
blocked-by-other-PR
tech debt
merge-conflict
|
251/246 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
7 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
90-38255 2 months ago |
180-18497 180 days ago |
0-74062 20 hours |
4 |
| 38931 |
FordUniver author:FordUniver |
chore(Combinatorics/SimpleGraph/Copy): replace classical `Fintype.card` with `Nat.card` |
Replaces definitions of `copyCount` and `unlabeledCopyCount` with `Nat.card` instead of `Fintype.card` as well as several `Fintype` occurrences with `Finite`. The body of `uniqueUnlabeledCopyBot` is restructured to use `Finite.injective_iff_surjective` since the `Fintype.card_congr` route no longer applies under the weakened `[Finite W]` hypothesis. Adds public `copyCount_eq_nat_card` and `unlabeledCopyCount_eq_nat_card` bridge lemmas so downstream files can characterize the counts (e.g. for `Nat.card_le_card_of_injective` bridging in `InducedCopy.lean`) without unfolding.
Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com>
---
**Step 4/5 of the `Copy` / `InducedCopy` refactor-feat stack.**
As suggested in #38631 by @SnirBroshi and @YaelDillies. I went with `Nat` over `ENat` based on Yael's preference (but I think that could easily be changed to `ENat`). Quite a bit of churn was needed as a consequence.
- [ ] depends on: #38843
Diff for the changes *just* in this PR over its predecessor: [link](https://github.com/FordUniver/mathlib4/compare/chore/copy-expose...chore/copy-nat-card) |
new-contributor
t-combinatorics
large-import
blocked-by-other-PR
tech debt
merge-conflict
|
281/257 |
Mathlib/Combinatorics/SimpleGraph/Copy.lean |
1 |
10 |
['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
90-38252 2 months ago |
unknown |
unknown |
3 |
| 40768 |
AlexeyMilovanov author:AlexeyMilovanov |
Add a reachability characterization for PFun.fix |
Add a `ReflTransGen` characterization of `PFun.fix` and use it to simplify one Turing machine proof. |
new-contributor
merge-conflict
|
27/13 |
Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/PFun.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
90-35746 2 months ago |
90-35747 90 days ago |
40-57718 40 days |
0 |
| 37062 |
tannerduve author:tannerduve |
feat(Computability): Turing join and semilattice structure on Turing degrees |
- Add `Partrec.kronecker` (equality test) and `Partrec.join` (disjoint union by parity) in `Partrec.lean`
- Prove `Nat.RecursiveIn` is closed under computable conditionals (`cond_const`, `cond`)
- Show each component reduces to the join (`left_le_join`, `right_le_join`) and the join is the least upper bound (`join_le`)
- Establish `SemilatticeSup` instance on `TuringDegree` |
t-computability
new-contributor
large-import
awaiting-author
merge-conflict
|
311/15 |
Mathlib/Computability/Partrec.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/TuringDegree.lean |
3 |
19 |
['Komyyy', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'tannerduve'] |
YaelDillies assignee:YaelDillies |
89-51090 2 months ago |
142-32130 142 days ago |
68-21416 68 days |
0 |
| 41989 |
bryan-hu author:bryan-hu |
feat(NumberTheory/LegendreSymbol/QuadraticChar/Basic): characterize when products are squares |
## Motivation
This is a basic application of the quadratic character of a finite field that can be used in many instances, for example later to characterize squares in `ℤ_[p]`.
## Summary
`FiniteField.isSquare_mul_iff` characterizes when the product of two nonzero elements in a finite field is a square, using the quadratic character.
## Testing
- `lake build Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic -q --log-level=info`
- `lake exe lint-style Mathlib.NumberTheory.LegendreSymbol.QuadraticChar.Basic`
- `git diff --check upstream/master...HEAD`
## AI assistance
I was working with AI assistance (Claude Code, Codex) to formalize some fun number theory I like (Hilbert symbols, towards reciprocity laws) to help me learn Lean. I used AI assistance to highlight some small pieces that might be appropriate for mathlib, and to help me properly format these small items for mathlib.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
LLM-generated
awaiting-author
|
31/0 |
Mathlib/NumberTheory/LegendreSymbol/QuadraticChar/Basic.lean |
1 |
10 |
['bryan-hu', 'felixpernegger', 'github-actions', 'loefflerd'] |
loefflerd assignee:loefflerd |
89-8160 2 months ago |
108-6037 108 days ago |
2-67744 2 days |
0 |
| 41935 |
martinamaggio author:martinamaggio |
feat(Probability/Independence): grouping an independent family by pairwise disjoint index sets |
If `m : ι → MeasurableSpace Ω` is an independent family of σ-algebras and `G : ι' → Set ι` is a
pairwise disjoint family of index sets, then the family of grouped σ-algebras
`fun i' ↦ ⨆ j ∈ G i', m j` is again independent.
This is the indexed-family version of the existing two-group lemma `indep_iSup_of_disjoint`, from
which it follows by induction on the finite subfamily, peeling off one group at a time against the
union of the remaining ones. As usual it is proven for the kernel notion of independence
(`Kernel.iIndep_iSup_of_disjoint`) and specialized to independence w.r.t. a measure
(`iIndep_iSup_of_disjoint`) and to conditional independence (`iCondIndep_iSup_of_disjoint`).
The lemma is the natural bridge from an independent family to block/grouping arguments — e.g.
Markov-style properties of recursions driven by disjoint sets of randomness sources. It was
developed for a formalization of end-to-end latency distributions of periodic task chains, where it
establishes that successive chain states, being measurable w.r.t. σ-algebras of disjoint groups of
an independent family, form an independent family themselves. |
t-measure-probability
new-contributor
awaiting-author
|
52/0 |
Mathlib/Probability/Independence/Basic.lean,Mathlib/Probability/Independence/Conditional.lean,Mathlib/Probability/Independence/Kernel/Indep.lean |
3 |
4 |
['bocowgill', 'github-actions'] |
kex-y assignee:kex-y |
89-549 2 months ago |
89-549 89 days ago |
23-59477 23 days |
0 |
| 42718 |
justinhalford author:justinhalford |
feat(Combinatorics/SetFamily): the linear algebra method and the Oddtown theorem |
Adds the basic form of the **linear algebra method** for set families (Babai–Frankl) together with its standard first application, the **Oddtown theorem** (Berlekamp, 1969).
### What's here
- `linearIndependent_of_dotProduct_eq_ite` — a family of vectors whose pairwise dot products form the identity matrix is linearly independent. Stated over an arbitrary field, so it does not rely on positivity; this is the engine of the method.
- `Finset.charVec` — the characteristic vector of a finset, valued in a semiring, with `charVec_apply`.
- `Finset.charVec_dotProduct_charVec` — the dot product of two characteristic vectors is the cardinality of the intersection.
- `Finset.card_le_card_of_odd_card_of_even_card_inter` — **Oddtown**: a family of finsets of odd cardinality, any two of which meet in an even number of elements, has at most `Fintype.card α` members.
### Why
I could not find the linear algebra method anywhere in Mathlib. Searching for `Oddtown`, `Eventown`, Fisher's inequality, `RayChaudhuri` and `FranklWilson` returns nothing, and exactly one file under `Mathlib/Combinatorics/` uses `finrank`/`LinearIndependent` (`SimpleGraph/LapMatrix.lean`, for spectral graph theory). Since the technique underlies a large family of extremal results, the general lemma is stated separately from Oddtown so that Eventown, Fisher's inequality and Ray-Chaudhuri–Wilson can be added on top later.
If this does already exist under a formulation I did not think to search for, I would be glad to be pointed at it.
### Verification
Compiles against `master` (Lean 4.34.0-rc1) with no errors or warnings. `#print axioms` on each of the three results reports only `[propext, Classical.choice, Quot.sound]`. No `sorry`, no new axioms, no `set_option` overrides.
### Disclosure
This file was written with AI assistance (Claude Opus 5) and then checked against the Lean kernel; that is noted in the module docstring as well. Every statement, proof and docstring has been read through by me before submission. Happy to adjust naming, generality or placement to whatever the maintainers prefer.
### Process note
I am a first-time contributor and I am aware the usual convention is to raise a new file on Zulip before opening a PR. Apologies for going in the other order — I am glad to move the discussion to `#mathlib4` if that is preferred, or to close this if the material is not wanted.
---
[](https://gitpod.io/#https://github.com/leanprover-community/mathlib4)
|
t-combinatorics
new-contributor
|
144/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Oddtown.lean |
2 |
3 |
['D-Thomine', 'github-actions'] |
nobody |
88-13226 2 months ago |
88-17236 88 days ago |
88-17163 88 days |
0 |
| 42533 |
attilavjda author:attilavjda |
chore(Analysis/SpecialFunctions/Pow/Real): deprecate six misnamed duplicate log/rpow lemmas |
6 `Pow/Real.lean` lemmas duplicate with misleading names, replace by deprecated aliases
Some of these deprecated lemmas names, or their intended proofs seem mixed up too, which could be updated perhaps after the deprecation period?
[Used Aristotle in making this PR. It found the duplicates, generated guidance, example code, and verifications.](https://github.com/attilavjda/formal-contributions/blob/main/analysis-rpow-dedup/RpowLogDedup.lean)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
6/20 |
Mathlib/Analysis/SpecialFunctions/Pow/Real.lean |
1 |
6 |
['attilavjda', 'github-actions', 'j-loreaux', 'wwylele'] |
nobody |
88-2576 2 months ago |
88-37108 88 days ago |
5-55093 5 days |
0 |
| 34054 |
YellPika author:YellPika |
feat(Order/OmegaCompletePartialOrder): OmegaCompletePartialOrder instance for `Sigma` with basic `ωScottContinuous` lemmas |
This PR adds an `OmegaCompletePartialOrder` instance for `Sigma` along with `ωScottContinuous` lemmas for basic operations (`mk`, `fst`, `snd`). Appropriate lemmas are marked with `@[fun_prop]` so that the `fun_prop` tactic can automatically deduce `ωScottContinuous` proofs for functions involving `Sigma`s.
---
- [x] depends on: #33941
- [x] depends on: #37258
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
please-merge-master
awaiting-author
merge-conflict
|
231/0 |
Mathlib/Data/Sigma/Order.lean,Mathlib/Order/OmegaCompletePartialOrder.lean |
2 |
30 |
['Vierkantor', 'YellPika', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
grunweg assignee:grunweg |
86-60369 2 months ago |
261-65957 261 days ago |
16-56783 16 days |
0 |
| 42540 |
shaikidris author:shaikidris |
feat(Combinatorics): asymptotic / natural density and linear-growth bridge |
Redefines asymptotic / natural density around a shared finite relative-density profile, instead of density along `SummationFilter`s.
* `Set.partialDensity S A b` — proportion of `A ∩ Iio b` in `S`
* `Set.lowerDensity` / `Set.upperDensity` — liminf / limsup of that profile
* `Set.HasDensity` — convergence of the profile; `Set.HasNaturalDensity` — `ℕ` case with `A = univ`
* Basic API: `[0,1]` bounds, empty/univ, finite sets have density `0`, `Finset.range` characterizations
* Drops the filter-parametric layer and the junk-valued `naturalDensity`
* Opt-in `Mathlib.Combinatorics.AsymptoticDensity.LinearGrowth`: exact lower/upper density equalities for the counting function `n ↦ #{x ∈ Finset.range n | x ∈ S}`, with no `LinearGrowth` dependency on the core density module
* Retargets the Schnirelmann TODO to this module; Schnirelmann-density comparison proofs are left for follow-up (the linear-growth bridge is proved here)
AI disclosure: this PR is primarily LLM-generated (OpenAI Codex). I reviewed the design (with review comments feedback), public APIs and edge-cases.
I primarily used these as part of my other project on quantitative descent and I think there is a merit in reusability.
---
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
LLM-generated
|
358/2 |
Mathlib.lean,Mathlib/Combinatorics/AsymptoticDensity.lean,Mathlib/Combinatorics/AsymptoticDensity/LinearGrowth.lean,Mathlib/Combinatorics/Schnirelmann.lean |
4 |
16 |
['D-Thomine', 'b-mehta', 'github-actions', 'jcommelin', 'mathlib-bors', 'shaikidris', 'wwylele'] |
nobody |
84-17088 2 months ago |
84-17148 84 days ago |
93-33015 93 days |
0 |
| 42764 |
attilavjda author:attilavjda |
chore(GroupTheory): make `smul_eq_self_of_mem_zpowers` `to_additive` |
This PR makes `smul_eq_self_of_mem_zpowers` amenable to `@[to_additive]` by reproving it via the action stabilizer and `Subgroup.zpowers_le`.
This allows the additive counterpart to be generated automatically, removing the hand-written additive proof and the `to_additive existing` workaround.
Used Aristotle AI to find this refactor and help write the proof.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
t-group-theory
new-contributor
awaiting-author
|
4/11 |
Mathlib/GroupTheory/OrderOfElement.lean |
1 |
11 |
['SnirBroshi', 'attilavjda', 'github-actions', 'tb65536'] |
nobody |
83-70816 2 months ago |
87-10363 87 days ago |
0-1352 22 minutes |
0 |
| 42847 |
Rshin2024 author:Rshin2024 |
feat(Geometry/Manifold): pull back charted space and groupoid structures along a homeomorphism |
## Summary
Given a charted space `M` modelled on `H` and a homeomorphism `e : N ≃ₜ M`,
this PR endows `N` with the pulled-back charted-space structure whose atlas is
`{e.transOpenPartialHomeomorph c | c ∈ atlas H M}`, and shows the transport
preserves every satisfied structure groupoid:
* `Homeomorph.pullbackChartedSpace e : ChartedSpace H N` — the pulled-back
structure (marked `@[instance_reducible]`, not an instance, since it is one
of many possible structures on `N`), with `[simp, mfld_simps]` lemmas
`pullbackChartedSpace_chartAt` and `pullbackChartedSpace_atlas`, and the
atlas-membership helper
`transOpenPartialHomeomorph_mem_pullbackChartedSpace_atlas`.
* `Homeomorph.pullback_symm_trans` — the key computation: coordinate changes
of the transported atlas are **equal** (not merely equivalent) to
coordinate changes of the original atlas, because for a global
homeomorphism `e.toOpenPartialHomeomorph.symm ≫ₕ e.toOpenPartialHomeomorph`
is the identity chart (a private helper lemma).
* `Homeomorph.pullback_hasGroupoid e G` — consequently `HasGroupoid N G`
holds for every structure groupoid `G` that `M` satisfies.
* `Homeomorph.pullbackStructomorph e G : Structomorph G N M` — `e` itself is
a `G`-structomorphism for the pulled-back structure.
## Relation to existing API
`Homeomorph.chartedSpace` already transports charted-space structures, via
the `IsLocalHomeomorph` machinery (chart-by-chart, through local inverses).
The construction here is substantively different: it composes the *global*
homeomorphism with each chart of the entire supplied atlas, so coordinate
changes are unchanged on the nose and every structure groupoid transports
with no `ClosedUnderRestriction G` assumption. The definition uses the
existing `Homeomorph.transOpenPartialHomeomorph` API for the precomposition.
## Motivation
Given a specified homeomorphism `e : N ≃ₜ M`, this construction transports
the `G`-charted-space structure of `M` to `N`. It does not compare the
transported structure with any pre-existing structure on `N`; that comparison
is the substantive issue in questions such as the smooth four-dimensional
Poincaré conjecture (see `Mathlib.Geometry.Manifold.PoincareConjecture`).
The transport direction is nonetheless the natural prerequisite for stating
such comparisons, and does not currently exist in Mathlib at the groupoid
level.
Compiles with the single import `Mathlib.Geometry.Manifold.HasGroupoid`,
current module boilerplate (`module` / `public import` /
`@[expose] public section`), no `sorry`, no new axioms;
`lake exe mk_all --check` passes. Naming is open to review.
|
t-differential-geometry
new-contributor
awaiting-author
|
129/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/PullbackGroupoid.lean |
2 |
4 |
['github-actions', 'grunweg'] |
nobody |
83-18550 2 months ago |
83-18550 83 days ago |
1-31258 1 day |
0 |
| 42884 |
Rshin2024 author:Rshin2024 |
feat(Geometry/Manifold): equivalence of C^n structomorphisms and diffeomorphisms |
## Summary
For manifolds `M`, `M'` modelled on the same model with corners `I`, Mathlib
has two notions of `C^n` isomorphism with no connection between them:
`Structomorph (contDiffGroupoid n I) M M'` (a homeomorphism whose chart
transports lie in the groupoid) and `M ≃ₘ^n⟮I, I⟯ M'` (`Diffeomorph`). This
PR provides both directions of the equivalence, in a new module
`Mathlib.Geometry.Manifold.ContMDiff.Structomorph`:
* `Structomorph.liftPropOn` — a structomorphism satisfies the
`IsLocalStructomorphWithinAt` lift property on its whole source: at each
point the chart-composed structomorphism is *definitionally* the witness.
* `Structomorph.contMDiff` / `Structomorph.toDiffeomorph` — via
`isLocalStructomorphOn_contDiffGroupoid_iff`, the lift property converts to
`ContMDiffOn` on `univ`, in both directions using `Structomorph.symm`.
* `Diffeomorph.toStructomorph` — conversely, `ContMDiff` in both directions
gives the lift property by the same `iff`;
`LocalInvariantProp.liftPropWithinAt_indep_chart` re-expresses it in an
arbitrary pair of atlas charts; and the resulting local groupoid elements
glue by `StructureGroupoid.locality`, using `closedUnderRestriction'` and
`StructureGroupoid.mem_of_eqOnSource`.
## Motivation
These are the two isomorphism notions of the charted-space and manifold
layers respectively; connecting them lets statements phrased at the groupoid
level (e.g. transport of structure along homeomorphisms) be consumed at the
`ContMDiff` level and vice versa. The two maps are packaged as
`structomorphEquivDiffeomorph : Structomorph (contDiffGroupoid n I) M M' ≃ (M ≃ₘ^n⟮I, I⟯ M')`,
with `rfl`-level inverse proofs via a new `Structomorph.toHomeomorph_injective`.
Independent of #42847 (neither imports the other), though motivated by the
same project. Compiles with the two imports `ContMDiff.Atlas` and
`Diffeomorph`; current module boilerplate; no `sorry`, no new axioms;
`lake exe mk_all --check` passes. Naming open to review.
|
t-differential-geometry
new-contributor
awaiting-author
|
141/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/ContMDiff/Structomorph.lean |
2 |
6 |
['felixpernegger', 'github-actions', 'grunweg'] |
nobody |
83-18416 2 months ago |
83-18416 83 days ago |
0-42263 11 hours |
0 |
| 40687 |
michaellee94 author:michaellee94 |
feat(Analysis/ODE): uniqueness of integral curves on intervals and intersections |
Adds some uniqueness lemmas for integral curves of a Lipschitz vector field, proved via Grönwall's inequality. Split out from #26413 (existence of maximal solutions). |
t-analysis
new-contributor
awaiting-author
|
91/0 |
Mathlib/Analysis/ODE/ExistUnique.lean |
1 |
7 |
['github-actions', 'grunweg', 'michaellee94', 'sgouezel'] |
ADedecker assignee:ADedecker |
83-426 2 months ago |
83-427 83 days ago |
50-66684 50 days |
1 |
| 40900 |
judsonpereirademoura-netizen author:judsonpereirademoura-netizen |
feat(Analysis/Matrix): spectral theorem for normal matrices |
Adds the **spectral theorem for normal matrices** over `ℂ`: every normal matrix
(`IsStarNormal M`, i.e. `Mᴴ * M = M * Mᴴ`) is unitarily diagonalizable,
`M = U * diagonal μ * Uᴴ`. This extends `Matrix.IsHermitian.spectral_theorem`
(Hermitian case) to the normal case.
Specific to `ℂ` (algebraically closed): a real normal matrix — e.g. a planar rotation
`![![0,-1],![1,0]]` — is normal but not orthogonally diagonalizable over `ℝ`, hence the
hypothesis `Matrix n n ℂ` rather than `RCLike`.
### API (mirrors `Matrix.IsHermitian.*`)
- `normalEigenvectorBasis`, `normalEigenvalues`, `normalEigenvectorUnitary`
- `mulVec_normalEigenvectorBasis` (eigen equation); `normalEigenvectorUnitary_apply`/`_mulVec`
- `spectral_theorem_of_isStarNormal` (`M = U * diagonal μ * Uᴴ`)
- `exists_isUnitary_conj_diagonal_of_isStarNormal` (existential), `isStarNormal_of_isUnitary_conj_diagonal`
(converse), `isStarNormal_iff_exists_isUnitary_conj_diagonal` (iff)
### Proof
Cartesian decomposition `M = A + i•B` with `A = selfAdjointPart ℝ M` and
`B = -i • skewAdjointPart ℝ M`, both Hermitian. Normality of `M` is exactly `Commute A B`,
so `A`, `B` are commuting symmetric operators; the space splits as an internal direct sum of
their joint eigenspaces (`LinearMap.IsSymmetric.directSum_isInternal_of_commute`). A subordinate
orthonormal basis diagonalizes both, hence `M`.
---
*Notes for reviewers:* developed with AI assistance (Claude); the mathematics and proofs were
checked by the author. Locally validated against `v4.30.0-rc2`: `lake build` clean (0 warnings,
all style linters), `lake exe runLinter` passed, `#print axioms` = `[propext, Classical.choice,
Quot.sound]`. Opened as **draft** pending CI build against `master`. Naming/visibility happy to
adjust per review.
|
new-contributor
t-analysis
awaiting-author
LLM-generated
merge-conflict
|
315/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/NormalSpectrum.lean |
2 |
10 |
['github-actions', 'judsonpereirademoura-netizen', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] |
nobody |
82-57105 2 months ago |
unknown |
unknown |
0 |
| 35402 |
samueloettl author:samueloettl |
feat(Dynamics/BirkhoffSum): birkhoffAverage const |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
I think this is useful and one of these should be a simp lemma.
I'm not really sure if I got the naming of the theorems correct.
When generalizing to the assumption (n : R) ≠ 0 instead of the special case CharZero R with n ≠ 0 I had to use "open Classical in". I'm a bit unfamiliar with that part so please check if this makes sense. See also https://github.com/leanprover-community/mathlib4/pull/35307#discussion_r2823586252
[](https://gitpod.io/from-referrer/)
|
t-dynamics
new-contributor
merge-conflict
|
14/0 |
Mathlib/Dynamics/BirkhoffSum/Average.lean |
1 |
41 |
['Maldooor', 'github-actions', 'lua-vr', 'mathlib-merge-conflicts', 'mcdoll', 'plp127', 'samueloettl'] |
nobody |
81-75548 2 months ago |
81-80349 81 days ago |
178-1592 178 days |
1 |
| 42954 |
alejandro-soto-franco author:alejandro-soto-franco |
feat(Topology/MetricSpace/Holder): products of Hölder continuous functions |
`HolderWith` uses `add`, `smul` and `comp`, and `MemHolder` uses `add`, `smul` and `nsmul`. This PR adds the relevant product.
`HolderOnWith.mul` and `HolderWith.mul` take a bound on each factor, since a product of Hölder continuous functions is Hölder continuous only where both factors are bounded, and give the constant `Cf * C' + Cg * C` from the splitting `f x * g x - f y * g y = f x * (g x - g y) + (f x - f y) * g y`. The target is a `SeminormedRing`, so the estimate uses `‖a * b‖ ≤ ‖a‖ * ‖b‖`. No new imports: the file already reaches `nnnorm_mul_le`.
The statements come from a note of mine on Hölder classes on manifolds, where the same splitting gives the product estimate for Hölder seminorms.
[](https://gitpod.io/from-referrer/)
|
t-topology
LLM-generated
new-contributor
|
43/0 |
Mathlib/Topology/MetricSpace/Holder.lean |
1 |
4 |
['alejandro-soto-franco', 'github-actions', 'grunweg'] |
nobody |
81-60428 2 months ago |
unknown |
unknown |
0 |
| 39048 |
AydenLamp author:AydenLamp |
feat(Algebra/Group/Defs): add positive natural exponentiation for semigroups |
Introduce exponentiation for semigroups with positive natural exponents. This serves as a foundation for future results on Green’s relations and Rees matrix constructions in semigroups.
---
Co-authored-by: Howard Straubing <howard.straubing@bc.edu>
Soleil Repple <repple@bc.edu>
Nathan Hart-Hodgson <harthodg@bc.edu>
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
awaiting-author
merge-conflict
label:t-algebra$ |
109/0 |
Mathlib.lean,Mathlib/Algebra/Group/SemigroupPow.lean |
2 |
8 |
['ScottCarnahan', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
80-56542 2 months ago |
unknown |
unknown |
0 |
| 40241 |
AydenLamp author:AydenLamp |
feat(Algebra/Group): add ppow_succ lemmas and idempotent power results for finite semigroups |
Add two successor lemmas to `PNatPowAssoc`:
- `ppow_succ`: `x ^ (n + 1) = x ^ n * x`
- `ppow_succ'`: `x ^ (n + 1) = x * x ^ n`
Add `SemigroupIdempotentPow` with results on idempotent elements in finite semigroups and monoids:
- `Semigroup.exists_idempotent_ppow`: in a finite semigroup, every element has an idempotent positive power
- `Monoid.exists_idempotent_pow`: in a finite monoid, every element has a nonzero idempotent power
- `Monoid.exists_pow_sandwich_eq_self`: in a finite monoid, if `a = x * a * y`, then there exist positive powers `n₁` and `n₂` such that `x ^ n₁ * a = a` and `a * y ^ n₂ = a`
Co-authored-by: Howard Straubing <howard.straubing@bc.edu>
Co-authored-by: Soleil Repple <repple@bc.edu>
Co-authored-by: Nathan Hart-Hodgson <harthodg@bc.edu>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
merge-conflict
label:t-algebra$ |
154/2 |
Mathlib.lean,Mathlib/Algebra/Group/PNatPowAssoc.lean,Mathlib/Algebra/Group/SemigroupIdempotentPow.lean |
3 |
13 |
['faenuccio', 'github-actions', 'mathlib-merge-conflicts'] |
faenuccio and mattrobball assignee:faenuccio assignee:mattrobball |
80-55986 2 months ago |
123-58647 123 days ago |
34-6914 34 days |
0 |
| 38848 |
jcreinhold author:jcreinhold |
feat(AlgebraicTopology/SimplicialSet): exists_isPushout_of_ne_top |
Every proper subcomplex of a simplicial set extends by attaching a single cell along its boundary, exhibited as a pushout of `∂Δ[n] ↪ Δ[n]`. This is the per-cell input for cell-by-cell filtrations of monomorphisms in `SSet`.
Adapted from @joelriou 's [proof](https://github.com/joelriou/topcat-model-category/blob/813338a8c88cfe0096deed7e3ba7daf92d4a1c71/TopCatModelCategory/SSet/Boundary.lean#L187). I also added the supporting lemma `Types.isPullback_of_eq_setPreimage` (set-preimage square is a pullback in `Type u`).
AI use: Claude helped locate `subtype_val_mono` and the `backward.isDefEq.respectTransparency` option.
|
t-algebraic-topology
new-contributor
merge-conflict
|
117/3 |
Mathlib/AlgebraicTopology/SimplicialSet/Boundary.lean,Mathlib/CategoryTheory/Limits/Types/Pullbacks.lean |
2 |
38 |
['dagurtomas', 'github-actions', 'jcreinhold', 'joelriou', 'mathlib-merge-conflicts', 'mckoen'] |
nobody |
79-61164 2 months ago |
79-61165 79 days ago |
109-40413 109 days |
0 |
| 42885 |
Rshin2024 author:Rshin2024 |
feat(Geometry/Manifold): interior chart and radial unit map for the closed ball |
## Summary
First installment of a series giving the closed unit ball in
`EuclideanSpace ℝ (Fin n)` a smooth manifold-with-boundary structure over
`EuclideanHalfSpace n` — the first such structure above dimension 1. The
series follows the idioms of the 1-dimensional `Icc` instance
(`Instances/Real.lean`): charts as `OpenPartialHomeomorph` into the
half-space, inverses made total by clamping, correctness proved on `target`.
This PR provides:
* `DiskInteriorChart` — the chart covering the open ball, shifting by
`2 • e₀` into the half-space interior; the inverse shifts back and
radially clamps (`radialClamp w = (1 ⊓ ‖w‖⁻¹) • w`, total by `0⁻¹ = 0`),
agreeing with the true inverse on the target — so no global continuity
lemma for the clamp is needed.
* `unitOr` — the radial unit map into the sphere, made total by a junk value
at `0`, with the rescaling identities (`smul_unitOr`, `unitOr_smul`) and
continuity away from the origin needed by the boundary charts.
* `EuclideanSpace.abs_coord_le_norm` — each coordinate is bounded by the
norm (placement advice welcome; it may belong in Analysis).
Sequels (prepared, opened after this lands): the boundary charts via
stereographic projection with verified inverse laws; the `ChartedSpace` and
`IsManifold (𝓡∂ n)` instances with all transitions proven `C^k`; and the
boundary identification `∂D = sphere`. Complete development available on
request. Motivated by making the ball form of the smooth 4-dimensional
Poincaré conjecture statable (cf. `Geometry/Manifold/PoincareConjecture.lean`).
No `sorry`, no new axioms; `lake exe mk_all --check` passes. Naming open to
review.
|
t-differential-geometry
new-contributor
awaiting-author
merge-conflict
|
196/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Disk.lean |
2 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
78-85737 2 months ago |
83-18816 83 days ago |
0-43672 12 hours |
0 |
| 43020 |
mpacholski author:mpacholski |
feat(CovariantDerivative): add induced covariant derivative for Hom-bundles |
This adds the construction of an induced covariant derivative on the Hom-bundle `Hom(V₁, V₂)` given existing covariant derivatives on the vector bundles `V₁` and `V₂`.
Main additions:
* `IsCovariantDerivativeOn.homBundleAux`: Defines the local operation acting on a section `ϕ` of the Hom-bundle, satisfying the expected Leibniz rule `(∇_X ϕ) v = ∇_X (ϕ v) - ϕ(∇_X v)`.
* `IsCovariantDerivativeOn.homBundleAux_tensorial`: Proves the tensoriality of the auxiliary evaluation.
* `IsCovariantDerivativeOn.homBundleAt`: Packages the pointwise operation into a continuous linear map.
* `IsCovariantDerivativeOn.homBundle`: Proves that the covariant derivative on `Hom(V₁, V₂)` locoally satisfies the covariant derivative axioms.
* `CovariantDerivative.homBundle`: Bundles the globally defined covariant derivative on `Hom(V₁, V₂)` and proves it satisfies the covariant derivative axioms on the universal set.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42955
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
blocked-by-other-PR
|
361/36 |
Mathlib.lean,Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Hom.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean |
5 |
7 |
['github-actions', 'grunweg', 'mathlib-bors', 'mathlib-dependent-issues', 'mpacholski'] |
nobody |
77-24164 2 months ago |
79-83890 79 days ago |
0-426 7 minutes |
2 |
| 38014 |
cduenasnavarro author:cduenasnavarro |
feat(InformationTheory): linear codes over finite fields and minimum distance properties |
Define linear codes over a finite field `F` as finite-dimensional subspaces of `Fin n → F`,
together with their minimum Hamming distance.
Main definitions:
* `LinearCode`
* `minDist`
* `LinearCodeWithDist`
* `hammingSphere`
Main results:
* `minDist_eq_sInf_pairwiseDist`: characterisation of the minimum distance via pairwise distances
* `disjoint_spheres`: Hamming spheres of radius `t` around distinct codewords are disjoint
if `2 * t < d`
Pending:
* Choosing an adequate book reference
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
merge-conflict
|
179/0 |
Mathlib.lean,Mathlib/InformationTheory/Coding/LinearCode.lean |
2 |
55 |
['ScottCarnahan', 'SnirBroshi', 'YaelDillies', 'cduenasnavarro', 'github-actions', 'mathlib-merge-conflicts', 'rkirov', 'vihdzp', 'wrenna-robson', 'wwylele'] |
YaelDillies assignee:YaelDillies |
76-72676 2 months ago |
148-20835 148 days ago |
61-41028 61 days |
0 |
| 39270 |
m13683320924-hue author:m13683320924-hue |
feat: prove strict group homs are stable under Prod.map |
This PR proves that strict group homomorphisms are stable under product maps.
It adds an auxiliary lemma showing that the range restriction of a strict group homomorphism is an open quotient map, and uses it to prove that `MonoidHom.prodMap` preserves `Topology.IsStrictMap`.
Towards #38421.
|
t-topology
new-contributor
merge-conflict
|
44/0 |
Mathlib/Topology/Algebra/Group/Basic.lean |
1 |
8 |
['eric-wieser', 'github-actions', 'm13683320924-hue', 'mathlib-merge-conflicts'] |
nobody |
76-72427 2 months ago |
unknown |
unknown |
0 |
| 43064 |
j-white author:j-white |
feat(Analysis/Fourier/AddCircle): add evaluation lemmas for fourier characters |
Add the argument-side counterparts of the index lemmas (`fourier_add` / `fourier_neg`):
* `fourier_eval_add`
* `fourier_eval_neg`
* `fourier_eval_sub`
Additionally, add the index-subtraction lemma `fourier_sub` (with `simp` normal form `fourier_sub'`, mirroring `fourier_add'`). |
t-analysis
new-contributor
|
23/0 |
Mathlib/Analysis/Fourier/AddCircle.lean |
1 |
2 |
['github-actions'] |
nobody |
76-69840 2 months ago |
76-70238 76 days ago |
1-20825 1 day |
0 |
| 40006 |
tautschnig author:tautschnig |
feat(Data/ZMod/Basic): idempotents in ZMod (p^d) are exactly {0, 1} |
Add sq_eq_self_iff_eq_zero_or_one: in ZMod (p^d) for prime p and d > 0, x^2 = x iff x = 0 or x = 1.
This generalises eq_zero_or_one_of_sq_eq_self (which requires CancelMonoidWithZero, i.e., no zero divisors) to the prime-power case. ZMod (p^d) has zero divisors for d >= 2, so the mul_left_injective₀ argument used by the existing lemma does not apply. The proof works by lifting to ℕ, using that if gcd(a, b) = 1 and p^d | a*b then p^d divides one of a or b (by Euclid's lemma), then noting that a = x.val and b = x.val - 1 are consecutive naturals and hence coprime.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
56/0 |
Mathlib/Data/ZMod/Basic.lean |
1 |
4 |
['Julian-Kuelshammer', 'github-actions', 'tb65536'] |
joneugster assignee:joneugster |
76-7527 2 months ago |
76-7545 76 days ago |
88-10146 88 days |
0 |
| 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`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #37190
- [x] depends on: #37720
- [ ] depends on: #42363
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
blocked-by-other-PR
|
535/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/DoubleCounting.lean,Mathlib/Combinatorics/Enumerative/LatinSquare.lean,docs/references.bib |
4 |
81 |
['SnirBroshi', 'cjrl', 'eric-wieser', 'ghseeli', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
75-51005 2 months ago |
95-46940 95 days ago |
46-86081 46 days |
0 |
| 33714 |
idontgetoutmuch author:idontgetoutmuch |
feat(Geometry/Manifold): riemannian metrics exist |
Using a partition of unity, we prove the existence of a smooth Riemannian metric.
The idea is that there are two equivalent ways of defining a bilinear positive definite form:
1. pull back the inner product on the model fiber `F` along the inverse trivialization;
2. push a pair of fiber vectors forward into `F`, then apply the inner product there.
Definition (1) makes smoothness straightforward: locally the form is smooth, provided the domain is taken small enough: the intersection of the trivialization's base set with the chart source. Global smoothness then follows from a partition of unity.
It is less clear (to me at least) how to get positive-definiteness from (1). This is what (2) is for: with vectors pushed forward into an inner product space, positivity, definiteness and symmetry are immediate. We prove the two definitions agree, transferring these properties back to (1).
One step remains. Mathlib's `ContMDiffRiemannianMetric` requires the the set where the form is less than 1 to be von Neumann bounded:
Let $E$ be a real vector bundle over a manifold $B$, with model fiber $F$, an inner product space; $E_b$ the fiber over $b \in B$ and $e_i : E_b \to F$ the fiberwise linear isomorphism onto the model fiber given by the trivialization $i$, and $\|\cdot\|$ the norm on $F$. Let $\{f_i\}_{i \in B}$ be a smooth partition of unity subordinate to the trivialization domains. Then the set $\{v \in E_b : g_b(v,v) < 1\}$ is bounded, where $g_b(v,v) = \sum_i f_i(b)\, \|e_i v\|^2$.
Since the $f_i(b)$ sum to $1$, at least one is positive; fix such an $i$, so $f_i(b) > 0$, and write $e := e_i$. Because $f_i(b) > 0$, the point $b$ lies in the support of $f_i$, and subordinacy places that support inside the small set where the trivialization $e$ is available.
For any $v$ in our set, the single $i$-th term is at most the whole sum: $f_i(b) \|e v\|^2 \le g_b(v,v) \lt 1$.
Since $f_i(b) > 0$, we can divide to obtain
$$\|e v\| \le \sqrt{\tfrac{1}{f_i(b)}}.$$
Setting $r = {1}/{f_i(b)}$, every $v$ in our set satisfies $e v \in \overline{B}_F\!\big(0, r\big)$, and since $v = e^{-1}(e v)$ lies in $e^{-1}$ of that closed ball. Our set is therefore contained in the image of a bounded ball under the continuous linear map $e^{-1}$. That image is bounded (continuous linear maps preserve boundedness), and a subset of a bounded set is bounded.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
awaiting-author
|
544/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Finprod.lean,Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean,Mathlib/Topology/VectorBundle/HomBilinear.lean |
4 |
202 |
['Rida-Hamadani', 'github-actions', 'grunweg', 'idontgetoutmuch'] |
nobody |
75-14579 2 months ago |
105-17539 105 days ago |
138-75422 138 days |
0 |
| 43130 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph/Coloring): add Kempe chain recoloring lemmas |
## Summary
This PR develops the Kempe-chain machinery used in the proof of Vizing's theorem.
It adds the two-color Kempe subgraph associated to an edge coloring, proves the basic
degree bound for vertices in this subgraph, and defines Kempe components. It then implements
swapping two colors along one Kempe component and proves that the result remains a valid
proper edge coloring.
Main additions:
- `vizing.kempeSubgraph`
- `vizing.kempeComponent`
- `vizing.swapColors`
- `vizing.inSwapZone`
- `vizing.swapKempe`
The PR also adds recoloring lemmas that allow extending a partial edge coloring across one
missing edge when a color is available at both endpoints.
This is the second PR in the Vizing theorem stack and builds on the edge-coloring API from
the previous PR.
## Co-authors
Co-authored-by: Daniel Raggi <dr495@cam.ac.uk>
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com>
- [ ] depends on: #43128 [My first PR in the Vizing theorem stack]
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) 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: #43128 [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
|
616/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean |
6 |
4 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
75-12869 2 months ago |
unknown |
unknown |
3 |
| 43133 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph/Coloring): prove the Vizing adjacency lemma |
## Summary
This PR completes the fan argument needed for Vizing's theorem.
It proves the existence of maximal fans, applies the fan dichotomy, and combines the fan
rotation and Kempe-chain recoloring steps to prove the Vizing adjacency lemma.
Main addition:
- `vizingAdjacencyLemma`
The adjacency lemma is the key local result used by the final induction proof: it converts
the maximal-fan argument into the recoloring step needed to extend a partial edge coloring.
This is the fourth PR in the Vizing theorem stack and builds on the Vizing fan API and
rotation lemma from the previous PR.
## Co-authors
Co-authored-by: Daniel Raggi <dr495@cam.ac.uk>
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com>
- [ ] depends on: #43128 [My first PR in the Vizing theorem stack]
- [ ] depends on: #43130 [My second PR in the Vizing theorem stack]
- [ ] depends on: #43132 [My third PR in the Vizing theorem stack]
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
new-contributor
|
1692/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Adjacency.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean |
10 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
75-8424 2 months ago |
unknown |
unknown |
1 |
| 43132 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph/Coloring): define Vizing fans and rotation |
## Summary
This PR introduces Vizing fans for partial edge colorings.
It defines the fan structure rooted at an uncolored edge, proves basic missing-color
bounds for fan arguments, and establishes the fan maximality dichotomy used later in the
adjacency lemma.
Main additions:
- `vizing.IsFan`
- `vizing.IsFanExtension`
- cardinality bounds for `missingColors`
- the fan dichotomy lemma
- the fan-rotation step
The rotation lemma isolates the Term-A case of the standard Vizing fan argument: when the
apex and the last fan vertex share a missing color, the coloring can be rotated and
extended.
This is the third PR in the Vizing theorem stack and builds on the Kempe-chain recoloring
machinery from the previous PR.
## Co-authors
Co-authored-by: Daniel Raggi <dr495@cam.ac.uk>
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com>
- [ ] depends on: #43128 [My first PR in the Vizing theorem stack]
- [ ] depends on: #43130 [My second PR in the Vizing theorem stack]
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
blocked-by-other-PR
|
961/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean |
9 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
75-6838 2 months ago |
75-12858 75 days ago |
0-103 1 minute |
2 |
| 41827 |
mpacholski author:mpacholski |
feat(LinearAlgebra/TensorProduct): port lifts API from PiTensorProduct |
Port the `lifts` API from `PiTensorProduct` to the binary `TensorProduct` in `Mathlib/LinearAlgebra/TensorProduct/Basic.lean`.
This API provides the necessary machinery to represent any tensor element as a formal sum of pure generators in the free monoid, which is a key prerequisite for defining and proving properties of the binary projective seminorm.
It is a direct reflection of lifts API in `Mathlib/LinearAlgebra/PiTensorProduct/Basic.lean`.
Specifically, add:
- `FreeAddMonoid.toTensorProduct`: proves that the image of a free monoid element is the sum of its pure tensor components.
- `lifts`: defines the set of all valid monoid representations of a given tensor.
- `nonempty_lifts`: proves that every tensor has at least one representation.
- `lifts_zero`, `lifts_add`, `lifts_smul`: establish the algebraic behavior of lifts under addition, zero, and scalar multiplication.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [x] depends on: #41731 |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
62/0 |
Mathlib/LinearAlgebra/TensorProduct/Basic.lean |
1 |
16 |
['github-actions', 'mathlib-dependent-issues', 'mpacholski', 'themathqueen'] |
nobody |
74-68932 2 months ago |
74-68932 74 days ago |
15-39564 15 days |
2 |
| 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)
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
IMO
awaiting-author
new-contributor
merge-conflict
|
196/0 |
Archive.lean,Archive/Imo/Imo1975Q3.lean |
2 |
37 |
['Antidite', 'LLaurance', 'github-actions', 'jsm28', 'mathlib-merge-conflicts'] |
jsm28 assignee:jsm28 |
74-42792 2 months ago |
400-68538 400 days ago |
46-21614 46 days |
0 |
| 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
merge-conflict
|
631/0 |
Archive.lean,Archive/Imo/Imo2025Q4.lean |
2 |
5 |
['LexinonCraft', 'github-actions', 'jsm28', 'mathlib-merge-conflicts'] |
jsm28 assignee:jsm28 |
74-36191 2 months ago |
264-48497 264 days ago |
3-29649 3 days |
0 |
| 43134 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph/Coloring): prove Vizing's theorem |
## Summary
This PR proves Vizing's theorem for finite simple graphs.
It combines the lower bound on chromatic index with the induction-on-edges upper bound.
The upper bound removes one edge, applies the induction hypothesis to color the smaller
graph with `Δ + 1` colors, and then uses the Vizing adjacency lemma to extend the coloring
back across the removed edge.
Main additions:
- the lower bound `Δ ≤ χ'`
- the upper bound `χ' ≤ Δ + 1`
- the final Vizing theorem statement that the chromatic index is either `Δ` or `Δ + 1`
This is the final PR in the Vizing theorem stack and depends on the adjacency lemma from
the previous PR.
## Co-authors
Co-authored-by: Daniel Raggi <dr495@cam.ac.uk>
Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
Co-authored-by: Claude Opus 4.5 & 4.6 <noreply@anthropic.com>
- [ ] depends on: #43128 [My first PR in the Vizing theorem stack]
- [ ] depends on: #43130 [My second PR in the Vizing theorem stack]
- [ ] depends on: #43132 [My third PR in the Vizing theorem stack]
- [ ] depends on: #43133 [My fourth PR in the Vizing theorem stack]
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-combinatorics
new-contributor
LLM-generated
|
2025/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Recolor.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Swap.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Adjacency.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingFan/Rotation.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/VizingTheorem/UpperBound.lean |
13 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
74-30378 2 months ago |
unknown |
unknown |
0 |
| 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`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #38223
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
blocked-by-other-PR
new-contributor
merge-conflict
|
281/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/Category/MfldCat/CartesianMonoidal.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
72-57165 2 months ago |
unknown |
unknown |
0 |
| 42035 |
eliottcassidy2000 author:eliottcassidy2000 |
feat: proof of the planar gaussian moment conjecture |
These are very involved proofs and would benefit from being split into multiple PRs. Guidance is appreciated. I lack institutional backing, but these are all sorry-free and only depend on default axioms, so should be reasonable to merge. |
t-ring-theory
new-contributor
awaiting-author
merge-conflict
|
9540/0 |
Archive.lean,Archive/GaussianMomentConjecture/AlgebraicDescent.lean,Archive/GaussianMomentConjecture/ChannelDilation.lean,Archive/GaussianMomentConjecture/ChargeGeometry.lean,Archive/GaussianMomentConjecture/ConstantTermRelations.lean,Archive/GaussianMomentConjecture/DvdKAssembly.lean,Archive/GaussianMomentConjecture/DvdKCharZeroClosing.lean,Archive/GaussianMomentConjecture/DvdKConnector.lean,Archive/GaussianMomentConjecture/DvdKFrame.lean,Archive/GaussianMomentConjecture/DvdKFrameDegree.lean,Archive/GaussianMomentConjecture/DvdKFrameExtraction.lean,Archive/GaussianMomentConjecture/DvdKFrameHSide.lean,Archive/GaussianMomentConjecture/DvdKHderiv.lean,Archive/GaussianMomentConjecture/DvdKHderivAssembly.lean,Archive/GaussianMomentConjecture/DvdKInterface.lean,Archive/GaussianMomentConjecture/DvdKMultiplicativeClosing.lean,Archive/GaussianMomentConjecture/DvdKOmegaWiring.lean,Archive/GaussianMomentConjecture/DvdKPhiCoincide.lean,Archive/GaussianMomentConjecture/DvdKTranspose.lean,Archive/GaussianMomentConjecture/DvdKTransposeAssembly.lean,Archive/GaussianMomentConjecture/DvdKTwoCharge.lean,Archive/GaussianMomentConjecture/DvdKUniqueChannel.lean,Archive/GaussianMomentConjecture/DvdKUnitOrigin.lean,Archive/GaussianMomentConjecture/DvdKUnivariateReduction.lean,Archive/GaussianMomentConjecture/DvdKWeierstrass.lean,Archive/GaussianMomentConjecture/DvdKZeroCharge.lean,Archive/GaussianMomentConjecture/FaceDictionary.lean,Archive/GaussianMomentConjecture/FaceHeightFloor.lean,Archive/GaussianMomentConjecture/FaceReferenceChannel.lean,Archive/GaussianMomentConjecture/FaceSeed.lean,Archive/GaussianMomentConjecture/FaceSeedChannel.lean,Archive/GaussianMomentConjecture/FaceSeedDescent.lean,Archive/GaussianMomentConjecture/FrameBridge.lean,Archive/GaussianMomentConjecture/FrameBridgeAssembly.lean,Archive/GaussianMomentConjecture/FrameBridgeDvd.lean,Archive/GaussianMomentConjecture/FrameBridgePacket.lean,Archive/GaussianMomentConjecture/FrameBridgeRoots.lean,Archive/GaussianMomentConjecture/FrobeniusFace.lean,Archive/GaussianMomentConjecture/FrobeniusResidue.lean,Archive/GaussianMomentConjecture/GalRootAction.lean,Archive/GaussianMomentConjecture/HeightWitness.lean,Archive/GaussianMomentConjecture/IntegralFaceSeedDescent.lean,Archive/GaussianMomentConjecture/IntegralRelations.lean,Archive/GaussianMomentConjecture/IntegralSpecialization.lean,Archive/GaussianMomentConjecture/IntegralTorusSpecialization.lean,Archive/GaussianMomentConjecture/LaurentConstantTerm.lean,Archive/GaussianMomentConjecture/LowestFaceBridge.lean,Archive/GaussianMomentConjecture/LowestFaceExistence.lean,Archive/GaussianMomentConjecture/LowestFacePackage.lean,Archive/GaussianMomentConjecture/Main.lean,Archive/GaussianMomentConjecture/MomentRelations.lean,Archive/GaussianMomentConjecture/MomentTransport.lean,Archive/GaussianMomentConjecture/NC2.lean,Archive/GaussianMomentConjecture/NormalizedMoment.lean,Archive/GaussianMomentConjecture/NormalizedResidue.lean,Archive/GaussianMomentConjecture/NullconeDescent.lean,Archive/GaussianMomentConjecture/OrbitProduct.lean,Archive/GaussianMomentConjecture/OrbitProductConcrete.lean,Archive/GaussianMomentConjecture/OrbitProductFromSmallRoots.lean,Archive/GaussianMomentConjecture/OrbitProductReduced.lean,Archive/GaussianMomentConjecture/OrbitProductWrapper.lean,Archive/GaussianMomentConjecture/PhiIrreducible.lean,Archive/GaussianMomentConjecture/PhiVieta.lean,Archive/GaussianMomentConjecture/RatFuncClosing.lean,Archive/GaussianMomentConjecture/Reduction.lean,Archive/GaussianMomentConjecture/ResidueAssembly.lean,Archive/GaussianMomentConjecture/SupportDescent.lean,Archive/GaussianMomentConjecture/SupportFaceBridge.lean,Archive/GaussianMomentConjecture/TorusDescent.lean,Archive/GaussianMomentConjecture/WickChannels.lean,Mathlib.lean,Mathlib/RingTheory/Polynomial/ThreeTermRecurrence.lean,Mathlib/RingTheory/PowerSeries/LogDeriv.lean,Mathlib/RingTheory/PowerSeries/WellKnown.lean,docs/references.bib |
75 |
4 |
['github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
72-55441 2 months ago |
unknown |
unknown |
0 |
| 42499 |
attilavjda author:attilavjda |
doc(Data/ENat,ENNReal): fix swapped docstring on mul_iInf_of_ne |
Fixed left from right multiplication and "see-also" to point at mul_iInf
[Aristotle helped](https://github.com/attilavjda/formal-contributions/blob/main/mul_iInf_of_ne/PR3.lean) with finding the error, generating and verifying a solution by tests, and made a guide to the solution.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
merge-conflict
|
5/5 |
Mathlib/Data/ENNReal/Inv.lean,Mathlib/Data/ENat/Lattice.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
70-38957 2 months ago |
94-68052 94 days ago |
0-17572 4 hours |
0 |
| 40005 |
tautschnig author:tautschnig |
feat(Data/ZMod/Basic): isUnit characterisation in prime power moduli |
Add two lemmas characterising units in ZMod (p^n) via divisibility of the canonical lift:
isUnit_iff_not_prime_dvd_val: for prime p and n > 0,
IsUnit x ↔ ¬ p ∣ x.val.
not_isUnit_iff_prime_dvd_val: for prime p and n > 0,
¬ IsUnit x ↔ p ∣ x.val.
These specialise the existing isUnit_iff_coprime to prime power moduli, where the coprimality condition reduces to a simple divisibility check on the unique prime factor.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
15/0 |
Mathlib/Data/ZMod/Basic.lean |
1 |
10 |
['Ruben-VandeVelde', 'Vierkantor', 'copilot-pull-request-reviewer', 'github-actions'] |
eric-wieser assignee:eric-wieser |
69-23766 2 months ago |
84-11224 84 days ago |
80-10072 80 days |
0 |
| 42590 |
AntoineduFresne author:AntoineduFresne |
feat(Order/UpperLower/Closure): the upper and lower closures of a maximal antichain cover the order |
I add `IsMaxAntichain.upperClosure_union_lowerClosure`. It says that the upper and lower closures of a maximal antichain cover the whole order.
I put it right after `ordConnected_iff_upperClosure_inter_lowerClosure`, next to `upperClosure_inter_lowerClosure`, which seems the right spot.
The lemma is about antichains, so `Mathlib/Order/Antichain.lean` would have looked like the natural file to modify, but `upperClosure` is defined in `Mathlib/Order/UpperLower/Closure.lean`, which imports `Mathlib.Order.Interval.Set.OrdConnected`, which imports `Mathlib.Order.Antichain`. So to avoid an import loop I put it in `Closure.lean`.
I split this out of #40741, where a reviewer suggested it. Nothing in that PR uses the lemma.
|
t-order
new-contributor
|
13/0 |
Mathlib/Order/Antichain.lean,Mathlib/Order/UpperLower/Closure.lean |
2 |
12 |
['AntoineduFresne', 'Ruben-VandeVelde', 'SnirBroshi', 'github-actions', 'tdwag123'] |
nobody |
69-22927 2 months ago |
69-22994 69 days ago |
85-8233 85 days |
0 |
| 41991 |
dahlem author:dahlem |
fix(Analysis/Matrix): anchor the elementwise matrix norm's topology to instTopologicalSpaceMatrix |
With `open scoped Matrix.Norms.Elementwise`,
```lean
noncomputable example {m n : Type*} [Fintype m] [Fintype n] :
Norm (Matrix m n ℝ →L[ℝ] Matrix m n ℝ) := inferInstance
```
fails to synthesize, even though the norm-induced topology on `Matrix m n ℝ` is definitionally equal to the ambient `instTopologicalSpaceMatrix` (`rfl` proves the equality).
What goes wrong: the `→L[ℝ]` type is elaborated with the *direct* instance `instTopologicalSpaceMatrix`, while `ContinuousLinearMap.hasOpNorm`'s conclusion carries topologies that are *projections* of its `SeminormedAddCommGroup` arguments. During resolution, pending synthesis does find `Matrix.seminormedAddCommGroup`, but the projected topology then has to unify with `instTopologicalSpaceMatrix`, and the projection chain through `fast_instance% Pi.seminormedAddCommGroup` does not reduce to the same term. (Types like `ℝ` or `EuclideanSpace` don't hit this because they have no direct `TopologicalSpace` instance competing with the projection path — matrices do.)
**Fix**: anchor the topology field of `Matrix.seminormedAddCommGroup` / `Matrix.normedAddCommGroup` to `instTopologicalSpaceMatrix` via `PseudoMetricSpace.replaceTopology` / `MetricSpace.replaceTopology` with `rfl` proofs — the standard forgetful-inheritance pattern; the Frobenius family in the same file already achieves this through `PiLp.seminormedAddCommGroupToPi`. Anchoring to a freshly-elaborated `inferInstanceAs <| TopologicalSpace (m → n → α)` is *not* sufficient — the anchor must be the same instance term that appears in elaborated goal types, which is why this also adds `public import Mathlib.Topology.Instances.Matrix` (no cycle; that file only imports `LinearAlgebra.Matrix.*` and `Topology.Algebra.*`).
`norm`, `dist`, and the uniformity are untouched — only the packaging of the topology field changes, in the direction of the canonical instance. The fix works at Lean's default `maxSynthPendingDepth`. It also unblocks smul-continuity resolution in Fréchet-derivative developments over matrix codomains (`HasFDerivAt.const_smul` sites), where the goal's topology argument is the same non-reducing projection.
Motivation: hit in a downstream project (~4300 build jobs of matrix-valued Fréchet calculus) where ten files currently need local high-priority compat instances to work around this. A downstream repair cannot be shipped safely: boosting a repaired `SeminormedAddCommGroup`'s priority steals `‖·‖` resolution from files mixing norm scopes (e.g. `Matrix.Norms.L2Operator` sections of a Davis–Kahan development silently re-resolve to the elementwise norm). The fix has to live in the instance definitions.
Validation: full `lake build Mathlib` passes with the change (8666 jobs), plus new regression tests in `MathlibTest/MatrixNormTopology.lean` (both `rfl` agreements, the `Norm` synthesis above, `‖f‖` usage, `ContinuousConstSMul` unification).
Open questions for reviewers:
- Should the `linftyOp*` family get the same anchor for uniformity of design?
- Is `letI I := fast_instance% …; { I with … }` the preferred spelling here?
- Is the added import acceptable, or should the anchored instances move to a file that already sees `Topology.Instances.Matrix`?
Disclosure: this PR was prepared with AI assistance (Claude); the diagnosis and fix were validated by the full mathlib build and the included regression tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-analysis
new-contributor
LLM-generated
awaiting-author
|
60/4 |
Mathlib/Analysis/Matrix/Normed.lean,MathlibTest/MatrixNormTopology.lean |
2 |
4 |
['github-actions', 'j-loreaux'] |
urkud assignee:urkud |
68-57019 2 months ago |
68-57019 68 days ago |
42-11246 42 days |
0 |
| 42339 |
attilavjda author:attilavjda |
feat: add diagonal iSup and iInf lemmas |
Deduplicating three ENat and ENNReal addition proofs, by adding a corresponding more general lemma collapsing a cofinal double iSup/iInf to its diagonal.
Also adds conditionally complete version with `hf : BddAbove (range fun k ↦ f k k)`. Dropping [Nonempty ι] (both sides are sSup ∅ when empty) makes the `…Bot` copy the same statement
```
CompleteSemilatticeSup
|
+--> iSup₂_eq_iSup_diag_of_cofinal
|
+--> ENat.iSup_add_iSup
+--> ENNReal.iSup_add_iSup
+--> ENNReal.iInf_add_iInf (via dual)
ConditionallyCompleteLattice
|
+--> ciSup₂_eq_ciSup_diag_of_cofinal
```
Aristotle helped
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
LLM-generated
merge-conflict
|
18/4 |
Mathlib/Data/ENat/Lattice.lean,Mathlib/Order/CompleteLattice/Basic.lean,Mathlib/Order/ConditionallyCompleteLattice/Indexed.lean |
3 |
38 |
['SnirBroshi', 'attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
nobody |
68-39208 2 months ago |
68-39209 68 days ago |
15-34434 15 days |
0 |
| 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.
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #28208
- [x] depends on: #28198
- [x] depends on: #28185
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
awaiting-author
merge-conflict
|
371/3 |
Mathlib.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/SimplyConnectedSphere.lean,Mathlib/AlgebraicTopology/FundamentalGroupoid/VanKampen.lean,Mathlib/Logic/Equiv/PartialEquiv.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Topology/Path.lean |
6 |
21 |
['Sebi-Kumar', 'alreadydone', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'robin-carlier'] |
nobody |
68-4916 2 months ago |
83-25488 83 days ago |
48-29975 48 days |
0 |
| 38631 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/InducedCopy): add `UnlabeledEmbedding`, `unlabeledEmbeddingCount` and `embeddingCount` |
Extracts the induced-containment material from `SimpleGraph/Copy.lean` into a new `SimpleGraph/InducedCopy.lean` and adds the induced analogues of `UnlabeledCopy`/`copyCount`/`unlabeledCopyCount`: a type `UnlabeledEmbedding G H` for induced subgraphs of `H` isomorphic to `G`, a count `H.embeddingCount G := Nat.card (G ↪g H)` for induced labeled copies (i.e. graph embeddings), and a count `H.unlabeledEmbeddingCount G := Nat.card (G.UnlabeledEmbedding H)` for induced unlabelled copies, each with the parallel `_of_isEmpty` / `_eq_zero` / `_pos` / `_le_*` / `_eq_nat_card` API. `IsIndContained`, the `⊴` notation, `IndFree`, and all related lemmas move from `Copy.lean` to the new file. `Embedding.range_toSubgraph` characterises induced subgraphs as the range of `Embedding.toSubgraph : (G ↪g H) → H.Subgraph` and bridges `embeddingCount` to `unlabeledEmbeddingCount`.
Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com>
---
**Final step 5/5 of the `Copy` / `InducedCopy` refactor stack.**
The new file mirrors `Copy.lean`'s organisation (containment → counting → killing sections) for the induced row; the killing-induced-copies machinery is left as a TODO. Naming follows the convention established in #38745: types are guest-first (`UnlabeledEmbedding G H`, `IsIndContained G H`), operations host-first (`H.embeddingCount G`, `H.unlabeledEmbeddingCount G`). The induced labelled type is `Embedding`, i.e., `G ↪g H`, directly. Two bookkeeping changes in `Copy.lean`: `Copy.isContained` / `Embedding.isContained` / `Iso.isContained`/`'` and `isContained_iff_exists_le_comap`, which lived in the now-deleted "Induced containment" section but are non-induced, move up into the `IsContained` section.
`LineGraph.lean`'s `Copy` import switches to `InducedCopy` since it uses `IsIndContained`. The cross-module proofs `embeddingCount_le_copyCount` and `unlabeledEmbeddingCount_le_unlabeledCopyCount` bridge through the public `copyCount_eq_nat_card`/`unlabeledCopyCount_eq_nat_card` lemmas introduced in #38931 (the counts themselves remain unexposed per @plp127's review). `Embedding.ofIsInduced` (used by `Embedding.range_toSubgraph`) comes from the independent prerequisite #39288.
| | labeled | unlabeled |
|---|---|---|
| ordinary | `Copy` / `copyCount` | `UnlabeledCopy` / `unlabeledCopyCount` |
| induced | `Embedding` / `embeddingCount` | `UnlabeledEmbedding` / `unlabeledEmbeddingCount` |
This branch sits on top of an octopus-merge diffbase (`FordUniver:diffbase/ind-copy-count`) of `chore/copy-nat-card` and `feat/subgraph-ofIsInduced`, so the link below shows only the changes intrinsic to this PR.
- [ ] depends on: #38931
- [ ] depends on: #39288
Diff for the changes *just* in this PR over its predecessors: [link](https://github.com/FordUniver/mathlib4/compare/diffbase/ind-copy-count...feat/ind-copy-count).
|
t-combinatorics
new-contributor
blocked-by-other-PR
large-import
tech debt
merge-conflict
|
644/342 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Copy.lean,Mathlib/Combinatorics/SimpleGraph/InducedCopy.lean,Mathlib/Combinatorics/SimpleGraph/LineGraph.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean |
5 |
46 |
['FordUniver', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
67-83486 2 months ago |
192-28631 192 days ago |
2-39584 2 days |
2 |
| 43069 |
Ming-Yuan-Zhu author:Ming-Yuan-Zhu |
feat: add second derivative signs at local extrema |
This PR adds `IsLocalMax.deriv_deriv_nonpos` and
`IsLocalMin.deriv_deriv_nonneg`, complementing the existing
second-derivative tests in `DerivativeTest.lean`.
The immediate motivation is the formalization of the maximum principle
for elliptic PDEs, where the sign of the second derivatives at an
interior extremum is a basic ingredient.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
19/0 |
Mathlib/Analysis/Calculus/DerivativeTest.lean |
1 |
2 |
['github-actions', 'j-loreaux'] |
nobody |
67-70003 2 months ago |
77-32356 77 days ago |
0-53042 14 hours |
0 |
| 39393 |
jayscambler author:jayscambler |
feat(GameTheory): von Neumann minimax theorem for finite matrix games |
Adds `Mathlib/GameTheory/MatrixGame.lean`. Resolves the TODO at
`Mathlib/Topology/Sion.lean:48` ("spell out the particular case of
von Neumann theorem") by specialising
`Sion.exists_isSaddlePointOn` to the bilinear payoff
`∑ i j, x i * M i j * y j` on the pair of standard simplices.
Two theorems:
- `Matrix.exists_saddle_point`: existence of a saddle point in
mathlib's `IsSaddlePointOn` convention (`a` minimiser-in-`X`,
`b` maximiser-in-`Y`).
- `Matrix.exists_mixedNash`: existence of a mixed Nash equilibrium
in the textbook matrix-game orientation (row player maximises,
column player minimises). Proved by applying Sion to `-payoff M`.
Both forms are useful: the first matches mathlib's existing
saddle-point machinery, and the second is the statement most
game-theory texts use directly.
Supporting lemmas: continuity of the payoff in each argument
(linear in each), and quasi-convexity / quasi-concavity from
`LinearMap.convexOn` / `LinearMap.concaveOn`. The simplex
hypotheses for Sion (`Convex`, `IsCompact`, `Nonempty`) come from
existing mathlib lemmas (`convex_stdSimplex`,
`isCompact_stdSimplex`, `single_mem_stdSimplex`).
Creates a new top-level `Mathlib/GameTheory/` directory; mathlib
currently has none. A natural follow-up would be a
`Mathlib/GameTheory/NormalForm.lean` for general n-player
normal-form games and pure Nash equilibrium.
**AI disclosure**: this PR was a collaboration between myself, Grey
Haven's autocontext and Claude Opus 4.7 (Anthropic). I read each
line and built locally on current master. (strawberry has three r's) |
t-topology
new-contributor
LLM-generated
merge-conflict
|
216/2 |
Mathlib.lean,Mathlib/GameTheory/MatrixGame.lean,Mathlib/Topology/Sion.lean |
3 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
65-75017 2 months ago |
unknown |
unknown |
0 |
| 40579 |
jcreinhold author:jcreinhold |
feat(Algebra/Category/Ring): preserve limits to CommMonCat |
Adds the missing instance saying that forgetting a commutative ring to its multiplicative commutative monoid preserves limits. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
7/0 |
Mathlib/Algebra/Category/Ring/Limits.lean |
1 |
9 |
['Brian-Nugent', 'felixpernegger', 'github-actions', 'jcreinhold'] |
nobody |
65-73317 2 months ago |
65-73317 65 days ago |
82-29335 82 days |
0 |
| 42446 |
ipezygj author:ipezygj |
feat(Algebra/Order/Ring/Pow): bernoulli's inequality for a subtracted term |
Adds `one_sub_mul_le_pow`, the mirror of `one_add_mul_le_pow`:
```lean
lemma one_sub_mul_le_pow (H : a ≤ 2) (n : ℕ) : 1 - n * a ≤ (1 - a) ^ n
```
`Mathlib/Algebra/Order/Ring/Pow.lean` already carries Bernoulli in the `1 + a` form
and one reformulation of it (`one_add_mul_sub_le_pow`); this is the `1 - a` form,
which is the shape that comes up when bounding a product of complements — for
example showing that `1 - (1 - p) ^ n ≤ n * p`, the comparison between the Šidák and
Bonferroni corrections in statistics, which follows immediately by `linarith`.
The hypothesis `a ≤ 2` is exactly what `one_add_mul_le_pow`'s `-2 ≤ -a` becomes, and
it is load-bearing rather than decorative: the inequality fails for `a > 2` (checked
numerically over a grid before writing the proof).
Proof is two lines and reduces directly to the existing lemma.
This is my first contribution to mathlib, so please do point out anything that does
not match the library's conventions.
---
[Blueprint] not applicable.
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
6/0 |
Mathlib/Algebra/Order/Ring/Pow.lean |
1 |
4 |
['github-actions', 'themathqueen'] |
nobody |
65-13622 2 months ago |
65-13622 65 days ago |
31-62824 31 days |
0 |
| 41475 |
Sanghyeok0 author:Sanghyeok0 |
MvPolynomial: polynomial reduction as a relation |
## Summary
This PR defines polynomial reduction on multivariate polynomials as an ordinary
binary relation and develops its basic reduction-theoretic API.
The main results cover reducibility and normal forms over general commutative
coefficient rings, termination, degree bounds, linear-combination certificates,
ideal-membership bridges, and translation and confluence results under the
coefficient hypotheses required by each theorem.
The polynomial results follow the reduction theory in
Becker--Weispfenning--Kredel, Chapter 5.
## Polynomial reduction as a relation
The central definition is one-step reduction modulo a set of polynomials:
```lean
def MonomialOrder.ReducesToSet
(m : MonomialOrder σ)
(P : Set (MvPolynomial σ R))
(f g : MvPolynomial σ R) : Prop :=
∃ p ∈ P, m.ReducesToPoly p f g
```
A reduction step chooses one nonzero reducer and one term of the source
polynomial. Both monomial divisibility and coefficient divisibility are
required. The resulting polynomial is obtained by subtracting the witnessed
monomial multiple of that reducer.
For example, reducibility is characterized without assumptions on leading
coefficients by:
```lean
theorem MonomialOrder.ReducesToPoly.reducible_iff_exists_degree_le_and_leadingCoeff_dvd
(p f : MvPolynomial σ R) :
m.Reducible p f ↔
p ≠ 0 ∧
∃ t ∈ f.support,
m.degree p ≤ t ∧
m.leadingCoeff p ∣ f.coeff t
```
Likewise, a polynomial is in normal form exactly when no support term satisfies
both divisibility conditions for a nonzero reducer. When every nonzero reducer
has unit leading coefficient, this specializes to the usual monomial
divisibility condition.
## Termination and certificates
Every reduction step strictly decreases the colexicographic order on finite
supports. This proves that the reverse reduction relation is well-founded,
without imposing unit or regularity assumptions on leading coefficients.
Finite reduction also produces explicit quotient data with the expected degree
bound:
```lean
theorem MonomialOrder.exists_linearCombination_of_reflTransGen_with_degree_bound
(B : Set (MvPolynomial σ R))
{f r : MvPolynomial σ R}
(h : f ⟶*[m, B] r) :
∃ q : B →₀ MvPolynomial σ R,
f =
Finsupp.linearCombination
(MvPolynomial σ R)
(fun b : B => (b : MvPolynomial σ R))
q + r ∧
∀ b : B, m.degree ((b : MvPolynomial σ R) * q b) ≼[m] m.degree f
```
Thus a finite reduction sequence supplies the linear-combination certificate
expected from a division/remainder statement.
## Coefficient assumptions
The API separates the assumptions needed by different results:
* The reduction relation, its general reducibility and normal-form
characterizations, termination, degree bounds, certificates, and the
implication from reduction equivalence to ideal congruence require no unit
assumptions.
* Reduction of a multiple of a chosen reducer to zero only requires the leading
coefficient of that reducer to be a non-zero-divisor when the reducer is
nonzero.
* The translation lemmas and the equivalence between reduction equivalence and
congruence modulo `Ideal.span P` use the hypothesis that every reducer is
either zero or has unit leading coefficient.
* Local confluence for reduction modulo a singleton `{p}` requires only that
`p` have unit leading coefficient. The corresponding result for a set
generating the same principal ideal uses the zero-or-unit hypothesis on that
set.
## Relation-level API
This development is intended to depend on #40368 for `Relation.Diamond`,
`Relation.Confluent`, and `Relation.ChurchRosser`, together with their basic
conversion API.
The new file `Mathlib.Logic.Relation.NormalForm` adds the normal-form
vocabulary and Newman-style results used by polynomial reduction:
* `Relation.IsNormalForm`
* `Relation.IsNormalFormOf`
* `Relation.UniqueNormalForms`
* `Relation.LocallyConfluent`
## Scope
The reduction relation in this PR is a termwise, single-reducer relation: each
step uses one polynomial from the reducer set to eliminate one term of the
source polynomial.
An earlier version also included a reduction-theoretic Gröbner basis criterion.
That layer is intentionally deferred. Over arbitrary coefficient rings,
relating single-reducer reduction to an ideal-based leading-term criterion
requires a careful distinction between single-reducer and weak reduction.
Keeping the criterion in a separate PR will also allow it to reuse the shared
Gröbner-basis API rather than introduce a competing definition.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #40368
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
|
1570/5 |
Mathlib.lean,Mathlib/Logic/Relation.lean,Mathlib/Logic/Relation/NormalForm.lean,Mathlib/RingTheory/MvPolynomial/PolynomialReductions.lean |
4 |
4 |
['github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
65-9412 2 months ago |
unknown |
unknown |
0 |
| 43453 |
24high author:24high |
feat(Combinatorics/Enumerative): ordered partitions of a finset are counted by the multinomial coefficient |
Adds `Finset.orderedPartitions` and the multinomial count of the ordered partitions of a
finset into blocks of prescribed sizes. Mathlib so far has only the two-block case,
`Finset.card_powersetCard`.
The motivation is the TODO in `Mathlib/Combinatorics/Enumerative/Bell.lean`. This is the
first of the pieces that TODO needs; I would like to follow up with the others: that an
unordered partition into `k` parts admits exactly `k!` orderings, and a count of the size
profiles realising a given multiset — the latter would also settle what
`Multiset.countPerms` counts, which is currently unproved as well.
Two disclosures, because they affect how much this deserves to be trusted before CI runs:
- I was only able to typecheck this locally against Mathlib v4.33.1, not against current
master, as the toolchain for master is not available on the machine I built it on. Every
lemma the proof uses does exist on master, but CI is the first real check.
- The formalisation was produced with substantial assistance from an AI system (Claude).
Every statement is machine-checked; the design decisions and this description are mine
to answer for.
Happy to move the file, rename the declarations, or cut it differently.
---
|
t-combinatorics
new-contributor
|
208/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/OrderedSetPartition.lean |
2 |
2 |
['github-actions'] |
nobody |
63-83133 2 months ago |
unknown |
unknown |
0 |
| 43508 |
baney75 author:baney75 |
chore: use Nat.pred in Finset.pred_card_le_card_erase |
## Summary
Addresses part of #21584 (naming consistency tracker):
> `Finset.pred_card_le_card_erase`: Why does this use `- 1` instead of `pred` when `pred` rather than `sub_one` is in the name?
Change the statement to use `(#s).pred` so the lemma matches its `pred_…` name. Left related `#s - 1` lemmas (`card_erase_of_mem`, `card_erase_eq_ite`, …) untouched — they are not named `pred_*`.
```lean
theorem pred_card_le_card_erase : (#s).pred ≤ #(s.erase a) := by grind
```
## Notes for #21584 maintainers (already done upstream — checkbox only)
- `tsum_geometric_nnreal` already deprecated → `NNReal.tsum_geometric` (since 2026-03-18)
- `Nat.digits_len` already deprecated → `length_digits` (since 2026-03-18)
## Checklist
- [x] minimal one-line statement change in `Mathlib/Data/Finset/Card.lean`
- [x] no drive-by renames |
t-data
new-contributor
|
1/1 |
Mathlib/Data/Finset/Card.lean |
1 |
2 |
['github-actions'] |
nobody |
63-39002 2 months ago |
unknown |
unknown |
0 |
| 31662 |
edwin1729 author:edwin1729 |
feat(Topology/Order): topological basis of scott topology on Complete… |
…PartialOrder
---
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.3E.20Algebraic.20complete.20partial.20order.20and.20domain.20theory/with/536359313) for this PR.
(2/5) PRs in domain theory, proving that scott topologies over Algebraic DCPOs (`CompletePartialOrder`) are sober.
The main reference is [Renata, Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf). But the statements can also be found in the canonical text [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
This first PR proves two prerequisites, namely:
- the specialization order induced by the scott topology corresponds to the existing order of the DCPO. Prop 3.1.5 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.2(1) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- the upward closures of compact elements of the DCPO form a topological basis for the Scott Topology. Prop 3.5.2 in [Duality in Domain Theory](https://alyata.github.io/documents/duality_domain_theory.pdf) and Prop 2.3.6(2) in [Abramsky and Jung](https://www.cs.ox.ac.uk/people/samson.abramsky/handbook.pdf)
- [x] depends on: #33061
**The next PR is here:** #31670
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
merge-conflict
|
165/1 |
Mathlib.lean,Mathlib/Order/CompactlyGenerated/Basic.lean,Mathlib/Topology/Order/ScottTopology.lean,Mathlib/Topology/Order/ScottTopologyDCPO.lean,docs/references.bib |
5 |
100 |
['b-mehta', 'edwin1729', 'github-actions', 'mathlib-merge-conflicts', 'mathlib4-dependent-issues-bot', 'mathlib4-merge-conflict-bot', 'plp127'] |
b-mehta assignee:b-mehta |
62-21780 2 months ago |
187-73624 187 days ago |
64-15169 64 days |
3 |
| 38476 |
agusakov author:agusakov |
refactor(Combinatorics/Digraph): add vertex sets |
---
Adopting #33466
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
381/50 |
Mathlib/Combinatorics/Digraph/Basic.lean,Mathlib/Combinatorics/Digraph/Orientation.lean |
2 |
20 |
['Shreyas4991', 'YaelDillies', 'agusakov', 'github-actions'] |
nobody |
62-2641 2 months ago |
194-27957 194 days ago |
3-31839 3 days |
0 |
| 43622 |
fjvga author:fjvga |
feat(Dynamics/Ergodic/MeasurePreservingOfMapEq): measure-preserving map from a fixed point of the pushforward |
`MeasurePreserving T ν ν` is a structure whose fields are `measurable` and
`map_eq`. In Krylov–Bogolyubov-type arguments one obtains a fixed point of the
pushforward (`ν.map T = ν`, e.g. as a weak-* limit of empirical measures) and
then needs to promote it to `MeasurePreserving`.
This PR exposes the anonymous constructor under a discoverable name:
* `measurePreserving_of_map_eq`: `Measurable T → ν.map T = ν → MeasurePreserving T ν ν` |
t-dynamics
new-contributor
awaiting-author
|
41/0 |
Mathlib.lean,Mathlib/Dynamics/Ergodic/MeasurePreservingOfMapEq.lean |
2 |
3 |
['D-Thomine', 'github-actions'] |
nobody |
60-11658 1 month ago |
60-11906 60 days ago |
0-77452 21 hours |
0 |
| 43672 |
javgomzar author:javgomzar |
chore(LinearAlgebra/Matrix): add push tags to transpose lemmas |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
6/5 |
Mathlib/LinearAlgebra/Matrix/Defs.lean |
1 |
3 |
['github-actions'] |
nobody |
60-1082 1 month ago |
60-1245 60 days ago |
60-1172 60 days |
0 |
| 42424 |
lydia-schiff author:lydia-schiff |
feat(Order/Partition/Finpartition): transport a set partition along a type equivalence |
- Adds `Finpartition.congr` to transport a `Finpartition` along a type equivalence.
- We can use `Finpartition.map` if we have an order-iso, and the equivalence induces one via the new `Finset.congrOrderIso` which is based on `Equiv.finsetCongr`.
- Includes parts, card, refl, and round-trip lemmas.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- `Equiv.finsetCongr` already gives us an equivalence of Finsets, so the new `Finset.congrOrderIso` just adds that the power-set lattice structure is also preserved.
- Includes lemmas showing that the parts are e-images of the old ones, card is preserved, and refl + round-trip for the equivalence.
- The cardinality lemma was the original motivation from some work on Stirling numbers, but I thought that `Finpartition.congr` and `Finset.congrOrderIso` seemed reusable and hopefully useful in their own right, and thought it would make a good first contribution.
- Zulip thread about naming and placement [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/.60Finpartition.2Econgr.60.20.E2.80.94.20naming.20.26.20placement)
- I used Claude Opus 4.8 to help draft the proofs and explore the API. I have spent several weeks making sure I understand and can justify every line and I've learned a lot which is great.
[](https://gitpod.io/from-referrer/)
|
t-order
LLM-generated
new-contributor
|
61/0 |
Mathlib/Data/Finset/Image.lean,Mathlib/Order/Partition/Finpartition.lean |
2 |
6 |
['github-actions', 'lydia-schiff', 'mathlib-merge-conflicts'] |
nobody |
59-70639 1 month ago |
59-70739 59 days ago |
86-48880 86 days |
0 |
| 41822 |
ReemMelamed author:ReemMelamed |
feat(Algebra/Group/GreensRelations): add theorems of Green's relations |
This PR introduces `MulSeq`, `Green`, `Finite`, and `Order`, and proves the main theorems for Green's relations on semigroups.
It contains:
* **MulSeq**: Iterated multiplication sequences (`rightMulSeq`, `leftMulSeq`) for finite
semigroups, together with intermediate structural lemmas: existence of idempotents in
L-classes and R-classes of regular elements, and Green's lemma (the bijection between
H-classes inside a common D-class).
* **Green**: The major structural theorems for Green's relations:
* Green's lemma (translation maps between H-classes are bijections).
* Equivalence `L ∘ R = R ∘ L` (i.e., `isGreenD_commutes_L_R`).
* Characterizations of regular D-classes: a D-class is regular iff it contains an
idempotent, iff every L-class (resp. R-class) inside it contains an idempotent.
* **Finite**: Theorems requiring a finite semigroup:
* `isGreenD_of_isGreenJ`: D = J for finite semigroups.
* Conditions for H-classes to carry a group structure.
* **Order**: Natural `PartialOrder` instances on the quotient types:
* `GreenLClass.instPartialOrder`, `GreenRClass.instPartialOrder`,
`GreenJClass.instPartialOrder`.
* `GreenDClass.instPartialOrder` for finite semigroups (via D = J).
---
- [ ] depends on: #40050 |
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
1246/0 |
Mathlib.lean,Mathlib/Algebra/Group/GreensRelations/Basic.lean,Mathlib/Algebra/Group/GreensRelations/Finite.lean,Mathlib/Algebra/Group/GreensRelations/Green.lean,Mathlib/Algebra/Group/GreensRelations/MulSeq.lean,Mathlib/Algebra/Group/GreensRelations/Order.lean,docs/references.bib |
7 |
4 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
59-6354 1 month ago |
unknown |
unknown |
0 |
| 43702 |
theebayuser author:theebayuser |
feat(LinearAlgebra/AffineSpace): add Varignon's theorem |
Hello, this PR introduces Varignon's theorem.
Varignon's theorem states that the midpoints of the sides of a quadrilateral form a parallelogram. More precisely, `midpoint_midpoint_midpoint_rotate` states: the two diagonals of the midpoint quadrilateral have the same midpoint.
This PR was written with AI assistance (Claude Code)
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
22/2 |
Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean,docs/1000.yaml |
2 |
7 |
['github-actions', 'theebayuser', 'wwylele'] |
nobody |
58-81056 1 month ago |
58-81214 58 days ago |
59-35292 59 days |
0 |
| 38750 |
openendings author:openendings |
feat(Data/Nat): add padicValNat_add_eq_min |
Add lemmas for `padicValNat` mirroring the [e]multiplicity API, including
- padicValNat_eq_of_dvd_of_not_dvd
- padicValNat_add_of_gt
- padicValNat_add_eq_min
---
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
merge-conflict
|
36/0 |
Mathlib/Data/Nat/MaxPowDiv.lean |
1 |
8 |
['Ruben-VandeVelde', 'github-actions', 'mathlib-merge-conflicts', 'openendings'] |
nobody |
58-75980 1 month ago |
189-50770 189 days ago |
3-59736 3 days |
0 |
| 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}$.
This PR no longer adds `MainAlg.lean` or the `NumberField/House` refactor; both now come
from #39874, which this PR is built on top of.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
- [ ] depends on: #39874
-->
[](https://gitpod.io/from-referrer/)
|
t-number-theory
new-contributor
blocked-by-other-PR
|
967/17 |
Mathlib.lean,Mathlib/NumberTheory/NumberField/House.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlg.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainAlgSetup.lean,Mathlib/NumberTheory/Transcendental/GelfondSchneider/MainOrder.lean |
5 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
57-80148 1 month ago |
unknown |
unknown |
3 |
| 40155 |
TheGoedeDoel author:TheGoedeDoel |
feat: functor of localized commutative rings |
Given a functor of commutative rings R and a submonoid functor S,
we add a functor of commutative rings with objects that are localizations
of R(U) at the submonoid S(U). We also show that this functor satisfies a
universal property.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
255/0 |
Mathlib.lean,Mathlib/Algebra/Category/ModuleCat/LocalizedFunctor.lean |
2 |
16 |
['TheGoedeDoel', 'chrisflav', 'github-actions', 'jcommelin'] |
eric-wieser assignee:eric-wieser |
56-25458 1 month ago |
56-25520 56 days ago |
103-29760 103 days |
0 |
| 40329 |
no-j author:no-j |
feat(Computability): matching εNFA.Path definition with NFA.Path |
Added εNFA.Path definition that is based on `Type` instead of `Prop` to match NFA's path definition
Added εNFA.Path.supp (same definition as NFA.Path.supp)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-computability
new-contributor
awaiting-author
|
60/23 |
Mathlib/Computability/EpsilonNFA.lean |
1 |
3 |
['YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
56-16098 1 month ago |
56-16098 56 days ago |
98-85900 98 days |
0 |
| 42719 |
justinhalford author:justinhalford |
feat(LinearAlgebra/BilinearForm): totally isotropic subspaces have dimension at most half |
Adds one lemma to `Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean`:
```lean
lemma two_mul_finrank_le_of_le_orthogonal (hB : B.Nondegenerate) {W : Submodule K V}
(hW : W ≤ B.orthogonal W) : 2 * finrank K W ≤ finrank K V
```
A subspace contained in its own orthogonal complement — a *totally isotropic* subspace — has dimension at most half the dimension of the ambient space, when `B` is nondegenerate.
### Why
This is the standard dimension bound underlying the Witt decomposition, and it is the missing step in a number of applications: the Eventown theorem in extremal combinatorics, bounds on self-orthogonal linear codes, and dimension bounds for isotropic subspaces of quadratic forms. Searching for `totally isotropic` / `IsotropicSubmodule` / `isTotallyIsotropic` in Mathlib returns nothing, so as far as I can tell the bound is not currently available in any form.
The hypothesis is deliberately phrased as `W ≤ B.orthogonal W` rather than introducing a new `IsTotallyIsotropic` predicate, so that it composes directly with the existing `orthogonal` API and needs no new definitions.
### Proof
Three existing lemmas and arithmetic: `Submodule.finrank_mono` on the hypothesis, `finrank_orthogonal` (immediately above it in the same file), and `Submodule.finrank_le`. It sits directly after `finrank_orthogonal`, whose statement it consumes.
### Verification
Compiles against `master` with no errors or warnings. `#print axioms` reports only `[propext, Classical.choice, Quot.sound]`. No new imports, no new definitions — `+9 -0` in a single file.
### Disclosure
Written with AI assistance (Claude Opus 5) and checked against the Lean kernel; I have read the statement and proof through before submitting. Happy to rename or restate as maintainers prefer — in particular if there is an appetite for an `IsTotallyIsotropic` predicate, I am glad to add one and state this in those terms instead.
### Related
Companion to #42718 (the linear algebra method and Oddtown), which will use this bound for the Eventown theorem, but the two are independent and this one stands alone.
|
t-algebra
new-contributor
LLM-generated
awaiting-author
label:t-algebra$ |
9/0 |
Mathlib/LinearAlgebra/BilinearForm/Orthogonal.lean |
1 |
3 |
['github-actions', 'themathqueen'] |
nobody |
54-6599 1 month ago |
54-6599 54 days ago |
34-9790 34 days |
0 |
| 43691 |
Janav-Gupta author:Janav-Gupta |
feat(LinearAlgebra/Matrix): Gaussian elimination to lower triangular form |
This PR formalises Gaussian elimination for matrices, specifically focusing on reducing any matrix to lower triangular form using only left multiplication.
Our project builds on `Mathlib.LinearAlgebra.Matrix.Transvection`, which already provides an algorithmic reduction of matrices to diagonal form using left and right transvections.
More precisely, we show that:
Given any matrix `M`, we can find a product of transvections and row exchange matrices `L` such that `L * M` is a lower triangular matrix.
Below is a brief overview of our approach:
* `rowEx i j`: Explicit construction of row exchange matrices and proofs of their various properties.
* `EliminationStruct`: A structure containing a list of transvections and a row exchange, used to inductively clear out columns.
**Main Theorem:**
Lean
```
theorem exists_list_elim_matrix_mul_eq_lowerTriangular (n : ℕ) (M : Matrix (Fin n) (Fin n) 𝕜) :
∃ LE : List (EliminationStruct (Fin n) 𝕜), (List.prod (List.map toElim LE) * M).BlockTriangular (OrderDual.toDual)
```
This proves that for any $$n \times n$$ matrix `M` over a field, there exists a list of elimination structures `LE` such that multiplying their corresponding matrices on the left of `M` yields a lower triangular matrix. |
t-algebra
new-contributor
label:t-algebra$ |
536/0 |
Mathlib/LinearAlgebra/Matrix/GaussianElimination.lean |
1 |
4 |
['Multramate', 'github-actions'] |
nobody |
52-69031 1 month ago |
unknown |
unknown |
0 |
| 38584 |
TJHeeringa author:TJHeeringa |
feat(Analysis/InnerProductSpace/Reproducing): add toSubmodule |
This PR adds `RKHS.toSubmodule`, the submodule of the ambient `X → V` into which the RKHS embeds. It provides a characterization for functions `f : X → V` for whether they are inside the submodule.
---
Adds the `outerKernel` definition and the theorem `mem_iff`. These are needed for proving statements involving embeddings of RKHS.
I can split `mem_of_posSemidef` and `mem_iff` off into a different pull request if that is preferred.
The theorems `mem_of_posSemidef` and `posSemidef_of_mem` are the two directions of `mem_iff`. `posSemidef_of_mem` is slightly stronger than the converse direction of `mem_iff` in the sense that it also specifies the constant `c` in the statement. The specified `c` is in fact the smallest possible `c` for which the statement holds.
The statement `mem_of_posSemidef` proves `∃ (g : H), (g : X → V) = f`. We could instead write `f ∈ (coeCLM 𝕜 (H:=H)).range`. Making this change would require the addition of the line `simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]` in the beginning of the proof. The full beginning is then
```
lemma mem_of_posSemidef (f : X → V) {c : ℝ}
(hc : ((c : 𝕜) ^ 2 • kernel H - outerKernel 𝕜 f).PosSemidef) : f ∈ (coeCLM 𝕜 (H:=H)).range := by
simp only [LinearMap.mem_range, coe_coe, coeCLM_apply]
let Laux : ...
```
Making a `MemRKHS` like MemLp and MemSobolev and then writing `MemRKHS H f` is also an option. Happy to change it to whatever is preferred.
The proof of `mem_of_posSemidef` is based on the idea that any function f in the RKHS satisfies `<f,\sum_n K(\cdot,x_n)v_n>=\sum_{n} <f(x_n),v_n>` for `x_n\in X` and `v_n\in V` by the reproducing property. We define the operator L(\sum_n K(\cdot,x_n)v_n) = \sum_{n} <f(x_n),v_n>. This is bounded by the condition based on the kernels, and thus extends to a bounded linear operator on the RKHS. Its Riesz' representer agrees pointwise with f.
AI:
When asking how to avoid Classical.choose in constructing the operator L, Claude suggested the approach of going through the quotient. I made the proof using Claude as supplementary Loogle. Afterwards, I asked it to help shorted the proofs. Some suggestions for `mem_of_posSemidef` were applied. The other suggestions were not helping or not correct.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #42680
- [x] depends on: #42681
- [x] depends on: #42682
- [x] depends on: #43333
- [ ] depends on: #43362
- [x] depends on: #41127
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
blocked-by-other-PR
merge-conflict
|
510/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Adjoint.lean,Mathlib/Analysis/InnerProductSpace/Reproducing.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Operations.lean,Mathlib/Analysis/InnerProductSpace/Reproducing/Submodule.lean |
5 |
52 |
['Maldooor', 'Multramate', 'TJHeeringa', 'github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
j-loreaux assignee:j-loreaux |
52-68202 1 month ago |
65-3181 65 days ago |
44-27232 44 days |
0 |
| 41525 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Smooth.Basic for smooth representations |
This PR introduces basic setup for smooth representations of a topological group. Hopefully it will serve as preliminary content for those who are interested in formalizing representation theory for p-adic reductive groups in the future. We introduce the following in the file:
1. Define smoothness for representations of a topological group. It is a property for a representation to be smooth: the stabilizer of any vector is open.
2. Prove basic closure properties: subrepresentations, quotient representations, tensor products, direct sums of smooth representations are smooth.
3. Construct smoothHom and contragredient: they are obtained by cutting out smooth vectors from the naive hom and dual.
- [ ] depends on: #40941
- [ ] depends on: #41081 |
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
277/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Smooth/Basic.lean,Mathlib/RepresentationTheory/Stabilizer.lean,Mathlib/RepresentationTheory/Subrepresentation.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
5 |
7 |
['JX-Mo', 'felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
51-79260 1 month ago |
51-79261 51 days ago |
51-52336 51 days |
0 |
| 36896 |
PieterCuijpers author:PieterCuijpers |
feat (Algebra/Order/Quantale): isMulLeftsided, isMulRightsided, isMulTwosided and strict versions |
* Adding definitions of quantale elements being leftsided, rightsided, and twosided, and strict versions
Should we include these definitions in the main Algebra/Order/Quantale.lean file, or start a separate file for them?
I have a few basic theorems I would like to include on these notions, but invite suggestions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
merge-conflict
label:t-algebra$ |
81/1 |
Mathlib/Algebra/Order/Quantale.lean |
1 |
6 |
['NoahW314', 'PieterCuijpers', 'chrisflav', 'github-actions', 'mathlib-merge-conflicts'] |
mariainesdff assignee:mariainesdff |
51-76391 1 month ago |
194-83405 194 days ago |
39-15412 39 days |
0 |
| 39697 |
sorrachai author:sorrachai |
feat(Data/Tree/Basic): add Membership instance, new notation, rename Tree |
Summary:
1. [Rename]([#CSLib > Splay tree PR: BinaryTree vs Tree @ 💬](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR.3A.20BinaryTree.20vs.20Tree/near/596482765)) from Tree to BinaryTree, which propagates the changes to other files that use it.
2. Add membership instance, prove decidability of membership.
3. Add toListInOrder, toListPreOrder, toListPostOrder
Suggestion based on the discussion in the cslib [thread](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR/near/596568391)[#CSLib > Splay tree PR @ 💬](https://leanprover.zulipchat.com/#narrow/channel/513188-CSLib/topic/Splay.20tree.20PR/near/596568391).
---
* depends on: #39707 |
new-contributor
awaiting-author
t-data
|
117/8 |
Mathlib/Data/Tree/Basic.lean |
1 |
8 |
['eric-wieser', 'github-actions', 'sorrachai'] |
nobody |
50-52195 1 month ago |
153-69521 153 days ago |
17-19006 17 days |
0 |
| 41862 |
mpacholski author:mpacholski |
feat(Analysis/Normed/Module/TensorProduct): define projective seminorm on binary tensor products |
Introduce the projective seminorm on the tensor product of two normed spaces,
mirroring the n-ary construction in `PiTensorProduct.ProjectiveSeminorm` and prove its basic properties.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #41731
- [ ] depends on: #41827
|
new-contributor
tech debt
blocked-by-other-PR
t-analysis
|
272/9 |
Mathlib.lean,Mathlib/Analysis/Fourier/FourierTransformDeriv.lean,Mathlib/Analysis/Normed/Module/TensorProduct/ProjectiveSeminorm.lean,Mathlib/LinearAlgebra/TensorProduct/Basic.lean,Mathlib/MeasureTheory/Measure/CharacteristicFunction/TaylorExpansion.lean,Mathlib/Topology/Algebra/Module/Spaces/ContinuousLinearMap.lean |
6 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
50-52093 1 month ago |
102-85412 102 days ago |
0-82002 22 hours |
1 |
| 41538 |
Mathias-Stout author:Mathias-Stout |
feat(Algebra/Quaternion): quaternion are central simple |
We show that the quaternion algebra `ℍ[R,a,b,c]` over a field `R` is a central simple `R`-algebra, provided that `c * (b ^ 2 + 4 * a) ≠ 0`.
- [ ] depends on: #41536
- [ ] depends on: #41537
Co-authored-by: Justus Springer [justusspringer@gmx.de](mailto:justusspringer@gmx.de)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
blocked-by-other-PR
merge-conflict
t-algebra
label:t-algebra$ |
170/7 |
Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Algebra/Quaternion/CentralSimple.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean,MathlibTest/Quaternion.lean |
9 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
50-51804 1 month ago |
122-83412 122 days ago |
0-1919 31 minutes |
0 |
| 41924 |
junjihashimoto author:junjihashimoto |
feat(NumberTheory): the number-theoretic transform |
The number-theoretic transform is the discrete Fourier transform of functions `ZMod N → M`, where `M` is a module over a commutative domain `R` containing a primitive `N`-th root of unity `ζ` (e.g. `R = ZMod p` with `N ∣ p - 1`):
`ntt hζ f k = ∑ j, ζ ^ (j * k) • f j`.
We prove the character orthogonality relation (`sum_zmodChar_mul`, from `AddChar.sum_eq_ite`), the **Fourier inversion formula** `nttInv_ntt` / `ntt_nttInv` (so the transform is bijective whenever `N` is invertible in `R`), and the **bilinear Parseval identity** `sum_bilin_ntt_ntt_neg` — over a general coefficient ring there is no norm or conjugation, and this is the correct finite-field replacement for Plancherel's theorem.
The module `M` is arbitrary; taking `M` to be a hypercomplex algebra over `R` (e.g. the octonions or sedenions over `ZMod p` from #41919, whence the dependency) yields hypercomplex number-theoretic transforms, recorded as an example. This is the finite-field counterpart of the archimedean theory in #41921/#41922.
The NTT is the transform underlying polynomial multiplication in lattice-based cryptography (e.g. ML-KEM/Kyber), so this also provides groundwork for formalizing those schemes.
- [ ] depends on: #41919
|
new-contributor
blocked-by-other-PR
awaiting-author
t-number-theory
t-algebra
label:t-algebra$ |
469/0 |
Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean,Mathlib/NumberTheory/NumberTheoreticTransform.lean |
4 |
4 |
['github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
50-51663 1 month ago |
113-4595 113 days ago |
0-1410 23 minutes |
0 |
| 41921 |
junjihashimoto author:junjihashimoto |
feat(Analysis/Fourier): the Plancherel theorem for hypercomplex Fourier transforms |
The (left-sided) hypercomplex Fourier transform of `f : V → CayleyDickson A` replaces the imaginary unit in the Fourier kernel by the Cayley–Dickson doubling unit `ℓ`:
`ℱ f ξ = ∫ x, (cos (2π ⟪x, ξ⟫) - sin (2π ⟪x, ξ⟫) ℓ) * f x`.
Cayley–Dickson algebras beyond the quaternions are not associative — the sedenions are not even alternative and have zero divisors — but the Fourier theory only needs a complex *module* structure on the codomain: `ℓ * (ℓ * x) = -x` holds at every level of the tower, so `Complex.liftAux` into `Module.End ℝ (CayleyDickson A)` (where associativity lives) makes every Cayley–Dickson algebra a complex vector space. Equipping it with a compatible complex Hilbert space structure, Plancherel's theorem (`CayleyDickson.integral_norm_sq_fourierIntegral`) and the Fourier inversion formula (`CayleyDickson.fourierInvIntegral_fourierIntegral`) are inherited from the vector-valued `L²` Fourier theory (#24063-style `Lp.fourierTransformₗᵢ`), on any finite-dimensional real inner product space domain.
Taking `A = ℍ[ℝ]` gives the octonion Fourier transform (Hahn–Snopek; Błaszczyk, *J. Fourier Anal. Appl.* 2020); `A = Octonion ℝ` gives the sedenion one, recorded explicitly as `Sedenion.integral_norm_sq_fourierIntegral`.
- [ ] depends on: #41919
|
new-contributor
blocked-by-other-PR
awaiting-author
t-analysis
|
617/0 |
Mathlib.lean,Mathlib/Algebra/CayleyDickson.lean,Mathlib/Algebra/Octonion.lean,Mathlib/Analysis/Fourier/CayleyDicksonPlancherel.lean |
4 |
5 |
['github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
50-51586 1 month ago |
113-16258 113 days ago |
0-1014 16 minutes |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
290/0 |
Mathlib.lean,Mathlib/Combinatorics/DiHypergraph/Basic.lean |
2 |
12 |
['SnirBroshi', 'b-mehta', 'espottesmith', 'github-actions', 'mathlib4-merge-conflict-bot', 'pimotte'] |
nobody |
49-76776 1 month ago |
139-75399 139 days ago |
277-81749 277 days |
1 |
| 43780 |
SashaIr author:SashaIr |
feat: q-analogs |
An implementation of q-analogs, q-binomials, and counting results.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
965/0 |
Mathlib.lean,Mathlib/Combinatorics/QAnalog/Basic.lean,Mathlib/Combinatorics/QAnalog/Binomial.lean,Mathlib/Combinatorics/QAnalog/Counting.lean,Mathlib/Combinatorics/QAnalog/Subspace.lean |
5 |
7 |
['SashaIr', 'SnirBroshi', 'b-mehta', 'github-actions'] |
nobody |
49-67519 1 month ago |
49-67572 49 days ago |
56-61979 56 days |
0 |
| 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) (W : Type) where
/-- The set of vertices in each bag. -/
bag : W → Finset V
/-- The graph adjacency relation of bags. -/
tree : SimpleGraph W
/-- T must be a tree. -/
isTree : IsTree tree
/-- All vertices in G must appear in some bag. -/
vertexCover : ∀ v : V, ∃ w : W, v ∈ bag 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 ∈ bag w ∧ v ∈ bag w
/-- For any vertex v in G, the set of bags that contain v is preconnected. -/
connectedBags : ∀ v : V, (tree.induce ({w | v ∈ bag w})).Preconnected
```
AI Usage: Some proofs are written with the help of Claude Code, and everything has been manually reviewed.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #38027
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
LLM-generated
|
395/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/TreeDecomp.lean |
2 |
42 |
['8e7', 'SnirBroshi', 'YaelDillies', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
49-49560 1 month ago |
106-36415 106 days ago |
130-18323 130 days |
1 |
| 43953 |
hasjack author:hasjack |
feat(Combinatorics/SimpleGraph/LapMatrix): bound Laplacian eigenvalues by `|V|` |
Prove that every Laplacian eigenvalue of a finite simple graph is at most
the number of vertices, via comparison of the Rayleigh quotient with the
complete graph. Also record the underlying quadratic-form bound
`xᵀ L x ≤ |V| · ‖x‖²`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---` , otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
Adds `dotProduct_mulVec_lapMatrix_le_card` and `eigenvalues_lapMatrix_le_card`
in `LapMatrix.lean` only. The claim is the uniform bound `λ ≤ |V|` for every
indexed eigenvalue; it does not assert `|V| ∈ spectrum` for every graph.
Searched existing LapMatrix API (PSD, `zero_mem_spectrum_lapMatrix`,
`lapMatrix_top`) and did not find a card upper bound under another name.
Happy to rename if a preferred lemma already exists. |
new-contributor
t-combinatorics
LLM-generated
|
37/1 |
Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean,Mathlib/Data/Matrix/Mul.lean |
2 |
61 |
['Parcly-Taxel', 'SnirBroshi', 'github-actions', 'hasjack'] |
nobody |
49-7472 1 month ago |
49-8001 49 days ago |
51-32083 51 days |
0 |
| 43503 |
carlok author:carlok |
chore: weaken unused typeclass assumptions on section variables |
This PR has been described at
https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/unused.20hypotheses.3A.20431.20in.20a.2029k.20sample.2C.20and.2033.20one-line.20PRs/near/622113682
it is a list of mechanically found [1] one-liners relaxing theorems whose setting is stronger than their proof needs. Each change compiled alone against an unmodified file (whole library building locally at 633b366493).
More information on the project https://github.com/carlok/unused-assumptions
In the zulip thread, @SnirBroshi spotted that the refactored Topology/EMetricSpace/Pi.lean takes [EDist α] in place of two binders.
PS: A single PR because I noticed #42214 (813 files, merged, same kind of change).
Thank you for your work.
[1] LLM + Lean4 itself |
new-contributor
merge-conflict
|
32/32 |
Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/Category/ModuleCat/ChangeOfRingsExact.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/Group/Submonoid/Pointwise.lean,Mathlib/Algebra/Order/Archimedean/Defs.lean,Mathlib/Algebra/Order/CauSeq/Basic.lean,Mathlib/Algebra/Order/Group/Indicator.lean,Mathlib/Algebra/Order/Sub/Unbundled/Hom.lean,Mathlib/Algebra/Order/WithTop/Untop0.lean,Mathlib/Algebra/Regular/SMul.lean,Mathlib/Algebra/Star/SelfAdjoint.lean,Mathlib/Analysis/Convex/Cone/TensorProduct.lean,Mathlib/Analysis/Convex/Gauge.lean,Mathlib/Analysis/Normed/Group/CocompactMap.lean,Mathlib/Analysis/Normed/Group/Seminorm.lean,Mathlib/Data/Finset/Pairwise.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/BilinearMap.lean,Mathlib/LinearAlgebra/LinearIndependent/Defs.lean,Mathlib/Order/Antichain.lean,Mathlib/Order/Monotone/Extension.lean,Mathlib/RingTheory/AlgebraTower.lean,Mathlib/RingTheory/DedekindDomain/Ideal/Basic.lean,Mathlib/RingTheory/Ideal/Quotient/Over.lean,Mathlib/RingTheory/Localization/Basic.lean,Mathlib/RingTheory/Localization/Module.lean,Mathlib/RingTheory/Valuation/ValuationRing.lean,Mathlib/Topology/EMetricSpace/Pi.lean,Mathlib/Topology/Instances/Sign.lean |
29 |
6 |
['github-actions', 'leanprover-radar', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
48-37151 1 month ago |
48-37152 48 days ago |
15-21300 15 days |
0 |
| 36832 |
KryptosAI author:KryptosAI |
chore(Data/Finset/Card): rename `pred_card_le_card_erase` to `sub_one_card_le_card_erase` |
## Summary
The name `pred_card_le_card_erase` suggests `Nat.pred` but the statement uses `- 1` (i.e., `Nat.sub 1`). Rename to `sub_one_card_le_card_erase` to match the actual statement.
A deprecated alias is added for backwards compatibility.
### Files changed
- `Mathlib/Data/Finset/Card.lean` — definition renamed + deprecated alias
- `Mathlib/Data/Finset/Powerset.lean` — reference updated
- `Mathlib/Combinatorics/Additive/SubsetSum.lean` — reference updated
- `Mathlib/Algebra/Polynomial/EraseLead.lean` — reference updated
Addresses the `Finset.pred_card_le_card_erase` item in #21584.
## AI disclosure
I used Claude Code to explore the codebase (finding all references to rename) and to draft the PR description. I reviewed and understand all changes — these are straightforward renames with a deprecated alias. |
new-contributor
awaiting-author
merge-conflict
|
22/15 |
Mathlib/Algebra/Polynomial/EraseLead.lean,Mathlib/Combinatorics/Additive/SubsetSum.lean,Mathlib/Combinatorics/SetFamily/AhlswedeZhang.lean,Mathlib/Combinatorics/SetFamily/Shadow.lean,Mathlib/Data/Finset/Card.lean,Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Set/Card.lean,Mathlib/GroupTheory/Perm/Support.lean,Mathlib/RingTheory/Ideal/Operations.lean |
9 |
9 |
['KryptosAI', 'Multramate', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts', 'mattrobball', 'ooovi'] |
nobody |
47-76961 1 month ago |
175-7975 175 days ago |
59-40608 59 days |
0 |
| 40791 |
vvvv-ops author:vvvv-ops |
feat(RingTheory/DedekindDomain): dirichlet's s-unit theorem |
Proves the `Future work` of `RingTheory/DedekindDomain/SInteger.lean`: finite generation of `S`-units and Dirichlet's `S`-unit theorem.
For a Dedekind domain `R` with fraction field `K` and a finite set `S` of height-one primes, this adds the `S`-valuation map `Set.unitValuation` with kernel the `∅`-units (`Set.unitValuation_ker`), finite generation `Set.unit_fg`, and the exact rank `Set.finrank_eq`: `finrank ℤ (Additive 𝒪_{K,S}ˣ) = finrank ℤ (Additive 𝒪_Kˣ) + |S|`, plus the number-field specialisation `Set.unit_finrank_numberField` (`= (r₁ + r₂ - 1) + |S|`). The proof uses the short exact sequence `1 → 𝒪_Kˣ → 𝒪_{K,S}ˣ → ⊕_{v∈S} ℤ`: the kernel is the units, and the image has finite index because its cokernel embeds in the (finite) class group.
The general finiteness helpers `Module.Finite.of_fg_ker_of_fg_range`, `CommGroup.fg_of_fg_ker_of_fg_range`, `Subgroup.fg_of_fg_commGroup` are included in the file for now — happy to move them to `RingTheory/Finiteness` / `GroupTheory/Finiteness` if preferred.
|
t-ring-theory
new-contributor
awaiting-author
merge-conflict
|
339/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/SUnit.lean,scripts/noshake.json |
3 |
5 |
['github-actions', 'jjdishere', 'mathlib-merge-conflicts'] |
mattrobball assignee:mattrobball |
47-69596 1 month ago |
66-85778 66 days ago |
76-35876 76 days |
0 |
| 44099 |
xiahongchi author:xiahongchi |
feat: maximize concave functions at stationary points |
Adds two first-order maximum principles for real concave functions:
* `ConcaveOn.le_of_hasDerivAt_eq_zero`
* `ConcaveOn.isGreatest_of_hasDerivAt_eq_zero`
They use the existing secant-slope bounds and require differentiability only at the candidate maximizer.
Tested by compiling `Mathlib/Analysis/Convex/Deriv.lean` locally. |
t-analysis
new-contributor
|
31/0 |
Mathlib/Analysis/Convex/Deriv.lean |
1 |
3 |
['github-actions'] |
nobody |
47-50326 1 month ago |
47-50913 47 days ago |
47-50840 47 days |
0 |
| 44103 |
xiahongchi author:xiahongchi |
feat: equate derivatives of ordered functions at contact points |
This adds Fréchet-derivative and scalar-derivative lemmas saying that two everywhere-ordered real-valued functions have equal derivatives wherever they agree. The proof applies Fermat’s theorem to their nonnegative difference.
This packages and generalizes the scalar envelope argument from Bryan Sanchez’s `NSBlwChain/Caveats/C2_Envelope.lean` at `Brsanch/ns-lean-proofs@b73f537d1646165fbdc0993c5b2e223355dc3469` (MIT).
The new declarations elaborate under the released toolchain; compiling the current master file there reports only one pre-existing current-Lean field-notation incompatibility before the new code. Current-toolchain CI is authoritative. |
t-analysis
new-contributor
|
20/0 |
Mathlib/Analysis/Calculus/LocalExtr/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
47-48641 1 month ago |
47-49098 47 days ago |
47-49025 47 days |
0 |
| 42315 |
sfingali author:sfingali |
feat(Topology): the adic spectrum Spa(A, A+) as a topological space |
### Summary
Defines the adic spectrum `Spa(A, A⁺)` as a set and topological space for a
topological ring `A` and a subring `A⁺` (Wedhorn, *Adic Spaces*,
arXiv:1910.05934, Def. 7.23 and Def. 7.29, pp. 62–63).
* `SpaPoint A A⁺` — a point of the adic spectrum: a continuous valuation
`v : A → Γ₀` with `v(f) ≤ 1` for all `f ∈ A⁺`.
* `SpaPoint.rationalSubset s T` — the rational subset `R(T/s)`.
* `SpaPoint.spaTopologicalSpace` — the topology generated by the rational
subsets with `T · A` open in `A`; `isOpen_rationalSubset` shows every such
rational subset is open.
* `SpaPoint.mem_rationalSubset_one` — Wedhorn, Rem. 7.30(4): `R(f/1)` is the
set `{x | |f(x)| ≤ 1}`.
Third step of an adic/perfectoid pipeline (Huber rings #42312 → continuous
valuations #42314 → Spa → Huber pairs → perfectoid → tilting). This PR works
with the element-level notion (a bundled continuous valuation with a fixed
value group); Wedhorn defines `Spa(A, A⁺)` as a subspace of the valuation
spectrum `Spv(A)` — the comparison is added once the spectrum PR lands.
### References
* T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.23, Def. 7.29,
Rem. 7.30 (pp. 62–63).
|
new-contributor
t-topology
awaiting-author
|
411/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/ContinuousValuation.lean,Mathlib/Topology/Algebra/Nonarchimedean/Spa.lean |
3 |
4 |
['github-actions', 'tb65536', 'themathqueen'] |
ADedecker assignee:ADedecker |
46-61586 1 month ago |
46-61597 46 days ago |
52-19364 52 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #37682
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
awaiting-author
|
9/0 |
Mathlib/Order/OrdContinuous.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
46-59661 1 month ago |
47-45617 47 days ago |
78-18986 78 days |
0 |
| 42955 |
mpacholski author:mpacholski |
feat(diffgeo): add Hom-bundle support and fix pullback base points in T% elaborator |
# Changes
## `Mathlib/Geometry/Manifold/Notation.lean`
* **Add support for pullback bundles:** Replaced the hardcoded bound variable `x` with the dynamically extracted argument `arg`, which allows for using elaborator `T%` with pullback bundles, where the base point lies in a different manifold, e.g. `v : Π (m : M), E₁ (b m)`, where `b : M → B`.
* **Add support for Hom-bundles:** The elaborator now supports sections of Hom-bundles (`ContinuousLinearMap` between two fiber bundles, e.g. `ϕ : ∀ x, (E₁ x →L[𝕜] E₂ x`). It also supports the case where the base point lies in a different manifold (e.g. `ϕ : ∀ x, (E₁ (b x) →L[𝕜] E₂ (b x))`)
* **Support nested `TangentSpace`:** Modified `findModelFiber?` to natively intercept `TangentSpace` applications and extract the model fiber at index 2. This prevents typeclass synthesis failures when `TangentSpace` is used inside a Hom-bundle.
## `MathlibTest/DifferentialGeometry/Notation/Basic.lean`
* **Added tests for all the new usecases** this includes pullback bundles, Hom-bundles, pullback Hom-bundles, and Hom-bundles where one of the fibers is a `TangentSpace`.
## `Mathlib/Geometry/Manifold/VectorBundle/Hom.lean`
* **Refactor `Hom.lean`:** Replaced verbose `TotalSpace.mk'` boilerplate in with the newly supported `T%` syntax (e.g. `MDiffAt[s] T% ϕ x` instead of `MDiffAt[s] (fun m ↦ TotalSpace.mk' (F₁ →L[𝕜] F₂) (E := fun (x : B) ↦ (E₁ x →L[𝕜] E₂ x)) (b m) (ϕ m)) x)`
# Use of AI
The help of AI was used in writing the code in `Mathlib/Geometry/Manifold/Notation.lean`. It was hence manually edited to simplify the code as much as possible. While the author is not yet an expert in metaprogramming in Lean, he is willing to learn and receive feedback, and put all the effort to understand the presented code. The code was carefully tested with different parts of it changed and removed to make sure that every line serves a purpose to provide the expected functionality.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
LLM-generated
|
127/36 |
Mathlib/Geometry/Manifold/Notation.lean,Mathlib/Geometry/Manifold/VectorBundle/Hom.lean,MathlibTest/DifferentialGeometry/Notation/Basic.lean |
3 |
5 |
['github-actions', 'grunweg', 'mpacholski'] |
nobody |
45-49557 1 month ago |
80-85169 80 days ago |
80-85096 80 days |
3 |
| 43905 |
t4v1 author:t4v1 |
feat(Analysis/FunctionalSpaces): prove Morrey's inequality |
Morrey's inequality, the supercritical companion of the Gagliardo–Nirenberg–Sobolev inequality of `Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean`. That file bounds an `L^q` norm of a compactly supported `C¹` function by the `L^p` norm of its derivative when `p < finrank ℝ E`; this one treats `finrank ℝ E < p`, where the function is Hölder continuous of exponent `1 - n / p`:
* `enorm_sub_le_morreyConst_mul_rpow_mul_eLpNorm_fderiv`:
`‖u x - u z‖ₑ ≤ morreyConst E μ p * ‖x - z‖ₑ ^ (1 - n / p) * eLpNorm (fderiv ℝ u) p μ` for `u` of class `C¹` (no support hypothesis is needed);
* `eLpNorm_top_le_eLpNorm_fderiv`: `eLpNorm u ⊤ μ ≤ C * eLpNorm (fderiv ℝ u) p μ` for `u` supported in a bounded set `s`, `C` depending on `s` through its diameter.
Both constants are explicit and homogeneous of the right degree in `μ`, so the estimates are invariant under rescaling the Haar measure.
On the way: the exact value of the Riesz kernel integral on a ball, `setLIntegral_ball_rpow_neg` (`∫⁻ y in ball x r, ‖y - x‖ₑ ^ (-a) ∂μ` equals `n / (n - a) * μ (ball 0 1) * r ^ (n - a)` for `a < n`), its finiteness, and the Riesz potential estimate `lintegral_ball_enorm_sub_le_lintegral_riesz` bounding the mean oscillation of a `C¹` function on a ball by the Riesz potential of its derivative. The proof is the classical one (Evans, *PDE*, §5.6.2; Lieb–Loss, *Analysis*, §8.4): polar coordinates about the centre of a ball, the fundamental theorem of calculus along rays, Hölder's inequality against the Riesz kernel, and a comparison of the averages over `ball x d`, `ball z d` and `ball ((x + z)/2) (d/2)`.
The target space `F` is not assumed complete: the fundamental theorem of calculus is applied in `UniformSpace.Completion F`.
The proofs were developed with the help of an LLM (Claude Code) and then checked and edited by the author, who takes responsibility for every line.
- [ ] depends on: #43904 (polar coordinates for lintegral)
|
blocked-by-other-PR
t-measure-probability
new-contributor
t-analysis
LLM-generated
|
535/0 |
Mathlib.lean,Mathlib/Analysis/FunctionalSpaces/MorreyInequality.lean,Mathlib/MeasureTheory/Constructions/HaarToSphere.lean,docs/references.bib |
4 |
5 |
['github-actions', 'mathlib-dependent-issues', 't4v1'] |
nobody |
45-31047 1 month ago |
unknown |
unknown |
0 |
| 42147 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, integral form forward in time |
Prove existence of solution to ODE (in integral form) forward in time.
Show the constructed limit fulfills the given integral equation.
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This is the fifth PR in a series.
See our further PRs for more information, last #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42142
- [ ] depends on: #42143
- [ ] depends on: #42144
- [ ] depends on: #42146
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
new-contributor
|
502/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
44-68725 1 month ago |
unknown |
unknown |
1 |
| 42148 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, full version |
Prove peano existence theorem for ODEs (differential form)
Show existence of solution backwards in time by reflection.
Glue together for global solution.
Show solution fulfills differential formulation from integral formulation.
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This is the sixth and final PR in a series.
See our further PRs for more information.
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42142
- [ ] depends on: #42143
- [ ] depends on: #42144
- [ ] depends on: #42146
- [ ] depends on: #42147
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
new-contributor
|
603/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
53 |
['github-actions', 'luigi-massacci', 'mathlib-dependent-issues', 'mcdoll', 'philipp-svinger'] |
nobody |
44-68702 1 month ago |
unknown |
unknown |
0 |
| 42144 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, application of Arzela Ascoli |
Apply Arzela Ascoli to show existence of converging subsequence
Add proof that Tonelli approximations have a converging subsequence using Arzela Ascoli.
Define adapter to BoundedContinuousFunctions to use existing results.
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This is the third PR in a series.
See our further PRs for more information, last #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42142
- [ ] depends on: #42143
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
new-contributor
|
355/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
5 |
['YanYablonovskiy', 'github-actions', 'mathlib-dependent-issues', 'philipp-svinger'] |
nobody |
44-68654 1 month ago |
unknown |
unknown |
3 |
| 42146 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Limit Extraction |
Transfer existence result of limit from BoundedContinuousFunctions to original definition.
Prove the Tonelli approximations converge uniformly.
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This is the fourth PR in a series.
See our further PRs for more information, last #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42142
- [ ] depends on: #42143
- [ ] depends on: #42144
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
new-contributor
|
419/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
44-68380 1 month ago |
unknown |
unknown |
2 |
| 42143 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 2 |
Add auxiliary results for Tonelli approximation
Add MapsTo statement for Tonelli approximation.
Add LipschitzOnWith statement for Tonelli approximation.
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This is the second PR in a series.
See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #42142
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-analysis
new-contributor
|
301/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
44-68342 1 month ago |
unknown |
unknown |
4 |
| 44222 |
SamuelSchlesinger author:SamuelSchlesinger |
feat(Analysis/SpecialFunctions/Stirling): asymptotics of the central binomial coefficient |
Upstreaming `n.centralBinom ~ 4 ^ n / √(π * n)` and its `4 ^ n`-normalised corollaries,
needed for a Razborov–Smolensky `AC⁰[p]` lower bound in a circuit-complexity formalization,
together with the Catalan asymptotic `catalan n ~ 4 ^ n / (√π * n ^ (3 / 2))` as a first
application in Mathlib.
Drafted with Claude Code from my existing proof of the same statement, then revised by me
against Mathlib conventions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-analysis
LLM-generated
new-contributor
|
85/1 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Stirling.lean,Mathlib/Combinatorics/Enumerative/Catalan/Asymptotics.lean |
3 |
4 |
['SamuelSchlesinger', 'github-actions'] |
nobody |
44-30231 1 month ago |
44-30560 44 days ago |
44-30487 44 days |
0 |
| 43441 |
JakobScholbach author:JakobScholbach |
feat(CategoryTheory/LiftingProperties): the unique lifting property |
Defines `HasAtMostOneLiftingProperty i p`, saying that every commutative square from `i` to `p` has at most one filler (its type of lifts is a `Subsingleton`), and `HasUniqueLiftingProperty i p`, which extends it together with `HasLiftingProperty` to say that every such square has exactly one.
The API mirrors `LiftingProperties/Basic.lean`: both classes are stable under composition on either side, admit the corresponding cancellation, transfer along isomorphisms of arrows and along retracts of arrows, and are exchanged by passing to the opposite category. Every statement is dualized with `@[to_dual]`, so the file states one of each pair. Also included are `CommSq.lift_eq_of_hasAtMostOneLiftingProperty`, saying that two fillers of one square agree, and `hasUniqueLiftingProperty_iff`, which restates the unique lifting property as an explicit `∃!`.
I was not fully sure about two points, so I am happy to get feedback particularly on the following:
- `HasUniqueLiftingProperty.of_left_iso` carries `priority := 100`. Is this OK?
- `CommSq.uniqueLiftStruct` is a `def` with `instance_reducible` rather than an instance. OK?
I intend to submit further PRs that develop orthogonal factorization systems based on the small object argument later on, once this PR is approved.
Thank you. |
new-contributor
t-category-theory
LLM-generated
awaiting-author
|
309/0 |
Mathlib.lean,Mathlib/CategoryTheory/LiftingProperties/Unique.lean |
2 |
8 |
['JakobScholbach', 'github-actions', 'joelriou', 'theebayuser'] |
nobody |
43-73772 1 month ago |
54-75907 54 days ago |
11-7546 11 days |
0 |
| 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
merge-conflict
|
108/2 |
Mathlib/Data/List/Perm/Lattice.lean,Mathlib/Data/List/TakeDrop.lean |
2 |
51 |
['BoltonBailey', 'IlPreteRosso', 'TwoFX', 'Vierkantor', 'github-actions', 'kckennylau', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot', 'rudynicolop'] |
TwoFX assignee:TwoFX |
42-40310 1 month ago |
297-11035 297 days ago |
91-66874 91 days |
0 |
| 32555 |
ksenono author:ksenono |
feat(Combinatorics/SimpleGraph/Matching): maximum and maximal matchings for Konig's theorem |
---
<!-- Your PR title will become the first line of the commit message.
definitions and existence of maximum/maximal matchings in simple graphs.
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
merge-conflict
|
112/0 |
Mathlib/Combinatorics/SimpleGraph/DegreeSum.lean,Mathlib/Combinatorics/SimpleGraph/Matching.lean |
2 |
47 |
['SnirBroshi', 'SproutSeeds', 'YaelDillies', 'b-mehta', 'github-actions', 'jcommelin', 'ksenono', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
42-39360 1 month ago |
175-9356 175 days ago |
130-25196 130 days |
2 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
large-import
awaiting-author
merge-conflict
|
22/25 |
Mathlib/Order/Filter/AtTopBot/Floor.lean,Mathlib/Topology/Algebra/Order/Floor.lean |
2 |
4 |
['GrigorenkoPV', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
nobody |
42-39103 1 month ago |
243-58118 243 days ago |
27-45743 27 days |
0 |
| 35376 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifold): orientable manifolds |
This adds a definition of orientation and orientability for manifolds.
AI disclosure: I used Claude to revise an initial human pass at the core definitions, as well as to help formalize proofs of natural follow-up statements from human-written definitions and theorem statements.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #33189
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-differential-geometry
awaiting-author
merge-conflict
|
726/1 |
Mathlib.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Topology/LocallyConstant/Basic.lean |
6 |
86 |
['Rida-Hamadani', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'michaellee94', 'sgouezel'] |
sgouezel assignee:sgouezel |
42-39102 1 month ago |
120-25671 120 days ago |
17-65363 17 days |
1 |
| 36347 |
FrankieeW author:FrankieeW |
feat(NumberTheory/QuadraticField): define quadratic number fields as QuadraticAlgebra ℚ d 0 |
Define `Qsqrtd d` as `QuadraticAlgebra ℚ d 0`, representing the quadratic number field `ℚ(√d)`. Prove trace and norm results, show `Qsqrtd d` is a number field and a quadratic extension when `d` is not a perfect square, and prove that `ℚ(√0)` and `ℚ(√1)` are not fields. Include `IsQuadraticField` as a predicate for quadratic extensions of `ℚ`, and bridge lemmas connecting squarefree integer parameters to the non-square condition.
This PR is part of a series upstreaming the [QuadraticNumberFields](https://github.com/FrankieeW/QuadraticNumberFields) project.
[Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/quadratic.20number.20fields)
---
### PRs
- #36347 (this PR)
- #36387
---
<!-- The text above the `---` will become the commit message when your PR is merged.
Please leave a blank newline before and after the `---`, otherwise the tooling may
not work correctly.
For details on the requirements for commit messages, see
[Mathlib Commit Conventions](https://leanprover-community.github.io/contribute/commit_conventions.html). -->
<!-- To indicate co-authors, include lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are not ready for a review yet, add `[WIP]` to the PR title to mark it as a
work in progress. -->
<!--
### Checklist
-->
<!-- Put an `x` inside `[ ]` to check the box.
- [x] The PR title is in Conventional Commits style (`feat:`, `fix:`, `chore:`, etc.)
and adequate for the final squash-merge commit message
(see [Mathlib Commit Conventions](https://leanprover-community.github.io/contribute/commit_conventions.html)).
If this PR closes an issue, write `Closes #NNNN` in the above PR description. If it doesn't, no action is required.
Zulip discussion link (optional, but very useful):
https://leanprover.zulipchat.com/#narrow/channel/NNN-channel-name/topic/topic.20name --> |
t-number-theory
new-contributor
large-import
awaiting-author
LLM-generated
merge-conflict
|
191/0 |
Mathlib.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/NumberTheory/QuadraticField/Basic.lean |
4 |
30 |
['FrankieeW', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'tb65536', 'wwylele'] |
tb65536 assignee:tb65536 |
42-38964 1 month ago |
237-85935 237 days ago |
7-4875 7 days |
1 |
| 39341 |
drocta author:drocta |
feat(Algebra/Colimit/DirectLimit): add DirectLimit.(NonUnital)StarAlgebra.(lift/of) maps and associated lemmas |
add the `of` and `lift` maps for `DirectLimit.StarAlgebra` and `DirectLimit.NonUnitalStarAlgebra`, as well as the associated lemmas, `of_f`, `lift_comp_of`, `lift_of`, and `hom_ext` for each. Also make `DirectLimit.NonUnitalAlgebra` only require `[Monoid R]` rather than `[CommSemiring R]`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
Use of AI: I again asked ChatGPT for some advice about some things about this code. I can personally vouch for all of the code I'm submitting, and that I understand all of it.
This is the third part of my project towards supporting direct limits of $C^∗$ -algebras (as I described [on Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Early.20feedback.20on.20approach.20towards.20formalizing.20UHF.20algebras.3F) ).
This PR adds an import of `Mathlib.Algebra.Star.StarAlgHom` (because it needs `StarAlgHom` and `NonUnitalStarAlgHom`) replacing/encompassing the previously added imports of `Mathlib.Algebra.Star.StarRingHom` and `Mathlib.Algebra.Algebra.NonUnitalHom` (added in PR #38308 and #38672 respectively). |
t-algebra
new-contributor
awaiting-author
merge-conflict
label:t-algebra$ |
100/3 |
Mathlib/Algebra/Colimit/DirectLimit.lean |
1 |
23 |
['dagurtomas', 'drocta', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
themathqueen assignee:themathqueen |
42-37093 1 month ago |
114-82788 114 days ago |
56-19662 56 days |
0 |
| 40652 |
michaellee94 author:michaellee94 |
feat(Geometry/Manifold): the Möbius band is a non-orientable manifold |
Constructs the Möbius band as the total space of a line bundle over the circle (`moebiusBundleCore`, `MoebiusBand`), proves it is a connected smooth manifold (`MoebiusBand.isManifold`, `MoebiusBand.connectedSpace`), and proves it is non-orientable (`MoebiusBand.not_orientable`).
AI assistance note: After formalizing definitions and theorem statements, I used Claude (hooked up to the Lean LSP MCP running locally) to help iteratively fix elaboration errors (e.g. by calling Loogle to locate the necessary intermediate results and inject them where needed).
- [ ] depends on: #35376 |
t-differential-geometry
new-contributor
blocked-by-other-PR
LLM-generated
|
1895/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Circle.lean,Mathlib/Geometry/Manifold/Instances/MoebiusBand.lean,Mathlib/Geometry/Manifold/Instances/Real.lean,Mathlib/Geometry/Manifold/IsManifold/Basic.lean,Mathlib/Geometry/Manifold/Orientation.lean,Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean,Mathlib/Topology/LocallyConstant/Basic.lean |
8 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
42-36831 1 month ago |
unknown |
unknown |
0 |
| 41963 |
sweeneyde author:sweeneyde |
feat(AlgebraicTopology): nerve preserves products |
This formalizes the fact that a composable chain of pairs can be identified with a pair of composable chains.
It may be useful in the future for converting a natural transformation into a simplicial homotopy.
---
I added this to a different file to avoid the circular import from `Nerve -> Monoidal -> StdSimplex -> NerveNondegenerate -> Nerve`
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebraic-topology
new-contributor
awaiting-author
merge-conflict
|
82/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/IsoCat.lean,Mathlib/CategoryTheory/Products/Basic.lean |
5 |
21 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts', 'robin-carlier', 'sweeneyde'] |
nobody |
42-35586 1 month ago |
111-34523 111 days ago |
0-12406 3 hours |
1 |
| 42158 |
sweeneyde author:sweeneyde |
feat(AlgebraicTopology): natural transformation to nerve homotopy |
Given a natural transformation between two functors, we produce a homotopy between the maps they induce on nerve simplicial sets.
---
Using `SmallCategory` instances made the proof easier--I had trouble with the universe levels involved when trying to use `Category.{v} C` instead. One could use [CategoryTheory.AsSmall](https://leanprover-community.github.io/mathlib4_docs/Mathlib/CategoryTheory/Category/ULift.html#CategoryTheory.AsSmall) to convert to a small category first.
- [ ] depends on: #41963
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
blocked-by-other-PR
t-algebraic-topology
merge-conflict
|
119/0 |
Mathlib.lean,Mathlib/AlgebraicTopology/SimplicialSet/NerveProduct.lean,Mathlib/CategoryTheory/ComposableArrows/Basic.lean,Mathlib/CategoryTheory/IsoCat.lean,Mathlib/CategoryTheory/Products/Basic.lean |
5 |
5 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
42-35453 1 month ago |
104-57512 104 days ago |
0-29 29 seconds |
0 |
| 42720 |
justinhalford author:justinhalford |
feat(Order/KrullDimension): level sets of height are antichains |
Adds one lemma to `Mathlib/Order/KrullDimension.lean`, directly after `height_strictMono`:
```lean
lemma isAntichain_lt_height_preimage {n : ℕ∞} (hn : n ≠ ⊤) :
IsAntichain (· < ·) {x : α | height x = n}
```
Elements sharing a common *finite* height are pairwise incomparable — the level sets of `height` are antichains.
### Why
This is the combinatorial content of **Mirsky's theorem**, which partitions a finite-dimensional order into `krullDim + 1` antichains (and is the easy dual of Dilworth's theorem). Neither Mirsky nor Dilworth currently appears in Mathlib — both are on the tracked list in `docs/1000.yaml` without a `decl`, and searching for `Mirsky` and `Dilworth` returns nothing.
Rather than introduce the partition machinery up front, this contributes the underlying fact, which is what any route to Mirsky needs and is independently useful for reasoning about graded and finite-dimensional orders.
### Design
Stated with `(· < ·)` rather than `(· ≤ ·)` so that it lives in the existing `[Preorder α]` section and needs no antisymmetry; in a partial order the two coincide for distinct elements. The hypothesis is `n ≠ ⊤` rather than a finiteness typeclass, which keeps it usable without extra assumptions — `height_strictMono` needs exactly that much.
### Proof
Three lines on `height_strictMono`, immediately above it in the same file.
### Verification
Compiles against `master` with no errors or warnings. `#print axioms` reports only `[propext, Classical.choice, Quot.sound]`. No new imports or definitions — `+11 -0` in one file.
### Disclosure
Written with AI assistance (Claude Opus 5) and checked against the Lean kernel; I have read the statement and proof before submitting. Happy to rename, or to restate as `IsAntichain (· ≤ ·)` in a `PartialOrder` section if that is preferred.
|
t-order
new-contributor
|
11/0 |
Mathlib/Order/KrullDimension.lean |
1 |
5 |
['github-actions', 'theebayuser'] |
nobody |
42-30641 1 month ago |
88-14790 88 days ago |
88-14717 88 days |
0 |
| 42835 |
rshlyakh author:rshlyakh |
feat(RingTheory/NoetherNormalization): add that `s` is Krull dimension to theorem statements |
This adds the fact that the natural number `s` in Noether normalization statements is the Krull dimension of the algebra `A`, using the fact (from #41904) that injective integral extensions preserve Krull dimension.
This was previously a `TO-DO` in this file.
- [ ] depends on: #41904
---
The statement of the lemma is now a bit awkward ("there exists `s` such that `s = ringKrullDim R`, and ..."), but I did not see a good alternative since it is desirable for `s` to be a Nat while `ringKrullDim R` is a `WithBot ENat`. Any suggestions on how to improve this would be appreciated.
Note that the only changes are to `NoetherNormalization.lean` (the other changes are from the dependent PR, #41904).
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
blocked-by-other-PR
large-import
new-contributor
merge-conflict
|
97/28 |
Mathlib.lean,Mathlib/RingTheory/Ideal/HasGoingUp.lean,Mathlib/RingTheory/KrullDimension/Integral.lean,Mathlib/RingTheory/NoetherNormalization.lean |
4 |
6 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
42-11058 1 month ago |
unknown |
unknown |
0 |
| 43321 |
owenpkent author:owenpkent |
feat(RingTheory/Polynomial/RationalRoot): rational root theorem with multiplicity |
This PR adds the rational root theorem with multiplicity to
`Mathlib/RingTheory/Polynomial/RationalRoot.lean`:
- `den_pow_rootMultiplicity_dvd_leadingCoeff`: if `r : K` is a root of `p : A[X]` (`A` a UFD, `K`
its fraction field) with multiplicity `m = rootMultiplicity r (p.map (algebraMap A K))`, then
`(den A r) ^ m ∣ p.leadingCoeff`;
- `prod_den_pow_rootMultiplicity_dvd_leadingCoeff`: the multi-point version, `∏ r ∈ s, (den A r) ^
rootMultiplicity r ∣ p.leadingCoeff` over any finite set `s : Finset K` (the denominators need
**not** be pairwise coprime in `A`; the recombination happens on the polynomial side, where the
root factors at distinct points are pairwise coprime over `K`);
- `den_mul_X_sub_C_num_pow_rootMultiplicity_dvd`: the `A`-level form both corollaries come from,
`(C (den A r) * X - C (num A r)) ^ m ∣ p` in `A[X]`.
These generalize the existing multiplicity-one statement `den_dvd_of_is_root`: at `m = 1` the new
theorem recovers it exactly (a guard `example` confirmed this against the branch). Two supporting
lemmas travel with them, placed in `Content.lean`, whose existing content they extend:
- `Polynomial.IsPrimitive.pow` and `Polynomial.isPrimitive_prod`: powers and finite
products of primitive polynomials stay primitive.
**Proof route.** The reduced linear factor `C (den A r) * X - C (num A r)` is primitive (a constant
divisor of both coefficients divides the reduced numerator/denominator pair, hence is a unit) and,
over `K`, a unit multiple of `X - C r`. Its `rootMultiplicity`-power therefore divides `p.map
(algebraMap A K)` (`pow_rootMultiplicity_dvd`), and one-sided Gauss descent (the existing
`IsPrimitive.dvd_of_fraction_map_dvd_fraction_map`) brings the divisibility back down to `A`;
multiplicativity of the leading coefficient finishes. The multi-point case recombines the same
argument over a product of linear factors that are pairwise coprime over `K`
(`isCoprime_X_sub_C_of_isUnit_sub`, `Finset.prod_dvd_of_coprime`).
**A hypothesis note.** `Polynomial.IsPrimitive.pow` / `Polynomial.isPrimitive_prod` are stated
under `[NormalizedGCDMonoid R]`, matching the hypothesis level of their host section in
`Content.lean` (neither proof needs anything UFD-specific). The six `RationalRoot.lean`
declarations (three public, and three `private` helpers about the reduced linear factor:
`isPrimitive_den_mul_X_sub_C_num`, `map_den_mul_X_sub_C_num`,
`leadingCoeff_den_mul_X_sub_C_num`) need only the file's existing
`UniqueFactorizationMonoid A` context: where a
`NormalizedGCDMonoid A` instance is required to invoke the `Content.lean` lemmas, the proofs
materialize one locally via `let : NormalizedGCDMonoid A := Nonempty.some inferInstance` (the
`Nonempty` instance comes from `UniqueFactorizationMonoid A` through `IsGCDMonoid A`, in scope via
the file's existing `RingTheory.Localization.NumDen` import), the same idiom `GaussLemma.lean`
already uses. The statements are instance-independent.
All eight new declarations (two in `Content.lean`, six in `RationalRoot.lean`) build green and
`#print axioms` clean (`[propext, Classical.choice, Quot.sound]`; no `sorryAx`, no
`native_decide`) on master commit `8acb872c31` (toolchain v4.34.0-rc2), with `lake exe lint-style`
and the batteries env linter (`runLinter`) passing on both touched modules, and all direct
downstream importers rebuilt green. Three `public import`s are added to `RationalRoot.lean`
(`RingTheory.Polynomial.GaussLemma`, `Algebra.Polynomial.BigOperators`,
`RingTheory.Coprime.Lemmas`); each is used directly by the new proofs (`shake` no longer exists as
a lake executable on current master, so no automated minimization pass was run).
**Import-graph cost: zero downstream.** The three added imports grow `RationalRoot.lean`'s own
transitive closure by 30 modules (1614 -> 1644), mostly the `FieldTheory.SplittingField` /
`IntermediateField` / `Minpoly` cone that `GaussLemma.lean` pulls in. That growth does not
propagate: `RationalRoot.lean` has exactly three importers in Mathlib
(`RingTheory/Polynomial/IsIntegral.lean`, `RingTheory/DedekindDomain/Basic.lean`,
`NumberTheory/Niven.lean`), and all three already import `GaussLemma` and
`SplittingField.Construction` transitively today, so no file in Mathlib gains an import from this
PR. If a maintainer would still rather keep `RationalRoot.lean` light, the six declarations move to
a new `RingTheory/Polynomial/RationalRootMultiplicity.lean` without any proof change; I am happy to
do that on request.
---
**AI use disclosure** (per Mathlib's contribution guidelines): this generalization was developed in
a personal research project with the help of an AI coding agent (Claude Code). The agent developed
the multiplicity generalization and its proof (building on the existing single-multiplicity
`den_dvd_of_is_root`), then ported it directly onto Mathlib's own source files: placing the two
primitivity lemmas in `Content.lean`'s existing `NormalizedGCDMonoid` section (a weaker hypothesis
than the UFD one the standalone draft used; neither proof needs anything UFD-specific), adapting
the imports to the module system, and rebasing onto current master. During the rebase the agent
found that Mathlib had independently generalized
`IsPrimitive.dvd_of_fraction_map_dvd_fraction_map` to the one-sided form an earlier draft of this
PR supplied as a new lemma, so that lemma was dropped and the proofs call the existing one. Build
green, `#print axioms` clean, and linters passing were confirmed directly against Mathlib's source
tree. The underlying result is a natural generalization of an existing Mathlib theorem, and every
proof step uses only existing Mathlib API. I have reviewed and understand the proofs, take
responsibility for the content, and will respond to review in my own words.
|
t-ring-theory
new-contributor
LLM-generated
merge-conflict
|
129/1 |
Mathlib/RingTheory/Polynomial/Content.lean,Mathlib/RingTheory/Polynomial/RationalRoot.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
42-10786 1 month ago |
42-10786 42 days ago |
26-49699 26 days |
0 |
| 43604 |
MetinovAdik author:MetinovAdik |
feat(Analysis): Laplacian and gradient under composition with a dilation |
feat(Analysis): Laplacian and gradient under composition with a dilation
Two lemmas describing how the Laplacian and the gradient behave under
pre-composition with `c • ·`, the missing companions of `fderiv_comp_smul`
and `iteratedFDeriv_comp_const_smul`.
* `InnerProductSpace.laplacian_comp_smul` (in `InnerProductSpace/Laplacian.lean`,
next to `laplacian_smul`): for `f : E → F` with `ContDiff ℝ 2 f` and `c : ℝ`,
`Δ (f <| c • ·) x = c ^ 2 • Δ f (c • x)`.
Each of the two derivatives contributes one factor of `c`.
Proof: `laplacian_eq_iteratedFDeriv_stdOrthonormalBasis` and
`iteratedFDeriv_comp_const_smul`, in the style of `laplacian_smul`.
* `gradient_comp_smul` (in `Calculus/Gradient/Basic.lean`): for `f : F → 𝕜`
and `c : 𝕜`, `∇ (f <| c • ·) x = conj c • ∇ f (c • x)`.
The derivative picks up `c` (`fderiv_comp_smul`) and the Riesz isomorphism is
conjugate linear, hence `conj c`. No differentiability hypothesis: for `c = 0`
both sides are `0`, exactly as in `fderiv_comp_smul`.
Motivation: the parabolic scaling `v ↦ λ • v (λ • x) (λ² t)` of the Navier–Stokes
equations, where every term acquires `λ³`. Establishing that in Lean required
these two facts, which were the only missing pieces; the rest was already in
Mathlib.
Names follow `fderiv_comp_smul` rather than `iteratedFDeriv_comp_const_smul`;
happy to switch if the other convention is preferred.
---
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
t-analysis
new-contributor
LLM-generated
merge-conflict
|
20/0 |
Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/InnerProductSpace/Laplacian.lean |
2 |
4 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
42-10648 1 month ago |
42-10649 42 days ago |
19-11294 19 days |
0 |
| 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
merge-conflict
|
72/2 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
11 |
['IvanRenison', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
42-136 1 month ago |
292-63572 292 days ago |
1-21793 1 day |
0 |
| 33355 |
0xTerencePrime author:0xTerencePrime |
feat(Combinatorics/SimpleGraph/Connectivity): define vertex connectivity |
**AI Disclosure**: Developed with LLM assistance (Claude). All mathematical design decisions were made by the author.
---
This PR introduces the foundations of vertex connectivity for simple graphs, providing a counterpart to the edge connectivity theory in #32870.
### Main definitions
- `SimpleGraph.IsVertexReachable`: two vertices are `k`-vertex-reachable if they remain reachable after removing any set of strictly fewer than `k` vertices, using `G.induce sᶜ`.
- `SimpleGraph.IsVertexPreconnected`: a graph is `k`-vertex-preconnected if any two vertices are `k`-vertex-reachable.
- `SimpleGraph.IsVertexConnected`: a graph is `k`-vertex-connected if it is `k`-vertex-preconnected and has more than `k` vertices (`k + 1 ≤ ENat.card V`).
### Key lemmas
- `k = 0`: 0-connected ↔ nonempty; 0-preconnected always holds
- `k = 1`: 1-connected ↔ `Nontrivial V ∧ G.Preconnected`
- `anti` / `mono`: antitonic in `k`, monotonic in the graph |
new-contributor
t-combinatorics
LLM-generated
awaiting-author
|
169/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/VertexConnectivity.lean |
2 |
168 |
['0xTerencePrime', 'SnirBroshi', 'SproutSeeds', 'YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'vihdzp', 'vlad902'] |
b-mehta assignee:b-mehta |
41-80404 1 month ago |
160-59164 160 days ago |
64-44098 64 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
151/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Contraction.lean,Mathlib/Combinatorics/SimpleGraph/Minor.lean |
3 |
9 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'robin-carlier', 'vbeffara'] |
b-mehta assignee:b-mehta |
41-80154 1 month ago |
194-83086 194 days ago |
53-29930 53 days |
0 |
| 42965 |
arihallak author:arihallak |
feat(Analysis/Normed/Group/Pointwise): diameter of pointwise inversion, multiplication, and division |
This PR adds API lemmas for extended and real diameters (`EMetric.ediam` and `Metric.diam`) of pointwise inversion, multiplication, and division of sets in a `SeminormedCommGroup` (and automatically generates the additive counterparts via `@[to_additive]`).
### New declarations
- `ediam_inv` (additive: `ediam_neg`): `ediam s⁻¹ = ediam s`
- `ediam_div_le` (additive: `ediam_sub_le`): `ediam (s / t) ≤ ediam s + ediam t`
- `diam_inv` (additive: `diam_neg`): `diam s⁻¹ = diam s`
- `diam_mul_le` (additive: `diam_add_le`): `diam (s * t) ≤ diam s + diam t` (for bounded sets)
- `diam_div_le` (additive: `diam_sub_le`): `diam (s / t) ≤ diam s + diam t` (for bounded sets)
Tested with all 14 `#lint` linters. |
t-analysis
new-contributor
awaiting-author
|
26/0 |
Mathlib/Analysis/Normed/Group/Pointwise.lean |
1 |
7 |
['github-actions', 'themathqueen', 'wwylele'] |
nobody |
41-78848 1 month ago |
41-78848 41 days ago |
39-53612 39 days |
0 |
| 43179 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(Analysis): radial functions and the submodule of radial Schwartz functions |
This PR defines the notion of a radial function and the submodule of the Schwartz space consisting of radial functions.
This file was [originally written](https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean/blob/main/SpherePacking/ForMathlib/RadialSchwartz/Basic.lean) as part of the sphere packing project.
Offshoot: #44305
Co-Authored-By: @seewoo5
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
sphere-packing
awaiting-author
|
400/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Radial.lean,Mathlib/Analysis/Normed/Radial.lean |
3 |
15 |
['CoolRmal', 'github-actions', 'mathlib-bors', 'thefundamentaltheor3m'] |
CoolRmal assignee:CoolRmal |
41-50858 1 month ago |
69-33455 69 days ago |
4-7988 4 days |
0 |
| 44297 |
langston-barrett author:langston-barrett |
feat(Data/FinEnum): `Std.PRange.LawfulUpwardEnumerable` instance |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
I'm not sure how Mathlib feels about interfacing with std constructs, but I was looking for something along the lines of `succMany?` and found `Std.PRange.LawfulUpwardEnumerable`, so I figured I'd implement it and see what the appetite is. Even if we don't decide to use this particular typeclass, the underlying functionality still seems useful.
This is my first ever Lean development, so I would greatly appreciate any tips and feedback on the style!
I wrote all of this by hand, though I asked some questions about Lean to GPT 5.6 Luna along the way.
A `LinearlyUpwardEnumerable` instance would be a good follow-up. |
t-data
new-contributor
|
112/0 |
Mathlib/Data/FinEnum.lean |
1 |
3 |
['github-actions', 'langston-barrett'] |
nobody |
40-64786 1 month ago |
40-65310 40 days ago |
41-68072 41 days |
0 |
| 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 |
6 |
['CoolRmal', 'LLaurance', 'github-actions', 'thefundamentaltheor3m'] |
nobody |
40-43498 1 month ago |
unknown |
unknown |
0 |
| 40200 |
AlecsFerra author:AlecsFerra |
feat(FinitelyPresentedGroup): add definitional equivalence with generating set given by S : Set G |
cc @homeowmorphism
- [x] depends on: #40726
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-group-theory
large-import
awaiting-author
merge-conflict
|
26/6 |
Mathlib/GroupTheory/FinitelyPresentedGroup.lean |
1 |
14 |
['AlecsFerra', 'github-actions', 'javgomzar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
tb65536 assignee:tb65536 |
40-18024 1 month ago |
151-10020 151 days ago |
7-54585 7 days |
0 |
| 43852 |
ZRTMRH author:ZRTMRH |
feat(Combinatorics/Quiver/Schreier): add Schreier Cayley basics |
Defined Cayley graph as a coset Schreier graph. Proved connectivity and vertex-transitivity on Cayley graphs, as promised in #38310.
Follow-up to #38310, this is the 3rd split pr from #35467.
This PR was written with AI assistance (Claude). The code has been reviewed by the author.
P.S. cayley_subsingleton_weaklyConnectedComponent's proof is generic and I can extract it to Quiver/ConnectedComponent.lean as a weak-connectivity lemma, if it is wanted.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
large-import
LLM-generated
|
278/7 |
Mathlib/Combinatorics/Quiver/Schreier.lean |
1 |
10 |
['SnirBroshi', 'ZRTMRH', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
nobody |
40-498 1 month ago |
40-566 40 days ago |
54-45963 54 days |
0 |
| 40537 |
SnkXyx author:SnkXyx |
feat(Algebra/MvPolynomial/Variables): define main degree |
This PR defines the **main degree** of a multivariate polynomial:
* `MvPolynomial.mainDegree p : Multiset σ` :
When `σ` is a linear order, `mainDegree p` is the multiset consisting of the maximal variable
among all variables appearing in `p`, appearing with its largest multiplicity among all monomials
in `p`.
The definition was originally developed in PR #36103 as part of the formalization of the Characteristic Set Method (Wu-Ritt Method). The Characteristic Set project aims to formalize the algorithmic method for solving systems of multivariate polynomial equations in Lean 4, providing foundational infrastructure for algebraic geometry based on triangular decomposition.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
tech debt
awaiting-author
merge-conflict
label:t-algebra$ |
111/23 |
Mathlib/Algebra/MvPolynomial/CommRing.lean,Mathlib/Algebra/MvPolynomial/Degrees.lean,Mathlib/Algebra/MvPolynomial/Equiv.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/MvPolynomial/Variables.lean,Mathlib/FieldTheory/SeparablyGenerated.lean,Mathlib/RingTheory/MvPolynomial/Basic.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/RingTheory/MvPolynomial/MonomialOrder/DegLex.lean,Mathlib/RingTheory/MvPowerSeries/Trunc.lean,Mathlib/RingTheory/Polynomial/Basic.lean,Mathlib/RingTheory/Spectrum/Prime/ChevalleyComplexity.lean |
12 |
30 |
['SnkXyx', 'faenuccio', 'github-actions', 'mathlib-merge-conflicts', 'vlad902'] |
Vierkantor assignee:Vierkantor |
39-84173 1 month ago |
49-81162 49 days ago |
64-77764 64 days |
4 |
| 41444 |
gmcninch-prof author:gmcninch-prof |
Prove the universal property of SymmetricPower (lift) |
Provide the universal property / `lift` for `SymmetricPower`, namely that
linear maps from `Sym[R]^n M` to `N` correspond to symmetric multilinear
maps `M ^ n` to `N`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [ ] depends on: #41426
The main result is [`lift`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean#L114).
**Note on approach**: this PR builds `SymmetricPower` on top of a `ModuleCon`
(a congruence relation respecting both addition and scalar multiplication),
rather than the plain `addConGen`-based quotient currently on master, since
this streamlines the proof of the universal property. The generic
congruence-relation machinery this needs --
[`moduleConGen`/`ModuleConGen.Rel`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/Algebra/Module/Congruence/Defs.lean#L77-L98)
and
[`ModuleCon.lift`/`.mk'`/`.eq`/`.lift_mk'`/`.mk'_surjective`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/Algebra/Module/Congruence/Defs.lean#L159-L194)
-- isn't specific to symmetric powers, so it lives in
`Mathlib.Algebra.Module.Congruence.Defs` alongside the existing `ModuleCon`
API there, rather than inline in `Symmetric.lean`. Since this does replace the
current definition of `SymmetricPower`/`Sym[R] ι M`, reviewers should note
it's not purely additive over what's on master.
This was one of the items in the `ToDo` in
[`Mathlib/LinearAlgebra/TensorPower/Symmetric.lean`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift-ump/Mathlib/LinearAlgebra/TensorPower/Symmetric.lean#L28)
(namely, the universal property). I hope to address the remaining items in
that list soon (grading, relation with multivariate polynomials).
This PR builds on #41426 (`SymmetricMap`), which should be reviewed/merged
first.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
blocked-by-other-PR
merge-conflict
label:t-algebra$ |
571/48 |
Mathlib.lean,Mathlib/Algebra/Module/Congruence/Defs.lean,Mathlib/LinearAlgebra/TensorPower/Symmetric.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
4 |
4 |
['github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
39-83799 1 month ago |
unknown |
unknown |
0 |
| 41840 |
SofiaSL author:SofiaSL |
feat: generalise Hermite polynomial to any commutative ring |
Change the definition of the Hermite polynomials to be over an arbitrary commutative ring instead of the integers.
Add functions that cast the coefficients into integers.
This code was written at the ICARM summer school on formalization of mathematics, who I have to thank for their help and hospitality. Furthermore, this is the first in a sequence of PRs I and Alan have planned proving that the Hermite polynomials are orthogonal under the appropriate inner product, and that they form a basis of the associated Hilbert space. No AI was used in this PR except for web search.
Co-authored-by: Alan Li <alanli2326@gmail.com>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
merge-conflict
|
99/39 |
Mathlib/RingTheory/Polynomial/Hermite/Basic.lean,Mathlib/RingTheory/Polynomial/Hermite/Gaussian.lean |
2 |
16 |
['CoolRmal', 'SofiaSL', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
nobody |
39-83670 1 month ago |
113-15749 113 days ago |
2-27419 2 days |
0 |
| 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.
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
23/0 |
Mathlib/Data/EReal/Operations.lean |
1 |
5 |
['JovanGerb', 'LLaurance', 'dobronx1325', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
39-77472 1 month ago |
349-9179 349 days ago |
6-21252 6 days |
0 |
| 30637 |
strihanje01 author:strihanje01 |
feat(Combinatorics/SetFamily/Lindstrom): Lindström's theorem for subfamilies with equal unions |
add Lindstrom's theorem and its strengthening for equal intersections
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
awaiting-author
|
211/0 |
Mathlib.lean,Mathlib/Combinatorics/SetFamily/Lindstrom.lean |
2 |
11 |
['YaelDillies', 'github-actions', 'mathlib4-merge-conflict-bot'] |
YaelDillies assignee:YaelDillies |
39-32798 1 month ago |
39-32901 39 days ago |
123-28545 123 days |
0 |
| 42931 |
yui9696 author:yui9696 |
feat(Analysis/Matrix): simultaneous diagonalization of two Hermitian forms and generalized eigenvalues |
Adds the simultaneous diagonalization theorem for two real quadratic forms, one of which is positive definite:
if `A : Matrix n n ℝ` is positive definite and `B : Matrix n n ℝ` is symmetric, then there is an invertible `P` with `Pᵀ * A * P = 1` and `Pᵀ * B * P` diagonal.
This is the entry "simultaneous diagonalization of two real quadratic forms" from the [missing undergraduate mathematics list](https://leanprover-community.github.io/undergrad_todo.html) (Bilinear and quadratic forms).
### Contents
* `Matrix.PosDef.exists_simultaneous_diagonalization` — the matrix statement above.
* `Matrix.PosDef.exists_simultaneous_diagonalization_quadratic` — the same fact read off on the quadratic forms themselves: one invertible change of variables takes the form of `A` to `∑ xᵢ ^ 2` and the form of `B` to `∑ dᵢ * xᵢ ^ 2`. This is the phrasing the undergraduate list actually asks for, so it seemed worth stating explicitly rather than leaving to the reader.
* `Matrix.PosDef.exists_simultaneous_diagonalization_of_posDef` — when `B` is positive definite as well, the diagonal entries are positive.
### Implementation
Conjugating by the inverse of `CFC.sqrt A` turns `A` into the identity; the congruence of `B` is then symmetric, so `Matrix.IsHermitian.spectral_theorem` diagonalizes it and the two changes of basis compose.
A note on the history of this branch, in case a reviewer reads the commits: the first version went through the LDL decomposition, because I had convinced myself Mathlib no longer had a square root for positive semidefinite matrices. That was simply wrong — `CFC.sqrt` applies to matrices, as `Mathlib/Analysis/Matrix/Order.lean` already uses. Redoing it that way removed the `LinearOrder`, `WellFoundedLT` and `LocallyFiniteOrderBot` hypotheses that LDL imposed on the index type, so the statement is now proved for an arbitrary `Fintype` with decidable equality.
This is my first Mathlib contribution, so I would be glad to hear if the placement or naming should be different. Two specific questions:
* Would a `QuadraticForm` / `LinearMap.BilinForm` statement be preferred to the `dotProduct` phrasing used in the `_quadratic` version?
* Is `∃ d, _ = diagonal d` the right conclusion, or would `Matrix.IsDiag` be more idiomatic here?
### Use of AI
Per the [contribution guidelines](https://leanprover-community.github.io/contribute/index.html), I am disclosing my use of AI on this PR.
**Tool:** Claude (Anthropic), used through Claude Code.
**How I used it:** I used it to draft and iterate on the Lean proofs in this file, to search Mathlib for the relevant existing lemmas, and to carry out the rewrite from the first LDL-based version to the `CFC.sqrt` version described above. I have read and checked every declaration in the file myself, and I can justify the statements, the proof design and the placement without AI assistance.
A substantial part of the code was AI-drafted, so I am adding the `LLM-generated` label.
---
[](https://gitpod.io/#https://github.com/leanprover-community/mathlib4)
|
t-analysis
new-contributor
LLM-generated
awaiting-author
|
246/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/SimultaneousDiagonalization.lean |
2 |
10 |
['github-actions', 'themathqueen', 'vlad902', 'yui9696'] |
nobody |
38-79461 1 month ago |
38-79843 38 days ago |
42-58357 42 days |
0 |
| 44437 |
FawadHa1der author:FawadHa1der |
perf(Analysis/Normed/Lp/SmoothApprox): manifold-free proof of smooth approximation in Lp |
Authored with AI help. Created after @mcdoll feedback on [leanprover-community/mathlib4#42451](https://github.com/leanprover-community/mathlib4/pull/42451)
This is an alternate solution. This removes the manifold chain from the longest pole and even if the poisson summation is approved using denseRange_toLpCLM. We would still be saving roughly 5% in build time. There is only one new lemma but no change to existing lemmas/statements.
|
t-analysis
new-contributor
|
82/36 |
Mathlib/Analysis/Normed/Lp/SmoothApprox.lean |
1 |
3 |
['FawadHa1der', 'github-actions'] |
nobody |
37-76291 1 month ago |
37-76358 37 days ago |
37-76285 37 days |
0 |
| 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
t-algebra
awaiting-author
label:t-algebra$ |
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 |
7 |
['github-actions', 'mathlib-merge-conflicts', 'tb65536'] |
alreadydone assignee:alreadydone |
37-13799 1 month ago |
37-13800 37 days ago |
115-10583 115 days |
0 |
| 42082 |
attilavjda author:attilavjda |
feat(FieldTheory): reduce Frobenius powers modulo the extension degree |
Adds ring-hom and pointwise lemmas reducing powers of Frobenius modulo the extension degree of a finite field.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
12/0 |
Mathlib/FieldTheory/Finite/Basic.lean |
1 |
7 |
['attilavjda', 'felixpernegger', 'github-actions', 'tb65536'] |
joelriou assignee:joelriou |
36-86339 1 month ago |
36-86339 36 days ago |
70-7892 70 days |
0 |
| 42823 |
attilavjda author:attilavjda |
chore(GroupTheory/Nilpotent): restore simp attribute on `upperCentralSeries_one` |
This PR adds the `(attr := simp)` attribute to the generated `AddSubgroup.upperCentralSeries_one theorem`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
tech debt
t-group-theory
new-contributor
LLM-generated
awaiting-author
|
1/1 |
Mathlib/GroupTheory/Nilpotent.lean |
1 |
8 |
['attilavjda', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] |
nobody |
36-79636 1 month ago |
37-20199 37 days ago |
46-67447 46 days |
0 |
| 43745 |
theebayuser author:theebayuser |
feat(Geometry/Euclidean): add Euler's quadrilateral theorem |
Adds Euler's quadrilateral theorem to Mathlib/Geometry/Euclidean/, and records it in docs/1000.yaml (Q18630480). It states: for any four points, the sum of the squares of the four sides of the quadrilateral a b c d equals the sum of the squares of the two diagonals, plus four times the square of the distance between the midpoints of the diagonals.
This PR was written with AI assistance (Claude Code).
|
t-euclidean-geometry
new-contributor
LLM-generated
maintainer-merge
|
84/0 |
Mathlib.lean,Mathlib/Analysis/InnerProductSpace/Basic.lean,Mathlib/Geometry/Euclidean/EulerQuadrilateral.lean,docs/1000.yaml |
4 |
17 |
['github-actions', 'jsm28', 'theebayuser', 'wwylele'] |
nobody |
36-49559 1 month ago |
41-42750 41 days ago |
58-33225 58 days |
0 |
| 40582 |
dennj author:dennj |
feat(Analysis): the one-sided Laplace transform |
Introducing Laplace transform `ℒ(f)(s) = ∫ t in Ioi 0, exp (-s * t) • f t`
It is needed in physlib
I modelled the file following Mellin transform.
## Main definitions
* `LaplaceConvergent f s`: the Laplace integral is well-defined at `s`.
* `laplace f s`: the Laplace transform, a total function
* `HasLaplace f s m`: convergence together with the value `m`.
## Main results
* Linearity: `laplace_add`/`sub`/`const_smul`/`neg`/`zero`/`div_const`, at the `laplace`, `LaplaceConvergent`, and `HasLaplace` levels.
* `laplaceConvergent_iff_norm`, `norm_laplace_le_integral_norm`: reduction of convergence and norm bounds to the real exponential weight.
* `laplaceConvergent_of_isBigO_exp`: existence for functions of exponential order, on the appropriate right half-plane.
* `LaplaceConvergent.of_re_le`/`of_re_lt`: monotonicity of convergence in `s.re` (the half-plane structure).
* `laplace_cexp_smul`: the frequency-shift rule.
* `laplace_indicator_comp_sub`: the time-shift rule.
* `laplace_comp_mul_left`/`right`: behaviour under positive dilation.
* `hasLaplace_const`/`hasLaplace_one`/`hasLaplace_cexp`: basic transform values.
Human made PR |
t-measure-probability
new-contributor
awaiting-author
|
653/0 |
Mathlib.lean,Mathlib/Analysis/LaplaceTransform.lean |
2 |
34 |
['AlyciaBHZ', 'EtienneC30', 'YaelDillies', 'dennj', 'github-actions', 'mathlib-splicebot'] |
YaelDillies assignee:YaelDillies |
36-27531 1 month ago |
36-27558 36 days ago |
111-1019 111 days |
0 |
| 44477 |
NachoPeinador author:NachoPeinador |
feat(RingTheory/Algebraic/Integral): add IsAlgebraic.of_mul_left and of_mul_right |
Add algebraic cancellation lemmas for field extension elements:
- `IsAlgebraic.of_mul_left`: If `x * y` and non-zero `x` are algebraic over `K`, then `y` is algebraic over `K`.
- `IsAlgebraic.of_mul_right`: Symmetric version for `y`.
Co-authored-by: José Ignacio Peinador Sala <joseignacio.peinador@gmail.com>
---
### Summary
This PR adds two helper results to `Mathlib/RingTheory/Algebraic/Integral.lean` for inferring algebraicity of individual factors from the algebraicity of their product in field extensions.
### Motivation
These lemmas simplify algebraic dependence checks when decomposing products involving algebraic and transcendental elements.
### AI Disclosure
I used an LLM as an assistant to suggest idiomatic Lean 4 tactic steps and check Mathlib naming conventions. The mathematical proofs and code edits were verified manually by me. |
t-ring-theory
LLM-generated
new-contributor
awaiting-author
|
12/0 |
Mathlib/RingTheory/Algebraic/Integral.lean |
1 |
6 |
['NachoPeinador', 'SnirBroshi', 'github-actions'] |
nobody |
35-75017 1 month ago |
35-75017 35 days ago |
0-611 10 minutes |
0 |
| 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 |
19 |
['GustafssonJonathan', 'SnirBroshi', 'christian-oudard', 'github-actions', 'j-loreaux', 'plp127'] |
j-loreaux assignee:j-loreaux |
35-71070 1 month ago |
278-78755 278 days ago |
14-62757 14 days |
0 |
| 42737 |
Jack1320 author:Jack1320 |
feat(Algebra/Order/Kleene): add Kleene algebra instances for MulOppos… |
Add IdemSemiring, IdemCommSemiring, and KleeneAlgebra instances for MulOpposite, AddOpposite, and ULift, partially addressing #7987.
In accordance to the AI disclosure guidelines - Claude was used as a learning aid, but all code is personally written and reasoned through.
The remaining instances (Subsemiring, Subring, Subalgebra) are deferred to a follow-up PR.
|
t-algebra
new-contributor
merge-conflict
awaiting-author
label:t-algebra$ |
100/2 |
Mathlib/Algebra/Order/Kleene.lean |
1 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
35-3363 1 month ago |
42-11063 42 days ago |
45-69109 45 days |
0 |
| 41536 |
Mathias-Stout author:Mathias-Stout |
chore(Algebra): make quaternion directory |
We create separate directory for quaternions and move the two existing files into it.
This prepares a follow-up PR proving that quaternions are central simple.
Co-authored-by: Justus Springer <justusspringer@gmx.de>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
file-removed
new-contributor
merge-conflict
|
12/9 |
Mathlib.lean,Mathlib/Algebra/DualQuaternion.lean,Mathlib/Algebra/Quaternion/Basic.lean,Mathlib/Algebra/Quaternion/Basis.lean,Mathlib/Analysis/Quaternion.lean,Mathlib/LinearAlgebra/CliffordAlgebra/Equivs.lean,MathlibTest/Quaternion.lean |
7 |
6 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
34-71464 1 month ago |
34-71465 34 days ago |
44-18522 44 days |
1 |
| 42451 |
FawadHa1der author:FawadHa1der |
perf(Analysis/Distribution/SchwartzSpace): split denseRange_toLpCLM off Basic to shorten the longest pole |
Shortening the "longest pole" in the mathlib build. LLM help was used.
Per [lake prof report](https://speed.lean-lang.org/mathlib4-out/c8830a1d9ceaffabd7c8c7493d9a9be3ead6ea74/) SchwartzSpace/Basic.lean sits on the longest pole. With this change SchwartzSpace/Basic no longer imports SmoothApprox( which imported the whole manifold chain) hence shortening the longest pole by **23s** of ~502 s
denseRange_toLpCLM is moved to a new file SchwartzSpace/DenseLp.lean. |
t-analysis
new-contributor
longest-pole
awaiting-author
merge-conflict
|
58/17 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Basic.lean,Mathlib/Analysis/Distribution/SchwartzSpace/DenseLp.lean,Mathlib/Analysis/Fourier/LpSpace.lean |
4 |
14 |
['FawadHa1der', 'github-actions', 'luigi-massacci', 'mathlib-merge-conflicts', 'mcdoll', 'sgouezel'] |
sgouezel assignee:sgouezel |
34-70107 1 month ago |
45-20311 45 days ago |
44-77519 44 days |
0 |
| 42452 |
menon-codes author:menon-codes |
feat: lint for use of ellipsis |
See the conversation at [#mathlib4 > Linter for ellipsis @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Linter.20for.20ellipsis/near/613523943)
Creates a linter to detect excessive use of `_` holes at end of lemmas and replace it when appropriate with uses of `..`
It also creates a respective test file to check it, though I am not too certain about the styles and techniques mathlib uses for testing.
AI (GPT 5.6 Terra) was used heavily in the documentation and testing of the code. Most of the logic and coding was done manually. |
new-contributor
LLM-generated
t-linter
merge-conflict
|
948/5 |
Mathlib.lean,Mathlib/Init.lean,Mathlib/RingTheory/NoetherNormalization.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean,Mathlib/Tactic/Linter/EllipsisPlaceholders.lean,MathlibTest/Linter/EllipsisPlaceholders.lean |
7 |
8 |
['copilot-pull-request-reviewer', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts', 'menon-codes'] |
thorimur assignee:thorimur |
34-70106 1 month ago |
92-1684 92 days ago |
4-23176 4 days |
0 |
| 41537 |
Mathias-Stout author:Mathias-Stout |
feat(RingTheory/TwoSidedIdeal/Lattice): add lemmas on two-sided ideals |
We add three lemmas on two-sided ideals.
These are analogues of existing lemmas of `Submodule` with the same names.
This prepares a follow-up PR proving that quaternions are central simple.
Co-authored-by: Justus Springer [justusspringer@gmx.de](mailto:justusspringer@gmx.de)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
awaiting-author
|
12/0 |
Mathlib/RingTheory/TwoSidedIdeal/Lattice.lean |
1 |
8 |
['Mathias-Stout', 'Whysoserioushah', 'github-actions', 'kbuzzard', 'tb65536'] |
mattrobball assignee:mattrobball |
34-45226 1 month ago |
37-10108 37 days ago |
85-68240 85 days |
1 |
| 44440 |
vincentqb author:vincentqb |
feat(Computability/TuringMachine): bound the output length of a TM2 run |
This PR bounds the output length of a TM2 run by the input length plus a machine constant times the step count. It deduces `TM2ComputableInPolyTime.length_le`, the polynomial output-length bound used in composition.
It also adds step-count induction and defines `initList` and `haltList` using `Function.update`.
---
Relates to #7172 #33132 #35366
The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex).
|
t-computability
LLM-generated
new-contributor
|
82/7 |
Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringMachine/Computable.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean |
3 |
3 |
['github-actions', 'vincentqb'] |
nobody |
34-35058 1 month ago |
37-18810 37 days ago |
37-57784 37 days |
1 |
| 44441 |
vincentqb author:vincentqb |
feat(Computability/TuringMachine): prove `TM2ComputableInPolyTime.comp` |
This PR constructs sequential composition of TM2 machines. Two pop/push passes through an extra stack transfer the first machine's output to the second machine's input without reversing the word.
It adds `TM2Outputs.comp` and the data-valued `TM2ComputableInPolyTime.comp`, using the polynomial output-length bound to control the second run's time. It removes the corresponding `proof_wanted`.
---
Relates to #7172 #33132 #35366
- [ ] depends on: #44440
The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex).
|
t-computability
file-removed
LLM-generated
new-contributor
blocked-by-other-PR
|
398/34 |
Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringMachine/Computable.lean,Mathlib/Computability/TuringMachine/StackTuringMachine.lean,Wanted.lean,Wanted/Computability/TuringMachine/Computable.lean |
5 |
5 |
['JoshuaTan42', 'github-actions', 'mathlib-dependent-issues', 'vincentqb'] |
nobody |
34-35056 1 month ago |
unknown |
unknown |
0 |
| 44541 |
vincentqb author:vincentqb |
feat(Computability/Partrec): computability of list operations |
This PR adds `Computable.list_foldl`, `list_foldr`, `list_rec`, and `list_map`, with the same statements as their `Primrec` counterparts.
---
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
LLM-generated
new-contributor
t-computability
|
37/0 |
Mathlib/Computability/Partrec.lean |
1 |
3 |
['github-actions', 'vincentqb'] |
nobody |
34-33744 1 month ago |
34-33933 34 days ago |
34-33860 34 days |
0 |
| 44392 |
yhx-12243 author:yhx-12243 |
fix(Algebra/Polynomial/Roots): fix tendstoCofinite with normal generic universe |
Remove the extraneous accidentally {R : Type} [CommRing R] [IsDomain R] in the signature of `Polynomial.tendstoCofinite_of_natDegree_ne_zero`, make it generic. |
t-algebra
new-contributor
label:t-algebra$ |
2/2 |
Mathlib/Algebra/Polynomial/Roots.lean |
1 |
3 |
['github-actions', 'plp127'] |
nobody |
32-79264 1 month ago |
38-83937 38 days ago |
38-83864 38 days |
0 |
| 44618 |
barni120400 author:barni120400 |
feat(RingTheory/MvPolynomial/Homogeneous): powers of linear forms span the homogeneous polynomials |
Prove that the `n`-th powers of linear forms span the homogeneous polynomials of degree `n` (`MvPolynomial.homogeneousSubmodule_eq_span_pow`). Along the way, add the identity `Finset.sum_powerset_neg_one_pow_card_mul_sum_sdiff_pow_card` used in the proof.
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-data
new-contributor
LLM-generated
|
64/0 |
Mathlib/Data/Nat/Choose/Sum.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
2 |
2 |
['github-actions'] |
nobody |
32-58487 1 month ago |
32-59284 32 days ago |
32-59211 32 days |
0 |
| 43712 |
hobostay author:hobostay |
feat(Combinatorics/Additive): restricted sumsets — universal bound and the elementary-2 coset classification |
## Mathematical content
This PR formalizes the **restricted sumset** (multiplicatively, restricted product) of two finsets
```
s ⊛ t = {a * b | a ∈ s, b ∈ t, a ≠ b}
```
(additive twin: `Finset.restrictedSum`) together with its two basic cardinality theorems:
1. **Universal bound** — `Finset.card_le_card_restrictedProduct_add_one`: in *any* group (no
commutativity, no ambient finiteness, empty allowed), `#s ≤ #(s ⊛ s) + 1`. Proof: fix
`a ∈ s`; `b ↦ a * b` is injective on `s.erase a` with image in `s ⊛ s`. Corollary
`Finset.card_restrictedProduct_eq_sub_one`: the drop, when it happens, is exactly one.
2. **Exception classification** — `Finset.card_restrictedProduct_lt_iff_coset` (finite
commutative group, `3 ≤ #s`): `#(s ⊛ s) < #s` iff `s` is a translate `a₀ * S` of a finset
`S ∋ 1` that is multiplication-closed and satisfies `x * x = 1` for all `x ∈ S` — an
elementary 2-subgroup coset. Combined with (1), the strict drop happens exactly for these
cosets and is then exactly one, i.e. `#(s ⊛ s) = #s - 1`.
**This is a formalization of known mathematics, not a new result.** The classification is
Lemma 2.2 of Girard–Griffiths–Hamidoune, *k-Sums in abelian groups*, Combin. Probab.
Comput. 21 (2012) 582–596 ([arXiv:1110.1961](https://arxiv.org/abs/1110.1961),
[doi:10.1017/S0963548312000168](https://doi.org/10.1017/S0963548312000168)), cited in-file
as `[girard2012]` (new `docs/references.bib` entry). The paper states it for additive sets
in abelian groups *not necessarily finite*; this version assumes `[Finite G]` (used for the
right-stabilizer finset in the forward direction), which is disclosed in the docstrings.
The universal bound as stated here (any group, no commutativity) is an immediate
consequence of the injection argument appearing inside their proof of Lemma 2.2. Their
notation `2∧A` is our `s ⊛ s`; their "2-coset" is our translate of an involution-closed
subgroup-like finset.
## Notes on the definition
The restricted sumset is *not* obtained from the existing pointwise `Finset.mul`
(`image₂`) by deleting the diagonal: an element `a * a` may also arise as `b * c` with
`b ≠ c`, and such elements survive in `s ⊛ s`; hence a dedicated definition. The
`3 ≤ #s` hypothesis in the classification is necessary (for `#s = 2` the drop is one for
*every* two-element finset, e.g. `{0, 1} ⊆ ZMod 5`, which need not be such a coset) — a
kernel-`decide` example on `ZMod 2 × ZMod 2` (the canonical exception, `#(univ ⊛ univ) =
3`) is included in the file.
## API design
- Multiplicative-first with `@[to_additive]` throughout, matching the directory's existing
files (CauchyDavenport, ETransform, Energy, DoublingConst, Dissociation).
- `Finset` namespace; explicit additive target names (`restrictedProduct`/`restrictedSum`)
since `Product` is not in `to_additive`'s automatic dictionary.
- Hypotheses match proof needs: the bound needs only `[Group α]` (+ `DecidableEq` for the
definition); the classification needs `[CommGroup G] [DecidableEq G] [Finite G]`
(`Fintype` derived internally).
- Translation invariance and the coset computation are exposed (independent content); the
right-stabilizer chain is the internal proof route.
- No dedicated notation in this version (`2∧A` in GGH, `A \hat{+} A` / `A ⊕ A` elsewhere);
happy to add a scoped notation if reviewers prefer.
## Verification
- Target module and full `lake build` against current master (`9658bdd`): clean,
8915 jobs, zero warnings.
- `lake lint Mathlib.Combinatorics.Additive.RestrictedSumset`: passed (docBlame incl.
additive twins, style/line-length, text linters).
- `#print axioms` for all 7 public declarations and their additive twins (14 decls):
`[propext, Classical.choice, Quot.sound]` only; no `sorry`/`admit`/`native_decide`
(the single `decide` example is a finite kernel check).
- `docs/references.bib` entry added; `scripts/lint-bib.sh` requires `bibtool`, which is
not installed locally — left for CI.
Happy to redirect to the `add-combi` sublibrary instead if maintainers prefer that landing
zone.
## Provenance
The Lean proofs were developed with AI assistance and are submitted for human review; the
mathematics is the cited 2011/2012 result of Girard–Griffiths–Hamidoune plus the elementary
injection bound. No novelty is claimed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-combinatorics
new-contributor
LLM-generated
|
630/0 |
Mathlib.lean,Mathlib/Combinatorics/Additive/RestrictedSumset.lean,docs/references.bib |
3 |
2 |
['github-actions'] |
nobody |
32-58411 1 month ago |
unknown |
unknown |
0 |
| 42312 |
sfingali author:sfingali |
feat(Topology): Huber (f-adic) rings |
### Summary
Defines Huber (f-adic) rings: topological rings admitting an open subring whose
subspace topology is the `I`-adic topology for a finitely generated ideal `I`
(Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, p. 46).
* `HuberRing.RingOfDefinition` — the pair of definition `(A₀, I)`: an open subring
`A₀ ⊆ A` with `IsAdic I` for a finitely generated ideal `I` of `A₀` (data).
* `HuberRing.IsHuberRing` — a topological ring admitting a ring of definition
(property).
* `HuberRing.ringOfDefinition_iff_open_adic` — Wedhorn, Lemma 6.2 (a) ↔ (b), p. 46:
a subring is a ring of definition iff it is open and adic.
This is the first step of a planned adic/perfectoid pipeline (Huber rings →
Huber pairs → continuous valuations → Spa → perfectoid fields → tilting), following
the design of the Lean 3 `lean-perfectoid-spaces` project (ring of definition as
data, Huber ring as a property). Follow-ups (depending on #40013's boundedness):
Lemma 6.2 (c) (ring of definition ⟺ open + bounded) and Cor. 6.4(3) (the
power-bounded elements form a subring, the union of all rings of definition).
### References
* T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Prop. and Def. 6.1, Lemma 6.2,
Cor. 6.4 (pp. 46–47).
|
t-topology
new-contributor
awaiting-author
|
84/0 |
Mathlib.lean,Mathlib/Topology/Algebra/Nonarchimedean/HuberRing.lean |
2 |
8 |
['acmepjz', 'github-actions', 'kbuzzard', 'pepamontero'] |
kbuzzard assignee:kbuzzard |
32-2960 1 month ago |
40-27973 40 days ago |
60-26614 60 days |
0 |
| 44019 |
bally65 author:bally65 |
feat(Computability/Primrec): primality is primitive recursive |
Primrec.nat_prime : PrimrecPred Nat.Prime, via Nat.prime_def_lt' and the bounded quantifier PrimrecRel.forall_lt. Mathlib had no computability statement about Nat.Prime.
AI disclosure: I used Claude and ChatGPT to discuss ideas, to adjust and optimize the approach, and to explore whether there was something worth taking on. They also proposed many of the problems, lines of thought, and decisions about direction. Almost all of the Lean code was written by Claude Code. I applied the reviewer's suggested changes myself.
AI 使用聲明:我使用 Claude 和 ChatGPT 討論構思、調整與優化,也討論有沒有值得挑戰的方向。它們也提出了許多題目、思路和決策方向。Lean 程式碼幾乎全部由 Claude Code 撰寫。審稿人提供的修改建議由我自己套用。
Note: the English disclosure is a translation of my Chinese text, assisted by Claude. |
t-computability
new-contributor
LLM-generated
|
44/0 |
Mathlib.lean,Mathlib/Computability/Primrec/Prime.lean |
2 |
6 |
['bally65', 'github-actions', 'pepamontero'] |
nobody |
31-84172 1 month ago |
48-3900 48 days ago |
49-37878 49 days |
0 |
| 40496 |
thefundamentaltheor3m author:thefundamentaltheor3m |
feat(LinearAlgebra/AffineSpace/Simplex): the surface of a simplex |
I wrote the definition myself, and got Claude to generate some of the boilerplate code (which I then reviewed and had it clean up).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
97/5 |
Mathlib/LinearAlgebra/AffineSpace/Simplex/Basic.lean |
1 |
8 |
['github-actions', 'grunweg', 'mathlib-bors', 'mathlib-merge-conflicts', 'thefundamentaltheor3m', 'wwylele'] |
nobody |
31-68345 1 month ago |
40-51698 40 days ago |
67-67618 67 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-analysis
merge-conflict
|
34/0 |
Mathlib/Analysis/Normed/Algebra/Exponential.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-18903 1 month ago |
unknown |
unknown |
0 |
| 39986 |
CRudrum author:CRudrum |
feat: add HasKernels instance for Pointed |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
large-import
awaiting-author
merge-conflict
|
28/2 |
Mathlib/CategoryTheory/Category/Pointed.lean |
1 |
12 |
['CRudrum', 'Whysoserioushah', 'dagurtomas', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
31-10299 1 month ago |
164-65264 164 days ago |
0-4460 1 hour |
0 |
| 35504 |
JoaBjo author:JoaBjo |
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)`.
🤖 Claude Code (Fable) was used in this PR to resolve a merge with master. It adapted the branch's code to upstream renames/deprecations. It also restructured a proof that broke in the merge.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-measure-probability
large-import
awaiting-author
|
200/1 |
Mathlib/Probability/Distributions/Exponential.lean |
1 |
15 |
['EtienneC30', 'JoaBjo', 'Timeroot', 'github-actions', 'mathlib-merge-conflicts'] |
urkud assignee:urkud |
31-1558 1 month ago |
31-1558 31 days ago |
79-41222 79 days |
0 |
| 42165 |
bocowgill author:bocowgill |
feat(Probability/HasCondDistrib): characterize independence using conditional distributions |
This PR uses conditional distributions to characterize independence of two random variables.
It adds eight public declarations to `Mathlib/Probability/HasCondDistrib.lean`, which is the only file modified:
- `indepFun_iff_hasCondDistrib_const_of_hasLaw`: characterizes independence using a constant conditional-distribution kernel when the laws are specified.
- `indepFun_iff_hasCondDistrib_const`: specializes this characterization to the marginal laws `P.map X` and `P.map Y`.
- `IndepFun.hasCondDistrib_const`: the forward implication of the preceding equivalence.
- `HasCondDistrib.indepFun_of_const`: the reverse implication.
- `hasCondDistrib_condDistrib`: shows that the regular conditional distribution `condDistrib Y X P` satisfies `HasCondDistrib`.
- `hasCondDistrib_iff_condDistrib_ae_eq`: characterizes finite kernels satisfying `HasCondDistrib` by almost-everywhere equality with `condDistrib`.
- `indepFun_iff_condDistrib_ae_eq_const_of_hasLaw`: characterizes independence by almost-everywhere equality of `condDistrib` with the constant kernel at the specified law.
- `indepFun_iff_condDistrib_ae_eq_const`: specializes this characterization to the marginal laws.
The PR adds no new file and makes no change to the root `Mathlib.lean` imports.
---
### Motivation
These results provide a basic building block for formalizing randomized experiments and causal identification. The main result provides a starting point for later ignorability and conditional-independence results in causal inference.
### LLM disclosure
For theorem planning and Lean implementation, I substantially used Codex by OpenAI. I also used it for suggestions around naming and documentation, for iterating on the proofs, and for validating my commits locally.
I manually searched for the best locations and earlier results to build upon. I personally reviewed both the mathematical statements and Lean code (line-by-line), as well as the suggestions around naming and API choices. I also reviewed and confirmed that I can explain each step of the results (both Mathematics and Lean syntax).
To validate the change, I directly compiled the modified file and ran a targeted build. I also ran the style linter, and completed a full `lake build` and a full `lake test`.
Please note: This is one of my first mathlib contributions. I welcome corrections or suggestions about all aspects of this PR. I'm prepared to revise it as necessary, and to learn from the review.
|
t-measure-probability
LLM-generated
new-contributor
awaiting-author
|
68/3 |
Mathlib/Probability/HasCondDistrib.lean |
1 |
37 |
['CoolRmal', 'EtienneC30', 'bocowgill', 'github-actions', 'leanprover-radar'] |
nobody |
31-128 1 month ago |
31-128 31 days ago |
73-31388 73 days |
0 |
| 43599 |
fjvga author:fjvga |
feat(MeasureTheory/Measure/FrostmanMassBound): mass distribution principle |
If a measure ν satisfies ν s ≤ (ediam s)^d for all sets of diameter ≤ ε, and ν A ≠ 0, then d ≤ dimH A. This is the standard mass distribution principle (Frostman, easy direction) appearing in every fractal geometry textbook (Falconer §4.1, Mattila §4.9).
The proof composes two existing Mathlib results:
- Measure.le_hausdorffMeasure
- le_dimH_of_hausdorffMeasure_ne_zero
References:
- K. Falconer, Fractal Geometry, §4.1
- P. Mattila, Geometry of Sets and Measures in Euclidean Spaces, §4.9
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
awaiting-author
|
68/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/FrostmanMassBound.lean |
2 |
4 |
['github-actions', 'metakunt'] |
nobody |
30-86257 30 days ago |
30-86257 30 days ago |
30-37055 30 days |
0 |
| 44098 |
xiahongchi author:xiahongchi |
feat: add a translation lemma for absolute continuity on intervals |
Adds `AbsolutelyContinuousOnInterval.comp_add_right`, showing that translating both an interval and the input of a function preserves absolute continuity.
The statement is polymorphic in the pseudometric codomain.
Tested by compiling `Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean` locally. |
t-measure-probability
new-contributor
awaiting-author
|
37/0 |
Mathlib/MeasureTheory/Integral/IntervalIntegral/AbsolutelyContinuousFun.lean |
1 |
4 |
['SnirBroshi', 'github-actions'] |
nobody |
30-86053 30 days ago |
30-86053 30 days ago |
16-51391 16 days |
0 |
| 44101 |
xiahongchi author:xiahongchi |
feat: add continuity-set convergence for finite measures |
This adds two finite-measure Portmanteau consequences:
* evaluations converge on sets whose frontier has zero limiting mass;
* restriction to such a continuity set is continuous under weak convergence.
The evaluation theorem handles a zero limiting measure directly via total mass; otherwise it normalizes to probability measures. The restriction theorem again separates mass and normalized probability convergence, controlling the frontiers of intersections.
Both declarations elaborate against the released API in the originating project. Compiling the current upstream file with that older toolchain produces only three known pre-existing `eventuallySubset` version-mismatch errors; neither new declaration reports an error. Full current-toolchain validation is delegated to this PR’s CI. |
t-measure-probability
new-contributor
awaiting-author
|
105/0 |
Mathlib/MeasureTheory/Measure/Portmanteau.lean |
1 |
3 |
['EtienneC30', 'github-actions'] |
nobody |
30-85988 30 days ago |
30-85988 30 days ago |
16-50652 16 days |
0 |
| 44100 |
xiahongchi author:xiahongchi |
feat: characterize finite-measure convergence by Lipschitz tests |
This adds the finite-measure counterpart of the bounded-Lipschitz Portmanteau criterion. The reverse implication separates total-mass convergence from convergence of normalized probability measures, with a separate zero-limit branch.
The proof was exercised in the originating project against the released Portmanteau API. The upstream master file currently requires Lean v4.35.0-rc2, so the authoritative full-file check is this PR’s CI. |
t-measure-probability
new-contributor
awaiting-author
|
68/0 |
Mathlib/MeasureTheory/Measure/Portmanteau.lean |
1 |
3 |
['EtienneC30', 'github-actions'] |
nobody |
30-85963 30 days ago |
30-85963 30 days ago |
16-50050 16 days |
0 |
| 44261 |
javgomzar author:javgomzar |
feat(Algebra/Category/Grp): free functor preserves monomorphisms |
Refactored the proof for AddCommGrpCat, so that it also works in GrpCat.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
18/5 |
Mathlib/Algebra/Category/Grp/Adjunctions.lean |
1 |
15 |
['JX-Mo', 'github-actions', 'javgomzar', 'mathlib-merge-conflicts'] |
nobody |
30-79048 30 days ago |
30-79142 30 days ago |
42-51044 42 days |
0 |
| 44678 |
Altabeh author:Altabeh |
feat(Analysis/SpecialFunctions/Integrals/CoshRpow): the integral of cosh ^ (-ν) |
Compute `∫ x, cosh x ^ (-ν)` for `0 < ν` in a new file
`Mathlib/Analysis/SpecialFunctions/Integrals/CoshRpow.lean`:
* `Real.integral_cosh_rpow_neg`: `∫ x, cosh x ^ (-ν) = √π * Gamma (ν / 2) / Gamma ((ν + 1) / 2)`.
* `Real.integral_cosh_rpow_neg_Ioi`, `Real.integral_cosh_rpow_neg_Iic`: the half-line integrals,
each equal to half of this.
* `Real.integrable_cosh_rpow_neg`, `Real.integrableOn_cosh_rpow_neg_Ioi`,
`Real.integrableOn_cosh_rpow_neg_Iic`: integrability.
* `Real.cosh_rpow_neg_le`: the bound `cosh x ^ (-ν) ≤ 2 ^ ν * exp (-(ν * |x|))` for `0 ≤ ν`.
The proof substitutes `t = 1 - (cosh x ^ 2)⁻¹ = tanh x ^ 2`, which maps `(0, ∞)` bijectively onto
`(0, 1)` and turns the half-line integral into the Beta integral `B(1/2, ν/2)`.
---
This branch contains the commit from the dependency below, so the diff includes it until that PR is
merged.
- [ ] depends on: #44677 [the real Beta integral] |
blocked-by-other-PR
t-analysis
new-contributor
awaiting-author
|
194/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean,Mathlib/Analysis/SpecialFunctions/Integrals/CoshRpow.lean |
3 |
5 |
['github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
30-72207 30 days ago |
unknown |
unknown |
0 |
| 44677 |
Altabeh author:Altabeh |
feat(Analysis/SpecialFunctions/Gamma/Beta): the real Beta integral |
Add the real-variable form of the Beta integral:
* `Real.integral_rpow_mul_one_sub_rpow`: for `0 < a` and `0 < b`,
`∫ x in 0..1, x ^ (a - 1) * (1 - x) ^ (b - 1) = Gamma a * Gamma b / Gamma (a + b)`.
* `Real.intervalIntegrable_rpow_mul_one_sub_rpow`: the integrand is interval integrable on `[0, 1]`.
* `Real.ofReal_integral_rpow_mul_one_sub_rpow`: the real integral, cast to `ℂ`, is
`Complex.betaIntegral a b`.
All three are deduced from the existing complex results `Complex.betaIntegral_eq_Gamma_mul_div` and
`Complex.betaIntegral_convergent`.
---
Mathlib currently states the Beta integral only for complex exponents through `Complex.betaIntegral`.
This PR adds the real form, so that real-variable computations don't have to go through `ℂ`. It is
used in a follow-up PR computing `∫ x, cosh x ^ (-ν)`. |
t-analysis
new-contributor
awaiting-author
|
40/0 |
Mathlib/Analysis/SpecialFunctions/Gamma/Beta.lean |
1 |
3 |
['github-actions', 'grunweg'] |
nobody |
30-72197 30 days ago |
30-72201 30 days ago |
0-2935 48 minutes |
1 |
| 44681 |
Altabeh author:Altabeh |
feat(Analysis/ODE/Linearization): the derivative of a flow at a fixed… |
Add a new file `Mathlib/Analysis/ODE/Linearization.lean`. Let `ϕ : Flow ℝ E` on a real Banach space
be generated by a vector field `f`, meaning `∀ x t, HasDerivAt (fun s ↦ ϕ s x) (f (ϕ t x)) t`. If
`e` is a fixed point of `ϕ` and `f` has derivative `A` at `e`, then every time-`t` map has derivative
`exp (t • A)` at `e`:
* `Flow.hasFDerivAt_of_isFixedPt`: `HasFDerivAt (ϕ t) (exp (t • A)) e` for every `t : ℝ`.
* `Flow.fderiv_eq_exp_of_isFixedPt`: the `fderiv` form.
* `Flow.eventually_norm_sub_exp_le`: a uniform estimate on compact time intervals. For `0 ≤ T` and
`0 < ε`, eventually for `x` near `e`, `‖ϕ t x - e - exp (t • A) (x - e)‖ ≤ ε * ‖x - e‖` for all
`t ∈ [0, T]`.
Only differentiability of `f` at `e` is needed; nothing is assumed about `f` elsewhere. The estimate
comes from comparing `ϕ t x - e` with `exp (t • A) (x - e)` using Grönwall's inequality. Negative
times are handled by applying the result to `ϕ.reverse`.
---
This PR is independent of the `LipschitzWith.flow` PR. It applies to any `Flow ℝ E` with a
generating vector field, which includes those flows.
**Proof of `eventually_norm_sub_exp_le` is done by a combination of `Claude Opus 5.5` and `GPT-5.6 Sol`. Linting and comments were done by AI.*** |
new-contributor
t-analysis
LLM-generated
|
166/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Linearization.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
30-65950 30 days ago |
30-66025 30 days ago |
30-67960 30 days |
0 |
| 44680 |
Altabeh author:Altabeh |
feat(Analysis/ODE/LipschitzFlow): the flow of a globally Lipschitz ve… |
Add a new file `Mathlib/Analysis/ODE/LipschitzFlow.lean`. A globally Lipschitz vector field
`v : E → E` on a real Banach space has a unique solution of `γ' = v ∘ γ` through every point, defined
for all time, and these solutions form a continuous flow:
* `LipschitzWith.exists_forall_hasDerivAt`: global existence of solutions.
* `LipschitzWith.dist_le_of_forall_hasDerivAt`: two solutions satisfy
`dist (γ t) (δ t) ≤ dist (γ 0) (δ 0) * exp (K * |t|)`.
* `LipschitzWith.flow : Flow ℝ E`: the flow of `v`.
* `LipschitzWith.hasDerivAt_flow`: the orbits of the flow solve `γ' = v ∘ γ`.
* `LipschitzWith.flow_eq_of_hasDerivAt`: every global solution is an orbit of the flow.
* `LipschitzWith.dist_flow_le`: `dist (flow t x) (flow t y) ≤ dist x y * exp (K * |t|)`.
The field does not need to be bounded. For a bounded field, Picard–Lindelöf (`IsPicardLindelof`)
gives solutions on each interval `(-(n + 1), n + 1)`, and uniqueness glues them into a global
solution. A general field is reduced to this case by multiplying `v` by a Lipschitz cutoff that is
`1` on `closedBall 0 R`. Grönwall's inequality, using `‖v y‖ ≤ ‖v 0‖ + K * ‖y‖`, shows that for
large `R` the solution stays in that ball on the time interval, so the cutoff does not change it.
---
Continuity of the flow jointly in `(t, x)` comes from
`continuousOn_prod_of_continuousOn_lipschitzOnWith'`, using the exponential separation bound on
bounded time intervals.
**The proofs of`exists_forall_hasDerivAt_of_forall_Ioo`, `lipschitzWith_cutoff_smul`, `norm_le_gronwallBound` and part of `dist_le_of_forall_hasDerivAt` used a combo of `GPT-5.6 Sol` and `Claude Opus 5.5`. Linting and comments were done by AI as well.** |
t-analysis
new-contributor
LLM-generated
|
276/0 |
Mathlib.lean,Mathlib/Analysis/ODE/LipschitzFlow.lean |
2 |
3 |
['github-actions', 'grunweg'] |
nobody |
30-65829 30 days ago |
30-65935 30 days ago |
30-68167 30 days |
0 |
| 40416 |
sparckix author:sparckix |
feat(Order/Monotone): add diagonal subsequence extraction |
This PR adds a small diagonal extraction lemma for nested strictly monotone subsequences of `Nat`.
Given strict-mono maps `φ k : Nat -> Nat` such that each `φ (k + 1)` factors through `φ k` by a strict-mono map `τ k`, the diagonal sequence `fun n => φ n n` is strictly monotone and each tail of the diagonal factors through the corresponding `φ k` by a strict-mono map.
The lemma is intended as a reusable sequence/order fact and is placed near `Nat.exists_strictMono_subsequence`.
Local checks run:
```text
lake env lean Mathlib/Order/Monotone/Basic.lean
lake build Mathlib.Order.Monotone.Basic
lake exe lint-style Mathlib/Order/Monotone/Basic.lean
git diff --check
```
AI assistance disclosure: I used AI tools, including Codex and external model feedback, to help extract and review this small lemma from a local formalization project. I have checked the statement and proof myself and am responsible for the submitted code.
|
t-order
new-contributor
LLM-generated
awaiting-author
|
66/0 |
Mathlib/Order/Monotone/Basic.lean |
1 |
11 |
['SnirBroshi', 'github-actions', 'pepamontero'] |
nobody |
30-51829 30 days ago |
51-46954 51 days ago |
101-31327 101 days |
0 |
| 44679 |
Altabeh author:Altabeh |
feat(LinearAlgebra/FiniteDimensional/Lemmas): dimension counts in exa… |
Add dimension formulas for exact sequences of vector spaces over a division ring `K`:
* `Function.Exact.finrank_range_add_finrank_range`: if `A → B → C` is exact (maps `f`, `g`) and `B`
is finite-dimensional, then `finrank (range f) + finrank (range g) = finrank B`.
* `Function.Exact.linearEquivQuotientRangeProdKer`: if `A → B → C → D → E` is exact (maps
`f, g, h, j`), then `C ≃ₗ[K] (B ⧸ range f) × ker j`.
* `Function.Exact.finrank_eq_finrank_quotient_range_add_finrank_ker`: hence, when `B` and `D` are
finite-dimensional, `finrank C = finrank (B ⧸ range f) + finrank (ker j)`.
---
The splitting is noncomputable, meaning it picks a complement of `ker h` in `C`. These statements are the counting steps used, for example, when comparing Betti numbers along long exact sequences.
**These are basic results that have been written by myself. The only use of AI was to write the comments and test.** |
t-algebra
new-contributor
label:t-algebra$ |
34/0 |
Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean |
1 |
5 |
['Altabeh', 'github-actions', 'grunweg'] |
nobody |
30-30782 30 days ago |
30-64585 30 days ago |
30-66452 30 days |
0 |
| 44556 |
FilippoBelfiori author:FilippoBelfiori |
feat(AlgebraicGeometry/Sites): define the big Nisnevich topology |
This file defines the big Nisnevich site, including the Nisnevich topology as a Grothendieck topology on the category of schemes. It includes various lemmas and definitions related to Nisnevich coverings and their properties.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebraic-geometry
new-contributor
LLM-generated
awaiting-author
|
185/0 |
Mathlib.lean,Mathlib/AlgebraicGeometry/Sites/Nisnevich.lean |
2 |
4 |
['github-actions', 'joelriou'] |
dagurtomas assignee:dagurtomas |
30-3565 30 days ago |
30-3589 30 days ago |
0-77096 21 hours |
0 |
| 39569 |
AlexBrodbelt author:AlexBrodbelt |
feat(Mathlib/Data/Finite/Units): Units are (in)finite if type is (in)finite |
Shows
- [ ] depends on: #39568
- [x] depends on: #39567
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
blocked-by-other-PR
t-data
new-contributor
|
75/0 |
Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean,Mathlib/Data/Finite/Units.lean |
4 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
29-86151 29 days ago |
unknown |
unknown |
0 |
| 39568 |
AlexBrodbelt author:AlexBrodbelt |
feat(Mathlib/Data/Finite/Subtype): Subtype of elements not equal to a term is finite iff type is finite |
Subtype of terms not equal to a term is finite iff type is finite.
This is an intermediate result to prove that if a `GroupWithZero` is (in)finite then the `Units` are (in)finite.
- [x] depends on: #39567 [shows option type is finite iff type is finite]
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
awaiting-author
|
45/0 |
Mathlib.lean,Mathlib/Data/Finite/Option.lean,Mathlib/Data/Finite/Subtype.lean |
3 |
6 |
['AlexBrodbelt', 'github-actions', 'mathlib-dependent-issues', 'themathqueen'] |
nobody |
29-85611 29 days ago |
29-85611 29 days ago |
0-1773 29 minutes |
1 |
| 44740 |
user202729 author:user202729 |
chore(Algebra/Ring/CompTypeclasses): fix a typo and reformat slightly |
Change `σ₂₃` to `σ` in the header, this one is clearly a typo.
Do some minor reformatting for the rest of the file, which I think make it nicer.
---
|
t-algebra
new-contributor
label:t-algebra$ |
7/11 |
Mathlib/Algebra/Ring/CompTypeclasses.lean |
1 |
3 |
['github-actions', 'user202729', 'vihdzp'] |
nobody |
29-34738 29 days ago |
29-34846 29 days ago |
29-34773 29 days |
0 |
| 44762 |
Julian-Kuelshammer author:Julian-Kuelshammer |
feat(Combinatorics/Enumerative/Catalan/BracketingFunction): adds Huang-Tamari's bracketing functions |
This PR defines bracketing functions, an elementary description of the Tamari lattice. This PR is intentially kept short and just adds the definition and a bit of basic API. There are potential follow-ups proving that these are counted by the Catalan numbers and giving the lattice instance, for a preview see https://github.com/Julian-Kuelshammer/ExtensionClosedSubcategoriesOfAn/blob/main/ExtensionClosedSubcategoriesOfAn/BracketingFunctions.lean
A first version of the file was created with the help of Aristotle and Claude.
---
|
new-contributor
t-combinatorics
LLM-generated
|
102/0 |
Mathlib.lean,Mathlib/Combinatorics/Enumerative/Catalan/BracketingFunction.lean |
2 |
4 |
['Julian-Kuelshammer', 'github-actions'] |
nobody |
29-5223 29 days ago |
29-5279 29 days ago |
29-5206 29 days |
0 |
| 44783 |
ZRTMRH author:ZRTMRH |
feat(Analysis/MeanInequalities): n-ary ℓ^p monotonicity and Lyapunov's inequality |
Add finite-sum versions of the two-term power inequalities in `Analysis/MeanInequalitiesPow.lean`, in `ℝ≥0`, `ℝ` and `ℝ≥0∞`:
* `sum_rpow_le_rpow_sum`: `∑ i ∈ s, f i ^ p ≤ (∑ i ∈ s, f i) ^ p` for `1 ≤ p`
* `rpow_sum_rpow_le`: the `ℓ^p` (quasi)norm `(∑ i ∈ s, f i ^ p) ^ (1 / p)` is antitone in `p > 0`
* `rpow_sum_le_sum_rpow`: `(∑ i ∈ s, f i) ^ p ≤ ∑ i ∈ s, f i ^ p` for `0 < p ≤ 1`
Also add Lyapunov's inequality in `Analysis/MeanInequalities.lean`, `NNReal.lyapunov_inequality` and `Real.lyapunov_inequality_of_nonneg`: the weighted moments `t ↦ ∑ i ∈ s, w i * f i ^ t` are log-convex on `[0, ∞)`.
The code was refined with AI assistance (Claude). The code has been reviewed by the author.
Discussion on zulip: [ℓp norm monotonicity for finite sums](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/.E2.84.93p.20norm.20monotonicity.20for.20finite.20sums)
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-analysis
LLM-generated
new-contributor
|
122/0 |
Mathlib/Analysis/MeanInequalities.lean,Mathlib/Analysis/MeanInequalitiesPow.lean |
2 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
28-55585 28 days ago |
28-55635 28 days ago |
28-56888 28 days |
0 |
| 44214 |
ZRTMRH author:ZRTMRH |
feat(Analysis/SpecialFunctions): taylor series bounds for sin and cos |
Adds `Mathlib/Analysis/SpecialFunctions/Trigonometric/SeriesBounds.lean` with three groups of results:
1. Remainder bounds on the unit disc at every order: `Complex.sin_series_bound`, `Complex.cos_series_bound` and their real forms. Ported from #29355, taken over with the author's agreement. This PR supersedes #29355, which can be closed when this lands.
2. `Real.sum_lt_sin_of_pos`, `Real.sin_lt_sum_of_pos`, `Real.sum_lt_cos_of_pos`, and `Real.cos_lt_sum_of_pos`: `sin x` and `cos x` lie between consecutive partial sums of their Taylor series. Yury posted on Zulip in October 2025 with a request that someone open a PR for it ([Upper and Lower Bounds of Cosine](https://leanprover.zulipchat.com/#narrow/channel/217875-Is-there-code-for-X.3F/topic/Upper.20and.20Lower.20Bounds.20of.20Cosine/near/546287708)), it had not been opened.
4. Six low-order corollaries, as completion to `one_sub_sq_div_two_lt_cos` and `sin_gt_sub_cube` which Mathlib already has: `cos_lt/le_one_sub_sq_div_two_add_pow_four`, `sin_lt/le_sub_cube_add_pow_five`, and `sub_cube_add_pow_five_lt/le_sin` for negative arguments.
The 6 low-order corollaries and the docstrings were written with AI assistance (Claude). The code has been reviewed by the author.
Co-authored-by: Geoffrey Irving <irving@naml.us>
Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
LLM-generated
new-contributor
t-analysis
|
302/0 |
Mathlib.lean,Mathlib/Algebra/BigOperators/Ring/Finset.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/SeriesBounds.lean |
3 |
53 |
['SnirBroshi', 'ZRTMRH', 'github-actions', 'wwylele'] |
nobody |
28-43445 28 days ago |
28-43568 28 days ago |
38-50182 38 days |
0 |
| 44684 |
josephqian507 author:josephqian507 |
feat(LinearAlgebra/Matrix): add row equivalence and echelon form lemmas |
feat(LinearAlgebra/Matrix): add row equivalence and echelon form lemmas
This adds lemmas to bridge the current mathlib definition of row equivalence with the idea of two matrices that have the same null space. It also adds a proof that the reduced row echelon form of a matrix is unique. LLMs were used to fill in sorrys for some proofs (specifically, rowEquivalent_of_mul_eq_zero, rowEquivalent_iff_ker_eq, and much of RrefUniqueness.lean)
Co-authored-by: Junye Ji <junyej@uw.edu>
Co-authored-by: Dhruv Bhatia <dbhatia1@uw.edu>
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-algebra
new-contributor
large-import
LLM-generated
label:t-algebra$ |
501/1 |
Mathlib.lean,Mathlib/LinearAlgebra/Matrix/Echelon/Basic.lean,Mathlib/LinearAlgebra/Matrix/Echelon/RrefUniqueness.lean,Mathlib/LinearAlgebra/Matrix/ElementaryRowOperations.lean |
4 |
3 |
['github-actions', 'josephqian507'] |
nobody |
28-29044 28 days ago |
28-29168 28 days ago |
29-27097 29 days |
0 |
| 44689 |
vincentqb author:vincentqb |
feat(Counterexamples): an open set with a non-open convex cone hull |
Adds a counterexample showing that the original hypotheses of `ConvexCone.isOpen_hull` do not suffice. #44537 proves the corrected theorem.
This counter example gives the hyperreals the topology whose open sets are unions of cosets of the finite hyperreals. The coset of a positive infinite hyperreal is open, but its cone hull is `(0, ∞)`, which is not open because every open set containing `1` also contains `0`.
---
AI-assisted contribution.
|
new-contributor
awaiting-author
t-analysis
LLM-generated
|
111/0 |
Counterexamples.lean,Counterexamples/ConvexConeHull.lean |
2 |
4 |
['SnirBroshi', 'github-actions', 'vihdzp'] |
nobody |
28-28045 28 days ago |
30-36345 30 days ago |
0-6992 1 hour |
0 |
| 39518 |
abeldonate author:abeldonate |
feat(RingTheory/LocalProperties/Projective): Projective Module theorem |
Theorem: R Noetherian, M finitely generated R-Mod. Then:
M projective iff M_m free for all m maximal
|
t-ring-theory
new-contributor
large-import
awaiting-author
|
15/0 |
Mathlib/RingTheory/LocalProperties/Projective.lean |
1 |
13 |
['abeldonate', 'github-actions', 'jjdishere', 'mathlib-merge-conflicts', 'mbkybky', 'vlad902'] |
jjdishere assignee:jjdishere |
28-2458 28 days ago |
144-41246 144 days ago |
30-620 30 days |
0 |
| 44316 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(NumberTheory/Carmichael): prove 561 is the minimal Carmichael number |
This proves 561 is the smallest Carmichael number, closing the TODO in
`CarmichaelNumber.lean`.
Running `decide` directly on the definition times out because the kernel gets
stuck in trial division. This PR instead checks Fermat witnesses for small prime
bases (`bases := [2, 3]`), which is enough to rule out all composite candidates
up to 561 without doing trial division.
Main results:
- `Nat.not_isCarmichael_of_lt_561`
- `Nat.isCarmichael_min`
---
- [ ] depends on: #43965
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-number-theory
LLM-generated
new-contributor
blocked-by-other-PR
|
82/9 |
Mathlib/NumberTheory/CarmichaelNumber.lean |
1 |
29 |
['3y3y3y-huaiji', 'SnirBroshi', 'YaelDillies', 'github-actions', 'leanprover-radar', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'tb65536'] |
nobody |
27-85546 27 days ago |
39-46016 39 days ago |
1-51222 1 day |
0 |
| 39864 |
8e7 author:8e7 |
feat(Combinatorics/SimpleGraph/Acyclic): helly property on subtrees |
This PR adds several lemmas regarding connected subsets of vertices in trees (subtrees). The main result is the Helly property for subtrees: For a finite set of subtrees, if any pair of subtrees intersect, then there is a common vertex in all subtrees.
This lemma is part of an effort to formalize tree decompositions (see #38334), and will be used in a future PR to prove `G.cliqueNum - 1 <= G.treeWidth`.
AI Usage: The proofs were developed with the help of Claude Code. I vouch for all the code written and understand the content fully.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
LLM-generated
awaiting-author
|
114/0 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Subgraph.lean |
2 |
11 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
b-mehta assignee:b-mehta |
27-67606 27 days ago |
52-57697 52 days ago |
92-81401 92 days |
1 |
| 44784 |
shunfeng8421 author:shunfeng8421 |
feat(Combinatorics): prove finitary Van der Waerden by compactness |
Proves the finitary version of Van der Waerden's theorem:
```lean
theorem van_der_waerden (k : ℕ) {κ : Type*} [Finite κ] [Nonempty κ] :
∃ N : ℕ, ∀ C : Fin (N + 1) → κ, HasMonoAPWithin k N C
```
i.e. every finite coloring of a sufficiently large initial segment `[0, N]`
contains a monochromatic arithmetic progression of length `k`.
This resolves the TODO in `Mathlib/Combinatorics/HalesJewett.lean` asking for a
finitary version of Van der Waerden's theorem.
## Proof sketch
The proof goes by compactness (Rado's selection lemma), the route explicitly
suggested in the TODO ("either by compactness or by modifying the current
proof"):
1. Assume the theorem fails: every segment `[0, N]` admits a "bad" coloring with
no monochromatic AP of length `k`.
2. For each finite set `s ⊆ ℕ`, pick the bad coloring of the covering interval
`[0, s.sup id]` and extend it (arbitrarily) to all of `ℕ`.
3. **Rado's selection lemma** (`Finset.rado_selection`, from
`Mathlib/Combinatorics/Compactness.lean`, itself proved via Tychonoff's
theorem) stitches these local bad colorings into a global coloring
`χ : ℕ → κ` that agrees with some local bad coloring on every finite set.
4. The **infinite** Van der Waerden theorem — `Combinatorics.exists_mono_homothetic_copy`,
a corollary of Hales–Jewett — produces a monochromatic AP `(a * t + b)_{t < k}`
in `χ`.
5. Viewed as a finite set, this AP lies inside the covering interval of some
finite set `t` on which the bad coloring agrees with `χ`, so it is also
monochromatic there — contradicting badness of that local coloring.
No explicit bounds are produced; this is purely an existence proof, which is
exactly what the compactness route buys.
## New definitions
- `Combinatorics.HasMonoAPWithin k N C`: the coloring `C : Fin (N+1) → κ` of the
initial segment `[0, N]` contains a monochromatic AP of length `k`.
## Changes
- `Mathlib/Combinatorics/HalesJewett.lean`: removed the completed TODO item
("Prove a finitary version of Van der Waerden's theorem ... by compactness"),
added a pointer to the new theorem in the "Main results" list.
- `Mathlib/Combinatorics/VanDerWaerden.lean`: new file.
## Notes for the reviewer
- The file header still contains the `[Author]` placeholder: fill in your name
before committing.
-------
**AI disclosure**: AI-assisted tools were used to draft the proof outline and Lean code, and to debug type/simplifier issues; all contributions were reviewed and verified by the author, who takes full responsibility for the correctness of the mathematics and code.
|
t-combinatorics
new-contributor
LLM-generated
|
100/3 |
Mathlib.lean,Mathlib/Combinatorics/HalesJewett.lean,Mathlib/Combinatorics/VanDerWaerden.lean |
3 |
5 |
['github-actions', 'grunweg', 'shunfeng8421'] |
nobody |
27-59947 27 days ago |
27-59947 27 days ago |
27-67537 27 days |
0 |
| 43231 |
E-M-Bailey author:E-M-Bailey |
feat(Analysis/Analytic): expand and update `AnalyticAt.comp_sub`-type theorems |
Adds `.comp_add` and biconditional versions of the `AnalyticAt.comp_sub`-type theorems. Also shortens the `.comp_sub` statements and simplifies a few of their proofs.
---
The purpose of this minor change, and in particular the biconditional versions, is to make it more convenient to shift power series. For example, I am currently working on a proof with a hypothesis of type `∀ᶠ w in 𝓝 z, ∀ i, AnalyticAt ℂ (f <| update w i ·) (w i)`, and I wanted to simplify the proof by assuming `z = 0`. This makes the `wlog` step shorter.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
awaiting-author
|
202/32 |
Mathlib/Analysis/Analytic/Basic.lean |
1 |
5 |
['github-actions', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
26-84584 26 days ago |
26-84584 26 days ago |
43-82886 43 days |
0 |
| 38527 |
archiebrowne author:archiebrowne |
feat(Analysis/Calculus): continuously differentiable actions |
define the class `ContDiffSMul 𝕜 M X n` which asserts that the map `(c, x) ↦ c • x` is `n` times continuously differentiable on `M × X`.
Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction.
|
t-differential-geometry
new-contributor
merge-conflict
|
319/28 |
Mathlib.lean,Mathlib/Analysis/Calculus/BumpFunction/Basic.lean,Mathlib/Analysis/Calculus/ContDiff/Operations.lean,Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean,Mathlib/Analysis/ContDiffMulAction.lean,Mathlib/Analysis/InnerProductSpace/Calculus.lean |
6 |
14 |
['archiebrowne', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'peabrainiac'] |
fpvandoorn assignee:fpvandoorn |
26-72775 26 days ago |
124-5534 124 days ago |
69-39174 69 days |
0 |
| 43595 |
localecho author:localecho |
feat(NumberTheory/Transcendental/Liouville): irrational reals are LiouvilleWith for 1 < p ≤ 2 |
Closes the gap noted in this file's module doc — the reverse implication for 1 < p ≤ 2 was flagged 'not formalized yet' since 2021. Proved via Dirichlet approximation (Real.infinite_rat_abs_sub_lt_one_div_den_sq_of_irrational) plus a finite-fiber argument on denominators, rather than continued fractions directly.
----
Formalized with Claude's help, verified by a clean lake build.
Posted about this gap in #new-members first: https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Intro.3A.20Brigham.20Hall.20.3B.20LiouvilleWith.20gap.20for.201.20.3C.20p.20.E2.89.A4.202/near/622672679 |
t-number-theory
new-contributor
LLM-generated
awaiting-author
|
76/2 |
Mathlib/NumberTheory/Transcendental/Liouville/LiouvilleWith.lean |
1 |
9 |
['MichaelStollBayreuth', 'SnirBroshi', 'github-actions', 'metakunt'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
26-68103 26 days ago |
26-68160 26 days ago |
34-74560 34 days |
0 |
| 44848 |
djabbat author:djabbat |
feat(NumberTheory): Euclid-Euler theorem - Mersenne primes give perfect numbers |
## Summary
Euclid's half of the **Euclid–Euler theorem**: if `2^p - 1` is a Mersenne prime, then
`2^(p-1) * (2^p - 1)` is a perfect number.
## Changes
* `Nat.sigma` — the divisor function `σ(n) = ∑_{d ∣ n} d` (note: `Perfect` and the divisor
finsets already existed in `Mathlib/NumberTheory/Divisors.lean`; the divisor-sum and its
multiplicativity were missing).
* `Nat.sigma_mul` — multiplicativity of `σ` on coprime arguments, via the bijection
`divisors (a·b) ≃ divisors a × divisors b` (`gcd`-split, `Finset.sum_bij'`).
* `Nat.sigma_two_pow` — `σ(2^k) = 2^(k+1) - 1` (geometric sum).
* `Nat.sigma_prime` — `σ(p) = p + 1` for prime `p`.
* `Nat.perfect_of_mersenne_prime` — Euclid's half of the theorem.
## Notes
* Classical result (Euclid, c. 300 BC); the formal proof was absent from Mathlib.
* The converse (Euler's half: every even perfect number is of Mersenne form) is planned
as a follow-up (needs the 2-adic valuation extraction and divisor-sum inequalities).
* Verified by building against Mathlib v4.35.0 (the current `master` toolchain).
## Testing
```
lake build Mathlib.NumberTheory.Perfect
```
|
new-contributor
t-number-theory
awaiting-author
|
350/0 |
Mathlib/NumberTheory/Perfect.lean |
1 |
4 |
['github-actions', 'grunweg'] |
nobody |
26-57294 26 days ago |
unknown |
unknown |
0 |
| 43217 |
tanishjain758-prog author:tanishjain758-prog |
feat(Linter): port ERR_ARR style linter to Lean |
## Description
Ports the `ERR_ARR` style rule from the python-based style linter to the native Lean text-based linter
### Changes
- Adds `missingSpaceAfterLeftArrow` to `StyleError`.
- Implements the corresponding left-arrow spacing check in
`Mathlib/Tactic/Linter/TextBased.lean`
- Tests both valid and invalid cases
- Verifies the error code is `ERR_ARR`.
### Testing
Added `#guard` tests in `MathlibTest/Linter/TextBased.lean`.
Execution of the test file is currently blocked by an incomplete
Mathlib build cache on Windows. `lake exe cache get` fails when
downloading/decompressing the Mathlib cache with Win32 error 5
(`Access denied`), so `Mathlib.Data.Nat.Basic.olean` is unavailable.
The implementation of the tests have therefore not been fully verified
locally with `lake env lean`.
|
t-linter
new-contributor
awaiting-author
merge-conflict
|
61/1 |
Mathlib/Tactic/Linter/TextBased.lean,MathlibTest/Linter/TextBased.lean |
2 |
13 |
['Parcly-Taxel', 'github-actions', 'grunweg', 'joneugster', 'mathlib-merge-conflicts', 'tanishjain758-prog'] |
nobody |
26-36093 26 days ago |
unknown |
unknown |
0 |
| 43642 |
b1de0 author:b1de0 |
feat(MeasureTheory/Measure/ResolventTransform): finite moment expansion |
Add a finite moment expansion of `resolventTransform` with an exact integral remainder, assuming integrable moments and a nonzero evaluation point outside the support image.
---
I need this to relate matched moments to errors in kernels of the form `∫ u, (1 + w * u)⁻¹ ∂μ`. The identity is finite and does not require convergence of the corresponding infinite geometric series.
---
**AI usage:** I wrote the statement and the proof strategy myself. I used OpenAI Codex as an assistant for individual tactic steps and for fixing compilation errors. I have checked every line of the final code and understand it. |
t-measure-probability
new-contributor
awaiting-author
|
52/0 |
Mathlib/MeasureTheory/Measure/ResolventTransform.lean |
1 |
4 |
['EtienneC30', 'b1de0', 'github-actions'] |
nobody |
26-33745 26 days ago |
30-86170 30 days ago |
29-24932 29 days |
0 |
| 44831 |
scottdhughes author:scottdhughes |
feat(Analysis/MeanInequalitiesPow): add a real power difference bound |
Add `Real.abs_rpow_sub_rpow_le` in `Mathlib/Analysis/MeanInequalitiesPow.lean`: for nonnegative real bases and `0 ≤ p ≤ 1`,
```lean
|a ^ p - b ^ p| ≤ |a - b| ^ p
```
Provide a direct scalar API for downstream fractional-power regularity estimates. Derive the bound from the neighboring `Real.rpow_add_le_add_rpow`, then handle the two input orders. Include both exponent endpoints. Add one lemma and its docstring, with no new imports.
---
Local validation on Lean/Mathlib 4.35.0:
- `lake build Mathlib.Analysis.MeanInequalitiesPow`
- `lake exe lint-style Mathlib.Analysis.MeanInequalitiesPow`
- Fresh source elaboration, exported-type and axiom checks, plus all 15 default declaration linters for the new lemma.
The axiom check reports only `propext`, `Classical.choice` and `Quot.sound`.
AI assistance: Codex adapted an existing downstream proof, searched Mathlib and relevant open PRs, drafted this description, and ran the local checks.
|
t-analysis
new-contributor
LLM-generated
|
19/0 |
Mathlib/Analysis/MeanInequalitiesPow.lean |
1 |
3 |
['copilot-pull-request-reviewer', 'github-actions', 'scottdhughes'] |
nobody |
25-75075 25 days ago |
26-78239 26 days ago |
26-78166 26 days |
0 |
| 44537 |
vincentqb author:vincentqb |
feat(Analysis/Convex/Cone): prove that open sets have open hulls |
This PR proves `ConvexCone.isOpen_hull`: if addition and multiplication by each fixed scalar are continuous, the convex cone hull of an open set is open. It defines `ConvexCone.interior`, with coercion, membership, and equality lemmas parallel to the closure API. The hull theorem then follows from cone minimality.
The original hypotheses do not suffice, see #44689 for a counterexample.
---
AI-assisted contribution.
|
t-analysis
LLM-generated
new-contributor
file-removed
|
57/24 |
Mathlib.lean,Mathlib/Analysis/Convex/Cone/Basic.lean,Mathlib/Analysis/Convex/Cone/Interior.lean,Wanted.lean,Wanted/Analysis/Convex/Cone/Basic.lean |
5 |
15 |
['github-actions', 'pepamontero', 'vincentqb'] |
nobody |
25-56110 25 days ago |
25-56213 25 days ago |
33-55374 33 days |
0 |
| 44925 |
djabbat author:djabbat |
feat(Data/Nat/Prime): prime gaps are unbounded |
Adds to mathlib (both absent from the current tree):
- `Nat.exists_consecutive_composites (k : ℕ)` — for every `k` there exist `k`
consecutive composite numbers. Witness: `n = (k+1)! + 1`, each `n + m` is
divisible by `m + 1`, hence composite.
- `Nat.exists_prime_gap_gt (k : ℕ)` — prime gaps are unbounded (a weak form of
the previous: there are primes `p < q` with `q - p > k`).
Both are classical elementary results. This is part of a larger formalization
project (Sylvester–Schur in Lean), kept here as a small self-contained unit.
Build: `lake env lean Mathlib/Data/Nat/Prime/Gaps.lean` (Lean 4.35.0).
Style lint passes (`lake exe lint-style`). |
t-data
new-contributor
awaiting-author
|
64/0 |
Mathlib.lean,Mathlib/Data/Nat/Prime/Gaps.lean |
2 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
24-55209 24 days ago |
unknown |
unknown |
0 |
| 43824 |
xingzhicn author:xingzhicn |
feat(Order/Submodular): define submodular functions and diminishing returns |
This PR defines submodular, supermodular, and modular functions on general lattices, and proves the diminishing returns property on finite sets.
Main definitions:
- `IsSubmodular f`: `∀ a b, f (a ⊓ b) + f (a ⊔ b) ≤ f a + f b`
- `IsSupermodular f`: `∀ a b, f a + f b ≤ f (a ⊓ b) + f (a ⊔ b)`
- `IsModular f`: `∀ a b, f (a ⊓ b) + f (a ⊔ b) = f a + f b`
Main results:
- `isModular_iff_submodular_and_supermodular`: a function is modular iff it is both submodular and supermodular.
- `IsSubmodular.add_insert_le`: diminishing returns on `Finset`: for `s ⊆ t` and `x ∉ t`, `f s + f (insert x t) ≤ f (insert x s) + f t`.
This lays the foundation for discrete convex analysis, combinatorial optimization, and matroid rank theory.
---
|
t-order
new-contributor
awaiting-author
|
120/0 |
Mathlib.lean,Mathlib/Order/Submodular.lean |
2 |
16 |
['JX-Mo', 'github-actions', 'pepamontero', 'vlad902'] |
nobody |
24-16240 24 days ago |
24-16240 24 days ago |
31-23703 31 days |
0 |
| 44935 |
CollinYuanjieRen author:CollinYuanjieRen |
feat(ENNReal): commute toReal with liminf and limsup for eventually finite functions |
Add eventually-finite variants of `ENNReal.liminf_toReal_eq` and `ENNReal.limsup_toReal_eq`, allowing functions with no eventual uniform finite upper bound. The existing bounded variants are unchanged.
Co-authored-by: Kalle Kytölä <kalle.kytola@aalto.fi>
---
Continues the `toReal` portion of #15115, which its author marked `help-wanted`; this does not cover all of that PR.
Validated the complete modified file with Lean 4.35.0. Codex assisted with the proofs.
|
t-topology
LLM-generated
new-contributor
|
49/1 |
Mathlib/Topology/Instances/ENNReal/Lemmas.lean |
1 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
24-10593 24 days ago |
24-9308 24 days ago |
24-9235 24 days |
0 |
| 44941 |
CollinYuanjieRen author:CollinYuanjieRen |
feat(Data/Finset/Sort): add filtering and greatest insertion lemmas |
Prove that filtering commutes with `Finset.sort`, and that inserting a new greatest element appends it to the sorted list. Both lemmas work for general total, transitive, antisymmetric relations.
Continues the sorting portion of #9605 by @davikrehalt.
Codex (GPT-6 Astra) assisted with the Lean proofs.
|
t-data
LLM-generated
new-contributor
|
13/0 |
Mathlib/Data/Finset/Sort.lean |
1 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
24-5894 24 days ago |
24-5956 24 days ago |
24-5883 24 days |
0 |
| 44540 |
vincentqb author:vincentqb |
feat(Algebra/Polynomial): monotonicity of polynomial evaluation |
This PR adds `Polynomial.eval_le_eval`, tagged `@[gcongr]`, for preordered semirings whose addition and multiplication are monotone. It applies in particular to `ℕ`, `ℝ≥0`, and `ℝ≥0∞`.
---
This supplies the polynomial monotonicity lemma used privately in #44441.
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
LLM-generated
new-contributor
t-algebra
merge-conflict
label:t-algebra$ |
22/0 |
Mathlib/Algebra/Polynomial/AlgebraMap.lean,Mathlib/Algebra/Polynomial/Eval/Defs.lean |
2 |
12 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts', 'vincentqb'] |
nobody |
23-83787 23 days ago |
23-83788 23 days ago |
7-85935 7 days |
0 |
| 43229 |
yui9696 author:yui9696 |
feat(Probability/Moments): probability generating function |
Define the probability generating function `pgf X μ t = μ[t ^ X]` of an `ℕ`-valued random variable, mirroring the `mgf` API in `Mathlib/Probability/Moments/Basic.lean`.
API:
- values at `0` and `1`, nonnegativity, monotonicity and boundedness on `[0, 1]`;
- `integrable_pow_pgf`: the defining integrand is integrable on `[-1, 1]` for any finite measure;
- congruence lemmas (`pgf_congr`, `pgf_id_map`, `pgf_congr_identDistrib`);
- `pgf_eq_tsum`: the power-series form `pgf X μ t = ∑' n, μ.real (X ⁻¹' {n}) * t ^ n`;
- `pgf_exp_eq_mgf`: the bridge to the moment-generating function;
- `IndepFun.pgf_add` / `iIndepFun.pgf_sum`: the product formula for sums of independent variables.
Main result: `map_eq_map_of_pgf_eq` — **the generating function determines the law**. The point masses are read off as the coefficients of a power series of radius at least 1 (via `FormalMultilinearSeries.ofScalars`), and the uniqueness of power-series coefficients recovers them from the function.
Everything is stated for a general (finite) measure where possible, with `IsProbabilityMeasure` only where it is genuinely needed.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
t-measure-probability
LLM-generated
new-contributor
awaiting-author
|
234/0 |
Mathlib.lean,Mathlib/Probability/Moments/PGF.lean |
2 |
12 |
['DavidLedvinka', 'github-actions', 'yui9696'] |
RemyDegenne assignee:RemyDegenne |
23-81665 23 days ago |
23-81665 23 days ago |
47-4705 47 days |
0 |
| 44893 |
unknown8575 author:unknown8575 |
chore(Topology/MetricSpace/Polish): generalize `IsClopenable.iUnion` to countable index types |
The proof only used ℕ to get `t' ≤ t` through index 0, but `exists_polishSpace_forall_le` already gives this directly. So the lemma now works for any countable index type, and the TODO is removed.
I used an LLM to find this TODO and draft the change. I've checked it, built it locally, and understand every line. |
t-topology
new-contributor
|
18/15 |
Mathlib/Topology/MetricSpace/Polish.lean |
1 |
5 |
['github-actions', 'plp127', 'unknown8575', 'vihdzp'] |
nobody |
23-81132 23 days ago |
23-81197 23 days ago |
25-10844 25 days |
0 |
| 44945 |
CollinYuanjieRen author:CollinYuanjieRen |
chore(Algebra/Lie): generalize subalgebra map membership |
Generalize `LieSubalgebra.mem_map_submodule` to arbitrary Lie algebra morphisms. Add `mem_map_equiv` and update the three skew-adjoint equivalence proofs.
Continues Eric Rodriguez Boidi's #7994, marked `please-adopt`.
---
Checked the five affected modules with Lean 4.36.0-rc1 and a zero-morphism client regression.
AI-assisted: Codex prepared the Lean changes; GPT-6 Astra assisted with proof checks.
|
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
9/6 |
Mathlib/Algebra/Lie/SkewAdjoint.lean,Mathlib/Algebra/Lie/Subalgebra.lean |
2 |
3 |
['CollinYuanjieRen', 'github-actions'] |
nobody |
23-63062 23 days ago |
23-63300 23 days ago |
23-63227 23 days |
0 |
| 39212 |
emlis42 author:emlis42 |
feat(Algebra/ContinuedFractions): add `partNumsStream'` and `partNumsStream'` |
This PR adds `partNumsStream'` and `partDensStream'`, which provide infinite stream representations for the sequences of partial numerators and denominators of a generalized continued fraction. |
t-algebra
new-contributor
awaiting-author
label:t-algebra$ |
68/36 |
Mathlib/Algebra/ContinuedFractions/Basic.lean,Mathlib/Algebra/ContinuedFractions/ContinuantsRecurrence.lean,Mathlib/Algebra/ContinuedFractions/Determinant.lean,Mathlib/Algebra/ContinuedFractions/Euler.lean,Mathlib/Algebra/ContinuedFractions/Translations.lean |
5 |
7 |
['YaelDillies', 'emlis42', 'eric-wieser', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
23-21324 23 days ago |
23-21324 23 days ago |
156-64826 156 days |
0 |
| 44535 |
vincentqb author:vincentqb |
feat(RingTheory/SimpleModule): semisimplicity along semilinear maps |
This PR proves that semisimplicity passes to the domain of an injective semilinear map and to the codomain of a surjective one, assuming `RingHomSurjective σ`.
The scalar-map hypothesis corrects the two `proof_wanted` statements. For example, the injective map `ℤ → ℚ` would otherwise imply that `ℤ` is semisimple as a `ℤ`-module.
---
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
LLM-generated
new-contributor
file-removed
t-ring-theory
merge-conflict
|
31/30 |
Mathlib/LinearAlgebra/Isomorphisms.lean,Mathlib/LinearAlgebra/Quotient/Basic.lean,Mathlib/RingTheory/SimpleModule/Basic.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/Basic.lean |
5 |
10 |
['github-actions', 'mathlib-merge-conflicts', 'tb65536', 'vincentqb'] |
nobody |
22-83300 22 days ago |
22-83301 22 days ago |
10-3144 10 days |
0 |
| 42314 |
sfingali author:sfingali |
feat(RingTheory): continuous valuations |
### Summary
Defines continuous valuations on topological rings: a valuation `v : A → Γ₀`
whose underlying function is continuous for the order topology on `Γ₀`
(Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.7 and Rem. 7.8(1), p. 58).
* `ContinuousValuationClass` — the class of continuous valuations: a
`ValuationClass` whose functions are continuous.
* `ContinuousValuation` — a bundled continuous valuation.
* `ContinuousValuation.isOpen_lt` — the primary definition of Wedhorn,
Def. 7.7: `{a | v a < γ}` is open for every `γ`.
This is the second step of an adic/perfectoid pipeline (Huber rings → Huber
pairs → continuous valuations → Spa → perfectoid → tilting); #42312 defines
Huber rings. The subspace `Cont(A) ⊆ Spv(A)` of continuous valuations
(Wedhorn, p. 58) will build on `ValuationSpectrum` once #38009 lands — this
PR provides the element-level notion, which is independent of the spectrum
topology.
### References
* T. Wedhorn, *Adic Spaces*, arXiv:1910.05934, Def. 7.7, Rem. 7.8 (p. 58).
|
t-ring-theory
new-contributor
awaiting-author
|
99/0 |
Mathlib.lean,Mathlib/RingTheory/Valuation/ContinuousValuation.lean |
2 |
8 |
['github-actions', 'jjdishere', 'sfingali', 'wwylele'] |
nobody |
22-78240 22 days ago |
22-78240 22 days ago |
77-61391 77 days |
0 |
| 34130 |
FlAmmmmING author:FlAmmmmING |
feat(Combinatorics/SimpleGraph/Acyclic): Add new theorem `isTree_iff_uniqueShortest_path` |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
awaiting-author
t-combinatorics
new-contributor
merge-conflict
|
28/1 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean |
1 |
10 |
['IvanRenison', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'vlad902'] |
nobody |
22-70353 22 days ago |
292-7777 292 days ago |
2-3674 2 days |
0 |
| 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`
|
t-algebra
new-contributor
label:t-algebra$ |
264/0 |
Mathlib.lean,Mathlib/Algebra/Homology/EulerPoincare.lean |
2 |
26 |
['github-actions', 'jessealama', 'joelriou', 'kim-em', 'mathlib-merge-conflicts', 'mathlib4-merge-conflict-bot'] |
nobody |
22-62357 22 days ago |
22-62566 22 days ago |
58-1395 58 days |
0 |
| 44982 |
sw1sh author:sw1sh |
feat(Data/List): define Lyndon words |
This PR adds `Mathlib/Data/List/Lyndon.lean` with the definition of Lyndon words and their two basic properties.
* `List.IsLyndon w`: the list `w` is nonempty and strictly smaller, in the lexicographic order, than each of its proper nonempty suffixes.
* `List.IsLyndon.not_hasPeriod`: a Lyndon word has no period `p` with `0 < p < w.length`; that is, it is unbordered. It is stated with `List.HasPeriod` from `Mathlib/Data/List/PeriodicityLemma.lean`.
* `List.IsLyndon.append`: if `u` and `v` are Lyndon words and `u < v`, then `u ++ v` is a Lyndon word.
Two general lemmas on the lexicographic order of lists are added along the way:
* `List.Lex.append_of_not_isPrefix`: if `Lex r u s` holds and `u` is not a prefix of `s`, then `Lex r (u ++ v) (s ++ w)` holds.
* `List.lt_append_of_ne_nil`: a list is smaller than each of its proper extensions.
A planned follow-up uses these to prove the Ehrenfeucht–Silberger theorem for infinite words: over a finite ordered alphabet, an infinite word whose sufficiently long factors are all bordered is eventually periodic. The proof cuts off longest Lyndon prefixes, which gives a non-increasing sequence of short Lyndon words.
---
AI disclosure: this code was written with Claude Code (Anthropic, model Opus 5.5) as part of a project that formalizes equivalent forms of Wolfram's Rule 30 Problem 1 (https://github.com/WolframInstitute/Rule30PrizeKit).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-data
new-contributor
LLM-generated
|
120/0 |
Mathlib.lean,Mathlib/Data/List/Lyndon.lean |
2 |
3 |
['github-actions'] |
nobody |
22-17426 22 days ago |
22-17519 22 days ago |
22-66835 22 days |
0 |
| 44981 |
arihallak author:arihallak |
feat(NumberTheory/Divisors): add gcd divisor identities |
Adds the following two two divisor identities: Nat.divisors_gcd for nonzero m and n, the divisors of gcd m n equal the intersection of their divisor finsets, and Nat.divisors_filter_dvd for nonzero n, filtering its divisors by divisibility into m gives the divisors of gcd n m.
Both follow from Nat.mem_divisors and Nat.dvd_gcd_iff. The existing Nat.divisors_filter_dvd_of_dvd now follows directly from the general filtering identity. |
t-number-theory
new-contributor
awaiting-author
|
12/3 |
Mathlib/NumberTheory/Divisors.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'wwylele'] |
nobody |
21-74199 21 days ago |
22-11511 22 days ago |
0-63412 17 hours |
0 |
| 44979 |
arihallak author:arihallak |
feat(Data/Nat/Totient): characterize multiplicativity of totient |
Adds Nat.totient_mul_eq_totient_mul_iff: for nonzero natural numbers a and b, (a * b).totient = a.totient * b.totient if and only if a.Coprime b.
The converse to Nat.totient_mul follows from Nat.totient_gcd_mul_totient_mul: cancelling the nonzero totient product gives φ (gcd a b) = gcd a b, and Nat.totient_lt forces the gcd to equal one. |
t-data
new-contributor
awaiting-author
|
16/0 |
Mathlib/Data/Nat/Totient.lean |
1 |
13 |
['SnirBroshi', 'arihallak', 'eric-wieser', 'github-actions', 'vlad902'] |
nobody |
21-66330 21 days ago |
22-11984 22 days ago |
0-62793 17 hours |
0 |
| 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
label:t-algebra$ |
152/90 |
Mathlib.lean,Mathlib/Algebra/Jordan/Basic.lean,Mathlib/Algebra/Jordan/Linearization.lean |
3 |
8 |
['Yaohua-Leo', 'github-actions', 'grunweg', 'ocfnash'] |
nobody |
21-49558 21 days ago |
42-31995 42 days ago |
55-59627 55 days |
0 |
| 44020 |
bally65 author:bally65 |
feat(NumberTheory/Fibonacci): congruences for Fibonacci numbers modulo a prime |
For a prime p ≠ 2: F_p ≡ (5/p) (mod p), hence p ∣ F_{p-1} when (5/p) = 1 and p ∣ F_{p+1} when (5/p) = -1, plus the p % 5 forms via quadratic reciprocity. Proof in (ZMod p)[X]/(X^2 - X - 1) via Frobenius; no case split on (5/p).
---
AI disclosure: I used Claude and ChatGPT to discuss ideas, to adjust and optimize the approach, and to explore whether there was something worth taking on. They also proposed many of the problems, lines of thought, and decisions about direction. Almost all of the Lean code, including the changes made in response to review, was written by Claude Code.
AI 使用聲明:我使用 Claude 和 ChatGPT 討論構思、調整與優化,也討論有沒有值得挑戰的方向。它們也提出了許多題目、思路和決策方向。Lean 程式碼與依審稿意見所做的修改,幾乎全部由 Claude Code 撰寫。
Note: the English disclosure is a translation of my Chinese text, assisted by Claude. |
t-number-theory
new-contributor
LLM-generated
awaiting-author
|
188/0 |
Mathlib.lean,Mathlib/NumberTheory/Fibonacci.lean |
2 |
25 |
['Julian-Kuelshammer', 'bally65', 'github-actions', 'loefflerd'] |
loefflerd assignee:loefflerd |
20-76816 20 days ago |
20-76816 20 days ago |
11-11279 11 days |
0 |
| 45014 |
GoldenPhysicsProject author:GoldenPhysicsProject |
feat(Analysis/SpecialFunctions/Trigonometric): infinite product formula for sinh |
Transfers the absolutely convergent Euler product for sine (`euler_sineTerm_tprod`) to the hyperbolic sine, in `Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean` next to the sine statement:
* `multipliable_one_add_sq_div`: `Multipliable fun n : ℕ ↦ 1 + x ^ 2 / (n + 1) ^ 2` for every `x : ℂ`.
* `euler_sinh_tprod`: for `x * I ∈ ℂ_ℤ`, `∏' n : ℕ, (1 + x ^ 2 / (n + 1) ^ 2) = Complex.sinh (π * x) / (π * x)`.
This follows a review comment by @wwylele on the first version of this PR, which was a separate file with the conditionally convergent `Tendsto` form. I searched master and the open PRs for an existing hyperbolic-sine product and found none.
AI-assistance disclosure: this PR was written and submitted by Claude Code (Anthropic) at the request of the account owner. The account owner has not reviewed the code line by line. The file builds against current master, `lake exe lint-style` is clean, and `#print axioms` shows only `propext`, `Classical.choice` and `Quot.sound`. Please review it as AI-generated. |
t-analysis
new-contributor
LLM-generated
|
19/0 |
Mathlib/Analysis/SpecialFunctions/Trigonometric/Cotangent.lean |
1 |
7 |
['GoldenPhysicsProject', 'github-actions', 'wwylele'] |
nobody |
20-65116 20 days ago |
20-65310 20 days ago |
20-78284 20 days |
0 |
| 44533 |
vincentqb author:vincentqb |
feat(Order/Height): relate height, chain height, and cardinality |
This PR identifies `Order.height a` with the chain height of `Set.Iio a`, and dually for coheight. For linear orders, it deduces `height a = (Set.Iio a).encard` and the corresponding coheight formula, replacing the two `proof_wanted` statements.
---
The code, the testing, and this description were prepared with the help of an AI coding assistant.
|
file-removed
LLM-generated
t-order
new-contributor
increases-technical-debt
large-import
merge-conflict
|
125/32 |
Mathlib/Order/Height.lean,Mathlib/Order/KrullDimension.lean,Wanted.lean,Wanted/Order/KrullDimension.lean |
4 |
9 |
['github-actions', 'mathlib-merge-conflicts', 'vincentqb', 'vlad902'] |
nobody |
20-59368 20 days ago |
33-27609 33 days ago |
1-6846 1 day |
0 |
| 42815 |
korbonits author:korbonits |
feat(Analysis/Calculus/VectorField): the Lie bracket acts as a derivation on functions |
Add `VectorField.lieBracket_apply_fun`: for a function `f` with derivative `f'` and vector fields `V`, `W`,
D(f' W) V - D(f' V) W = f' [V, W]
i.e. the familiar `[V, W] f = V (W f) - W (V f)`. The two second-derivative terms cancel by symmetry of the second derivative, leaving exactly the bracket.
Placed beside the existing `lieBracket_smul_*` product rules. Needs no new import: `FDeriv.Symmetric` is already imported for `second_derivative_symmetric`, which supplies the symmetry and is the source of the `IsRCLikeNormedField` hypothesis.
---
AI disclosure
- level: Level 5 / Level 6 in [the link shared](https://www.visidata.org/blog/2026/ai/#self-assessed-ai-level-for-contributions) I feel confident about the math but I am still learning Lean itself
- code: most of the Lean in this PR was drafted by Claude Code (statements, proofs, docstrings).
- direction and review: I chose the contribution, made the decisions, reviewed every line, and wrote all GitHub/Zulip comments. |
t-analysis
new-contributor
LLM-generated
t-differential-geometry
|
17/0 |
Mathlib/Analysis/Calculus/VectorField.lean |
1 |
12 |
['github-actions', 'korbonits', 'themathqueen'] |
nobody |
20-36031 20 days ago |
20-36255 20 days ago |
85-23160 85 days |
0 |
| 45076 |
vdelbarc author:vdelbarc |
feat(Algebra/Lie/SemiDirect): add natural ideal and subalgebra; add equivalences |
Define the left ideal and right subalgebra of a semidirect product of Lie
algebras. Give characterizations through natural inclusion/projection maps.
Co-authored by: Gustavo Infanti, Exequiel Rivas and Paul Schwahn
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
new-contributor
t-algebra
label:t-algebra$ |
88/0 |
Mathlib/Algebra/Lie/SemiDirect.lean |
1 |
2 |
['github-actions'] |
nobody |
20-16557 20 days ago |
20-16574 20 days ago |
20-16779 20 days |
0 |
| 44958 |
dkaysin author:dkaysin |
feat(Combinatorics/SimpleGraph/Cayley): reachability and connectedness of Cayley graphs |
This PR adds reachability and connectedness results for Cayley Simple graphs.
---
Implements connectedness results requested [here](https://github.com/leanprover-community/mathlib4/pull/44853#discussion_r4296323074).
Implementation details:
* One-directional reachability results can also be proven for semigroups and monoids. I chose to implement one such result for monoids: `reachable_mulCayley_mul_of_mem_submonoidClosure`.
* Machinery with values of darts can be useful for further proofs when working with Cayley graphs in geometric group theory. Edit: made private for now as per reviewer's comment.
Use of AI: I used Claude Opus 5.5 for the following tasks:
* To brainstorm and compare API design ideas and naming conventions
* To propose simplifications to proofs
* To check docstrings for consistency
All AI-generated content was reviewed and edited by me.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
new-contributor
t-combinatorics
large-import
|
106/1 |
Mathlib/Combinatorics/SimpleGraph/Cayley.lean |
1 |
11 |
['SnirBroshi', 'dkaysin', 'github-actions'] |
nobody |
19-80608 19 days ago |
19-80838 19 days ago |
19-83748 19 days |
0 |
| 34138 |
pfaffelh author:pfaffelh |
feat(MeasureTheory): Introduce `DiscreteMeasure α` giving rise to a `Measure α` as a sum of `dirac`s |
Define `DiscreteMeasure α` as a structure with `weight : α → ℝ≥0∞`
Define `toMeasure (w : DiscreteMeasure α) : Measure α` as a sum of diracs
Show properties of the resulting objects
This PR intends to start a more userfriendly interaction with discrete probability (measure) theory, in contrast to probability mass functions (`PMF`). There are two main differences between `DiscreteMeasure` and `PMF`:
* Every `PMF` hast the additional property `HasSum 1`, making the resulting measure a probability measure. (For `DiscreteMeasure`, I intend to use the typeclass `IsProbabilityMeasure`in a later PR instead.)
* The `toMeasure` function of `MassFunction` defines the measure as a sum of diracs, which immediately makes computations possible.
Discussion thread on [zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/PMF.20Refactor.3A.20FunLike.20vs.20Definition.20Change)
- depends on: #37060
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
|
215/0 |
Mathlib.lean,Mathlib/Algebra/GroupWithZero/Indicator.lean,Mathlib/Data/Set/Pairwise/Basic.lean,Mathlib/MeasureTheory/Measure/DiscreteMeasure.lean |
4 |
27 |
['DavidLedvinka', 'eric-wieser', 'github-actions', 'mathlib-merge-conflicts', 'metakunt', 'ocfnash', 'pfaffelh'] |
RemyDegenne assignee:RemyDegenne |
19-50462 19 days ago |
20-7031 20 days ago |
102-2220 102 days |
0 |
| 45112 |
ZRTMRH author:ZRTMRH |
feat(MeasureTheory/Integral): sharp error bound for Riemann sums of periodic BV functions |
Add a strict error bound for estimating `1`-periodic function using Riemann sum. This is the equally-spaced case of Koksma's inequality, with the sharp constant. The proof is elementary.
* `Function.Periodic.abs_sum_sub_integral_le_eVariationOn`
The bound is added as a new file `Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean`. Two supporting lemmas on the variation of a periodic function go into `Mathlib/Analysis/BoundedVariation.lean`.
* `Function.Periodic.eVariationOn_Icc_add_int`
* `Function.Periodic.eVariationOn_Icc_add_one`
Discussion on Zulip: [Riemann sums of periodic bounded-variation functions](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Riemann.20sums.20of.20periodic.20bounded-variation.20functions/with/624474372)
This PR was written with AI assistance (Claude for first draft, Codex for refinement). The code has been reviewed by the authors.
Co-authored-by: Xichen Tang xichen.tang@duke.edu
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-measure-probability
LLM-generated
new-contributor
|
194/0 |
Mathlib.lean,Mathlib/Analysis/BoundedVariation.lean,Mathlib/MeasureTheory/Integral/IntervalIntegral/PeriodicRiemannSum.lean |
3 |
3 |
['ZRTMRH', 'github-actions'] |
nobody |
19-41030 19 days ago |
19-41283 19 days ago |
19-41210 19 days |
0 |
| 44864 |
user202729 author:user202729 |
feat(Order/Bounds): notation for sSup and sInf |
Also fix a typo (add a full stop) and change some call sites to use the new notation.
---
As discussed on Zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Adding.20notation.20for.20sSup.2FsInf.3F |
t-topology
new-contributor
|
14/3 |
Mathlib/Order/Bounds/Defs.lean,Mathlib/Order/SetNotation.lean,Mathlib/Topology/Sets/Closeds.lean,Mathlib/Topology/Sets/Opens.lean |
4 |
5 |
['Multramate', 'github-actions', 'user202729'] |
nobody |
19-18677 19 days ago |
24-75766 24 days ago |
24-75693 24 days |
0 |
| 45111 |
will1491 author:will1491 |
feat(Topology/ContinuousMap): define normal families |
Define `IsNormalFamily` for families of continuous maps into `OnePoint Y` as compactness of their closure in the compact-open topology.
The one-point compactification is chosen for applications in complex dynamics. See the [Zulip discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Geometry.20and.20complex.20dynamics.20formalization/with/615696635) for the definition and design discussion.
Co-authored-by: Lasse Rempe <lasse.rempe@manchester.ac.uk>
Co-authored-by: Filip Moruś <filip.morus@postgrad.manchester.ac.uk>
--- |
t-topology
new-contributor
|
30/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/NormalFamily.lean |
2 |
3 |
['JX-Mo', 'github-actions'] |
nobody |
19-10107 19 days ago |
19-44330 19 days ago |
19-44257 19 days |
0 |
| 45135 |
rmcrkd author:rmcrkd |
feat(Analysis/Calculus/Deriv/Inverse): add HasDerivWithinAt.of_local_left_inverse |
Add lemma `HasDerivWithinAt.of_local_left_inverse`, following the existing pattern via `HasDerivWithinAt.hasFDerivWithinAt_equiv`.
Assisted by Claude (found the gap, helped with learning and examples, linting and building).
---
[#mathlib4 > HasDerivWithinAt.of_local_left_inverse](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/HasDerivWithinAt.2Eof_local_left_inverse/with/633245785) |
t-analysis
new-contributor
|
18/0 |
Mathlib/Analysis/Calculus/Deriv/Inverse.lean |
1 |
9 |
['github-actions', 'grunweg', 'rmcrkd'] |
nobody |
18-64438 18 days ago |
18-64438 18 days ago |
18-64483 18 days |
0 |
| 45149 |
Parsnip37 author:Parsnip37 |
feat(Combinatorics/Enumerative/DyckWord): count nested Dyck words |
Nesting gives an equivalence between Dyck words of semilength `n` and words satisfying `DyckWord.IsNested` of semilength `n + 1`. Add this equivalence, the resulting `Fintype` instance, and the theorem that there are `catalan n` such nested words.
The maps use the existing `nest` and `denest` operations, with their existing inverse lemmas. The count follows from `card_dyckWord_semilength_eq_catalan`. This adds no imports and changes no existing declarations.
---
Validation:
- GitHub CI build, test/lint, style, and pre-commit checks passed.
- `lake build Mathlib.Combinatorics.Enumerative.DyckWord`
- `lake exe lint-style Mathlib/Combinatorics/Enumerative/DyckWord.lean`
- `git diff --check`
- Checked the axioms of the new equivalence and counting theorem; neither depends on `sorryAx`.
AI assistance: OpenAI Codex wrote the new Lean declarations and proofs and ran the checks.
|
t-combinatorics
LLM-generated
new-contributor
awaiting-author
|
25/0 |
Mathlib/Combinatorics/Enumerative/DyckWord.lean |
1 |
5 |
['Parsnip37', 'SnirBroshi', 'github-actions'] |
nobody |
18-63963 18 days ago |
18-63963 18 days ago |
0-3155 52 minutes |
0 |
| 41728 |
vaca22 author:vaca22 |
feat(GroupTheory): prove uniqueness of ℤᵐ⁰ automorphisms |
Prove that every order-preserving multiplicative automorphism of ℤᵐ⁰ is the identity. This also gives a Unique instance for its automorphism type and a Subsingleton instance for order-preserving multiplicative normalizations from G to ℤᵐ⁰.
The proof transports an automorphism through WithZero.exp and WithZero.log to an additive automorphism of ℤ, then excludes negation by monotonicity.
------------
**AI disclosure**: this PR is primarily LLM-generated (Claude Code).
|
t-group-theory
new-contributor
LLM-generated
|
58/0 |
Mathlib/GroupTheory/ArchimedeanDensely.lean |
1 |
16 |
['github-actions', 'grunweg', 'tb65536', 'vaca22', 'wwylele'] |
mattrobball assignee:mattrobball |
18-50449 18 days ago |
50-31340 50 days ago |
79-40228 79 days |
0 |
| 36813 |
AlexeyMilovanov author:AlexeyMilovanov |
feat(Computability.Encoding): add self-delimiting unary and pair encodings |
Adds self-delimiting boolean encodings to `Mathlib.Computability.Encoding`.
**Key changes:**
* **`unaryPrefixEncodingNat`**: A self-delimiting unary `Encoding ℕ Bool`, using the code $1^n0$.
* **`encodingProdBool`**: Builds an `Encoding (α × β) Bool` from boolean encodings of `α` and `β`, by prefixing the length of the first encoded component.
* **`encodingListBool`**: Builds an `Encoding (List α) Bool` from a boolean encoding of `α`, using self-delimiting element encodings.
* **`UnaryPrefix` helpers**: Internal-style helper API for the underlying length-prefixed boolean-list encoding and decoding. |
t-computability
new-contributor
awaiting-author
|
98/0 |
Mathlib/Computability/Encoding.lean |
1 |
7 |
['AlexeyMilovanov', 'Komyyy', 'YaelDillies', 'github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
YaelDillies assignee:YaelDillies |
18-24659 18 days ago |
18-24659 18 days ago |
122-12841 122 days |
0 |
| 41258 |
ungatz author:ungatz |
feat(Analysis/Fourier/FiniteAbelian): add the Donoho-Stark support uncertainty principle |
This adds the Donoho–Stark support uncertainty inequality for the unitary Fourier transform on a finite abelian group, plus the supporting Fourier-inversion machinery indexed by the Pontryagin dual `AddChar G ℂ`.
The headline:
> **Theorem `AddChar.donoho_stark`.** For nonzero `f : G → ℂ`,
> `Fintype.card G ≤ (support f).ncard * (support (fourierTransform f)).ncard`,
> where `fourierTransform f ψ = |G|^(-1/2) * ∑ g, conj (ψ g) * f g` ranges over `ψ : AddChar G ℂ`.
The proof is the elementary (L¹, L∞) duality argument that any harmonic-analysis textbook gives for the classical `ZMod N` case; no Parseval or Cauchy–Schwarz is needed. The finite-abelian generalisation is folklore (stated in Tao–Vu *Additive Combinatorics* and Terras *Fourier Analysis on Finite Groups*); I did not find it formalised in Mathlib or any other major library.
### Why this belongs in Mathlib
Mathlib already has the supporting infrastructure — character theory of finite abelian groups (`Mathlib.Algebra.Group.AddChar`), character orthogonality and Pontryagin duality (`Mathlib.Analysis.Fourier.FiniteAbelian.{Orthogonality, PontryaginDuality}`). The Donoho–Stark inequality is the canonical application of all three, and its absence is a real gap: I needed it for a downstream operator-uncertainty result (a diagonal-operator `rank * Pauli-support` bound on the finite Heisenberg group reduces to it) and ended up proving it from scratch. Beyond that use, it is a standard tool in compressed sensing on finite abelian groups, additive combinatorics, and discrete signal recovery (the 1989 paper has ~3500 citations).
### What's in this PR
A single new file, `Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean`:
- `AddChar.fourierTransform` — the unitary (symmetric) Fourier transform indexed by `AddChar G ℂ`;
- `AddChar.fourier_inversion` — the inversion formula;
- `AddChar.norm_fourierTransform_le`, `AddChar.norm_le_sum_norm_fourierTransform` — the two `L∞ ≤ |G|^(-1/2) · L¹` triangle bounds;
- `AddChar.donoho_stark` — the support uncertainty inequality.
Design choices I expect questions on, and my defaults:
- **`ℂ` rather than `RCLike`**: matches the cited literature and the cleanest home of `AddChar.norm_apply`; happy to generalise if preferred.
- **`Set.ncard` for support sizes**: avoids needing `DecidableEq ℂ` in the statement.
- **A new sibling file** of `Orthogonality.lean` / `PontryaginDuality.lean` rather than a subsection: orthogonality is the tool, Donoho–Stark is the application; can inline if preferred.
Deliberately *not* included: the diagonal-operator `rank * Pauli-support ≥ 2^n` corollary from my workspace — the Pauli-word machinery has no natural home in `Analysis/Fourier` yet; happy to factor it into a follow-up if there is interest.
### AI usage disclosure
Per the [AI contribution policy](https://leanprover-community.github.io/contribute/index.html): the original Lean proof was generated by **Aristotle** (Harmonic AI's automated proof system) from a dispatch containing the statement and the (L¹, L∞) proof strategy, as part of my PhD research workspace. I audited the delivery line by line against Donoho–Stark 1989 (the dispatch also produced a kernel-checked counterexample to a tempting wrong variant — replacing rank by the count of distinct eigenvalues — which the 2×2 identity falsifies). The file here is my adaptation to Mathlib conventions and to current master (module system, `Set.ncard` statement, robust cast handling in the inversion proof), with final tactic-level repairs done with the assistance of Claude (Anthropic). I understand and can defend every line without AI assistance. Please add the `LLM-generated` label (I cannot set labels myself).
### Test plan
- [x] `lake build Mathlib.Analysis.Fourier.FiniteAbelian.DonohoStark` clean (0 errors, 0 warnings).
- [x] `#print axioms` on all five declarations: `[propext, Classical.choice, Quot.sound]`.
- [x] `lake exe lint-style` clean; all lines ≤ 100 chars.
- [x] `Mathlib.lean` updated in alphabetical position.
- [x] Imports minimal (`PontryaginDuality` + `RCLike.Basic` only).
### Reference
Donoho, D. L. and Stark, P. B. (1989). *Uncertainty principles and signal recovery.* SIAM Journal on Applied Mathematics, **49**(3): 906–931. https://doi.org/10.1137/0149053
---
|
t-analysis
new-contributor
LLM-generated
awaiting-author
|
283/0 |
Mathlib.lean,Mathlib/Analysis/Fourier/FiniteAbelian/DonohoStark.lean |
2 |
4 |
['YaelDillies', 'copilot-pull-request-reviewer', 'felixpernegger', 'github-actions'] |
YaelDillies assignee:YaelDillies |
18-15174 18 days ago |
18-15174 18 days ago |
112-40517 112 days |
0 |
| 40973 |
certik author:certik |
feat: multiplicative automatic continuity on ℝ |
This PR adds the multiplicative companion of the existing additive automatic-continuity theorem `AddMonoidHom.continuous_of_measurable`. See the git commit descriptions for all the details.
Depends on https://github.com/leanprover-community/mathlib4/pull/40976.
AI usage disclosure: I used Claude Opus 4.8 to create the theorems and proofs in my own Lean project, then extracted them into this PR since I think they are general purpose and would be useful for other people. I iterated on the proofs until they are as simple as I could get them. I am new to Lean, so if something should be reworked, please let me know. Lean is amazing, I was able to use it to prove various theorems and check my derivations. This is my little contribution back to the project. |
t-measure-probability
LLM-generated
new-contributor
awaiting-author
|
159/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/Haar/AutomaticContinuity.lean |
2 |
13 |
['YaelDillies', 'certik', 'github-actions', 'mathlib-merge-conflicts', 'wwylele'] |
YaelDillies assignee:YaelDillies |
18-1588 18 days ago |
18-1588 18 days ago |
119-47982 119 days |
0 |
| 45176 |
marcelolynch author:marcelolynch |
ci: shake Archive and Counterexamples in the weekly shake job |
This PR adds `Archive` and `Counterexamples` to the weekly `lake shake` job. The job fetches their oleans with `lake exe cache get Archive.lean Counterexamples.lean` and builds them before it runs `lake shake`.
Five files get `shake: keep` annotations. `lake shake` does not see the uses inside `example` declarations or the `deriving Fintype` handler. Without the annotations, its edits break these files. With the annotations, the 76 shake edits to `Archive` and `Counterexamples` build.
A fork PR runs the workflow file from `master`, so this PR cannot test the workflow change in CI.
🤖
|
new-contributor |
10/10 |
.github/workflows/shake.yaml,Archive/Examples/Eisenstein.lean,Archive/Imo/Imo1988Q6.lean,Archive/Wiedijk100Theorems/Konigsberg.lean,Counterexamples/OrderedCancelAddCommMonoidWithBounds.lean,Counterexamples/ZeroDivisorsInAddMonoidAlgebras.lean |
6 |
2 |
['github-actions'] |
nobody |
17-82474 17 days ago |
17-82474 17 days ago |
17-82401 17 days |
0 |
| 44986 |
arihallak author:arihallak |
feat(LinearAlgebra/Projectivization): prove Pascal's hexagon theorem |
Adds Pascal’s hexagon theorem in Projectivization.pascal: for six points on the zero set of a nonzero quadratic form over a field, the three opposite-side intersections are collinear, provided their homogeneous representatives are nonzero.
The proof uses cross products to construct the intersections and a determinant identity involving the six quadratic Veronese images. The conic coefficients give a nonzero vector in the kernel of the latter matrix, forcing its determinant to vanish.
I used AI assistance for some parts of this, mostly to translate a few tedious sections of my human-written mathematical proof into Lean (e.g. lines 67-72), and for minor implementation details, such as finding mathlib lemmas. The overall approach and reasoning is my own, and most of the contribution was written by me. I also reviewed the AI-assisted code for correctness. |
t-algebra
new-contributor
increases-technical-debt
LLM-generated
awaiting-author
merge-conflict
label:t-algebra$ |
174/0 |
Mathlib.lean,Mathlib/LinearAlgebra/Projectivization/Pascal.lean,docs/100.yaml |
3 |
9 |
['arihallak', 'github-actions', 'grunweg', 'mathlib-merge-conflicts', 'wwylele'] |
nobody |
17-76344 17 days ago |
21-70250 21 days ago |
0-21144 5 hours |
0 |
| 41847 |
stalex444 author:stalex444 |
feat(Analysis/Matrix): tightness of the Tsirelson bound |
This file constructs the explicit real-Pauli CHSH tuple in 4×4 real matrices — X⊗1, Z⊗1, and (√2)⁻¹·(1⊗(X±Z)) — and proves it's a CHSH tuple. It also shows its CHSH operator sends the Bell vector ![1,0,0,1] to √2^3 times itself.
The PR also goes further than the request: √2^3 is the least constant bounding that operator in the Loewner order (via the scoped MatrixOrder instances + the existing tsirelson_inequality), so the constant in tsirelson_inequality cannot be improved.
Small honest caveat worth stating: the "over every algebra" corollary quantifies over Type (universe-0), since hypotheses can't quantify universes; the concrete least-constant statement is universe-free.
This Lean code was drafted with the help of AI (Claude Code). I reviewed the file; built it locally against current Mathlib master and confirmed that it compiled.
---
Questions for reviewers:
- happy to make B₀' and B₁' private if preferred
- happy to provide a ℂ-matrix version if that's more useful
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
- [ ] depends on: #45199
|
new-contributor
LLM-generated
t-analysis
blocked-by-other-PR
|
296/6 |
Archive.lean,Archive/TsirelsonTightness.lean,Mathlib/Algebra/Star/CHSH.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean |
4 |
17 |
['github-actions', 'j-loreaux', 'mathlib-dependent-issues', 'stalex444', 'vihdzp'] |
j-loreaux assignee:j-loreaux |
17-54640 17 days ago |
17-54641 17 days ago |
85-56295 85 days |
0 |
| 43286 |
JX-Mo author:JX-Mo |
feat(GroupTheory): add `LeftFiniteDoubleCoset` for Hecke theory |
This PR introduces a finiteness condition `DoubleCoset.IsLeftFinite` on double cosets and its bundled version `DoubleCoset₀`, which allows us to describe `Hom_G(k[G ⧸ H₁], k[G ⧸ H₂])` as the free module `k[DoubleCoset₀ H₁ H₂]`.
For a triple `(H₁, H₂, g)`, the property `DoubleCoset.IsLeftFinite H₁ H₂ g` says that the double coset H₁gH₂ admits a finite decomposition into left cosets, i.e. the set `{xH₂ | H₁xH₂ = H₁gH₂}` is finite. The collection of all such double cosets is bundled into a type `DoubleCoset₀`. We provide some finiteness instances which help define convolution product of double cosets.
We deliberately design two indexing types for the left-coset decomposition: the intrinsic `LeftDecomposition` and the computational `LeftDecompQuotient`. They are equivalent via `toLeftDecompositionEquiv`. The first is useful for coordinate-free definitions and proofs, which saves us from abusing `Quotient.out` everywhere (note that we have three quotients in Hecke theory: `G/H₂`, `H₁/H₁∩gH₂g⁻¹`, `H₁\G/H₂`) and avoids "choosing representative from decomposition in the def => proving the def does not depend the choice + repeating this kind of argument for comparing different representatives in many downstream proofs" pattern. The second `LeftDecompQuotient` carries a fixed base point `gH₂` and remains useful for concrete convolution product computation.
- [x] depends on: #43278
- [ ] depends on: #43328
|
t-group-theory
new-contributor
blocked-by-other-PR
|
282/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean |
2 |
4 |
['Whysoserioushah', 'github-actions', 'mathlib-dependent-issues'] |
nobody |
17-34416 17 days ago |
68-16721 68 days ago |
1-3422 1 day |
1 |
| 41523 |
Harmenszoon author:Harmenszoon |
feat(Analysis/SpecialFunctions): add the Chase-Lovett diagonal reduction for binEntropy |
This PR adds the two-variable entropy inequality of Chase and Lovett ([arXiv:2211.11689](https://arxiv.org/abs/2211.11689), Lemma 2.2): for `x, y ∈ [0, 1]`,
```
x * binEntropy y + y * binEntropy x ≤ 2 * sqrt (x * y) * binEntropy (sqrt (x * y))
```
in a new leaf file `Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean`, together with its `negMulLog (1 - ·)` half (`Real.mul_negMulLog_one_sub_add_le`) and a `private` concavity layer for the comparison function `η u = exp u * negMulLog (1 - exp (-u))`. Two entries are added to `docs/references.bib` (Chase–Lovett arXiv:2211.11689, Boppana arXiv:2301.09664).
**Motivation.** This inequality is the reusable reduction step behind the recent entropic lower bounds for Frankl's union-closed sets conjecture (Gilmer; Alweiss–Huang–Sellke; Chase–Lovett; Sawin; Boppana): it reduces two-variable inequalities of Boppana type `K * (x * h y + y * h x) ≤ h (x * y)` to one-variable inequalities `2 * K * t * h t ≤ h (t ^ 2)`. `Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean` currently contains calculus basics for `binEntropy` only, and no inequality of this family; I checked current master for collisions before opening this. A kernel-checked downstream application — a complete Lean formalization of the union-closed lower bound at the constant `(3 - √5)/2` that uses exactly this reduction — is public at https://github.com/demonstrandum-research/artifacts (the `UCFrankl` development), which I maintain.
**Proof shape** (one page of calculus): substituting `x = exp (-u)`, the inequality becomes midpoint concavity of `η` on `[0, ∞)`; the `negMulLog (x * y)` parts of the two sides cancel exactly, the `negMulLog (1 - ·)` parts transfer to `η` via the identity `x * η (-log x) = negMulLog (1 - x)`, and `η'' ≤ 0` reduces to `log t ≤ t - 1`. Stating `η` through `negMulLog` absorbs the `0 * log 0` boundary behaviour, so no separate edge-case argument is needed at `x = 1`.
**Design notes / open questions for reviewers.**
- Hypotheses are stated as `0 ≤ x`/`x ≤ 1` pairs rather than `x ∈ Set.Icc 0 1`; happy to convert if the membership form is preferred.
- The `η`-machinery is `private`; it could be exposed if judged independently useful.
- File placement: a new `BinaryEntropy/Diagonal.lean` leaf keeps the import footprint of `BinaryEntropy.lean` unchanged (the proof needs `Analysis.Convex.Deriv`); merging into the main file is also possible if preferred.
- Naming: `mul_binEntropy_add_mul_binEntropy_le` / `mul_negMulLog_one_sub_add_le` follow the conclusion-based convention but I am glad to rename.
**AI disclosure** (per the [mathlib AI policy](https://leanprover-community.github.io/contribute/index.html)): the Lean code in this PR was generated by LLM agents (Anthropic's Claude, running in an agent pipeline that I operate under the name Demonstrandum), and was then compile-verified against mathlib and reviewed by me. This PR description was also prepared with AI assistance and reviewed by me. The proof is elementary calculus as summarized above; I understand it and take full responsibility for the contribution. I am adding the `LLM-generated` label as required. The downstream `UCFrankl` development linked above (kernel-checked, axioms `[propext, Classical.choice, Quot.sound]` only) is the evidence that the lemma carries real weight in applications.
---
- [x] depends on: nothing
|
t-analysis
LLM-generated
new-contributor
awaiting-author
|
227/0 |
Mathlib.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy/Diagonal.lean,docs/references.bib |
3 |
8 |
['Harmenszoon', 'Timeroot', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
17-25263 17 days ago |
17-25263 17 days ago |
106-11935 106 days |
0 |
| 45210 |
dongxuelian2 author:dongxuelian2 |
feat(LinearAlgebra/Matrix/Charpoly): finite determination of matrix power sequences |
Add finite-determination criteria for matrix sequences `C * A ^ k * B`, allowing the two square matrices to have different index types.
`Matrix.mul_pow_mul_eq_of_aeval_eq_zero` uses a common monic annihilating polynomial: agreement below its degree implies agreement at every natural exponent. `Matrix.mul_pow_mul_eq_of_lt_card_add` applies this to the product of the characteristic polynomials, giving the bound `Fintype.card ι + Fintype.card κ`.
The statements work over commutative rings and allow empty state index types. The proof reduces `X ^ k` modulo the common polynomial and uses `Polynomial.sum_modByMonic_coeff`, which handles degree zero without a separate dimension case split. This adds two theorems to the existing matrix-power reduction API without introducing imports or definitions.
The proof is adapted from [LeanForControl's finite-determination result](https://github.com/dongxuelian2/LeanForControl/blob/kalman-structural-completion/LeanForControl/LinearSystems/Realization/FiniteDetermination.lean).
---
### Validation
Checked locally with Lean v4.36.0-rc1 against mathlib master `3d14fd9a313ac35ed4b5c653ed5d99157c9e29f6`:
- `lake build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- `lake exe batteries/runLinter --no-build Mathlib.LinearAlgebra.Matrix.Charpoly.Coeff`
- Direct invocation of the upstream text linters and module-name checks.
- Separate local examples for the requested field/`Fin` statement, either or both dimensions zero, degree-zero and degree-one common annihilators, and matching nonzero sequences in dimensions 1 and 2.
- `#print axioms` for both theorems reports only `propext`, `Classical.choice`, and `Quot.sound`.
- `git diff --check`.
The standalone `lint-style` launcher failed while loading Lake's workspace on Windows; its text linters passed when invoked directly. A clean full `lake shake` run was not obtained: the initial run needed uncached modules outside the targeted dependencies, and the forced run reported suggestions throughout the existing dependency closure. Imports are unchanged from upstream. No full-library build is claimed.
### AI use
OpenAI Codex was used to audit nearby APIs and possible duplicates, extract and generalize the LeanForControl proof, write the Lean code and local examples, run validation, and prepare this PR description.
|
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
44/0 |
Mathlib/LinearAlgebra/Matrix/Charpoly/Coeff.lean |
1 |
3 |
['dongxuelian2', 'github-actions'] |
nobody |
17-24910 17 days ago |
17-25097 17 days ago |
17-25024 17 days |
0 |
| 44372 |
Formalistic03 author:Formalistic03 |
feat(GroupTheory/Perm/Cycle/Basic): subtypePerm preserves IsCycleOn |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-group-theory
new-contributor
awaiting-author
|
33/15 |
Mathlib/Algebra/Group/End.lean,Mathlib/GroupTheory/Perm/Cycle/Basic.lean |
2 |
14 |
['Formalistic03', 'github-actions', 'tb65536', 'wwylele'] |
nobody |
17-14005 17 days ago |
17-14020 17 days ago |
21-4829 21 days |
0 |
| 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
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
--> |
new-contributor
t-euclidean-geometry
LLM-generated
awaiting-author
|
360/0 |
Mathlib.lean,Mathlib/Geometry/Polygon/Boundary.lean,Mathlib/Geometry/Polygon/Simple.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean |
4 |
37 |
['A-M-Berns', 'YaelDillies', 'eric-wieser', 'github-actions', 'joneugster', 'jsm28', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp', 'wwylele'] |
YaelDillies assignee:YaelDillies |
16-67830 16 days ago |
18-15015 18 days ago |
241-2054 241 days |
0 |
| 44844 |
djabbat author:djabbat |
feat(NumberTheory): add Jacobsthal function j(2310)=14 and unbounded prime gaps |
## Summary
Two additions in the theory of prime gaps, both **classical results whose formal proofs were absent from Mathlib**:
### 1. `Mathlib/Data/Nat/Prime/Gaps.lean` — prime gaps are unbounded
* `Nat.exists_consecutive_composites (k)` : there exist `k` consecutive composite numbers
(factorial construction: `(k+1)! + 2, ..., (k+1)! + (k+1)`).
* `Nat.exists_prime_gap_gt (k)` : two primes `p < q` with `q - p > k` (corollary).
### 2. `Mathlib/NumberTheory/Jacobsthal.lean` — the Jacobsthal function
* `Nat.jacobsthal m` : the maximal gap between consecutive integers coprime to `m`
(Jacobsthal, 1961).
* `Nat.jacobsthal_2310_value` : **`jacobsthal 2310 = 14`** for the primorial
`2310 = 2·3·5·7·11` — every interval of length 14 contains an integer coprime to 2310,
and the bound is attained (after `113` the next coprime is `127`).
* `Nat.coprime_2310_iff` : a characterization of coprimality to 2310
(equivalent to `Nat.Coprime n 2310`).
## Proof outline (Jacobsthal)
1. `coprimeTo2310` — predicate "not divisible by 2, 3, 5, 7, 11";
2. periodicity mod 2310 (`coprimeTo2310_shift`, `coprimeTo2310_add_mul`);
3. a finite exhaustive check of the 2310 residue classes (`jacobsthal_residues`);
4. transfer from residues to all `n` (`jacobsthal_2310`);
5. bridge to `Nat.Coprime` (`coprime_2310_iff`);
6. the general function and the value via an `sSup` argument.
## Honest notes
* Both statements are **classical** (factorial construction; Jacobsthal 1961). The
contribution is the formal proof, not new mathematics.
* Verified by building the files against Mathlib v4.35.0 (the current `lean-toolchain`
of `master`). The modules imported (`Mathlib.Data.Nat.Prime.Infinite`,
`Mathlib.Data.Nat.Nth`, `Mathlib.NumberTheory.PrimeCounting`) are present on `master`.
## Testing
```
lake build Mathlib.Data.Nat.Prime.Gaps Mathlib.NumberTheory.Jacobsthal
```
|
new-contributor
increases-technical-debt
awaiting-author
t-number-theory
t-algebra
label:t-algebra$ |
230/0 |
Mathlib/Data/Nat/Prime/Gaps.lean,Mathlib/NumberTheory/Jacobsthal.lean |
2 |
3 |
['SnirBroshi', 'github-actions'] |
nobody |
16-49585 16 days ago |
unknown |
unknown |
0 |
| 43282 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Hecke/Bimodule |
We identify the intertwining space `Hom_G(k[G/H₁], k[G/H₂])` with the free module `k[DoubleCoset₀ H₁ H₂]`generated by double cosets with finite left-coset decomposition. We also provide formulas for its action on Hecke modules, which identifies the composition with convolution product. When `H₁ = H₂`, we name the `MulOpposite` of the bimodule as `HeckeAlgebra`.
LLM-use: Opus 5 provides the proof of `structureConst_mk_mk_mk`.
- [ ] depends on: #43286
- [ ] depends on: #43087 |
new-contributor
blocked-by-other-PR
t-algebra
label:t-algebra$ |
746/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean,Mathlib/RepresentationTheory/Hecke/Bimodule.lean,Mathlib/RepresentationTheory/Hecke/LeftFiniteDoubleCoset.lean,Mathlib/RepresentationTheory/Hecke/StructureConst.lean |
5 |
10 |
['JX-Mo', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
16-49421 16 days ago |
unknown |
unknown |
0 |
| 43643 |
Sanghyeok0 author:Sanghyeok0 |
refactor(Logic/Relation): move inclusion lemmas out of EqvGen |
This refactor was split out from #40368 following the review discussion there.
Following further review, I moved all lemmas from the `Relation.EqvGen` namespace to `Relation`, except for `is_equivalence`, `setoid`, and `mono`, which retain their original names.
The old names are preserved as deprecated aliases for backward compatibility. I also updated the reference in `Mathlib/Order/JordanHolder.lean` to use `Relation.eqvGen_le` instead of the deprecated name.
**Changes:**
* `Relation.EqvGen.eqvGen_le` → `Relation.eqvGen_le`
* `Relation.EqvGen.eqvGen_mono` → `Relation.eqvGen_mono`
* `Relation.EqvGen.reflGen_le_eqvGen` → `Relation.reflGen_le_eqvGen`
* `Relation.EqvGen.symmGen_le_eqvGen` → `Relation.symmGen_le_eqvGen`
* `Relation.EqvGen.transGen_le_eqvGen` → `Relation.transGen_le_eqvGen`
* `Relation.EqvGen.reflTransGen_le_eqvGen` → `Relation.reflTransGen_le_eqvGen`
* `Relation.EqvGen.eqvGen_reflGen` → `Relation.eqvGen_reflGen`
* `Relation.EqvGen.eqvGen_transGen` → `Relation.eqvGen_transGen`
* `Relation.EqvGen.eqvGen_symmGen` → `Relation.eqvGen_symmGen`
* `Relation.EqvGen.eqvGen_reflTransGen` → `Relation.eqvGen_reflTransGen`
* `Relation.EqvGen.eqvGen_eq_reflTransGen` → `Relation.eqvGen_eq_reflTransGen`
* `Relation.EqvGen.reflTransGen_symmGen` → `Relation.reflTransGen_symmGen`
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
|
53/20 |
Mathlib/Algebra/RingQuot.lean,Mathlib/Data/PFunctor/Multivariate/M.lean,Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean,Mathlib/Order/JordanHolder.lean |
5 |
17 |
['Sanghyeok0', 'github-actions', 'j-loreaux', 'themathqueen'] |
nobody |
16-44290 16 days ago |
16-44365 16 days ago |
41-67522 41 days |
0 |
| 42313 |
deancureton author:deancureton |
feat(RingTheory): embDomain composition and range, Laurent series expansion |
Add to the Hahn series API:
- `embDomain_embDomain` (composition of domain embeddings)
- `mem_range_embDomain_iff` (range of `embDomain` is characterized by support containment)
Add to the Laurent series API:
- the expansion ring endomorphism `LaurentSeries.expand` with its monomial and `orderTop` lemmas
- follows the pattern of `Polynomial.expand`, `MvPolynomial.expand`, `PowerSeries.expand`
- its opposite `LaurentSeries.contract`, with the decomposition of a Laurent series by exponent residues mod `n` (`sum_single_mul_expand_contract`) and its uniqueness (`contract_eq_of_sum_eq`)
- `exists_ofPowerSeries_eq_of_orderTop_nonneg`
This is the first of a series of PRs formalizing Puiseux series and Puiseux's theorem (entry 41 of Freek Wiedijk's 100 theorems list). |
t-ring-theory
new-contributor
LLM-generated
awaiting-author
|
116/0 |
Mathlib/RingTheory/HahnSeries/Basic.lean,Mathlib/RingTheory/LaurentSeries.lean |
2 |
22 |
['deancureton', 'github-actions', 'jjdishere', 'wwylele'] |
jjdishere assignee:jjdishere |
15-82606 15 days ago |
15-82606 15 days ago |
84-55416 84 days |
0 |
| 44293 |
psvenk author:psvenk |
doc: add lmfdb attributes |
Following #41290, add cross-references to the LMFDB for various definitions.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
new-contributor
documentation
awaiting-author
merge-conflict
|
54/25 |
Mathlib/Algebra/CharP/Defs.lean,Mathlib/Algebra/Field/Defs.lean,Mathlib/Algebra/Group/Defs.lean,Mathlib/Algebra/Group/End.lean,Mathlib/Algebra/Group/Irreducible/Defs.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Group/Subgroup/Defs.lean,Mathlib/Algebra/Ring/Defs.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean,Mathlib/Analysis/SpecialFunctions/Gamma/Basic.lean,Mathlib/GroupTheory/Frattini.lean,Mathlib/GroupTheory/Generators.lean,Mathlib/GroupTheory/Index.lean,Mathlib/GroupTheory/Rank.lean,Mathlib/GroupTheory/Sylow.lean,Mathlib/GroupTheory/Torsion.lean,Mathlib/LinearAlgebra/Matrix/SpecialLinearGroup.lean,Mathlib/LinearAlgebra/Projectivization/Basic.lean,Mathlib/MeasureTheory/Group/Measure.lean,Mathlib/MeasureTheory/Measure/Haar/Basic.lean,Mathlib/NumberTheory/ArithmeticFunction/Defs.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/DirichletCharacter/Basic.lean,Mathlib/NumberTheory/LSeries/Basic.lean,Mathlib/NumberTheory/LocalField/Basic.lean,Mathlib/NumberTheory/NumberField/Basic.lean,Mathlib/NumberTheory/NumberField/ClassNumber.lean,Mathlib/NumberTheory/NumberField/Discriminant/Defs.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/RingTheory/DedekindDomain/Basic.lean,Mathlib/RingTheory/FractionalIdeal/Basic.lean,Mathlib/RingTheory/Ideal/Defs.lean,Mathlib/RingTheory/Ideal/Maximal.lean,Mathlib/RingTheory/Ideal/Prime.lean,Mathlib/RingTheory/IntegralClosure/Algebra/Basic.lean,Mathlib/RingTheory/IntegralClosure/IntegrallyClosed.lean,Mathlib/RingTheory/IntegralClosure/IsIntegral/Defs.lean,Mathlib/RingTheory/LocalRing/MaximalIdeal/Defs.lean,Mathlib/RingTheory/LocalRing/ResidueField/Defs.lean,Mathlib/RingTheory/Noetherian/Defs.lean,Mathlib/RingTheory/Polynomial/Resultant/Basic.lean,Mathlib/RingTheory/Valuation/Integers.lean,Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean |
43 |
14 |
['Multramate', 'github-actions', 'joneugster', 'mathlib-merge-conflicts', 'psvenk'] |
joneugster assignee:joneugster |
15-60088 15 days ago |
31-13019 31 days ago |
10-43592 10 days |
0 |
| 38223 |
Deicyde author:Deicyde |
feat(Geometry/Manifold): add `MfldCat`, the category of `C^n` manifolds |
Defines `MfldCat 𝕜 n`: the category of `C^n` manifolds over a field `𝕜`, in which the model with corners is allowed to vary between objects. An object bundles a model vector space `E`, a model space `H`, a model with corners `I : ModelWithCorners 𝕜 E H` and a term of `ModelWithCorners.MfldCat I n`--see #41109. This includes manifolds with boundary / corners.
For more discussion see this Zulip thread: [#PR reviews > #38223 The Category of C^n Manifolds](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/.2338223.20The.20Category.20of.20C.5En.20Manifolds/with/587038032)
Also added: `ContMDiffMap.id_apply`, `.coe_id` and `.coe_comp` which are comparable to `ContinuousMap` API.
### Future work
- ✅ Define a Monoidal structure via product manifolds, analogous to `Manifold.Topology.Category.TopCat.Monoidal` #38560
- ✅ Define the tangent functor: `M ↦ TM`, `F ↦ F.tangentMap` from `MfldCat (n+1) 𝕜` to `MfldCat n 𝕜` #38270
- Functor `FGModuleCat 𝕜 ⥤ MfldCat 𝕜 n` sending a finite-dimensional `𝕜`-vector space to the manifold modeled on itself. Left as `TODO`.
- Define `FGModuleCat 𝕜` as an enriched category over `MfldCat n 𝕜`. Then _smooth functors_ can be realized as endofunctors on the enriched category. This is the main motivation for this construction.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
- [x] depends on: #41109 [The category of `C^n` manifolds on a fixed model]
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
t-category-theory
|
210/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/Category/MfldCat/Basic.lean,Mathlib/Geometry/Manifold/ContMDiffMap.lean |
3 |
63 |
['Deicyde', 'chrisflav', 'dagurtomas', 'github-actions', 'idontgetoutmuch', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'peabrainiac'] |
robin-carlier assignee:robin-carlier |
15-50462 15 days ago |
60-10939 60 days ago |
119-44431 119 days |
2 |
| 44810 |
zixiaowang17 author:zixiaowang17 |
feat(Combinatorics): add abstract graphical Markov properties |
Introduce the global, local, and pairwise Markov properties for undirected graphs, and prove
the forward implications global → local → pairwise under the semigraphoid axioms.
The implementation is a single module importing `Mathlib.Combinatorics.SimpleGraph.Walk.Basic`.
The current framework allows arbitrary vertex types, including infinite and uncountable types.
Reference: David Montague and Bala Rajaratnam, *Graphical Markov models for infinitely many
variables*, *Transactions of the American Mathematical Society* **370** (2018), no. 11,
7557–7603. [doi:10.1090/tran/7048](https://doi.org/10.1090/tran/7048).
---
I want to introduce “a graphical framework in which we can analyze the Markov properties
from a purely set theoretic perspective which is independent of probability theory,” as
described in [Section 4](https://arxiv.org/pdf/1501.07878#page=8).
Motivation: I was trying to provide a common foundation connecting graphical models in
statistics, random fields, and percolation on lattices. Along the way, I found that most of
the materials I read assumed finite vertex sets. However, I want to understand better what
drives the equivalence of the Markov properties, so that we can talk about theorems with
more flexibility. I then found this paper, which, in Section 4, takes a purely set-theoretic approach
to independence and graphical Markov properties, separately from its treatment of
measure-theoretic conditional independence in probabilistic models.
If this PR meets the requirements and is in the right direction, I plan to finish proving
the equivalence of the pairwise, local, and global Markov properties for ternary relations
under suitable intersection assumptions. In the long term, I plan to connect conditional
independence in probability with graphical models, including DAGs.
AI assistance: OpenAI Codex assisted with the Lean definitions and proofs. I checked every
line of the code. |
t-combinatorics
LLM-generated
new-contributor
|
231/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Markov.lean,docs/references.bib |
3 |
4 |
['github-actions', 'zixiaowang17'] |
nobody |
14-78829 14 days ago |
14-78970 14 days ago |
27-51843 27 days |
0 |
| 44978 |
ArtificialZeng author:ArtificialZeng |
feat(Analysis/Normed/Module): uniform bounds for compact injective families |
A continuous family of injective continuous linear maps, with finite-dimensional source over a complete nontrivially normed field, has a uniform positive lower bound on a compact parameter set. A second lemma gives a uniform operator-norm perturbation radius preserving injectivity; the perturbing family need not be continuous.
These estimates support compact-family derivative perturbation arguments. The proof uses `LinearMap.exists_antilipschitzWith` and `IsCompact.induction_on`, adds no imports, and does not require the target to be finite-dimensional or complete.
---
Local validation on base `4c71e7e7e5f99e938e520c4242aaf2522a594953`, Lean 4.36.0-rc1:
- `lake build Mathlib.Analysis.Normed.Module.FiniteDimension` passed after refreshing the base's dependency cache.
- Standard Mathlib source linters and examples covering a nonconstant compact family, empty sets, and a zero-dimensional source passed.
- A separate fresh compilation and axiom queries passed; both lemmas use only `propext`, `Classical.choice`, and `Quot.sound`.
- The same new proofs and a downstream derivative-estimate consumer also compiled against the pinned Lean 4.35.0 baseline.
AI disclosure: OpenAI Codex generated and adapted the proofs and performed automated source review and local checks. This draft is pending human review of the mathematics and API choices. Automated checks and AI review do not replace that review. Full upstream CI is still required. |
t-analysis
LLM-generated
new-contributor
|
57/0 |
Mathlib/Analysis/Normed/Module/FiniteDimension.lean |
1 |
3 |
['ArtificialZeng', 'github-actions'] |
nobody |
14-78613 14 days ago |
14-78808 14 days ago |
22-74957 22 days |
0 |
| 44798 |
3y3y3y-huaiji author:3y3y3y-huaiji |
style(Order/Heyting): rename inf_himp to inf_himp_self |
Rename `inf_himp` to `inf_himp_self` to align with its dual `sup_sdiff_self` and companion lemma `himp_inf_self`, resolving an in-code TODO. Add a deprecated alias `inf_himp`.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM (`LLM-generated`). All proofs and statements have been formally verified by Lean 4 and checked with linters.
|
t-order
LLM-generated
new-contributor
|
5/4 |
Mathlib/Order/Heyting/Basic.lean |
1 |
4 |
['3y3y3y-huaiji', 'github-actions', 'plp127', 'vihdzp'] |
nobody |
14-73450 14 days ago |
27-9094 27 days ago |
27-70544 27 days |
0 |
| 40368 |
Sanghyeok0 author:Sanghyeok0 |
feat: add confluence predicates for relations |
This PR adds a minimal relation-level API for confluence-style properties:
* `Relation.IsDiamond`
* `Relation.IsConfluent`
* `Relation.IsChurchRosser`
It also adds the basic API connecting these predicates:
* `Relation.ReflTransGen.to_eqvGen`
* `Relation.Join.le_eqvGen`
* `Relation.IsChurchRosser.isConfluent`
* `Relation.IsConfluent.isChurchRosser`
* `Relation.IsChurchRosser.join_reflTransGen_eq_eqvGen`
The main downstream application is the polynomial-reduction development in
#41475. There, polynomial reduction is treated as an ordinary relation on
`MvPolynomial`, and these predicates are used to formulate confluence and the
Church--Rosser property.
A more general rewriting API exists in CSLib. This PR does not attempt to
upstream that API wholesale; its scope is intentionally limited to the
declarations needed by the downstream polynomial application.
The earlier version of this PR also introduced
`Relation.StronglyConfluent` and additional equivalence packaging. Those
declarations have been removed to keep this PR small and application-driven.
Reference: Becker, Weispfenning, and Kredel,
*Gröbner Bases: A Computational Approach to Commutative Algebra*.
AI usage disclosure:
I used OpenAI Codex to generate initial drafts of the definitions, theorem statements, proof scripts, and docstrings. I made the final decisions on the mathematical scope and API design, reviewed the generated code and final changes, and made a few edits to statements and docstrings.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-logic
new-contributor
tech debt
LLM-generated
|
103/25 |
Mathlib/GroupTheory/FreeGroup/Basic.lean,Mathlib/Logic/Relation.lean |
2 |
38 |
['Hagb', 'Sanghyeok0', 'SnirBroshi', 'chenson2018', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
14-65913 14 days ago |
62-58570 62 days ago |
135-28964 135 days |
1 |
| 41053 |
hawkrobe author:hawkrobe |
refactor(RingTheory): bialgebra and Hopf algebra structures on RingCon quotients |
---
Since #40451, SymmetricAlgebra R M is (symRingCon R M).Quotient, which the ideal quotients of #39790 don't cover. This PR adds the congruence-level constructions, so SymmetricAlgebra's bialgebra and Hopf algebra structures can descend from TensorAlgebra as suggested in #39579, once #31898 lands.
- [x] depends on: #41052
[](https://gitpod.io/from-referrer/)
|
t-ring-theory
new-contributor
|
154/41 |
Mathlib/RingTheory/Bialgebra/Quotient.lean,Mathlib/RingTheory/HopfAlgebra/Quotient.lean |
2 |
6 |
['github-actions', 'hawkrobe', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
14-60779 14 days ago |
21-60002 21 days ago |
21-63855 21 days |
0 |
| 40967 |
Formalistic03 author:Formalistic03 |
feat(Combinatorics/SimpleGraph/Paths): some lemmas about inducing walks |
Could also be done via `SimpleGraph.Walk.map_induce`, but I thought that doing it directly is not much worse.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
maintainer-merge
|
59/0 |
Mathlib/Combinatorics/SimpleGraph/Paths.lean,Mathlib/Combinatorics/SimpleGraph/Walk/Maps.lean,Mathlib/Data/List/Nodup.lean,Mathlib/Data/Sym/Sym2.lean |
4 |
34 |
['Formalistic03', 'SnirBroshi', 'github-actions'] |
nobody |
14-49560 14 days ago |
35-11685 35 days ago |
128-72861 128 days |
0 |
| 45263 |
huntse author:huntse |
feat(Order/Filter/Cofinite): add `Filter.countable_sets_cofinite` |
My first attempt at a PR for mathlib so I apologize if I'm doing it wrong. I picked up a lemma in FLT that was marked
as TODO to upstream into mathlib (there it is Filter.cofinite.sets.countable in FLT/Mathlib/Order/Filter/Cofinite.lean)
and upstreamed it.
- I used a name which seemed more in keeping with mathlib convention but please lmk if I should rename it. Both
`countable_sets_cofinite` and `cofinite_sets_countable` seemed somewhat defensible.
- I changed it to a theorem since the neighbouring code seems to all be theorems.
- The actual lean proof is due to kbuzzard. I just copied it upstream and made the following tweaks:
- `(ι : Type*)` was not needed as that's mentioned higher in the file in a `variable` line
- I removed namespacing on Filter.cofinite as we're in that namespace here already
- I didn't use AI to generate this PR or description but since it's my first PR to mathlib and I'm a bit nervous I did
use AI to review the PR and give me suggestions. It suggested the name change and the removal of the redundant
namespacing and type info.
- FLT also has a Countable instance for ↥(cofinite).sets which I left there.
Co-authored-by: kbuzzard
|
t-order
FLT
new-contributor
|
5/0 |
Mathlib/Order/Filter/Cofinite.lean |
1 |
5 |
['github-actions', 'huntse', 'vihdzp'] |
nobody |
14-38854 14 days ago |
14-38990 14 days ago |
15-42496 15 days |
0 |
| 32742 |
LTolDe author:LTolDe |
feat(MeasureTheory/Constructions/Polish/Basic): add class SuslinSpace |
add new class `SuslinSpace` for a topological space that is an analytic set in itself
This will be useful to prove the **Effros Theorem**, see [zulip thread](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441).
---
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Effros.20Theorem/with/558712441
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-zulip
t-measure-probability
awaiting-author
|
4/0 |
Mathlib/MeasureTheory/Constructions/Polish/Basic.lean |
1 |
10 |
['ADedecker', 'LTolDe', 'dagurtomas', 'dupuisf', 'github-actions', 'jcommelin'] |
PatrickMassot assignee:PatrickMassot |
14-22051 14 days ago |
306-84297 306 days ago |
11-6345 11 days |
0 |
| 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.
---
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/to_additive.20on.20MonoidalCategory/with/543107104
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`
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
To indicate co-authors, include at least one commit authored by each
co-author among the commits in the pull request. If necessary, you may
create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
When merging, all the commits will be squashed into a single commit listing all co-authors.
If you are moving or deleting declarations, please include these lines at the bottom of the commit message
(that is, before the `---`) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
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 |
14-21800 14 days ago |
401-20202 401 days ago |
0-29227 8 hours |
3 |
| 42066 |
lyfar author:lyfar |
feat(SimpleGraph/Coloring): add list-coloring compactness |
This is the focused part of [Lean Pool PR #275](https://github.com/Vilin97/lean-pool/pull/275) that does not duplicate Mathlib's existing ordinary de Bruijn--Erdős API. I brought it here after Vasily Ilin [recommended moving the genuinely new list-coloring part to Mathlib](https://github.com/Vilin97/lean-pool/pull/275#issuecomment-5066933313).
It adds `SimpleGraph.ListColoring`, restriction to induced subgraphs, compactness for explicitly finite color sets via `Set.Finite.rado_selection_subtype`, and the finite-induced-subgraph iff.
This is a formalized API for a standard corollary of Rado's selection lemma, not new mathematics.
-------
AI disclosure: I used OpenAI Codex to inspect the current Mathlib API and contribution policy, adapt the list-coloring part of Lean Pool PR #275, implement this file, and run the verification commands below.
Verification:
```text
lake build Mathlib.Combinatorics.SimpleGraph.Coloring.List
lake exe lint-style Mathlib.Combinatorics.SimpleGraph.Coloring.List
lake exe batteries/runLinter Mathlib.Combinatorics.SimpleGraph.Coloring.List
lake exe mk_all --check
git diff upstream/master...HEAD --check
```
|
t-combinatorics
LLM-generated
new-contributor
awaiting-author
|
96/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/List.lean |
2 |
11 |
['SnirBroshi', 'felixpernegger', 'github-actions', 'grunweg', 'lyfar'] |
nobody |
14-20455 14 days ago |
107-81850 107 days ago |
0-3745 1 hour |
0 |
| 44251 |
gotrevor author:gotrevor |
doc(1000-yaml): add the Paris–Harrington theorem |
Adds an external-formalization pointer to the Paris–Harrington entry `Q7137494`, in the same form as my open #41337 (Goodstein / Kirby–Paris).
I know #44115 proposes moving non-mathlib entries out of `1000.yaml` (as @wwylele noted on #41337). I'm opening this anyway so the formalization is easy to find: nobody else needs to redo Paris–Harrington, and anyone who wants to build on it or cite it can start from this one. If #44115 lands, I'm happy to close this and re-home the entry wherever external formalizations end up.
## Entry
| Wikidata | Theorem | Formalization |
|----------|---------|---------------|
| `Q7137494` | **Paris–Harrington theorem**: Peano Arithmetic does not prove the Paris–Harrington principle (the strengthened finite Ramsey theorem with "relatively large" homogeneous sets), though it is true | [`goodstein-independence`](https://github.com/gotrevor/goodstein-independence/blob/main/src/GoodsteinPA/PH/Main.lean) |
## Notes
- Headline: `GoodsteinPA.PH.pa_not_proves_ph`. For every Σ₁ formula defining the principle, PA does not prove its universal closure. Companion theorems: `exists_sigma1_ph_def` (such a formula exists) and `ph_true` (the principle holds, via infinite Ramsey).
- The lower bound follows Buchholz's lecture-notes proof, after Loebl–Nešetřil. Independence then goes through a Wainer-style bound for PA-provable Π₂ sentences, built on the [`FormalizedFormalLogic/Foundation`](https://github.com/FormalizedFormalLogic/Foundation) library, the same library behind the Löb's-theorem entry `Q204884`.
- Developed with AI assistance (Claude Code and Codex).
----
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream)
|
LLM-generated
new-contributor
awaiting-zulip
|
4/0 |
docs/1000.yaml |
1 |
4 |
['SnirBroshi', 'github-actions', 'gotrevor'] |
nobody |
14-19090 14 days ago |
35-60523 35 days ago |
7-21283 7 days |
0 |
| 44066 |
cadamcat author:cadamcat |
doc: note formalisation of Mihăilescu's theorem in 1000.yaml |
Record an external Lean formalisation of Mihăilescu's theorem (Q174955, formerly Catalan's conjecture). The comment no longer says that only the statement is formalised, since the formal-conjectures statement now links to this proof.
---
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream)
- Formalisation: [cadamcat/catalan-lean4](https://github.com/cadamcat/catalan-lean4), release [v1.0.0](https://github.com/cadamcat/catalan-lean4/releases/tag/v1.0.0). The link points to `Catalan.catalans_conjecture` in `Catalan/Final/Assembly.lean`, pinned at commit `4bf1f74`.
- The statement is verbatim the one in formal-conjectures, which has linked this proof since [google-deepmind/formal-conjectures#6452](https://github.com/google-deepmind/formal-conjectures/pull/6452) (merged 2026-09-22).
- The project pins Lean 4.33.1 and Mathlib `0df444a360eaa60ab8c11dca51a86af692955474`. `#print axioms Catalan.catalans_conjecture` reports `[propext, Classical.choice, Quot.sound]` ([recorded output](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/axioms.txt)). The [supplemental evidence](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/Verification/Supplemental/README.md) records our runs of the nanoda kernel checker and a build of the complete Mathlib library from source on Linux, for proof commit `897079d`, whose proof sources are identical to `4bf1f74`.
- The project vendors 871 unmodified modules of [ClassFieldTheory](https://github.com/n-yamaguchi-0729/ClassFieldTheory) (commit `2930b56`, Apache-2.0) for the class field theory it uses.
- `scripts/yaml_check.py docs/100.yaml docs/1000.yaml docs/overview.yaml docs/undergrad.yaml` passes.
AI disclosure: the linked formalisation was developed with AI coding agents (Codex and Claude Code; see its [AUTHORS.md](https://github.com/cadamcat/catalan-lean4/blob/4bf1f742eb341decbdfc59ec56e1616f4d13e33b/AUTHORS.md)). I checked the final statement, its match with formal-conjectures, and the axiom output.
|
new-contributor
awaiting-zulip
LLM-generated
|
4/1 |
docs/1000.yaml |
1 |
4 |
['github-actions', 'grunweg'] |
nobody |
14-19081 14 days ago |
47-19304 47 days ago |
1-1492 1 day |
0 |
| 43318 |
wpegden author:wpegden |
doc(1000): add the strong and weak perfect graph theorems |
Adds external-formalization entries for Q16680059 (strong perfect graph theorem) and Q2800071 (perfect graph theorem), both formalized in Lean 4 at https://github.com/wpegden/spgt with commit-pinned permalinks.
---
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream)
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-zulip
|
8/0 |
docs/1000.yaml |
1 |
15 |
['SnirBroshi', 'github-actions', 'grunweg', 'thorimur', 'wpegden', 'wwylele'] |
nobody |
14-19069 14 days ago |
67-79199 67 days ago |
0-72433 20 hours |
0 |
| 43196 |
danderson70-UNL author:danderson70-UNL |
doc: add Jacobi Four-Square proof to the list of 1000 theorems |
----
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream) |
new-contributor
awaiting-zulip
|
3/0 |
docs/1000.yaml |
1 |
6 |
['SnirBroshi', 'danderson70-UNL', 'github-actions'] |
nobody |
14-19060 14 days ago |
35-60753 35 days ago |
36-84023 36 days |
0 |
| 41337 |
gotrevor author:gotrevor |
doc(1000-yaml): add Goodstein's theorem and the Kirby–Paris theorem |
Claims two listed-but-unclaimed entries in the 1000+ theorems scoreboard by adding external-formalization pointers (no mathlib declaration; same pattern as Löb's theorem [`Q204884`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L201), the flypitch continuum-hypothesis independence [`Q208416`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L216), and Arrow's impossibility theorem [`Q33481`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L30)).
## Entries
| Wikidata | Theorem | Formalization |
|----------|---------|---------------|
| `Q1149185` | **Goodstein's theorem** — every Goodstein sequence terminates | [`lean-gallery`](https://github.com/gotrevor/lean-gallery/blob/main/LeanGallery/Logic/Goodstein/Statement.lean) (ordinal-descent proof) |
| `Q1149185X` | **Kirby–Paris theorem** — PA does not prove that every Goodstein sequence terminates | [`goodstein-independence`](https://github.com/gotrevor/goodstein-independence/blob/main/src/GoodsteinPA/Statement.lean) |
----
- [ ] awaiting-zulip: https://leanprover.zulipchat.com/#narrow/channel/345428-mathlib-reviewers/topic/Purpose.20of.201000.2Eyaml/with/633932200 (in the private reviewers stream)
## Notes
- **`Q1149185X` (Kirby–Paris, 1982)** is built on the [`FormalizedFormalLogic/Foundation`](https://github.com/FormalizedFormalLogic/Foundation) library (the same library that backs the existing Löb's-theorem entry [`Q204884`](https://github.com/leanprover-community/mathlib4/blob/master/docs/1000.yaml#L201)), via the Wainer growth-rate route (`Goodstein` outgrows every PA-provably-total function). The headline `peano_not_proves_goodstein` is sorry-free and `#print axioms`-clean — it rests on exactly `[propext, Classical.choice, Quot.sound]`.
- **`Q1149185`** is Goodstein's theorem proper (the termination statement, provable in ZFC / Lean); mathlib does not currently contain it.
- Both formalizations are by Trevor Morris, developed with AI assistance: Claude Code (Fable 5, Opus), Codex, and Harmonic's Aristotle.
🤖 Generated with [Claude Code](https://claude.com/claude-code) |
new-contributor
LLM-generated
awaiting-zulip
|
6/0 |
docs/1000.yaml |
1 |
7 |
['SnirBroshi', 'felixpernegger', 'github-actions', 'gotrevor', 'wwylele'] |
nobody |
14-19027 14 days ago |
127-54576 127 days ago |
0-81461 22 hours |
0 |
| 45136 |
raja-19 author:raja-19 |
chore(RingTheory/MvPolynomial/Homogeneous): add lemmas |
These lemmas are used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138. |
t-ring-theory
new-contributor
|
52/0 |
Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
1 |
9 |
['github-actions', 'raja-19', 'vihdzp', 'wwylele'] |
nobody |
14-15328 14 days ago |
14-15512 14 days ago |
18-79589 18 days |
1 |
| 45137 |
raja-19 author:raja-19 |
chore(Algebra/Polynomial/BigOperators): add `natDegree_sum_pow_eq_of_even` |
This lemma is used in the proof that the Motzkin polynomial is not expressible as a polynomial sum of squares: #45138 . |
t-algebra
new-contributor
label:t-algebra$ |
125/0 |
Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean |
3 |
20 |
['SnirBroshi', 'github-actions', 'raja-19', 'wwylele'] |
nobody |
14-13313 14 days ago |
14-13543 14 days ago |
18-51637 18 days |
1 |
| 42775 |
hawkrobe author:hawkrobe |
feat(RingTheory/HopfAlgebra): construct Hopf algebras from primitive generators |
Upgrade a bialgebra generated by primitive elements to a Hopf algebra (`HopfAlgebra.ofPrimitives`), given an anti-algebra hom `S : A →ₐ[R] Aᵐᵒᵖ` negating each generator, and show that such an `S` is the antipode (`HopfAlgebra.eq_antipodeAlgHomOp_of_primitives`). Both build on `HopfAlgebra.ofAntipodeOfAdjoin` from #41828, which superseded the generators construction this PR originally carried.
Split out of #39841. Claude Code was used to prepare this revision. |
t-ring-theory
new-contributor
|
31/4 |
Mathlib/RingTheory/HopfAlgebra/Primitive.lean |
1 |
3 |
['github-actions'] |
alreadydone assignee:alreadydone |
13-77432 13 days ago |
13-77483 13 days ago |
84-41278 84 days |
1 |
| 42343 |
brianrabern author:brianrabern |
feat(Combinatorics/SimpleGraph): extend a coloring to one more vertex |
Add `Colorable.of_induce_compl_singleton`: if deleting a vertex `v` leaves an `n`-colourable graph and `deg(v) < n`, then `G` itself is `n`-colourable.
This is a local colouring-extension / induction step (colour `G - v`, then assign `v` a free colour). It is useful for inductive arguments such as Brooks' theorem. The global greedy bound `χ ≤ Δ + 1` is developed separately in #38357.
AI assistance: LLM was used to smooth it out and put things in the expected style
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/) |
t-combinatorics
new-contributor
LLM-generated
|
35/0 |
Mathlib/Combinatorics/SimpleGraph/Coloring/Vertex.lean |
1 |
11 |
['Parcly-Taxel', 'SnirBroshi', 'bocowgill', 'brianrabern', 'github-actions'] |
nobody |
13-75283 13 days ago |
13-75344 13 days ago |
85-77981 85 days |
0 |
| 42365 |
hawkrobe author:hawkrobe |
feat(LinearAlgebra/TensorProduct): tensor product of graded modules is graded |
Given decompositions `ℳ` of `M` and `𝒩` of `N` and a degree function `f : ι → κ → μ`, `TensorProduct.gradeBy f ℳ 𝒩 m` is the submodule of `M ⊗[R] N` spanned by the pure tensors of degree `m`, and `TensorProduct.grade` is the total-degree case `f = (· + ·)`. I modelled it on `AddMonoidAlgebra.gradeBy`.
this is a first step toward the TODO in `LinearAlgebra/TensorProduct/Graded/Internal.lean` (the tensor product of graded algebras is graded, #42879).
- [ ] depends on: #45326
Claude Code was used to prepare this PR. |
t-algebra
new-contributor
blocked-by-other-PR
label:t-algebra$ |
221/1 |
Mathlib/Algebra/DirectSum/Basic.lean,Mathlib/Algebra/DirectSum/Module.lean,Mathlib/LinearAlgebra/TensorProduct/Decomposition.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
ocfnash assignee:ocfnash |
13-68094 13 days ago |
13-73654 13 days ago |
84-62868 84 days |
2 |
| 45256 |
viliml author:viliml |
feat(CategoryTheory/Monad/EquivMon): Upgrade equivalence to isomorphism |
As a bonus, this seems to get automatically proven even without the need to violate defeq transparency.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
tech debt
t-category-theory
new-contributor
will-close-soon
awaiting-author
merge-conflict
|
12/13 |
Mathlib/CategoryTheory/Monad/EquivMon.lean |
1 |
5 |
['github-actions', 'joelriou', 'mathlib-merge-conflicts'] |
nobody |
13-64088 13 days ago |
16-6065 16 days ago |
0-1654 27 minutes |
0 |
| 45138 |
raja-19 author:raja-19 |
feat(Counterexamples/Motzkin): add `motzkin_ne_sos` |
This PR proves that the Motzkin polynomial is not expressible as a polynomial sum of squares, completing the `TODO` created in #28482.
- [ ] depends on: #45136
- [ ] depends on: #45137 |
t-ring-theory
new-contributor
blocked-by-other-PR
|
396/10 |
Counterexamples/Motzkin.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/Degree/Operations.lean,Mathlib/Order/WithBot.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean |
5 |
9 |
['acmepjz', 'github-actions', 'mathlib-dependent-issues', 'raja-19', 'vihdzp'] |
nobody |
13-63930 13 days ago |
unknown |
unknown |
0 |
| 41729 |
vaca22 author:vaca22 |
feat(RingTheory/DedekindDomain): add divisor group core |
Add the divisor group of a Dedekind domain as a formal-sum model, together with the additive equivalence to the multiplicative group of nonzero fractional ideals.
**Relation to what Mathlib already has.** As pointed out on Zulip, Mathlib already knows that fractional ideals factor: `FractionalIdeal.count` gives the exponent of a height-one prime, and `ClassGroup` is built from fractional ideals directly. This PR does not re-prove any of that — it reuses `count` and `finite_factors` verbatim. What it adds is the *additive* packaging:
* `IsDedekindDomain.Divisor R := HeightOneSpectrum R →₀ ℤ`, so a divisor is a finitely supported integer-valued function and one can write `D₁ + D₂`, `-D`, `D v`, and use the whole `Finsupp` API (`support`, `sum`, induction on the support);
* `FractionalIdeal.divisorEquiv`, an `AddEquiv` from `(FractionalIdeal R⁰ K)ˣ` to `Divisor R`, turning ideal multiplication into divisor addition.
The multiplicative view is the right one for the class group; the additive one is what divisor-theoretic arguments are written in, where one constantly forms `D - D'`, compares coefficients prime by prime, and does induction over `D.support`. Having both, related by a single `AddEquiv`, means neither side has to be re-derived.
**Downstream use.** This is the bottom layer of a formalization of Riemann–Roch for algebraic function fields (announced in `#AI authored projects > Riemann–Roch for function fields`): `L(D)`, `deg D`, and the statement `ℓ(D) = deg D + 1 - g + ℓ(W - D)` are all phrased in terms of additive divisors, and the degree map is defined by summing coefficients over `D.support`.
Happy to reshape the API — in particular whether `Divisor` should be an `abbrev` or a structure, and whether this belongs next to `Factorization` rather than in its own file.
AI usage: LLM-generated, disclosed per the AI policy.
|
t-ring-theory
new-contributor
LLM-generated
|
100/0 |
Mathlib.lean,Mathlib/RingTheory/DedekindDomain/Divisor.lean |
2 |
4 |
['github-actions', 'grunweg', 'vaca22'] |
alreadydone assignee:alreadydone |
13-50457 13 days ago |
115-60428 115 days ago |
117-57070 117 days |
0 |
| 42912 |
justin-palumbo author:justin-palumbo |
feat(Topology/GDelta): a completely metrizable subspace of a T6 space is Gδ |
Adds TopologicalSpace.IsCompletelyMetrizableSpace.isGδ: a completely metrizable subspace of a T6 space is Gδ
This is one direction of a foundational fact in descriptive set theory --- the Polish subspaces of a Polish space are exactly the Gδ subsets.
The proof here is modeled on the exposition in Anush Tserunyan's descriptive set theory notes https://www.math.mcgill.ca/atserunyan/Teaching_notes/dst_lectures.pdf, with one adjustment; to make the formalization easier and avoid having multiple distance metrics instantiated at the same time, instead of directly defining open `U_n` with `s = ⋂ n, U` define them such that `s = closure s ∩ ⋂ n, U n` and then appeal to the fact closed sets are Gδ in a perfectly normal space.
---
- [x] depends on: #42896 [which fixes buggy naming present in Topology/Metrizable/CompletelyMetrizable]
This can be viewed as a companion to #42693, which - under the stronger assumption of the ambient space being Polish - establishes the other direction --- a Gδ subspace of a Polish space is itself Polish.
Together, these give Alexandrov's theorem, characterizing the Polish subspaces of an ambient Polish space as exactly the Gδ ones, and (via `Metric.PiNatEmbed.exists_embedding_to_hilbert_cube`) Polish spaces as exactly the Gδ subsets of the Hilbert cube. If and when both these PRs are committed, I anticipate adding these consequences to Topology/MetricSpace/Polish.lean
LLM usage: I wrote the initial version myself, while using Google's free "AI mode" to help me find relevant lemma names in the codebase, and afterward used helped Claude Opus to review, which led to simplifying some of the arguments. I take full responsibility for the code here
|
t-topology
new-contributor
|
91/0 |
Mathlib.lean,Mathlib/Topology/GDelta/CompletelyMetrizable.lean |
2 |
8 |
['github-actions', 'justin-palumbo', 'mathlib-dependent-issues', 'plp127'] |
felixpernegger assignee:felixpernegger |
13-44094 13 days ago |
81-13471 81 days ago |
82-5735 82 days |
0 |
| 43216 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Clique): independence number is zero iff the graph has no vertices |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
62/11 |
Mathlib/Combinatorics/SimpleGraph/Clique.lean |
1 |
66 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
13-22575 13 days ago |
15-31252 15 days ago |
60-56659 60 days |
0 |
| 42494 |
JadAbouHawili author:JadAbouHawili |
feat(Combinatorics/SimpleGraph/Connectivity): add edge reachability and connectivity numbers |
Define edge reachability and connectivity numbers with some basic API
Partially solves #34961
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-combinatorics
|
81/2 |
Mathlib/Combinatorics/SimpleGraph/Connectivity/EdgeConnectivity.lean,Mathlib/Order/CompleteLattice/Lemmas.lean |
2 |
169 |
['JadAbouHawili', 'SnirBroshi', 'github-actions', 'grunweg', 'mathlib-merge-conflicts'] |
SnirBroshi assignee:SnirBroshi |
13-22568 13 days ago |
15-31080 15 days ago |
65-35530 65 days |
0 |
| 44885 |
3y3y3y-huaiji author:3y3y3y-huaiji |
feat(Combinatorics/Quiver/Path): monotonicity of valuations and cycle obstruction |
Define monotonicity of vertex valuations along paths in a quiver and deduce that
strict valuations rule out non-trivial cycles. As a consequence, `Reachable` is a
partial order when such a valuation exists.
---
> [!NOTE]
> **LLM Disclosure / AI Use**: This PR was prepared with the assistance of an LLM
> (`LLM-generated`). All proofs and statements have been formally verified by Lean 4
> and checked with linters. |
t-combinatorics
LLM-generated
new-contributor
|
65/2 |
Mathlib/Combinatorics/Quiver/Path.lean |
1 |
5 |
['3y3y3y-huaiji', 'github-actions', 'leanprover-radar'] |
nobody |
13-20615 13 days ago |
14-35107 14 days ago |
14-35034 14 days |
0 |
| 38973 |
hyeoniuwu author:hyeoniuwu |
feat(Computability): define (single oracle) turing reducibility, relate it to RecursiveIn and prove basic jump theorems |
feat(Computability): define (single oracle) Turing reducibility, relate it to RecursiveIn and prove basic jump theorems
Defines Turing reducibility and the jump operator, with total functions (from naturals to naturals) as oracles.
Defines codes for basic primitive recursive functions, and the evaluation function.
Proves basic reducibility arguments, such as `K0_eq_K` asserting that K0 of an oracle is Turing equivalent to K of an oracle.
Our reducibility is related back to `RecursiveIn` as is currently defined in Mathlib via the theorem `SingleReducibleIff`.
This is part of a larger repository where more advanced theorems such as KP54 have been proven. (https://github.com/hyeoniuwu/CiL)
Relevant zulip discussion: https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Oracle.20Computability.20Theory
Co-authored-by: Tanner Duve
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
awaiting-author
increases-technical-debt
t-computability
|
5279/0 |
Mathlib.lean,Mathlib/Computability/SingleOracle/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/Basic.lean,Mathlib/Computability/SingleOracle/Constructions/CovRec.lean,Mathlib/Computability/SingleOracle/Constructions/Dovetail.lean,Mathlib/Computability/SingleOracle/Constructions/Eval.lean,Mathlib/Computability/SingleOracle/Constructions/EvalAux.lean,Mathlib/Computability/SingleOracle/Constructions/List.lean,Mathlib/Computability/SingleOracle/Constructions/Meta.lean,Mathlib/Computability/SingleOracle/Constructions/Option.lean,Mathlib/Computability/SingleOracle/Constructions/Primitive.lean,Mathlib/Computability/SingleOracle/Encoding.lean,Mathlib/Computability/SingleOracle/Jump.lean,Mathlib/Computability/SingleOracle/Oracle.lean,Mathlib/Computability/SingleOracle/Order.lean,Mathlib/Computability/SingleOracle/RecursiveIn.lean,Mathlib/Computability/SingleOracle/Reducibilities.lean,Mathlib/Data/Option/Basic.lean,Mathlib/Tactic.lean,Mathlib/Tactic/Attr/Register.lean,Mathlib/Tactic/Computability/Basic.lean |
21 |
5 |
['github-actions', 'grunweg', 'hyeoniuwu'] |
nobody |
12-84596 12 days ago |
unknown |
unknown |
0 |
| 42831 |
ray-shang author:ray-shang |
feat(CategoryTheory/Preadditive): category ring of preadditive category |
Given a preadditive category `C`, its category ring `CategoryRing C` is the non-unital ring
whose underlying additive group is the direct sum of all of its morphism groups `X ⟶ Y`, and
whose multiplication is induced by composition: the product of a morphism `f : X ⟶ Y` with a
morphism `g : Z ⟶ W` is `f ≫ g` when `Y = Z`, and `0` otherwise. When `C` is `R`-linear this ring
is a (non-unital) `R`-algebra, and when `C` has finitely many objects it is unital, with
unit `∑ X, 𝟙 X`.
This file formalizes `CategoryRing C` and its structure and universal property
when `C` is preadditive, `R`-linear, finite type, and both finite type and `R`-linear. For example,
when `C` is merely preadditive, the universal property of `CategoryRing C` is: non-unital ring
homomorphisms out of `CategoryRing C` correspond to `LiftData`, the data of a
compatible family of additive maps `(X ⟶ Y) →+ A` for a `NonUnitalNonAssocSemiring A`.
AI Usage: Gemini 3.1 Pro Extended Thinking is in use to generate proof terms for the custom induction principle to unwrap the nested direct sums of the category algebra. Human oversight and work determines the most efficient proof term.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-category-theory
new-contributor
LLM-generated
awaiting-author
|
706/0 |
Mathlib.lean,Mathlib/CategoryTheory/Preadditive/CategoryRing.lean |
2 |
14 |
['b-reinke', 'github-actions', 'joelriou', 'ray-shang', 'robin-carlier'] |
joelriou assignee:joelriou |
12-82236 12 days ago |
12-82261 12 days ago |
39-21651 39 days |
0 |
| 41241 |
intgrah author:intgrah |
feat(Order/Category): cartesian closed and distributive structure on PartOrd and Preord |
Give `PartOrd` and `Preord` `CartesianMonoidalCategory`, `MonoidalClosed`, and `IsCartesianDistributive` instances.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-order
maintainer-merge
|
311/0 |
Mathlib.lean,Mathlib/Order/Category/PartOrd/CartesianClosed.lean,Mathlib/Order/Category/PartOrd/Colimits.lean,Mathlib/Order/Category/PartOrd/Reflective.lean,Mathlib/Order/Category/Preord/CartesianClosed.lean,Mathlib/Order/Category/Preord/Colimits.lean,Mathlib/Order/Category/Preord/Reflective.lean,Mathlib/Tactic/Linter/DirectoryDependency.lean |
8 |
27 |
['Vierkantor', 'YaelDillies', 'github-actions', 'intgrah', 'thomaskwaring'] |
nobody |
12-81973 12 days ago |
13-83851 13 days ago |
126-62066 126 days |
0 |
| 42357 |
SynBurz author:SynBurz |
feat: the Krull dimension of the product of finitely many rings is equal to the maximum of Krull dimensions of the factors |
Add `ringKrullDim_pi_eq_iSup_ringKrullDim`. Also add useful defs: `LTSeries.sigmaEquiv`, `PrimeSpectrum.sigmaToPiOrderIso`, and lemmas `PrimeSpectrum.sigmaToPiOrderIso_apply`, Pi.not_comap_evalRingHom_le_comap_of_neq`, `LTSeries.sigma_fst_eq_fst`.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-algebra
label:t-algebra$ |
93/0 |
Mathlib/Order/RelSeries.lean,Mathlib/RingTheory/Ideal/Maps.lean,Mathlib/RingTheory/Spectrum/Prime/Topology.lean |
3 |
7 |
['SynBurz', 'github-actions', 'mathlib-merge-conflicts', 'tb65536', 'wwylele'] |
nobody |
12-79827 12 days ago |
32-58295 32 days ago |
61-64249 61 days |
0 |
| 45343 |
thinkthoughts author:thinkthoughts |
feat(Data/Nat/Totient): totient of a pairwise coprime product |
My PR adds a theorem for Euler's totient function over a product of natural numbers, where any two distinct factors have a greatest common divisor of 1.
It also adds a theorem for products of distinct primes, where each prime contributes its value minus one. The prime-specific result follows from the more general totient-product theorem.
Both results provide reusable statements in Mathlib using existing properties of Euler's totient function.
---
**Validation:** The revised PR passed all 12 applicable Mathlib CI checks, including build and lint checks. Two additional checks were skipped. No new imports or axioms introduced.
**Research context:** This comes from my work on the General Divisor Theorem and Lean prime-gap formalization; specifically consdering Euler's totient function and products of distinct primes.
General Divisor Theorem: https://github.com/thinkthoughts/general-divisor-theorem
Lean prime-gap formalization: https://github.com/thinkthoughts/lean-bgp212
Related (my initial) mathematical work: https://translatepi.ai/main.pdf
**AI assistance:** I used Claude to develop the Lean proofs, prepare the patch, and perform local compilation and lint checks. I used ChatGPT to review the mathematical specification and help identify a reusable Mathlib contribution. ChatGPT and DeepSeek also assisted with reviewing the sustainably optimized proof, and explaining its mathematical structure.
I read Cantor's diagonal argument in 2003 and have since directed my own work, and reviewed the results; so I'm responsible for the submitted work. And thanks for your help!
|
t-data
new-contributor
LLM-generated
|
18/0 |
Mathlib/Data/Nat/Totient.lean |
1 |
6 |
['SnirBroshi', 'github-actions', 'thinkthoughts'] |
nobody |
12-71319 12 days ago |
12-71319 12 days ago |
13-6814 13 days |
0 |
| 43539 |
abhijitaj1997 author:abhijitaj1997 |
feat(CategoryTheory/Monoidal/Cartesian/Endomorphism): add ring and semiring structures |
Given two monoidal object in a nice enough category, this show that the monoidal morphisms between then forms an additive group. This additive group is part of a larger semiring structure.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-category-theory
|
133/0 |
Mathlib.lean,Mathlib/CategoryTheory/Monoidal/Cartesian/Endomorphism.lean |
2 |
41 |
['Multramate', 'abhijitaj1997', 'alreadydone', 'github-actions', 'joelriou', 'robin-carlier'] |
joelriou assignee:joelriou |
12-68285 12 days ago |
12-68285 12 days ago |
61-22650 61 days |
0 |
| 42189 |
cameronfreer author:cameronfreer |
feat(ModelTheory/Basic): add characterization of languages with countably many symbols |
Add the instance `Countable.countable_relations`, the counterpart of `Countable.countable_functions`, and relate `Countable L.Symbols` and `L.card ≤ ℵ₀` to the separate countability of function and relation symbols, which is how model-theoretic statements usually assume a countable language:
* `countable_symbols_iff : Countable L.Symbols ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
* `card_le_aleph0_iff_countable : L.card ≤ ℵ₀ ↔ Countable (Σ l, L.Functions l) ∧ Countable (Σ l, L.Relations l)`
Also add a general instance `Countable.countable_sum` for `L.sum L'`, move the `constantsOn` instance from `Encoding.lean` to `LanguageMap.lean` as `Countable.countable_constantsOn`, and replace the `withConstants` instance in `Encoding.lean` with `Countable.countable_withConstants` in `LanguageMap.lean`, derived from the sum instance.
---
For example, [`Descriptive/Polish.lean#L46`](https://github.com/cameronfreer/infinitary-logic/blob/1a478e80794080a536931c029281bb65266b3171/InfinitaryLogic/Descriptive/Polish.lean#L46) in cameronfreer/infinitary-logic assumes only that the relation symbols are countable. Thanks to @NoneMore for suggesting the `Encoding.lean` cleanup.
🤖 These proofs were written with the assistance of Claude Opus 5 high and reviewed by GPT Sol 5.6 xhigh.
|
t-logic
new-contributor
LLM-generated
|
33/12 |
Mathlib/ModelTheory/Basic.lean,Mathlib/ModelTheory/Encoding.lean,Mathlib/ModelTheory/LanguageMap.lean |
3 |
5 |
['NoneMore', 'cameronfreer', 'github-actions'] |
nobody |
12-67561 12 days ago |
103-25629 103 days ago |
103-25556 103 days |
0 |
| 42758 |
cameronfreer author:cameronfreer |
feat(ModelTheory): add syntax and semantics for infinitary logic |
Add syntax and semantics for the infinitary logics L∞ω and Lω₁ω.
In `BoundedFormulaInf L ι α n`, the `iSup`/`iInf` constructors are indexed by a single type `ι`, which is used for every infinitary conjunction and disjunction in a formula. The specialization
```lean
abbrev BoundedFormulaω (α : Type u') (n : ℕ) := L.BoundedFormulaInf ℕ α n
```
lives in the same universe as the finitary `BoundedFormula`, as suggested by @plp127 in [#mathlib4 > ModelTheory: API for infinitary formulas of L_{∞,ω} @ 💬](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/ModelTheory.3A.20API.20for.20infinitary.20formulas.20of.20L_.7B.E2.88.9E.2C.CF.89.7D/near/613390601).
Also add derived connectives with `alls`/`exs`, `Realize` with `simp` lemmas for each constructor and derived connective, and the embedding `BoundedFormula.toInf` with `realize_toInf`.
---
I developed this with extensive assistance from several Claude and GPT models along with [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp) as part of the ongoing project [cameronfreer/infinitary-logic](https://github.com/cameronfreer/infinitary-logic/).
|
t-logic
LLM-generated
new-contributor
|
446/0 |
Mathlib.lean,Mathlib/ModelTheory/Infinitary/Semantics.lean,Mathlib/ModelTheory/Infinitary/Syntax.lean,MathlibTest/InfinitarySyntax.lean |
4 |
4 |
['cameronfreer', 'github-actions'] |
nobody |
12-67551 12 days ago |
85-68633 85 days ago |
87-47522 87 days |
0 |
| 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
merge-conflict
|
20/0 |
Mathlib/Geometry/Euclidean/Angle/Unoriented/Projection.lean |
1 |
5 |
['JovanGerb', 'github-actions', 'j-loreaux', 'mathlib-merge-conflicts'] |
JovanGerb assignee:JovanGerb |
12-57299 12 days ago |
264-84457 264 days ago |
39-3093 39 days |
0 |
| 41882 |
theebayuser author:theebayuser |
feat(Data/List): decidability of HasPeriod and periods of repeated lists |
Hello, this PR extends `Mathlib/Data/List/PeriodicityLemma.lean` with:
* a `Decidable (List.HasPeriod w p)` instance (it is a prefix test), and
* two directions that relate periods to repetition:
* `hasPeriod_flatten_replicate` — `(replicate n l).flatten` has period `l.length`
* `eq_flatten_replicate_of_hasPeriod` — a word with period `p` and length `r * p` is the `r`-fold repetition of its length-`p` prefix.
This characterizes `r`-th powers of words by a period plus a length constraint, which a future follow-up PR that I plan to work on will use.
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
|
56/1 |
Mathlib/Data/List/PeriodicityLemma.lean |
1 |
8 |
['SnirBroshi', 'github-actions', 'theebayuser'] |
TwoFX assignee:TwoFX |
12-50441 12 days ago |
30-34898 30 days ago |
114-24520 114 days |
0 |
| 42353 |
sankalpsthakur author:sankalpsthakur |
feat(RingTheory): add nilpotence lemmas for zero sums |
In a semiring, adds:
- `sq_eq_sq_of_add_eq_zero`: if `x + y = 0` then `x^2 = y^2`
- `IsNilpotent.of_add_eq_zero_left`: if `x + y = 0` and `y` is nilpotent, so is `x`
- `isNilpotent_iff_of_add_eq_zero`: under `x + y = 0`, `x` is nilpotent iff `y` is
Motivated by #10539.
---
### Validation
Built locally: `lake build Mathlib.RingTheory.Nilpotent.Basic` succeeds.
### AI/LLM disclosure
AI coding tools were used to help draft this change and PR description. I reviewed the complete change, understand the reasoning, and verified the build locally before submitting. |
t-ring-theory
new-contributor
LLM-generated
|
49/0 |
Mathlib/RingTheory/Nilpotent/Basic.lean |
1 |
29 |
['github-actions', 'sankalpsthakur', 'tb65536'] |
mattrobball assignee:mattrobball |
12-48362 12 days ago |
74-12097 74 days ago |
80-5224 80 days |
0 |
| 40280 |
mrdouglasny author:mrdouglasny |
feat(Analysis/Calculus/ParametricIntegral): one-sided differentiation under the integral |
Adds `hasDerivWithinAt_Ici_integral_of_dominated_loc_of_deriv_le`, the within-`Ici x₀` (right) analogue of `hasDerivAt_integral_of_dominated_loc_of_deriv_le`: differentiation under the integral sign where the derivative bound is required only on a **right**-neighborhood `s ∈ 𝓝[≥] x₀`, concluding `HasDerivWithinAt (fun x ↦ ∫ a, F x a ∂μ) (∫ a, F' x₀ a ∂μ) (Ici x₀) x₀`.
### Motivation
The existing two-sided theorem needs the domination on a full neighborhood of `x₀`. That fails for parametric integrals dominated only on one side — e.g. Gibbs / partition-function families `g ↦ ∫ A e ^ (-g • V)` where `V` is bounded below but not above, so the weight is integrable only for `g ≥ 0` (the Dyson-instability situation in constructive QFT). One still wants the one-sided derivative at the boundary.
### Proof
Rather than re-running the dominated-convergence argument, `F` is extended across `x₀` by its affine first-order part below `x₀`,
`G x a = if x₀ ≤ x then F x a else F x₀ a + (x - x₀) • F' x₀ a`,
which is two-sided dominated (the affine part has constant derivative `F' x₀ a`, bounded by `bound a`). The existing two-sided theorem applies to `G`, and since `G = F` on `Ici x₀`, the conclusion restricts to the desired `HasDerivWithinAt`.
I'm happy to adjust naming, or to generalize to an arbitrary set `t` (`𝓝[t] x₀`) if reviewers prefer — that would need the direct dominated-convergence proof rather than the extension trick.
|
t-analysis
new-contributor
awaiting-author
merge-conflict
|
105/0 |
Mathlib/Analysis/Calculus/ParametricIntegral.lean |
1 |
4 |
['ADedecker', 'github-actions', 'mathlib-merge-conflicts'] |
ADedecker assignee:ADedecker |
12-46684 12 days ago |
139-82518 139 days ago |
16-53863 16 days |
0 |
| 42100 |
DrDMT-VR author:DrDMT-VR |
feat(Analysis/CStarAlgebra): spectral projections from clopen spectral sets |
For `a` in a non-unital C*-algebra and `U : Set ℝ` clopen in the quasispectrum of `a`
with `0 ∉ U`, the indicator `U.indicator 1` is continuous on the quasispectrum and
vanishes at `0`, so `cfcₙ` applies. The resulting element
`CStarAlgebra.spectralProjection a U := cfcₙ (U.indicator 1) a`
is a genuine projection: selfadjoint and idempotent. It is nonzero exactly when `U`
meets the quasispectrum, and it lies in any closed two-sided ideal containing `a`.
A corollary covers the finite-quasispectrum case: a nonzero selfadjoint element with
finite quasispectrum admits a nonzero spectral projection onto a nonzero spectral value.
The indicator of a clopen spectral set is the standard way to extract projections from a
disconnected spectrum. Combined with the `cfcₙ`-into-ideals result this produces
projections inside ideals, which is the basic move in the projection theory of non-unital
C*-algebras.
----
Parts of this contribution were developed with AI assistance (Claude).
------
- [x] depends on: #42095 (uses `TwoSidedIdeal.cfcₙ_mem_of_isClosed`)
|
t-analysis
new-contributor
awaiting-author
blocked-by-other-PR
LLM-generated
|
238/0 |
Mathlib.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Ideal.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/SpectralProjection.lean |
3 |
10 |
['DrDMT-VR', 'felixpernegger', 'github-actions', 'grunweg', 'mathlib-dependent-issues'] |
nobody |
12-32134 12 days ago |
unknown |
unknown |
0 |
| 45404 |
davidiach author:davidiach |
feat(InformationTheory/KullbackLeibler): add restriction lemmas |
Restricting two finite measures to the same set decreases their KL divergence. This PR adds the integral identity that explains why, and the inequality that follows from it.
Neither lemma requires the set to be measurable. Both concern restrictions without normalization and build on the existing `klFun` API.
Verified against current mathlib on Lean 4.36.0-rc2, including builds, linters, and axiom checks.
AI assistance: Astra Pro identified the contribution; Codex extracted and refined the proofs, checked for duplicates, and ran verification.
|
t-measure-probability
LLM-generated
new-contributor
|
32/0 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean |
1 |
3 |
['davidiach', 'github-actions'] |
nobody |
12-21725 12 days ago |
12-21792 12 days ago |
12-21719 12 days |
0 |
| 41934 |
NickKobs author:NickKobs |
feat(Order/Nucleus): a nucleus on a Boolean algebra is closed |
Adds `Mathlib/Order/Nucleus/Boolean.lean` — the Boolean specialization of the nucleus API:
```lean
theorem Nucleus.apply_eq_sup_apply_bot [BooleanAlgebra X] (n : Nucleus X) (a : X) :
n a = a ⊔ n ⊥
theorem Nucleus.isClosed_of_booleanAlgebra [BooleanAlgebra X] (n : Nucleus X) :
⇑n = fun a => a ⊔ n ⊥
theorem Nucleus.eq_of_apply_bot_eq [BooleanAlgebra X] {m n : Nucleus X} (h : m ⊥ = n ⊥) :
m = n
```
**Why.** `Mathlib.Order.Nucleus` provides the frame / Heyting-algebra structure of `Nucleus X`, the closure-operator view (`toClosureOperator`), and the pointwise `le_apply` / `idempotent` / `map_inf` API, but no Boolean specialization. On a Boolean algebra every nucleus is *closed* — completely determined by its value at `⊥` — which is the pointwise algebraic core of the classical fact that the assembly `N(L)` is Boolean iff `L` is (Beazer–Macnab; Simmons; Johnstone, *Stone Spaces*, II.2). It is the natural companion to the existing frame structure and a common building block in point-free topology.
**Proof.** `n a = n a ⊓ (a ⊔ aᶜ) = (n a ⊓ a) ⊔ (n a ⊓ aᶜ)`; the left join-and is `a` (inflationarity), the right is `≤ n a ⊓ n aᶜ = n (a ⊓ aᶜ) = n ⊥` (inflationarity of `aᶜ` + `map_inf`). The reverse inequality is inflationarity plus monotonicity applied to `⊥ ≤ a`. No completeness is needed — the statement is pointwise, so `[BooleanAlgebra X]` (not a complete Boolean algebra) suffices.
**References.**
* R. Beazer, D. S. Macnab, *Modal extensions of Heyting algebras*.
* H. Simmons, *A framework for topology*, Logic Colloquium '77.
* P. T. Johnstone, *Stone Spaces*, CUP (1982), II.2.
**Provenance.** The theorem was first mechanized (Mathlib-free, over a finite Boolean frame) in the BETTI/Araksha refusal-algebra work; this PR is the generalization to an arbitrary `BooleanAlgebra` against Mathlib's own `Nucleus` API. The result is classical open mathematics, cited above. An earlier revision of the file was compiled clean against master `c81c5cbb` (Lean `v4.33.0-rc1`); this revision adapts the header to the module system (`module` / `public import` / `@[expose] public section`).
|
t-order
new-contributor
LLM-generated
awaiting-author
|
71/0 |
Mathlib.lean,Mathlib/Order/Nucleus/Boolean.lean |
2 |
5 |
['felixpernegger', 'github-actions'] |
YaelDillies assignee:YaelDillies |
12-18322 12 days ago |
12-18322 12 days ago |
100-45261 100 days |
0 |
| 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 an interior point $p \in M$, then $f$ is a local diffeomorphism at $p$. The proof proceeds in 3 main steps:
1. 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
2. Use the inverse function theorem (applied to $f$ written in coordinates) to obtain a partial diffeomorphism between model vector spaces
3. Compose with chart diffeomorphisms to obtain a partial diffeomorphism between the manifolds.
------
- [x] depends on: #44036
- [x] depends on: #44041
- [x] depends on: #44840
- [ ] depends on: #44841
- [ ] depends on: #44843
[](https://gitpod.io/from-referrer/)
|
t-differential-geometry
new-contributor
blocked-by-other-PR
|
423/12 |
Mathlib.lean,Mathlib/Analysis/Calculus/ContDiff/HasStrictFDerivAt.lean,Mathlib/Analysis/Calculus/FDeriv/Symmetric.lean,Mathlib/Analysis/Calculus/InverseFunctionTheorem/ContDiff.lean,Mathlib/Geometry/Manifold/InverseFunctionTheorem.lean,Mathlib/Geometry/Manifold/LocalDiffeomorph.lean,Mathlib/Geometry/Manifold/MFDeriv/Basic.lean |
7 |
66 |
['MSpill', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'mathlib-splicebot', 'pepamontero', 'sgouezel'] |
grunweg assignee:grunweg |
12-17757 12 days ago |
27-84982 27 days ago |
0-99 1 minute |
1 |
| 38534 |
AlexeyMilovanov author:AlexeyMilovanov |
refactor(Computability): make `PFun` a one-field structure |
This PR refactors `PFun` from `def PFun α β := α → Part β` to a structure with a `FunLike` instance.
[Discussion](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Fix.20for.20fun_prop.20on.20PFun.20.28context.3A.20Computability.20Theory.29)
### Main changes
- Redefine `PFun` as a structure with one field, `toFun : α → Part β`.
- Add the `FunLike (α →. β) α (Part β)` instance and configure `simps` projections.
- Add the projection and application simp lemmas required by the structure wrapper.
- Add `fun x ↦. ...` notation for partial-function literals.
- Adapt downstream equality proofs to use `PFun.ext` or `DFunLike.ext` where
`funext` no longer applies directly.
- Remove 33 local `backward.isDefEq.respectTransparency false` workarounds that
are no longer needed after the refactor.
### Downstream impact
The refactor mainly impacts Computability Theory and Category Theory (`Category/PartialFun.lean`). Since `PFun` is no longer definitionally equal to `α → Part β`, tactics such as `rfl`, `simp`, and `funext` can no longer always see through the old raw-function representation.
### Note on LLM usage
The core `PFun` change caused numerous downstream errors. I initially used an LLM to help draft fixes for these files. Afterwards, I spent a significant amount of time manually correcting and modifying all of the generated changes. |
new-contributor
t-computability
tech debt
LLM-generated
merge-conflict
|
599/544 |
Mathlib/CategoryTheory/Category/PartialFun.lean,Mathlib/Computability/Ackermann.lean,Mathlib/Computability/Partrec.lean,Mathlib/Computability/PartrecBasis.lean,Mathlib/Computability/PartrecCode.lean,Mathlib/Computability/RE.lean,Mathlib/Computability/RecursiveIn.lean,Mathlib/Computability/StateTransition.lean,Mathlib/Computability/TuringDegree.lean,Mathlib/Computability/TuringMachine/Config.lean,Mathlib/Data/Finset/PImage.lean,Mathlib/Data/PFun.lean,Mathlib/NumberTheory/Dioph.lean |
13 |
79 |
['AlexeyMilovanov', 'JovanGerb', 'YaelDillies', 'dagurtomas', 'github-actions', 'j-loreaux', 'jcommelin', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
12-13298 12 days ago |
47-71224 47 days ago |
118-17573 118 days |
0 |
| 45379 |
marasilge author:marasilge |
feat: simple lemmas about CW complexes |
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
awaiting-author
t-topology
new-contributor
|
60/0 |
Mathlib/Topology/CWComplex/Classical/Basic.lean,Mathlib/Topology/CWComplex/Classical/Finite.lean |
2 |
19 |
['github-actions', 'scholzhannah'] |
scholzhannah assignee:scholzhannah |
12-12331 12 days ago |
12-12331 12 days ago |
0-56394 15 hours |
0 |
| 45409 |
JackFeliks author:JackFeliks |
feat(Analysis/SpecificLimits): bound alternating series error from convergence |
Our change allows the same error bound to be used in more cases, for example when calculating π/4 using the Leibniz series. Existing uses continue to work.
---
I came up with this contribution while testing my own experimental stack of algorithms.
Codex prepared the code and tests, and Argon reviewed the proposal. |
t-analysis
LLM-generated
new-contributor
|
81/27 |
Mathlib/Analysis/Real/Pi/Leibniz.lean,Mathlib/Analysis/SpecificLimits/Normed.lean,MathlibTest/AlternatingSeries.lean |
3 |
3 |
['JackFeliks', 'github-actions'] |
nobody |
12-9169 12 days ago |
12-11499 12 days ago |
12-11426 12 days |
0 |
| 41898 |
marcinbugaj author:marcinbugaj |
feat(Analysis/Convex): majorization preorder and T-transform decomposition |
Add the majorization preorder and its T-transform decomposition.
**Majorization.** `Majorizes a b` (notation `a ≺ b`) is defined for `a b : ι → M` with `ι` an arbitrary `Fintype` and `M` an ordered additive commutative monoid: the two tuples have equal total sum and, for every `k`, the maximal sum over `k`-element subsets of `a` is at most that of `b` (`maxSubsetSum`). This is classical (Hardy–Littlewood–Pólya / Schur) majorization; it lives on the values, so it is permutation-invariant and needs no order on the index (in particular it is not first-order stochastic dominance). It is shown to be a preorder (`Majorizes.refl`, `Majorizes.trans`, the `Trans` instance), with `majorizes_iff_descPrefixSum` characterizing it via sorted prefix sums, and `comp_perm_majorizes_iff` / `majorizes_comp_perm_iff` recording permutation-invariance.
**T-transforms.** A single T-transform (Robin Hood transfer) is the operation `tTransform a s` for a step `s : TStep ι K` (its two coordinates `k, l` and transfer parameter `t`), over an ordered field `K` . RelatedByTTransform b a` means `b = tTransform a s` for some valid step, and `discrepancy a b` counts the coordinates at which `a` and `b` differ.
**Decomposition.** `majorizes_iff_reflTransGen_relatedByTTransform`: `a ≺ b` iff the decreasing rearrangement of `a` is reachable from that of `b` by a finite chain of T-transforms. The chain is also produced as explicit data: `majorizesTStepList` is a `def` returning the concrete `List (TStep …)` bundled with a proof that it is a valid chain folding sorted `b` to sorted `a`, of length at most `discrepancy`; `majorizes_exists_tStepList` is the existence form, and the `ReflTransGen` characterization is derived from it. The construction is computable: over a computable ordered field such as `ℚ` the step list evaluates to a concrete value.
---
- [x] depends on: #43741
|
t-analysis
new-contributor
awaiting-author
|
940/0 |
Mathlib.lean,Mathlib/Analysis/Convex/Majorization.lean,docs/references.bib |
3 |
28 |
['YaelDillies', 'github-actions', 'marcinbugaj', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
j-loreaux assignee:j-loreaux |
11-82647 11 days ago |
71-82573 71 days ago |
41-7379 41 days |
0 |
| 45441 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Operator/Compact): preserve compact remainders under one-sided inverses |
Add `IsCompactOperator.sub_id_of_rightInverse` and `IsCompactOperator.sub_id_of_leftInverse`: if `f - id` is compact and `g` is a continuous linear right or left inverse of `f`, then `g - id` is compact.
Work over an arbitrary ring and a module whose underlying additive group is a topological group. The proofs use compactness under composition and negation, through the identities `(f - id) ∘L g = id - g` and `g ∘L (f - id) = id - g`.
These lemmas are used in my thesis formalization to show that compact derivative remainders are preserved under inverse coordinate changes. They package an elementary consequence of compactness being preserved under composition with continuous linear maps and negation.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, axiom checks, standalone usage examples, and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used when writing the Lean proofs.
Related background: #35048 (the existing Fredholm alternative), #39274 (broader Fredholm infrastructure), and #43906 (a closed, unmerged compact-perturbation development).
|
t-analysis
new-contributor
LLM-generated
|
37/0 |
Mathlib/Analysis/Normed/Operator/Compact/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
11-57511 11 days ago |
11-60253 11 days ago |
11-60180 11 days |
0 |
| 45444 |
janbernloehr author:janbernloehr |
feat(Analysis): characterize weighted summability by geometric tails |
Add `ENNReal.tsum_rpow_mul_lt_top_iff_geometric_tails`: for $f:I\to[0,\infty]$, a size map $\nu:I\to\mathbb N$, a real base $b>1$, a positive integer cutoff $M$, and real $t>0$, set
$$
\begin{aligned}
S&:=\sum_i f_i,
& W_t&:=\sum_i(1+\nu(i))^t f_i,\\
T_k&:=\sum_{\nu(i)\ge b^kM}f_i,
& G_t&:=\sum_{k=0}^{\infty}b^{kt}T_k.
\end{aligned}
$$
Prove the quantitative ENNReal estimates
$$
W_t\le(1+bM)^t(S+G_t),
\qquad
G_t\le\frac{b^t}{b^t-1}\,W_t,
$$
and hence the equivalence
$$
W_t<\infty
\quad\Longleftrightarrow\quad
S<\infty\;\land\;G_t<\infty.
$$
The estimates allow infinite coefficients and divergent sums; the first also holds at order zero. Use nonnegative double-sum interchange and finite geometric-series estimates, then derive the real-valued summability criteria as corollaries. No monotonicity of the coefficients or finiteness of the size-map fibers is required.
This criterion is used in the formalisation of my dissertation, in a weighted-regularity argument.
---
Local validation passed with Lean `v4.36.0-rc2`: the affected-module build, style lint, 15 linters, axiom checks, standalone usage examples (including the nonintegral base $b=3/2$ and natural-base specialisations), and `git diff --check`. There are no PR dependencies.
AI assistance: OpenAI Codex was used to adapt and generalize the proofs for the ENNReal formulation.
|
t-analysis
new-contributor
LLM-generated
|
274/0 |
Mathlib.lean,Mathlib/Analysis/SummableGeometricTails.lean |
2 |
2 |
['github-actions'] |
nobody |
11-57506 11 days ago |
11-57956 11 days ago |
11-57883 11 days |
0 |
| 45445 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): detect PiLp norms by conjugate pairings |
Add norm-attaining conjugate test vectors for finite real or complex `PiLp` spaces, and deduce a criterion for bounding the norm from all conjugate-unit-ball pairings. Include the corresponding Hölder bound, both endpoint pairs `(1, ∞)` and `(∞, 1)`, and empty index types.
Use the bilinear pairing `∑ i, a i * b i`, with conjugation incorporated into the test vector, so the results support holomorphic interpolation. Reuse `NNReal.isGreatest_Lp` for finite exponents and handle the endpoints explicitly.
These lemmas are used in the formalization of my dissertation to recover ℓp norm bounds from finite test-pairing estimates in the discrete Hilbert-transform argument.
---
## Dependencies and merge order
No prerequisite PRs. Merge this before #45447, which is stacked on this change. The coordinate-restriction contribution is independent.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Real/complex examples, p=2, both conjugate endpoint pairs and an empty index type.
- Generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used in the writing of the Lean implementation.
|
t-analysis
LLM-generated
new-contributor
|
167/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean |
2 |
2 |
['github-actions'] |
nobody |
11-57501 11 days ago |
11-57698 11 days ago |
11-57625 11 days |
0 |
| 45447 |
janbernloehr author:janbernloehr |
feat(Analysis/Normed/Lp): interpolate finite matrix bounds |
Add `Matrix.norm_sum_mulVec_interpolate` and `Matrix.norm_mulVec_interpolate`, giving sharp interpolation of finite complex matrix bounds. If `A` has nonnegative bounds `B₀` from `ℓp₀` to `ℓq₀` and `B₁` from `ℓp₁` to `ℓq₁`, conclude for `0 ≤ t ≤ 1`
$$
\|Ax\|_s \le B_0^{1-t} B_1^t \|x\|_r,
\qquad
\frac1r = \frac{1-t}{p_0}+\frac{t}{p_1},\quad
\frac1s = \frac{1-t}{q_0}+\frac{t}{q_1}.
$$
Use entire power families and Hadamard's three-lines theorem for the bilinear estimate, then conjugate norm detection for the operator bound. Endpoint input exponents are positive and finite, with `1 ≤ r < ∞`; output exponents are strictly greater than one and may be infinite.
This result is used in the formalization of my dissertation to interpolate finite matrix estimates for the discrete Hilbert transform. The dimension-independent constant keeps the bounds uniform as finite truncations grow.
---
## Dependencies and merge order
Depends on #45445 **merge that PR first, then this one**.
## Validation
Checked using Lean `v4.36.0-rc2`:
- Module build, style linter and declaration linters.
- Interpolation from 2 and 4 to 8/3, and from `1 → ∞` and `2 → 2` to `4/3 → 4`.
- Zero bounds, t=0 and t=1, empty index types, generated import and diff/whitespace checks.
- Axiom inspection: only `propext`, `Classical.choice`, `Quot.sound`.
## AI assistance
OpenAI Codex has been used to write the Lean implementation based on my dissertation proofs. |
t-analysis
LLM-generated
new-contributor
|
472/0 |
Mathlib.lean,Mathlib/Analysis/Normed/Lp/PiLpDual.lean,Mathlib/Analysis/Normed/Lp/PiLpInterpolation.lean |
3 |
2 |
['github-actions'] |
nobody |
11-57495 11 days ago |
11-57564 11 days ago |
11-57491 11 days |
0 |
| 42142 |
philipp-svinger author:philipp-svinger |
feat(Analysis/ODE): peano existence theorem, Tonelli approximation 1 |
Add Tonelli approximation method for ODEs.
Implement the structure IsPeano similar to IsPicardLindelof. Construct a sequence of approximations using Tonelli technique.
First step towards Peano existence
Co-authored-by: Florian Grube <fgrube@math.uni-bielefeld.de>
Co-authored-by: Paul Niessner <pniessner@math.uni-bielefeld.de>
Co-authored-by: Julian Rolfes <jrolfes@math.uni-bielefeld.de>
Co-authored-by: Luke Schleef <lschleef@math.uni-bielefeld.de>
Co-authored-by: Philipp Svinger <psvinger@math.uni-bielefeld.de>
---
We want to add the proof of the Peano existence theorem for ODEs, using Tonelli approximations.
This will be a series of PRs working towards this goal. In this first PR, we
implement the structure IsPeano similar to IsPicardLindelof and construct a sequence of approximations using Tonelli technique. See our further PRs for more information, last: #42148
---
The statements, definitions and proofs were written without AI.
AI was used afterwards to help us to adapt our code to the style and naming conventions.
We also used it in the process of writing a documentation.
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
207/0 |
Mathlib.lean,Mathlib/Analysis/ODE/Peano.lean |
2 |
24 |
['github-actions', 'mcdoll', 'philipp-svinger', 'sgouezel'] |
urkud assignee:urkud |
11-50458 11 days ago |
44-68893 44 days ago |
101-30028 101 days |
5 |
| 41466 |
EzequielS2 author:EzequielS2 |
feat(Algebra/Order): stronger sublist product inequality via diff |
## Summary
Add `Sublist.prod_le_prod'_of_mem_diff` and `Sublist.sum_le_sum_of_mem_diff`.
## Test plan
- [x] `lake build` and `lake exe runLinter` on `Mathlib.Algebra.Order.BigOperators.Group.List`
|
t-algebra
new-contributor
label:t-algebra$ |
12/4 |
Mathlib/Algebra/Order/BigOperators/Group/List.lean |
1 |
8 |
['EzequielS2', 'github-actions', 'mathlib-merge-conflicts', 'themathqueen', 'wwylele'] |
nobody |
11-41137 11 days ago |
11-40105 11 days ago |
52-49101 52 days |
0 |
| 41449 |
EzequielS2 author:EzequielS2 |
feat(Topology/ContinuousMap): domMulAct action on C(X, Y) |
## Summary
- Define the action of `Mᵈᵐᵃ` on `C(α, β)` when `M` acts continuously on `α`.
- Add `SMul`, `MulAction`, `SMulCommClass`, and `ContinuousSMul` instances.
- Closes #5379.
## Test plan
- [x] `lake build Mathlib.Topology.ContinuousMap.DomAct`
- [x] `lake exe runLinter Mathlib.Topology.ContinuousMap.DomAct`
|
t-topology
new-contributor
|
105/0 |
Mathlib.lean,Mathlib/Topology/ContinuousMap/DomAct.lean |
2 |
7 |
['EzequielS2', 'github-actions', 'j-loreaux'] |
nobody |
11-38931 11 days ago |
11-39043 11 days ago |
32-69613 32 days |
1 |
| 40727 |
pepamontero author:pepamontero |
feat(Geometry/Manifold/Instances/Quotient): quotients of manifolds by smooth free properly discontinuous group actions are manifolds |
Add smooth manifold structure on orbit space `orbitRel.Quotient G M`.
This PR is a follow-up to #35653, which equipped `orbitRel.Quotient G M` with a `ChartedSpace` structure. Here we promote that to an `IsManifold I n` instance, assuming M itself is an `IsManifold I n` and `G` acts by
`ContMDiffConstSMul`.
This PR:
* Changes the charted space instance to use `IsLocalHomeomorph.chartedSpaceOfRightInverse` applied to `Quotient.out_eq`, so the charts come from an explicit local section `orbitRel.Quotient.localInverseAt x` of the quotient map at `x.out`.
* Adds some API on `localInverseAt` that is only relevant when we have an action (`localInverseAt_apply_mk_eq_smul`, `localInverseAt_symm_trans_eqOn_smul`, `exists_smul_mem_localInverseAt_target`)
* Defines the `transitionMap` between the charts of the quotient, and adds `transitionMap_locally_smul` which shows each transition map agrees near any point with `φ x⁻¹ ≫ (g • ·) ≫ φ y` for a single `g : G`.
* Uses the above to prove `isManifold_quotient_of_contMDiffSMul`.
This started as an ItaLean2025 project; here is the [Zulip thread](https://leanprover.zulipchat.com/#narrow/channel/541885-ItaLean-2025/topic/Projects.3A.20Quotient.20Manifolds/with/575121158) dedicated to it.
Co-authored by: Enrique Díaz Blanco <qdiazblanco@gmail.com>
Co-authored by: Archie Browne <ajb421@ic.ac.uk>
--------
- [x] depends on: #41832
- [x] depends on: #41835
- [x] depends on: #42436
- [x] depends on: #42502
- [x] depends on: #41534
- [x] depends on: #43717
**Questions for reviewers**:
1. Should the acting group be `Γ` rather than `G`? Here `G` has no topology, and in other files `Γ` is used in this case.
2. Should `localInverseAt` be a `def` instead of an `abbrev`? It is an `abbrev` because there is already API for `IsLocalHomeomorph.localInverseAt` that I need.
3. Is changing the `ChartedSpace` instance to `Quotient.out` the right decision?
4. Should I write a definition for `(chartAt H x.out).symm ≫ₕ (g • ·) ≫ₕ chartAt H y.out` , similar to `transitionMap`?
|
new-contributor
large-import
t-differential-geometry
awaiting-author
|
131/6 |
Mathlib/Geometry/Manifold/Instances/Quotient.lean |
1 |
89 |
['Deicyde', 'github-actions', 'grunweg', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'ocfnash', 'pepamontero', 'scholzhannah'] |
grunweg assignee:grunweg |
11-14234 11 days ago |
11-86004 11 days ago |
66-41234 66 days |
1 |
| 42669 |
kris-gaudel author:kris-gaudel |
feat(Analysis/Convex): the Shapley-Folkman lemma |
Closes https://github.com/leanprover-community/mathlib4/issues/14427
Formalizes the Shapley-Folkman Lemma, uses the proof outlined [here](https://en.wikipedia.org/wiki/Shapley%E2%80%93Folkman_lemma#Proofs) (Via reduction from Carathéodory's theorem) |
t-analysis
new-contributor
awaiting-author
|
284/0 |
Mathlib.lean,Mathlib/Analysis/Convex/ShapleyFolkman.lean |
2 |
15 |
['YaelDillies', 'github-actions', 'kris-gaudel'] |
YaelDillies assignee:YaelDillies |
10-84802 10 days ago |
27-21410 27 days ago |
62-38496 62 days |
0 |
| 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.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
new-contributor
t-group-theory
large-import
awaiting-author
LLM-generated
merge-conflict
|
29/1 |
Mathlib/GroupTheory/PresentedGroup.lean |
1 |
17 |
['copilot-pull-request-reviewer', 'euprunin', 'github-actions', 'homeowmorphism', 'mathlib-bors', 'mathlib-merge-conflicts', 'plp127', 'tb65536'] |
tb65536 assignee:tb65536 |
10-83274 10 days ago |
248-62067 248 days ago |
4-29717 4 days |
0 |
| 41911 |
kedlaya author:kedlaya |
feat(FieldTheory): implement Artin-Schreier theorem |
Implement the theorem of Artin-Schreier that a field with a finite algebraically closed extension is either algebraically closed or real closed.
- [ ] depends on: #43947
- [ ] depends on: #44287
|
t-algebra
new-contributor
blocked-by-other-PR
merge-conflict
label:t-algebra$ |
488/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/IsRealClosed/ArtinSchreier.lean |
4 |
33 |
['ScottCarnahan', 'SnirBroshi', 'artie2000', 'github-actions', 'jcommelin', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'vihdzp'] |
nobody |
10-64602 10 days ago |
50-22402 50 days ago |
63-1996 63 days |
0 |
| 45483 |
chenle02 author:chenle02 |
feat(MeasureTheory/Function/ConvergenceInDistribution): the Billingsley approximation theorem |
## Statement
`tendstoInDistribution_of_approx` (Billingsley, *Convergence of Probability Measures*, 2nd ed.,
Theorem 3.2). Let `E` be a separable pseudometric space with its Borel σ-algebra, `l` a countably
generated filter on `ι` and `l'` a nontrivial filter on `κ`. Let `U i, X k i : Ω i → E` (on the
probability spaces `(Ω i, μ i)`), `Y k : Ωκ k → E` (on `(Ωκ k, ν k)`) and `Z : Ω' → E`. If
* `X k i` converges in distribution to `Y k` along `l`, for each `k`,
* `Y k` converges in distribution to `Z` along `l'`,
* `U i` is a.e.-measurable for each `i`, and
* for every `δ > 0`, `limsup_{i → l} μ i {ω | δ ≤ dist (U i ω) (X k i ω)}` tends to `0` along `l'`,
then `U i` converges in distribution to `Z` along `l`.
```lean
theorem tendstoInDistribution_of_approx {κ : Type*} {Ωκ : κ → Type*}
{mκ : ∀ k, MeasurableSpace (Ωκ k)} {ν : (k : κ) → Measure (Ωκ k)}
[∀ k, IsProbabilityMeasure (ν k)] {l' : Filter κ} [l'.NeBot] [l.IsCountablyGenerated]
{X : κ → (i : ι) → Ω i → E} {Y : (k : κ) → Ωκ k → E} {U : (i : ι) → Ω i → E}
(hX : ∀ k, TendstoInDistribution (X k) l (Y k) μ (ν k))
(hY : TendstoInDistribution Y l' Z ν μ') (hU : ∀ i, AEMeasurable (U i) (μ i))
(h_approx : ∀ δ > 0, Tendsto
(fun k ↦ limsup (fun i ↦ μ i {ω | δ ≤ dist (U i ω) (X k i ω)}) l) l' (𝓝 0)) :
TendstoInDistribution U l Z μ μ'
```
Two auxiliary results are added:
* `tendstoInDistribution_iff_forall_lipschitz_integral_tendsto`: the `TendstoInDistribution`
version of `tendsto_iff_forall_lipschitz_integral_tendsto` (bounded Lipschitz test functions),
analogous to the existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`.
* `abs_integral_sub_integral_le_of_lipschitzWith`: for `F` `L`-Lipschitz with oscillation at most
`M`, `|∫ F ∘ A ∂μ - ∫ F ∘ B ∂μ| ≤ L * δ + M * μ.real {δ ≤ dist A B}` (`δ ≥ 0`). This estimate
was previously inlined in the proof of `tendstoInDistribution_of_tendstoInMeasure_sub`; that
proof now calls the lemma (about 45 lines removed there), with no change to its statement.
## Proof idea
Test against a bounded `L`-Lipschitz `F` (oscillation `≤ M`). For any `k`, `δ`,
`|E F(U i) - E F(Z)| ≤ L δ + M P(δ ≤ dist (U i) (X k i)) + |E F(X k i) - E F(Y k)| + |E F(Y k) - E F(Z)|`.
Given `η > 0`, choose `δ` with `L δ < η/4`, then (using `l'.NeBot`) a single `k` for which the
last term is `< η/4` and `limsup_i P(δ ≤ dist (U i) (X k i)) < ε` with `M ε ≤ η/4`; for this `k`,
eventually in `i` the probability is `< ε` and the third term is `< η/4`.
## Relation to existing results
* Slutsky-type lemma `tendstoInDistribution_of_tendstoInMeasure_sub` is the special case
`X k = X`, `Y k = Z` (one prelimit space). The new theorem is more general in three ways: the
prelimit spaces `Ω i` may depend on `i` (matching the definition of `TendstoInDistribution`), the
approximating limits `Y k` live on their own spaces `Ωκ k`, and `E` only needs to be a separable
pseudometric space rather than a seminormed group. The statement and proof of the Slutsky lemma
are left as they are apart from extracting the comparison estimate; if reviewers prefer, it
could instead be derived from the new theorem (with `κ = Unit`, `l' = ⊤`).
* #37279 (multivariate CLT) also edits this file: it adds `:= by fun_prop` to
`forall_aemeasurable`, switches the `tendsto` field to `Measure.toProbabilityMeasure`, adds
`TendstoInDistribution.const_const`, removes some `set_option`s and adapts the proofs of
`congr`, `continuous_comp` and `tendstoInDistribution_of_ae_tendsto`. It contains nothing like the
approximation theorem. Its hunks are all above `TendstoInMeasure.tendstoInDistribution`, while
this PR inserts below it and edits the body of `tendstoInDistribution_of_tendstoInMeasure_sub`.
`git apply --check` of the #37279 hunks for this file on top of this branch succeeds (offset
only). The new proofs reach the `ProbabilityMeasure` coercion only through `simpa` and the
existing `tendstoInDistribution_iff_forall_integral_rclike_tendsto`, so they should not depend
on the representation that #37279 changes; this has not been compiled against #37279.
## Reference
P. Billingsley, *Convergence of Probability Measures*, 2nd ed., Wiley, 1999, Theorem 3.2.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
152/49 |
Mathlib/MeasureTheory/Function/ConvergenceInDistribution.lean |
1 |
4 |
['github-actions', 'lua-vr'] |
nobody |
10-56500 10 days ago |
10-59740 10 days ago |
10-59667 10 days |
0 |
| 45482 |
chenle02 author:chenle02 |
feat(Analysis/Distribution/SchwartzSpace): the Schwartz space on a finite-dimensional space is separable |
## What is proved
In `Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean`:
```lean
instance SchwartzMap.instSecondCountableTopology
{E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [NormedAddCommGroup F]
[NormedSpace ℝ F] [FiniteDimensional ℝ E] [SecondCountableTopology F] :
SecondCountableTopology 𝓢(E, F)
```
so `SeparableSpace 𝓢(E, F)` is found by instance search, for example for
`𝓢(EuclideanSpace ℝ (Fin d), ℂ)`, and in particular for `𝓢(ℝ, ℝ)`.
There are two supporting instances, both stated in general form:
```lean
-- Mathlib/Topology/Compactification/OnePoint/Basic.lean
instance OnePoint.instSecondCountableTopology [WeaklyLocallyCompactSpace X] [R1Space X]
[SecondCountableTopology X] : SecondCountableTopology (OnePoint X)
-- Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean
instance ContinuousMultilinearMap.instSecondCountableTopologyFin [FiniteDimensional 𝕜 E]
[SecondCountableTopology F] (n : ℕ) : SecondCountableTopology (E [×n]→L[𝕜] F)
```
## Proof idea
* For `f : 𝓢(E, F)`, the function `x ↦ ‖x‖ ^ k • iteratedFDeriv ℝ n f x` tends to `0` along
`cocompact E`, because it is bounded by `‖x‖⁻¹ * seminorm (k + 1) n f`. It therefore extends
by `0` to a continuous function on `OnePoint E`, and the sup norm of that extension is exactly
`SchwartzMap.seminorm ℝ k n f`.
* The resulting map `𝓢(E, F) →L[ℝ] Π (k, n), C(OnePoint E, E [×n]→L[ℝ] F)` is inducing,
because each Schwartz seminorm is the norm of one coordinate.
* Its target is second countable. `OnePoint E` is compact and second countable (new instance),
`E [×n]→L[ℝ] F` is second countable (new instance, proved by induction via currying from the
existing `E →L[𝕜] F` instance), and `ContinuousMap.instSecondCountableTopology` gives the rest.
## History of this PR
The first version of this PR proved only the case `E = ℝ`, by bounding each Schwartz seminorm
by the `L¹` norm of a derivative (`norm_le_integral_norm_deriv`, `derivCLM_pow_apply`). The
general argument above covers `E = ℝ`, so that `L¹` proof and its two auxiliary lemmas have
been removed. The file now depends only on `SchwartzSpace.Basic`, not on `SchwartzSpace.Deriv`
and the integration library.
## Follow-ups
* `ContinuousMultilinearMap.instSecondCountableTopologyFin` could be moved next to the
`E →L[𝕜] F` instance in `Mathlib/Analysis/Normed/Module/FiniteDimension.lean`, possibly in a
more general form (a `Fintype` index with finite-dimensional factors). It sits in this file for
now so that the PR does not trigger a rebuild of most of the analysis library.
* Consequences that need separability, for example for tempered distributions.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-analysis
new-contributor
LLM-generated
|
177/0 |
Mathlib.lean,Mathlib/Analysis/Distribution/SchwartzSpace/Separable.lean,Mathlib/Topology/Compactification/OnePoint/Basic.lean |
3 |
3 |
['github-actions', 'lua-vr'] |
nobody |
10-56406 10 days ago |
10-61978 10 days ago |
10-62636 10 days |
0 |
| 44906 |
yudukikun5120 author:yudukikun5120 |
feat(Archive): formalize negation in vector logic |
This adds a formalization of negation in Mizraji's two-valued vector logic to `Archive/VectorLogic.lean`, using mathlib's matrix and real-number APIs.
For two orthonormal real vectors `s` and `n` in an arbitrary finite-dimensional coordinate space, define `N = nsᵀ + snᵀ` and the logical identity `I₂ = ssᵀ + nnᵀ`. Prove that negation exchanges the truth vectors, exchanges the coefficients of their linear combinations, and satisfies `N * N = I₂`. Double negation fixes every linear combination of the truth vectors. The formalization also shows that negation annihilates vectors orthogonal to both, so it does not assert that `N²` is the ambient identity in higher dimension.
The definitions follow Eduardo Mizraji's *Vector logics: The matrix-vector representation of logical calculus* (1992), as reproduced in §4.2, equations (15)–(16), of his 2016 paper: https://doi.org/10.1387/theoria.13959.
---
This is a draft for feedback on whether this paper-specific formalization is suitable for `Archive`; its placement has not been agreed with maintainers.
Validation on macOS arm64 with Lean 4.35.0:
- `lake build Archive.VectorLogic`
- `lake exe lint-style Archive.VectorLogic`
- `lake exe mk_all --lib Archive --check`
- Separate local checks with a three-dimensional truth pair, including a counterexample to the ambient identity assertion.
AI disclosure: OpenAI Codex generated the implementation, proofs, and this PR description, and ran the local validation. The changes are marked as LLM-generated. This description does not claim completion of independent human review.
|
LLM-generated
new-contributor
t-data
|
102/0 |
Archive.lean,Archive/VectorLogic.lean |
2 |
3 |
['github-actions', 'yudukikun5120'] |
nobody |
10-50919 10 days ago |
25-308 25 days ago |
25-235 25 days |
0 |
| 45470 |
benpigchu author:benpigchu |
feat(Data): theorem about `List.splitBy` of `List.append` when `getLast` of the first list and `head` of the second list are related |
This PR add a theorem describing the behaviour of `List.splitBy` of `List.append` when the `ha` assumption in `List.splitBy_append` does not hold.
---
This theorem came from https://github.com/dwrensha/compfiles/blob/1745e6ced3e671bd74417548494b034eb2c87da8/Compfiles/Imo2022P1.lean#L148
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-data
new-contributor
|
59/0 |
Mathlib/Data/List/SplitBy.lean |
1 |
2 |
['github-actions'] |
nobody |
10-43292 10 days ago |
10-83944 10 days ago |
10-83871 10 days |
0 |
| 45053 |
tomaz1502 author:tomaz1502 |
feat(Analysis/Polynomial): the jump of a real rational function and the Cauchy index |
This PR defines `Polynomial.jumpVal p q x : ℤ`, the jump of the rational function `q / p` at a
point `x`: `1` if it goes from `-∞` to `+∞`, `-1` if it goes from `+∞` to `-∞`, and `0` otherwise.
The definition is algebraic: `q / p` changes sign at `x` exactly when
`rootMultiplicity x p - rootMultiplicity x q` is odd, and the direction of the jump is then
`signRight x (p * q)`. It develops the API of `jumpVal` needed for the Sturm–Tarski theorem:
* `jumpVal_of_eval_ne_zero`, `jumpVal_of_rootMultiplicity_le`: there is no jump where `q / p` has
no pole;
* `jumpVal_mul_mul`: a common factor of `p` and `q` does not change the jump;
* `jumpVal_mod`: `q` can be replaced by `q % p`;
* `jumpVal_C_mul`: scaling `q` by `c` scales the jump by `sign c`;
* `jumpVal_of_isCoprime`, `jumpVal_mul_one`: jumps of products of coprime polynomials;
* `jumpVal_derivative_mul`: at a root `x` of `p`, the jump of `derivative p * q / p` is
`sign (q.eval x)`. This is what links the Cauchy index to the signs of `q` at the roots of `p`.
It also defines `Polynomial.rootsInInterval p a b`, the distinct roots of `p` in `(a, b)`, and the
Cauchy index `Polynomial.cauchyIndex p q a b`, the sum of `jumpVal p q x` over those roots, with
a few basic lemmas (`cauchyIndex_zero_left`, `cauchyIndex_zero_right`, `cauchyIndex_C`,
`cauchyIndex_mul_mul`, `cauchyIndex_mod`, `cauchyIndex_C_mul`), which follow directly from the
corresponding `jumpVal` lemmas. The main results about the Cauchy index (its relation to sign
changes and to Tarski queries) will follow in the next PR of the series.
One small addition to existing files:
* `Polynomial.rootMultiplicity_C_mul` in `RingDivision.lean`: multiplying by a nonzero constant
does not change root multiplicities;
This is the fourth PR of a series formalising the Sturm-Tarski theorem, following #43783
(`List.signVariations`), #43954 (`Polynomial.sturmSeq`) and #44248 (`Polynomial.signRight`).
As in #44248, everything is stated over `ℝ` because `signRight` is; apart from `signRight`, the
proofs only use the algebra of polynomials over a field.
Co-authored-by: Pedro Saccomani <psaccomani15@gmail.com>
Co-authored-by: Sarah Pereira <sarahcomh@proton.me>
---
The definitions and the original proofs, ported from Wenda Li's Isabelle/AFP entry, were written
by hand. We used Claude to review the code, suggest improvements and help in the preparation
of the PR. |
new-contributor
t-analysis
awaiting-author
|
248/0 |
Mathlib.lean,Mathlib/Analysis/Polynomial/CauchyIndex.lean |
2 |
14 |
['github-actions', 'mathlib-splicebot', 'ocfnash', 'tomaz1502', 'vihdzp'] |
nobody |
10-29942 10 days ago |
10-73873 10 days ago |
9-42835 9 days |
0 |
| 45497 |
chenle02 author:chenle02 |
feat(MeasureTheory): tightness in separable Hilbert spaces |
This PR adds a tightness criterion for measures on a Hilbert space, stated with a Hilbert basis. It also adds the "tight + unique cluster point ⇒ convergence" step that usually follows Prokhorov's theorem.
**(A) Tightness in a Hilbert space.** New file `Mathlib/MeasureTheory/Measure/TightHilbert.lean`. Here `b : HilbertBasis ι ℝ E` and `S : Set (Measure E)`.
* `HilbertBasis.isCompact_closedBall_inter_iInter`: if `ε m → 0`, then
`closedBall 0 r ∩ ⋂ m, {x | ‖x - ∑ i ∈ s m, ⟪b i, x⟫ • b i‖ ≤ ε m}` is compact.
* `HilbertBasis.isTightMeasureSet_of_tendsto_measure`: `S` is tight if both of these hold:
- the norms are bounded in probability uniformly over `S`:
`Tendsto (fun r ↦ ⨆ μ ∈ S, μ {x | r < ‖x‖}) atTop (𝓝 0)`;
- for every `ε > 0`,
`Tendsto (fun s : Finset ι ↦ ⨆ μ ∈ S, μ {x | ε < ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖}) atTop (𝓝 0)`.
This needs no measurability assumption.
* `HilbertBasis.isTightMeasureSet_of_lintegral`: the second-moment version. It assumes
`⨆ μ ∈ S, ∫⁻ x, ‖x‖ₑ ^ 2 ∂μ ≠ ∞` and that the tails `⨆ μ ∈ S, ∫⁻ x, ‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ₑ ^ 2 ∂μ` tend to `0`.
* `HilbertBasis.isTightMeasureSet_of_lintegral_inner_sq_le`: for `[Countable ι]`, assume `∫⁻ x, ‖⟪b i, x⟫‖ₑ ^ 2 ∂μ ≤ c i` for all `μ ∈ S` and all `i`, with `∑' i, c i ≠ ∞`. Then `S` is tight.
* Supporting lemmas:
- `HilbertBasis.hasSum_inner_sq` (Parseval);
- `HilbertBasis.hasSum_indicator_inner_sq` and `HilbertBasis.tsum_indicator_enorm_inner_sq` (the tail outside `s` is `‖x - ∑ i ∈ s, ⟪b i, x⟫ • b i‖ ^ 2`);
- `HilbertBasis.completeSpace`;
- `HilbertBasis.countable` and `Orthonormal.countable` (in a separable space).
**(B) Tight + unique cluster point ⇒ convergence.**
* In `Prokhorov.lean`, for `E` T2 with its Borel σ-algebra:
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_forall_mapClusterPt`: if `{μ i | i}` is tight and every cluster point of `μ` along `l` equals `ν`, then `Tendsto μ l (𝓝 ν)`;
- `ProbabilityMeasure.exists_tendsto_of_isTightMeasureSet`: if `l` is `NeBot`, the family is tight and any two cluster points are equal, then the family converges.
* In `LevyConvergence.lean`:
- `TendstoInDistribution.of_isTightMeasureSet_of_forall_mapClusterPt`;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFunDual` (separable Banach space): a tight family whose `charFunDual` converge pointwise to that of `ν₀` converges to `ν₀`. This is the infinite-dimensional form of Lévy's theorem, where tightness has to be assumed;
- `ProbabilityMeasure.tendsto_of_isTightMeasureSet_of_tendsto_charFun` (complete separable inner product space; the same statement with `charFun`);
- `TendstoInDistribution.of_isTightMeasureSet_of_tendsto_charFunDual`.
**Proof idea.**
* (A): Fix `ε`.
- Pick `r` with `μ {r < ‖x‖} ≤ ε / 2` for all `μ ∈ S`.
- For each `m`, pick `s m` with `μ {1/(m+1) < dist(x, span (b '' s m))} ≤ δ m`, where `∑ δ m < ε / 2`.
- The resulting set `K` is closed. It is totally bounded: its points are within `δ / 2` of a bounded subset of a finite-dimensional subspace. Since `E` is complete, `K` is compact, and the union bound gives `μ Kᶜ ≤ ε`.
- The moment versions follow by Markov's inequality, Parseval and `lintegral_tsum`.
* (B): By Prokhorov (`isCompact_closure_of_isTightMeasureSet`), the closure of the family is compact. `IsCompact.tendsto_nhds_of_unique_mapClusterPt` then gives convergence. For the characteristic-functional corollaries, a cluster point has the limiting `charFunDual`, because `P ↦ ∫ probCharDual L ∂P` is continuous. `Measure.ext_of_charFunDual` then identifies the cluster point.
**Relation to existing Mathlib and open PRs.**
* `TightNormed.lean` treats proper and finite-dimensional spaces: tightness from norms, or from inner products against an orthonormal basis. In infinite dimensions closed balls are not compact, so those criteria do not apply; (A) is the infinite-dimensional analogue. I put it in a new file to keep `TightNormed.lean` (and its importers) free of the `l2Space` import.
* `ProbabilityMeasure.tendsto_of_tight_of_separatesPoints` (`LevyConvergence.lean`) is close to (B) but uses a separating subalgebra and a Polish space. (B) is the purely topological step: it needs only T2 and a Borel σ-algebra, works along any filter, and takes the cluster-point identification as a hypothesis.
* #45375 (refactor of the proof of Prokhorov's theorem) only changes the interior of `Prokhorov.lean`, up to the end of the `Forward` section. It contains neither (A) nor (B). The new lemmas here are appended after the `Backward` section, plus one docstring bullet. `git merge-tree` against the PR head reports a clean merge.
* #37279 (multivariate CLT) changes `TendstoInDistribution` to use `Measure.toProbabilityMeasure` and edits one line of `LevyConvergence.lean`. It contains neither (A) nor (B). The additions here are at the end of `LevyConvergence.lean` and already state the cluster-point hypothesis with `toProbabilityMeasure`; `git merge-tree` reports a clean merge.
* A search of open PRs found nothing else with a Hilbert-space tightness criterion or a "tight + unique cluster point" lemma.
**References.**
* Yu. V. Prokhorov, *Convergence of random processes and limit theorems in probability theory*, Theory Probab. Appl. 1 (1956).
* K. R. Parthasarathy, *Probability measures on metric spaces*, Academic Press (1967), Chapter VI (Probability measures in a Hilbert space).
* V. I. Bogachev, *Measure theory, Vol. II*, Springer (2007): Definition 8.6.1 (uniform tightness, p. 202); Theorem 8.6.2 (Prokhorov's theorem, p. 202); Example 8.6.5(i) (tightness from a uniform moment bound, p. 205); Theorem 8.6.7 (a uniformly bounded, uniformly tight family has compact closure in the weak topology, p. 206). This is the `[bogachev2007]` key cited in `TightHilbert.lean`.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
375/0 |
Mathlib.lean,Mathlib/MeasureTheory/Measure/LevyConvergence.lean,Mathlib/MeasureTheory/Measure/Prokhorov.lean,Mathlib/MeasureTheory/Measure/TightHilbert.lean |
4 |
2 |
['github-actions'] |
nobody |
10-8649 10 days ago |
10-56110 10 days ago |
10-56037 10 days |
0 |
| 45494 |
chenle02 author:chenle02 |
feat(MeasureTheory): the cylinder σ-algebra on the weak dual |
This PR adds `Mathlib/MeasureTheory/Constructions/WeakDual.lean`, which defines the cylinder σ-algebra on `WeakDual 𝕜 E` (the σ-algebra generated by the evaluations `T ↦ T x`) and proves that a finite measure for it is determined by its finite-dimensional marginals.
## Statements
The setting is the general one of `WeakDual`: `𝕜` a commutative topological semiring with `[MeasurableSpace 𝕜]`, and `E` a topological `𝕜`-module.
* `WeakDual.cylinderMeasurableSpace 𝕜 E : MeasurableSpace (WeakDual 𝕜 E)`, defined as `MeasurableSpace.comap (fun T x ↦ T x) MeasurableSpace.pi`. This mirrors the definition of the weak-* topology as an induced topology.
* `cylinderMeasurableSpace_eq_iSup`: it equals `⨆ x, MeasurableSpace.comap (fun T ↦ T x) ‹_›`.
* `measurable_cylinder_iff`: a map `f : α → WeakDual 𝕜 E` is measurable iff `fun a ↦ f a x` is measurable for every `x`. Also `measurable_eval_cylinder` and `measurable_coeFn_cylinder`.
* `cylinderMeasurableSpace_le_borel` (needs `[BorelSpace 𝕜]`): it is contained in `borel (WeakDual 𝕜 E)`. `cylinderMeasurableSpace_le` gives the same for any `OpensMeasurableSpace` structure.
* `ext_of_forall_finset_map_eq`: two measures `μ ν`, with `μ` finite, are equal if `μ.map (fun T (x : I) ↦ T x) = ν.map (fun T (x : I) ↦ T x)` for every `I : Finset E`.
* `map_eq_iff_forall_finset_map_eq`: two a.e.-measurable random elements `X : Ω → WeakDual 𝕜 E` and `Y : Ω' → WeakDual 𝕜 E` (under a finite `P` and `P'`) have the same law iff they have the same finite-dimensional laws. This is the analogue of `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes.
* `cylinderMeasurableSpace_eq_comap_of_denseRange` (needs `[FrechetUrysohnSpace E] [PseudoMetrizableSpace 𝕜] [BorelSpace 𝕜]`): for any `d : ι → E` with `DenseRange d`, the σ-algebra is `comap (fun T i ↦ T (d i)) pi`.
* `ext_of_forall_finset_map_eq_of_denseRange`: under the same hypotheses, it is enough to compare finite-dimensional marginals along `d`.
* `countablyGenerated_cylinderMeasurableSpace`: if in addition `E` is separable and `𝕜` is countably generated, then the cylinder σ-algebra is countably generated.
## Design: a `def`, not an instance
The measurable structure of a topological type in Mathlib is normally its Borel σ-algebra, and lemmas such as `Continuous.measurable` rely on `OpensMeasurableSpace`. On `WeakDual 𝕜 E` the cylinder σ-algebra is contained in the Borel σ-algebra, but the two are different in general. Equality needs extra hypotheses, for instance E separable Fréchet/nuclear, and that is not proved here. A global instance would therefore close off the Borel choice for every user of `WeakDual`. So the σ-algebra is a `def` marked `@[instance_reducible]`, in the same way as `borel` and `cylinderEvents`, and users enable it with `attribute [local instance] WeakDual.cylinderMeasurableSpace`.
This adds no global instance and creates no diamond. `WeakDual` is a non-reducible `def`, so the norm-Borel instance `ContinuousLinearMap.instMeasurableSpace` on `E →L[𝕜] F` (for normed `E`) does not apply to it. I checked that `MeasurableSpace (WeakDual ℝ ℝ)` still fails to synthesize after importing that file. A downstream project that wants an instance can set `instance : MeasurableSpace (WeakDual 𝕜 E) := WeakDual.cylinderMeasurableSpace 𝕜 E` on its own type synonym. Projects that do this all get the same σ-algebra.
## Proof idea
The coercion `F : T ↦ (x ↦ T x)` generates the σ-algebra by definition. Hence `μ.map F` and `ν.map F` are both projective limits of the same family of finite-dimensional laws, and `IsProjectiveLimit.unique` makes them equal. Every measurable set has the form `F ⁻¹' t`, so `μ = ν` follows. For the dense-range version, `T x` is the limit of `T (d (j n))` along a sequence (Fréchet–Urysohn, and each `T` is continuous), so `measurable_of_tendsto_metrizable` shows that the evaluations along `d` already generate the σ-algebra.
## Prior art
* Two projects outside Mathlib already define this σ-algebra, each as a global instance:
* mrdouglasny/gaussian-field defines `instMeasurableSpaceConfiguration` on `Configuration E := WeakDual ℝ E` as `comap (fun ω f ↦ ω f) pi`. It proves `configuration_measurable_of_eval_measurable` and, for Gaussian measures, `pushforward_eq_of_eval_eq`.
* mrdouglasny/bochner (`Minlos/NuclearSpace.lean`) defines an instance on `WeakDual ℝ E` as `⨆ f, (borel ℝ).comap (· f)`.
These two definitions are not defeq, so importing both projects fails to synthesize instances; gaussian-field's notes record this. A shared definition in Mathlib avoids that diamond. No code was taken from either project.
* Mathlib has `cylinderEvents` and `measurableCylinders` on product types, and `ProbabilityTheory.map_eq_iff_forall_finset_map_restrict_eq` for processes. Neither covers `WeakDual`, and Mathlib has no `MeasurableSpace` on `WeakDual`, `WeakBilin` or `WeakSpace`.
* Open PRs: a search for WeakDual measurable, cylinder, Minlos, nuclear, "random distribution" and "measure on dual" found no overlapping PR. #42278 (nuclear spaces) touches no measurable structure on duals, but it would be a natural input to a later Minlos theorem. #44909 (Kolmogorov extension) covers existence on product spaces, so it complements the uniqueness result here.
* Zulip could only be searched through the public web archive, which showed no prior thread.
## Follow-ups
* The Bochner–Minlos theorem on duals of nuclear spaces, stated for this σ-algebra.
* Borel = cylinder on `WeakDual 𝕜 E` under suitable separability hypotheses (e.g. separable Fréchet `E`). This would allow a `BorelSpace` statement for the cylinder σ-algebra.
* Tempered distributions: once the `SeparableSpace 𝓢(ℝ, ℝ)` instance (#45482) lands, `countablyGenerated_cylinderMeasurableSpace` and `ext_of_forall_finset_map_eq_of_denseRange` apply directly to `WeakDual ℝ 𝓢(ℝ, ℝ)`. `SchwartzMap` is already first-countable on master.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
245/0 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/WeakDual.lean |
2 |
2 |
['github-actions'] |
nobody |
10-8628 10 days ago |
10-58082 10 days ago |
10-58009 10 days |
0 |
| 45487 |
chenle02 author:chenle02 |
feat(Probability/Distributions/Poisson): higher moments of the Poisson distribution |
This PR adds a new file `Mathlib/Probability/Distributions/Poisson/Moments.lean` with the
moments of the Poisson distribution `poissonMeasure r`, `r : ℝ≥0`.
Main statements (namespace `ProbabilityTheory`):
* `hasSum_mul_descFactorial_poissonMeasure` and `integral_descFactorial_poissonMeasure`:
the factorial moments, `∫ n, (n.descFactorial k : ℝ) ∂Po(r) = r ^ k`.
* `integrable_exp_mul_map_cast_poissonMeasure`, `integrableExpSet_id_map_cast_poissonMeasure`:
`x ↦ exp (t * x)` is integrable for every `t`, so `integrableExpSet id Po(ℝ, r) = univ`.
* `memLp_id_map_cast_poissonMeasure (p : ℝ≥0) : MemLp id p Po(ℝ, r)` and
`integrable_pow_map_cast_poissonMeasure : Integrable (fun x ↦ x ^ k) Po(ℝ, r)`.
* `hasSum_mul_pow_poissonMeasure` and `integral_pow_map_cast_poissonMeasure`: the raw moments are
the Touchard polynomials, `∫ x, x ^ k ∂Po(ℝ, r) = ∑ j ∈ range (k + 1), S(k, j) * r ^ j` with
`S(k, j) = Nat.stirlingSecond k j`.
* `integral_id_map_cast_poissonMeasure : ∫ x, x ∂Po(ℝ, r) = r`
* `integral_pow_two_map_cast_poissonMeasure : ∫ x, x ^ 2 ∂Po(ℝ, r) = r ^ 2 + r`
* `integral_pow_three_map_cast_poissonMeasure : ∫ x, x ^ 3 ∂Po(ℝ, r) = r ^ 3 + 3 * r ^ 2 + r`
* `integral_pow_four_map_cast_poissonMeasure :
∫ x, x ^ 4 ∂Po(ℝ, r) = r ^ 4 + 6 * r ^ 3 + 7 * r ^ 2 + r`
* `variance_id_map_cast_poissonMeasure : Var[id; Po(ℝ, r)] = r`
* `centralMoment_three_map_cast_poissonMeasure : centralMoment id 3 Po(ℝ, r) = r`
* `centralMoment_four_map_cast_poissonMeasure : centralMoment id 4 Po(ℝ, r) = 3 * r ^ 2 + r`
Proof idea: the factorial moment sum is reindexed by `n ↦ n + k` (the first `k` terms vanish)
and becomes `r ^ k` times the total mass of `Po(r)`. Writing `n ^ k` in terms of falling factorials
with `Nat.pow_eq_sum_stirlingSecond_mul_descFactorial` gives the general raw moment; the moments
of order 1 to 4 are its special cases. The central moments follow by expanding `(x - r) ^ j` into
raw moments, adding the corresponding `HasSum` statements and `ring`. Integrability comes from finiteness
of the moment generating function via `memLp_of_mem_interior_integrableExpSet`.
---
Relation to #33688: that PR adds `HasSum`/`tsum` expectation lemmas for the old `poissonPMF` /
`poissonPMFReal` API in `Mathlib/Probability/Distributions/Poisson.lean`. Those declarations
and that file are no longer on master (the distribution is now `poissonMeasure` in
`Poisson/Basic.lean`), and #33688 is labelled `merge-conflict` / `awaiting-author`. This PR
states the mean at the level of `poissonMeasure` in the same style as `integral_id_binomial`
and `integral_id_gaussianReal`; it does not depend on #33688 and touches different files.
AI tools (Claude and Codex) were used to port and adapt this proof to Mathlib; the author reviewed it.
|
t-measure-probability
new-contributor
LLM-generated
|
187/0 |
Mathlib.lean,Mathlib/Probability/Distributions/Poisson/Moments.lean |
2 |
2 |
['github-actions'] |
nobody |
10-8620 10 days ago |
10-56038 10 days ago |
10-58695 10 days |
0 |
| 44613 |
keithadler author:keithadler |
feat(RepresentationTheory): irreducible representations are bounded by conjugacy classes |
For a finite group `G` and an algebraically closed field `k` in which `|G|` is invertible, `Representation.char_orthonormal` gives orthogonality of irreducible characters. This PR adds the consequence that is used in practice:
* `Representation.classFunction ρ : ConjClasses G → k`, the character as a class function;
* `Representation.linearIndependent_classFunction`: the class functions of a family of pairwise non-isomorphic irreducible representations are linearly independent;
* `Representation.card_le_card_conjClasses`: such a family has at most `Nat.card (ConjClasses G)` members.
This is the upper-bound half of "the number of irreducible representations equals the number of conjugacy classes" (the other half, that characters span the class functions, is not yet in Mathlib). The bound is exactly what is needed to show that an explicit list of `Nat.card (ConjClasses G)` pairwise non-isomorphic irreducibles is complete; e.g. with the companion PR on conjugacy classes of `Perm α`, that the Specht modules exhaust the irreducible representations of `S_n` (used downstream in https://github.com/keithadler/saxl-lean).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
|
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
118/0 |
Mathlib.lean,Mathlib/RepresentationTheory/CharacterCount.lean |
2 |
3 |
['artie2000', 'github-actions'] |
nobody |
9-77198 9 days ago |
32-68337 32 days ago |
32-68264 32 days |
0 |
| 45420 |
PSchwahn author:PSchwahn |
feat(Algebra): define sets of finite products in a magma |
This PR adds a file `Algebra/Products.lean` containing declarations about products of tuples of elements in a magma, together with some basic API. We plan to expand on this later. Ultimately we plan to use these to prove results about [Leibniz algebras](https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Leibniz.20algebras/with/598438796).
We note that `Fin.prod` (from `Batteries.Data.Fin.Basic`) provides a similar functionality as our declaration `OrderedLeftProduct`. However `Fin.prod` requires a multiplicative unit on the magma and it associates the products to the right, whereas `OrderedLeftProduct` is associated to the left and works for any magma. This will become important because we work with non-associative operations and in the future would like to align with the literature (e.g. on Leibniz algebras).
Co-authored by: Viviana del Barco, Gustavo Infanti, Artem Lopatin, Exequiel Rivas
---
|
t-algebra
new-contributor
label:t-algebra$ |
162/0 |
Mathlib.lean,Mathlib/Algebra/Products.lean |
2 |
2 |
['github-actions'] |
nobody |
9-67698 9 days ago |
11-70327 11 days ago |
11-70254 11 days |
0 |
| 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).
---
<!-- The text above the `---` will become the commit message when your
PR is merged. Please leave a blank newline before the `---`, otherwise
GitHub will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-topology
new-contributor
awaiting-author
|
112/22 |
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 |
9-66087 9 days ago |
345-81199 345 days ago |
8-10488 8 days |
0 |
| 45514 |
PSchwahn author:PSchwahn |
feat(Logic/Equiv/Fin/Basic): extension/deletion operations on permutations on `Fin n` |
Add basic operations on permutations on `Fin n`:
- `Fin.Perm.castSucc`: extend a permutation on `Fin n` to one on `Fin (n + 1)` in the obvious way.
- `Fin.Perm.removeNth`: removes a given position in a permutation on `Fin (n + 1)`, and collapses the domain and range to `Fin n`. Useful in conjunction with `Fin.succAbove`.
Along this, add some API theorems:
- `removeNth_of_castSucc_lt₁`, `removeNth_of_castSucc_lt₂`, `removeNth_of_le_castSucc₁` and `removeNth_of_le_castSucc₂` are analogous to [Fin.succAbove_of_castSucc_lt](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_castSucc_lt) resp. [Fin.succAbove_of_le_castSucc](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove_of_le_castSucc).
- `succAbove_removeNth` shows how `Fin.Perm.removeNth` interacts with [Fin.succAbove](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/Fin/SuccPred.html#Fin.succAbove).
- `castSucc_zero` and `castSucc_succ` are simp lemmas for `Fin.Perm.castSucc`.
--- |
new-contributor
t-logic
|
130/0 |
Mathlib/Logic/Equiv/Fin/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
9-61687 9 days ago |
9-61746 9 days ago |
9-61673 9 days |
0 |
| 43104 |
elazarg author:elazarg |
feat(InformationTheory/KullbackLeibler): finite Kullback-Leibler divergence |
Add finite-sum formulas for `InformationTheory.klDiv` on finite measurable spaces, including equal-mass and probability-measure specializations and formulas for sums of weighted Dirac measures. Provide both `ℝ≥0∞`-valued and `toReal` versions.
Supporting API includes a formula for the Radon–Nikodym derivative at points of nonzero reference-measure mass, a finite-sum formula for the integral of the log-likelihood ratio, and singleton-mass and absolute-continuity lemmas for sums of weighted Dirac measures.
---
Continuing #42584, another part of https://github.com/elazarg/kraft.
Following review, this uses the existing `klDiv` instead of introducing `klDivFin`. The `toReal` formulas connect it to real-valued sums in downstream code.
For measures of unequal mass, the formulas retain the correction term `ν.real univ - μ.real univ`.
The KL formulas are in `KullbackLeibler/Basic.lean`; the supporting lemmas are in the corresponding measure-theory modules.
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
new-contributor
LLM-generated
|
100/1 |
Mathlib/InformationTheory/KullbackLeibler/Basic.lean,Mathlib/MeasureTheory/Measure/Decomposition/RadonNikodym.lean,Mathlib/MeasureTheory/Measure/Dirac/Basic.lean,Mathlib/MeasureTheory/Measure/LogLikelihoodRatio.lean |
4 |
9 |
['EtienneC30', 'elazarg', 'github-actions', 'vlad902'] |
urkud assignee:urkud |
9-50455 9 days ago |
56-69844 56 days ago |
65-50452 65 days |
0 |
| 45522 |
EzequielS2 author:EzequielS2 |
feat: add the Grigorchuk group |
Add generators, relations, level stabilizers, and infiniteness of G
---
- [ ] depends on: #45521 |
t-geometric-group-theory
blocked-by-other-PR
new-contributor
|
1666/0 |
Mathlib.lean,Mathlib/Geometry/Group/Grigorchuk/Basic.lean,Mathlib/Geometry/Group/InfiniteBinaryTree.lean |
3 |
3 |
['github-actions', 'mathlib-dependent-issues'] |
nobody |
9-40450 9 days ago |
9-49258 9 days ago |
0-51 51 seconds |
2 |
| 43577 |
javgomzar author:javgomzar |
chore(Order/BooleanAlgebra): Add push tags |
Add push tags to some lemmas in Mathlib/Order/BooleanAlgebra/Set.lean
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-order
new-contributor
merge-conflict
|
19/4 |
Mathlib/Order/BooleanAlgebra/Set.lean |
1 |
5 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-29388 9 days ago |
9-29389 9 days ago |
52-39990 52 days |
0 |
| 44955 |
user202729 author:user202729 |
chore: change all occurrences of equational lemma to equation lemma |
Change all occurrences of "equational lemma" to "equation lemma". Also add a missing apostrophe.
---
As far as I can tell, both are grammatical: the "equation" in "equation lemma" is a noun adjunct, while "equational" is an adjective. It feels like noun adjunct is "more advanced English" though.
Before this pull request: ("equation lemma" is more popular than "equational lemma")
```
[mathlib4]$ rg 'equational lemma'|wc -l
10
[mathlib4]$ rg 'equation lemma'|wc -l
31
[mathlib4]$ rg 'equational theorem'|wc -l
6
[mathlib4]$ rg 'equation theorem'|wc -l
2
```
and in Lean: (same, but only slightly)
```
[lean4]$ rg 'equational lemma'|wc -l
16
[lean4]$ rg 'equation lemma'|wc -l
20
[lean4]$ rg 'equational theorem'|wc -l
85
[lean4]$ rg 'equation theorem'|wc -l
38
```
Not sure if it's worth unifying the theorem case (probably yes. But in this case, apparently "equational theorem" is more popular than "equation theorem".), and/or unify lemma and theorem (probably not, mathlib distinguishes lemmas and theorems).
|
new-contributor |
10/10 |
Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean,Mathlib/CategoryTheory/Limits/Final.lean,Mathlib/CategoryTheory/Sites/CoversTop/Basic.lean,Mathlib/CategoryTheory/Sites/Hypercover/One.lean,Mathlib/Data/Nat/Fib/Zeckendorf.lean,Mathlib/Tactic/Eqns.lean,Mathlib/Tactic/Translate/ToAdditive.lean,docs/Conv/Guide.lean |
9 |
4 |
['SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
9-14920 9 days ago |
9-14969 9 days ago |
18-60460 18 days |
0 |
| 42895 |
cameronfreer author:cameronfreer |
feat(SetTheory/Ordinal): add lift_sSup and lift_iSup |
Show that an initial segment embedding between conditionally complete linear orders with bottom preserves bounded suprema (`InitialSeg.map_sSup`, `InitialSeg.map_iSup`). Specializing to `Ordinal.liftInitialSeg` gives `Ordinal.lift_sSup`, `Ordinal.lift_iSup`, `Ordinal.lift_iSup_le` and `Ordinal.lift_iSup_le_iff`.
These take an explicit boundedness hypothesis; in particular, `lift_iSup` assumes `BddAbove (Set.range f)` rather than requiring the index type to be small.
---
🤖 This PR was developed with assistance from Claude and GPT models, using [lean4-skills](https://github.com/cameronfreer/lean4-skills) and [lean-lsp-mcp](https://github.com/oOo0oOo/lean-lsp-mcp).
|
t-set-theory
new-contributor
LLM-generated
awaiting-author
|
40/0 |
Mathlib/Order/IsNormal.lean,Mathlib/SetTheory/Ordinal/Family.lean |
2 |
14 |
['cameronfreer', 'github-actions', 'plp127', 'vihdzp'] |
jjdishere assignee:jjdishere |
8-80756 8 days ago |
8-80756 8 days ago |
74-9516 74 days |
0 |
| 41426 |
gmcninch-prof author:gmcninch-prof |
feat: add symmetric multilinear maps |
Define `SymmetricMap R M N ι`, the type of symmetric `R`-multilinear maps
from `ι → M` to `N` (i.e. multilinear maps invariant under permutation of
their arguments).
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
The code is adapted from Kenny Lau's work
[here](https://github.com/kckennylau/EllipticCurve/blob/master/EllipticCurve/ProjectiveSpace/TensorProduct/SymmetricMap.lean)
-- see [`SymmetricMap`](https://github.com/gmcninch-prof/mathlib4/blob/symmetric-power-lift/Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean).
This PR previously also contained the universal property / `lift` for
`SymmetricPower` (relating linear maps out of `Sym[R]^n M` to symmetric
multilinear maps), but per reviewer feedback on Zulip that work has been
split into a separate PR that depends on this one.
Zulip discussion [here](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/SymmetricPower.20universal.20property/near/608532652)
[](https://gitpod.io/from-referrer/)
|
t-algebra
new-contributor
label:t-algebra$ |
397/0 |
Mathlib.lean,Mathlib/LinearAlgebra/TensorProduct/SymmetricMap.lean |
2 |
10 |
['github-actions', 'gmcninch-prof', 'jcommelin'] |
riccardobrasca assignee:riccardobrasca |
8-50462 8 days ago |
119-68307 119 days ago |
121-36536 121 days |
1 |
| 44822 |
William7743 author:William7743 |
feat(Geometry/Euclidean/Inversion): affine limits and filter identities |
Adds filter-level limit and continuity lemmas for `EuclideanGeometry.inversion` in
`Geometry/Euclidean/Inversion/Basic.lean`:
* `not_continuousAt_inversion_center_of_neBot` — nonzero-radius inversion is
discontinuous at a non-isolated center (`[NeBot (𝓝[≠] c)]`).
* `continuousAt_inversion_iff` — inversion is continuous at `x` iff `x ≠ c ∨ R = 0`.
* `tendsto_inversion_cobounded_nhds_center` /
`tendsto_inversion_cobounded_nhdsNE_center` — as the argument tends to infinity,
inversion tends to the center, resp. its punctured neighborhood for nonzero radius.
* `map_inversion_cobounded` / `map_inversion_nhdsNE_center` — for nonzero radius,
inversion pushes the cobounded filter exactly to `𝓝[≠] c` and back, via its
involutivity.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
|
t-euclidean-geometry
LLM-generated
new-contributor
|
53/0 |
Mathlib/Geometry/Euclidean/Inversion/Basic.lean |
1 |
6 |
['SnirBroshi', 'William7743', 'github-actions'] |
jsm28 assignee:jsm28 |
8-50458 8 days ago |
9-33101 9 days ago |
9-35060 9 days |
0 |
| 42630 |
will1491 author:will1491 |
feat(Analysis/Complex): define Wirtinger derivatives |
Define the Wirtinger derivatives `Complex.wirtingerDeriv` and `Complex.wirtingerDerivBar` from `fderiv ℝ`, and prove: the Cauchy-Riemann characterization of complex differentiability (pointwise and on open sets), agreement of `wirtingerDeriv` with `deriv` for holomorphic functions, additivity, Leibniz product rules, conjugation identities, both Wirtinger chain rules, and the Wirtinger decomposition of a real-linear map `ℂ →L[ℝ] ℂ`.
Extracted from https://github.com/will1491/RiemannDynamics, where it underlies the Beltrami-equation and Cauchy/Beurling-transform theory used in the proof of the measurable Riemann mapping theorem.
---
<!-- Your PR title will become the first line of the commit message.
In this box, the text above the `---` (if not empty) will be appended
to the commit message, and can be used to give additional context or
details. Please leave a blank newline before the `---`, otherwise GitHub
will format the text above it as a title.
For details on the "pull request lifecycle" in mathlib, please see:
https://leanprover-community.github.io/contribute/index.html
In particular, note that most reviewers will only notice your PR
if it passes the continuous integration checks.
Please ask for help on https://leanprover.zulipchat.com if needed.
When merging, all the commits will be squashed into a single commit
listing all co-authors.
Co-authors in the squash commit are gathered from two sources:
First, all authors of commits to this PR branch are included. Thus,
one way to add co-authors is to include at least one commit authored by
each co-author among the commits in the pull request. If necessary, you
may create empty commits to indicate co-authorship, using commands like so:
git commit --author="Author Name <author@email.com>" --allow-empty -m "add Author Name as coauthor"
Second, co-authors can also be listed in lines at the very bottom of
the commit message (that is, directly before the `---`) using the following format:
Co-authored-by: Author Name <author@email.com>
If you are moving or deleting declarations, please include these lines
at the bottom of the commit message (before the `---`, and also before
any "Co-authored-by" lines) using the following format:
Moves:
- Vector.* -> List.Vector.*
- ...
Deletions:
- Nat.bit1_add_bit1
- ...
Any other comments you want to keep out of the PR commit should go
below the `---`, and placed outside this HTML comment, or else they
will be invisible to reviewers.
If this PR depends on other PRs, please list them below this comment,
using the following format:
- [ ] depends on: #abc [optional extra text]
- [ ] depends on: #xyz [optional extra text]
-->
[](https://gitpod.io/from-referrer/)
|
t-analysis
new-contributor
|
253/0 |
Mathlib.lean,Mathlib/Analysis/Complex/Wirtinger.lean |
2 |
6 |
['Maldooor', 'github-actions', 'mathlib-merge-conflicts', 'will1491'] |
felixpernegger assignee:felixpernegger |
8-29393 8 days ago |
59-64037 59 days ago |
90-39086 90 days |
0 |
| 44632 |
skwh54 author:skwh54 |
feat(RingTheory): prove semiprimary rings are closed under opposites |
This PR proves that a ring is semiprimary if and only if its opposite ring is semiprimary, resolving the three proof_wanted declarations in Wanted/RingTheory/SimpleModule/WedderburnArtin.lean.
It adds the required Jacobson radical symmetry and quotient-ring equivalence, and includes the Artinian/Noetherian consequence as an example in MathlibTest.
The Jacobson radical symmetry proof is adapted from [Haruhisa Enomoto's Lean 3 formalization](https://github.com/haruhisa-enomoto/lean-noncommutative-ring/blob/master/src/nc_jacobson_ideal.lean).
This PR was created with assistance from Codex. |
file-removed
t-ring-theory
new-contributor
LLM-generated
|
174/21 |
Mathlib.lean,Mathlib/Algebra/Ring/Units.lean,Mathlib/RingTheory/Jacobson/Opposite.lean,Mathlib/RingTheory/SimpleModule/WedderburnArtin.lean,MathlibTest/JacobsonOpposite.lean,Wanted.lean,Wanted/RingTheory/SimpleModule/WedderburnArtin.lean |
7 |
6 |
['github-actions', 'skwh54', 'tb65536'] |
nobody |
8-20745 8 days ago |
16-79381 16 days ago |
32-14446 32 days |
0 |
| 43280 |
idontgetoutmuch author:idontgetoutmuch |
feat(Topology/VectorBundle): coordinate lemmas for the bundle of bilinear forms |
Coordinate lemmas for bundles of continuous linear maps.
Bundle.Trivialization.continuousLinearMap_symm_apply, hom_trivializationAt_symm_apply: the inverse of the trivialization of the bundle fun x ↦ E₁ x →SL[σ] E₂ x sends a model map L to v ↦ e₂⁻¹ (L (e₁ v)).
inCoordinates_apply_eq₂_of_trivial: inCoordinates_apply_eq₂ when the target bundle is trivial.
trivializationAt_symm_apply_bilin: the same for bilinear maps into a fixed space, deduced from hom_trivializationAt_symm_apply.
Motivation: in #33714 (existence of a Riemannian metric), the local metric is defined as the inverse trivialization applied to the inner product on the model fibre, and trivializationAt_symm_apply_bilin rewrites it as ⟪e u, e v⟫, from which symmetry and positivity follow. This PR is the first piece split out of #33714, which will be rebased on it. |
t-topology
new-contributor
|
68/20 |
Mathlib/Topology/VectorBundle/Hom.lean,Mathlib/Topology/VectorBundle/Riemannian.lean |
2 |
29 |
['github-actions', 'grunweg', 'idontgetoutmuch'] |
grunweg assignee:grunweg |
8-16827 8 days ago |
8-16872 8 days ago |
65-39031 65 days |
0 |
| 43758 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the Redheffer determinant equals the Mertens function |
This PR adds the zeta (divisibility) matrix, the Redheffer matrix and the Mertens function, and proves **Redheffer's theorem** (1977): the determinant of the `(n+1) × (n+1)` Redheffer matrix equals the Mertens function `M(n+1) = ∑_{k ≤ n+1} μ(k)`.
In `Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean`:
- `ArithmeticFunction.sum_divisors_moebius (k) : ∑ d ∈ k.divisors, μ d = if k = 1 then 1 else 0`, the pointwise form of `moebius_mul_coe_zeta`.
New file `Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean`:
- `ArithmeticFunction.mertens : ArithmeticFunction ℤ`, the summatory function of `μ`, with `mertens_apply : mertens n = ∑ k ∈ Icc 1 n, μ k`, `mertens_one`, `mertens_add_one` and `mertens_eq_sum_fin` (the `0`-based form `∑ i : Fin n, μ (i + 1)` used on the matrix side);
- `Matrix.zetaMatrix R n : Matrix (Fin n) (Fin n) R` for any `R` with `0` and `1` (entry `1` iff `i + 1 ∣ j + 1`), with `zetaMatrix_apply` (simp), `zetaMatrix_isUpperTriangular` and, for `CommRing R`, `det_zetaMatrix : det = 1` and `det_zetaMatrix_updateCol : det (updateCol 0 u) = ∑ j, μ (j + 1) * u j` (the first row of the inverse is `(μ 1, …, μ n)`);
- `Matrix.redheffer R n` (the zeta matrix with its first column set to ones), with `redheffer_apply` (simp) and `redheffer_eq_updateCol`;
- `Matrix.det_redheffer (n) : (redheffer R (n + 1)).det = mertens (n + 1)` for any `CommRing R` (with `mertens` cast into `R`).
The remaining declarations (the row vector `(μ 1, …, μ n)`, the reindexing of a `Fin n`-sum over divisibility as a sum over `m.divisors`, and three intermediate steps) are `private`: they are proof scaffolding, not API.
Proof sketch: by linearity of `det` in the first column, `det (redheffer R (n+1)) = det (zetaMatrix R (n+1)) + det (zetaMatrix with first column (0,1,…,1))`. The first term is `1`; by Cramer's rule (`det_smul_inv_mulVec_eq_cramer`) the second is the first row of the inverse of the zeta matrix dotted with `(0,1,…,1)`, and that row is `(μ 1, …, μ (n+1))` because `μ * ζ = 1` (`moebius_mul_coe_zeta`, via `sum_divisors_moebius`). The remaining sum `μ 2 + ⋯ + μ (n+1)` is `mertens (n+1) - 1`.
The ring `R` is an explicit argument of `zetaMatrix` and `redheffer` since nothing else determines it. Neither the Mertens function nor the Redheffer matrix currently appear in Mathlib. The new file imports only `LinearAlgebra.Matrix.Block` and `NumberTheory.ArithmeticFunction.Moebius`. References added to `docs/references.bib`: `redheffer1977` (the theorem) and `odlyzko1985` (cited in the module docstring for the disproof of the Mertens conjecture).
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before each push.
|
t-number-theory
new-contributor
LLM-generated
|
238/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,docs/references.bib |
4 |
17 |
['MichaelStollBayreuth', 'Parcly-Taxel', 'github-actions', 'joelcanary', 'mathlib-merge-conflicts', 'wwylele'] |
MichaelStollBayreuth assignee:MichaelStollBayreuth |
8-6234 8 days ago |
8-6289 8 days ago |
57-16043 57 days |
2 |
| 43884 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the gcd matrix and Smith's determinant |
This PR adds the GCD matrix `Matrix.gcdMatrix n f` (entry `f (gcd (i + 1) (j + 1))`) and proves **Smith's determinant** (1875): if `f m = ∑ d ∈ m.divisors, g d` for every `m ≥ 1` (i.e. `f = g * ζ` as arithmetic functions), then `det (gcdMatrix n f) = ∏ i, g (i + 1)`, over any commutative ring (`Matrix.det_gcdMatrix`). The classical case `det [gcd (i, j)] = φ 1 * φ 2 * ⋯ * φ n` is `Matrix.det_gcdMatrix_id`, from `Nat.sum_totient`.
Proof: the factorisation `gcdMatrix n f = Zᵀ * (D * Z)` (`Matrix.gcdMatrix_eq_transpose_mul_mul`) with `Z = zetaMatrix R n` from #43758 and `D = diagonal (g (i + 1))`; entry-wise this is `∑ k, [k + 1 ∣ i + 1] [k + 1 ∣ j + 1] g (k + 1) = ∑ d ∣ gcd (i + 1) (j + 1), g d`, obtained from the reindexing lemma of #43880 with `a = 1` and `Nat.dvd_gcd_iff` (`Nat.sum_fin_dvd_dvd_eq_sum_divisors_gcd`). Then `det Z = 1` (`Matrix.det_zetaMatrix`) and `det_diagonal`.
New file `Mathlib/NumberTheory/ArithmeticFunction/Smith.lean`, importing `Data.Nat.Totient` and `NumberTheory.ArithmeticFunction.ZetaMatrixInv`; `docs/references.bib` gets `smith1875`. The divisor-function instances are included as one-line corollaries: `Matrix.det_gcdMatrix_sigma` (`det [σ k (gcd i j)] = ∏ (i + 1) ^ k`, so `n!` for `k = 1`) and `Matrix.det_gcdMatrix_card_divisors` (`det [τ (gcd i j)] = 1`). The LCM matrix is left for a follow-up.
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction, from a proof in my own project; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style`, `lake exe runLinter` and `scripts/lint-bib.sh` before pushing.
- [ ] depends on: #43880
|
t-number-theory
LLM-generated
new-contributor
blocked-by-other-PR
|
531/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,Mathlib/NumberTheory/ArithmeticFunction/Smith.lean,Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean,docs/references.bib |
6 |
6 |
['github-actions', 'joelcanary', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-6166 8 days ago |
53-68306 53 days ago |
0-243 4 minutes |
0 |
| 43880 |
joelcanary author:joelcanary |
feat(NumberTheory/ArithmeticFunction): the inverse of the zeta matrix is the Möbius matrix |
This PR adds the Möbius matrix `Matrix.moebiusMatrix R n` (entry `μ ((j + 1) / (i + 1))` when `i + 1 ∣ j + 1`, else `0`, over any `R` with `0` and an `IntCast`) and proves that it is the two-sided inverse of the zeta (divisibility) matrix of #43758 over any commutative ring: `Matrix.moebiusMatrix_mul_zetaMatrix`, `Matrix.zetaMatrix_mul_moebiusMatrix`, `Matrix.zetaMatrix_inv : (zetaMatrix R n)⁻¹ = moebiusMatrix R n`, `Matrix.moebiusMatrix_inv`, and `Matrix.det_moebiusMatrix : det = 1`. This is Möbius inversion (`μ * ζ = 1`) written for the matrices of the truncated Dirichlet convolution on `{1, …, n}`.
Proof: the `(i, j)` entry of the product is `∑ k, [i + 1 ∣ k + 1] μ ((k + 1) / (i + 1)) [k + 1 ∣ j + 1]`; for `i + 1 ∣ j + 1` the `k` with `i + 1 ∣ k + 1 ∣ j + 1` are reindexed to the divisors of `(j + 1) / (i + 1)` (`Nat.sum_fin_dvd_dvd_eq_sum_divisors`, for any `AddCommMonoid`) and the sum is `ArithmeticFunction.sum_divisors_moebius`; the other product follows from `Matrix.mul_eq_one_comm`. New file `Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean`, importing only `NumberTheory.ArithmeticFunction.Redheffer`.
AI use: the Lean code and this description were written with an AI agent (Claude) under my direction; I reviewed every declaration, and the branch was checked locally with `lake build`, `lake exe lint-style` and `lake exe runLinter` before pushing.
- [ ] depends on: #43758
|
t-number-theory
LLM-generated
new-contributor
blocked-by-other-PR
|
404/0 |
Mathlib.lean,Mathlib/NumberTheory/ArithmeticFunction/Moebius.lean,Mathlib/NumberTheory/ArithmeticFunction/Redheffer.lean,Mathlib/NumberTheory/ArithmeticFunction/ZetaMatrixInv.lean,docs/references.bib |
5 |
5 |
['github-actions', 'joelcanary', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
8-6127 8 days ago |
unknown |
unknown |
1 |
| 43947 |
kedlaya author:kedlaya |
feat(FieldTheory): Artin-Schreier extensions of fields |
Implement the Artin-Schreier description of cyclic degree-p extensions of fields of characteristic p. Split off from from #41911.
- [ ] depends on: #44926 |
new-contributor
t-algebra
blocked-by-other-PR
merge-conflict
label:t-algebra$ |
355/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/Finite/Basic.lean |
5 |
109 |
['JX-Mo', 'artie2000', 'github-actions', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127', 'tb65536', 'vihdzp'] |
artie2000 assignee:artie2000 |
8-1993 8 days ago |
31-42341 31 days ago |
20-1554 20 days |
1 |
| 44926 |
kedlaya author:kedlaya |
feat(FieldTheory): implement Artin-Schreier polynomials |
---
Implement Artin-Schreier polynomials in preparation for using them to describe cyclic degree-p extensions of fields of characteristic p. Split off from #43947.
- [ ] depends on: #44690
|
t-algebra
blocked-by-other-PR
new-contributor
label:t-algebra$ |
156/0 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/Finite/Basic.lean |
5 |
18 |
['github-actions', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
7-52405 7 days ago |
unknown |
unknown |
2 |
| 41915 |
theebayuser author:theebayuser |
feat(Data/List): infixes, the enumerator of contiguous factors |
This PR adds `List.infixes`, which is the list of all infixes of a list.
---
AI disclosure: This code was mostly generated by Claude Fable 5 and Opus 4.8 as part of my larger project on combinatorics on words, which I then reviewed and revised to contribute to mathlib.
|
t-data
LLM-generated
new-contributor
awaiting-author
|
37/2 |
Mathlib/Data/List/Infix.lean |
1 |
4 |
['YaelDillies', 'github-actions', 'mathlib-merge-conflicts', 'theebayuser'] |
YaelDillies assignee:YaelDillies |
7-22976 7 days ago |
7-22976 7 days ago |
106-3523 106 days |
0 |
| 45583 |
ouboub author:ouboub |
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient |
Title:
feat(Analysis/ODE): Grönwall's inequality with a variable coefficient- #45583
Description:
I believe I have successfully implemented and tested the differential form of Grönwall's inequality with variable coefficients.
Details can be found in
https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/Gronwall.27s.20inequality.3A.20differential.20form.2C.20variable.20coeff/with/636639527
which includes two PDFs with a more detailed description.
- Here is a short description:
Add Grönwall's inequality in differential form with a variable coefficient `K` and a
variable inhomogeneous term `ε`, both continuous and of arbitrary sign, for a function
with right derivatives: if `f` is continuous on `[a, b]`, `f' t ≤ K t * f t + ε t` on
`[a, b)` and `f a ≤ δ`, then on `[a, b]`
`f t ≤ (δ + ∫ s in a..t, ε s / exp (∫ r in a..s, K r)) * exp (∫ s in a..t, K s)`.
This addresses (for differentiable `f`) the TODO in `Mathlib/Analysis/ODE/Gronwall.lean`
asking for a variable coefficient `K x` of any sign.
The main results found in the new file `Mathlib/Analysis/ODE/GronwallVariableCoeff.lean` are
* `gronwallBoundVar`: the bound above;
* `le_gronwallBoundVar_of_deriv_right_le`: the inequality;
* `gronwallBoundVar_const`: for constant `K` and `ε`, `gronwallBoundVar` agrees with
the existing `gronwallBound`;
* `le_mul_exp_integral_of_deriv_right_le_mul`: the homogeneous case `ε = 0`.
The proof uses the integrating factor `exp (∫ s in a..t, K s)` and the comparison lemma
`image_le_of_deriv_right_le_deriv_boundary`.
- Some open problems:
1. The two auxiliary lemmas `continuousOn_primitive_of_continuousOn` and
`hasDerivWithinAt_Ici_primitive` (one-sided FTC) are stated here; I did not find them
in Mathlib. Should they move to `Mathlib/MeasureTheory/Integral/IntervalIntegral/`,
or into the `intervalIntegral` namespace?
2. I did not dare to put my results into `Mathlib/Analysis/ODE/Gronwall.lean` itself,
3. There might be another TODO in the module docstring: the energy form of Bahouri–Chemin–Danchin, Lemma 3.3.
At some point, I asked Claude for advice on the main lemma, but I didn't include syntax I don't understand or haven't tested. The code might be clumsy.
regards
Uwe Brauer
|
t-analysis
new-contributor
|
270/0 |
Mathlib.lean,Mathlib/Analysis/ODE/GronwallVariableCoeff.lean |
2 |
4 |
['github-actions', 'ouboub'] |
nobody |
7-3219 7 days ago |
7-14413 7 days ago |
7-14340 7 days |
0 |
This page collects anonymous visit counts for usage reporting (no cookies, no IP addresses stored). See the Mathlib Initiative privacy policy.