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 |
483-21952 1 year ago |
483-21952 483 days ago |
18-21880 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 |
480-3330 1 year ago |
480-3330 480 days ago |
20-8582 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 |
451-37945 1 year ago |
451-37945 451 days ago |
46-52210 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 |
445-70077 1 year ago |
445-70078 445 days ago |
6-6455 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 |
437-42977 1 year ago |
437-42978 437 days ago |
0-66771 18 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 |
435-72103 1 year ago |
435-72104 435 days ago |
2-47570 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 |
434-18739 1 year ago |
456-81061 456 days ago |
7-54661 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 |
434-18693 1 year ago |
443-70137 443 days ago |
7-4998 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 |
433-66971 1 year ago |
456-81062 456 days ago |
7-62439 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 |
429-23905 1 year ago |
429-23906 429 days ago |
13-1483 13 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 |
417-70251 1 year ago |
417-70252 417 days ago |
0-1812 30 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 |
417-65290 1 year ago |
473-8585 473 days ago |
0-1002 16 minutes |
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 |
416-79141 1 year ago |
474-14053 474 days ago |
0-1 1 second |
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 |
416-73002 1 year ago |
416-73003 416 days ago |
10-61840 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 |
410-85246 1 year ago |
410-85247 410 days ago |
87-79752 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 |
402-10443 1 year ago |
402-10444 402 days ago |
19-81030 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 |
396-62035 1 year ago |
396-62036 396 days ago |
0-4413 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 |
395-81437 1 year ago |
491-2321 491 days ago |
0-1708 28 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 |
394-84662 1 year ago |
487-7434 487 days ago |
0-625 10 minutes |
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 |
383-68508 1 year ago |
383-68509 383 days ago |
67-79609 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 |
360-45106 11 months ago |
360-45107 360 days ago |
80-71575 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 |
352-73710 11 months ago |
352-73710 352 days ago |
122-66777 122 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 |
346-9275 11 months ago |
346-9276 346 days ago |
133-24576 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 |
346-8970 11 months ago |
346-8971 346 days ago |
99-62977 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 |
346-8817 11 months ago |
346-8818 346 days ago |
71-37436 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 |
346-8779 11 months ago |
346-8780 346 days ago |
69-23034 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 |
346-8183 11 months ago |
346-8184 346 days ago |
54-85998 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 |
346-3204 11 months ago |
346-3205 346 days ago |
11-62509 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 |
345-67831 11 months ago |
480-6440 480 days ago |
0-517 8 minutes |
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 |
319-40982 10 months ago |
340-76931 340 days ago |
60-67125 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 |
298-62383 9 months ago |
386-68679 386 days ago |
0-2073 34 minutes |
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 |
285-83403 9 months ago |
388-1907 388 days ago |
25-78230 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 |
281-62627 9 months ago |
355-27672 355 days ago |
74-62390 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 |
258-33687 8 months ago |
317-21076 317 days ago |
0-14835 4 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 |
258-2481 8 months ago |
309-56706 309 days ago |
0-2872 47 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 |
257-64798 8 months ago |
257-64798 257 days ago |
0-2935 48 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 |
255-16559 8 months ago |
255-16560 255 days ago |
34-16498 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 |
254-82829 8 months ago |
254-82830 254 days ago |
17-1225 17 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 |
250-13327 8 months ago |
250-13327 250 days ago |
30-23357 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 |
245-50061 8 months ago |
245-50061 245 days ago |
38-12430 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 |
242-80642 7 months ago |
442-66052 442 days ago |
10-67838 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 |
230-64438 7 months ago |
346-9113 346 days ago |
114-38193 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 |
223-72805 7 months ago |
298-51365 298 days ago |
21-3598 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 |
192-42858 6 months ago |
192-42859 192 days ago |
2-48556 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 |
186-56190 6 months ago |
186-56191 186 days ago |
19-76858 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 |
184-63115 6 months ago |
291-76656 291 days ago |
10-38484 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 |
184-45653 6 months ago |
184-45654 184 days ago |
43-5868 43 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 |
184-37026 6 months ago |
184-37027 184 days ago |
7-41851 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 |
170-36542 5 months ago |
170-36542 170 days ago |
13-66876 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 |
168-17432 5 months ago |
172-31004 172 days ago |
0-12 12 seconds |
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 |
165-64250 5 months ago |
167-78198 167 days ago |
1-47071 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 |
165-52923 5 months ago |
165-52924 165 days ago |
44-66371 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 |
163-32423 5 months ago |
163-36471 163 days ago |
3-40182 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 |
160-61860 5 months ago |
160-61861 160 days ago |
67-395 67 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 |
154-32524 5 months ago |
154-32524 154 days ago |
12-82083 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 |
145-66757 4 months ago |
145-66758 145 days ago |
46-71620 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 |
141-47684 4 months ago |
141-47685 141 days ago |
26-52833 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 |
141-44754 4 months ago |
141-44755 141 days ago |
23-50475 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 |
140-38047 4 months ago |
140-38048 140 days ago |
3-19832 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 |
130-36999 4 months ago |
130-37000 130 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 |
129-19493 4 months ago |
476-72136 476 days ago |
2-53782 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 |
129-19492 4 months ago |
248-40979 248 days ago |
11-35673 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 |
129-19489 4 months ago |
444-4389 444 days ago |
28-12053 28 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 |
129-19487 4 months ago |
351-42621 351 days ago |
0-1 1 second |
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 |
124-79764 4 months ago |
183-20251 183 days ago |
22-11204 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 |
121-42205 3 months ago |
121-42206 121 days ago |
22-11352 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 |
116-50785 3 months ago |
116-50786 116 days ago |
19-39562 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 |
108-21073 3 months ago |
108-21073 108 days ago |
0-13493 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 |
100-38166 3 months ago |
100-38167 100 days ago |
20-26699 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 |
94-77521 3 months ago |
120-40256 120 days ago |
53-49476 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 |
94-77491 3 months ago |
153-41383 153 days ago |
23-5862 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 |
94-40306 3 months ago |
94-40307 94 days ago |
91-31582 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 |
88-68876 2 months ago |
136-21900 136 days ago |
0-32 32 seconds |
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 |
86-13122 2 months ago |
86-13122 86 days ago |
90-31998 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 |
85-38317 2 months ago |
85-38318 85 days ago |
25-30706 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 |
81-78482 2 months ago |
81-78482 81 days ago |
62-83224 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 |
81-20200 2 months ago |
81-20201 81 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 |
80-56211 2 months ago |
80-56212 80 days ago |
74-55869 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 |
80-53596 2 months ago |
80-53597 80 days ago |
57-57311 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 |
77-43291 2 months ago |
77-43292 77 days ago |
69-16360 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 |
77-42243 2 months ago |
77-42243 77 days ago |
30-79839 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 |
77-41846 2 months ago |
77-41847 77 days ago |
13-33787 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 |
75-21018 2 months ago |
75-21019 75 days ago |
11-34462 11 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 |
74-63312 2 months ago |
74-63313 74 days ago |
4-58649 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 |
72-60002 2 months ago |
72-64803 72 days ago |
178-7372 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 |
70-45618 2 months ago |
70-45619 70 days ago |
109-72670 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 |
70-44962 2 months ago |
70-44963 70 days ago |
21-81349 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 |
66-52935 2 months ago |
66-52935 66 days ago |
43-30235 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 |
65-80902 2 months ago |
79-81401 79 days ago |
46-56584 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 |
63-39917 2 months ago |
63-39918 63 days ago |
31-33237 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 |
61-75880 2 months ago |
61-75881 61 days ago |
44-60607 44 days |
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 |
61-23411 2 months ago |
61-23412 61 days ago |
24-48655 24 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 |
59-23662 1 month ago |
59-23663 59 days ago |
15-76312 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 |
57-42403 1 month ago |
57-42404 57 days ago |
0-25877 7 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 |
49-57587 1 month ago |
49-57588 49 days ago |
1-46812 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 |
45-25169 1 month ago |
45-25170 45 days ago |
5-45919 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 |
45-25038 1 month ago |
45-25039 45 days ago |
1-51017 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 |
43-45857 1 month ago |
43-45858 43 days ago |
9-53427 9 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 |
42-63714 1 month ago |
42-63715 42 days ago |
51-84963 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 |
41-36802 1 month ago |
71-39515 71 days ago |
32-19879 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 |
41-36750 1 month ago |
45-45749 45 days ago |
34-35417 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 |
39-21605 1 month ago |
39-21606 39 days ago |
15-25444 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 |
38-66664 1 month ago |
38-66666 38 days ago |
42-36912 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 |
38-54608 1 month ago |
38-54609 38 days ago |
40-68482 40 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 |
38-54607 1 month ago |
38-54608 38 days ago |
31-3119 31 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 |
38-54606 1 month ago |
38-54606 38 days ago |
46-58939 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 |
38-53795 1 month ago |
38-53796 38 days ago |
9-67932 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 |
38-52587 1 month ago |
38-52588 38 days ago |
13-20758 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 |
38-42222 1 month ago |
38-42223 38 days ago |
54-4321 54 days |
0 |
| 42070 |
felixpernegger author:felixpernegger |
chore: order imports of leaf files |
This PR orders imports of (almost) all leaf files to the standard
public import A
public import C
import B
import D
format. Excludes 18 files where `import all` or `public meta import` appears since we dont have a fixed convention for these imports yet.
---
<!-- 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 |
443/443 |
Mathlib/Algebra/Algebra/Subalgebra/Matrix.lean,Mathlib/Algebra/Azumaya/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Differentials/Presheaf.lean,Mathlib/Algebra/Category/ModuleCat/ExteriorPower.lean,Mathlib/Algebra/Category/ModuleCat/Pseudofunctor.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/PullbackFree.lean,Mathlib/Algebra/Category/MonCat/Adjunctions.lean,Mathlib/Algebra/Category/Ring/Topology.lean,Mathlib/Algebra/Category/Ring/Under/Property.lean,Mathlib/Algebra/DirectSum/Idempotents.lean,Mathlib/Algebra/FreeMonoid/FreeSemigroup.lean,Mathlib/Algebra/Group/Action/Equidecomp.lean,Mathlib/Algebra/Group/Pointwise/Finset/Density.lean,Mathlib/Algebra/Group/Pointwise/Finset/Interval.lean,Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean,Mathlib/Algebra/GroupWithZero/Submonoid/CancelMulZero.lean,Mathlib/Algebra/HierarchyDesign.lean,Mathlib/Algebra/Homology/GrothendieckAbelian.lean,Mathlib/Algebra/Lie/Classical.lean,Mathlib/Algebra/Lie/DirectSum.lean,Mathlib/Algebra/Module/GradedModule.lean,Mathlib/Algebra/Module/PointwisePi.lean,Mathlib/Algebra/Module/Presentation/Differentials.lean,Mathlib/Algebra/Module/Presentation/Finite.lean,Mathlib/Algebra/Module/Presentation/RestrictScalars.lean,Mathlib/Algebra/Module/Torsion/PrimaryComponent.lean,Mathlib/Algebra/MvPolynomial/SchwartzZippel.lean,Mathlib/Algebra/NoZeroSMulDivisors/Pi.lean,Mathlib/Algebra/Order/Group/Bounds.lean,Mathlib/Algebra/Order/GroupWithZero/Lex.lean,Mathlib/Algebra/Order/Interval/Basic.lean,Mathlib/Algebra/Order/SuccPred/TypeTags.lean,Mathlib/Algebra/Polynomial/SpecificDegree.lean,Mathlib/Algebra/Ring/Ext.lean,Mathlib/Algebra/Ring/Pointwise/Finset.lean,Mathlib/Algebra/Ring/Subgroup.lean,Mathlib/Algebra/SkewMonoidAlgebra/Lift.lean,Mathlib/Algebra/Star/CentroidHom.lean,Mathlib/Algebra/Star/Free.lean,Mathlib/Algebra/Tropical/BigOperators.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/AlgebraicCycle/Basic.lean,Mathlib/AlgebraicGeometry/Group/Smooth.lean,Mathlib/AlgebraicGeometry/Morphisms/FlatRank.lean,Mathlib/AlgebraicGeometry/Sites/Representability.lean,Mathlib/AlgebraicTopology/ModelCategory/JoyalTrick.lean,Mathlib/AlgebraicTopology/ModelCategory/Over.lean,Mathlib/AlgebraicTopology/Quasicategory/StrictBicategory.lean,Mathlib/AlgebraicTopology/SimplicialSet/Homology/Nondegenerate.lean,Mathlib/AlgebraicTopology/SimplicialSet/NonsingularColimit.lean,Mathlib/Analysis/Asymptotics/Completion.lean,Mathlib/Analysis/CStarAlgebra/CompletelyPositiveMap.lean,Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Note.lean,Mathlib/Analysis/CStarAlgebra/Multiplier.lean,Mathlib/Analysis/Calculus/DerivativeTest.lean,Mathlib/Analysis/Calculus/Gradient/Basic.lean,Mathlib/Analysis/Calculus/ImplicitFunction/Bivariate.lean,Mathlib/Analysis/Calculus/LineDeriv/QuadraticMap.lean,Mathlib/Analysis/Calculus/LocalExtr/LineDeriv.lean,Mathlib/Analysis/Calculus/LocalExtr/Polynomial.lean,Mathlib/Analysis/Calculus/Rademacher.lean,Mathlib/Analysis/Calculus/TangentCone/ProperSpace.lean,Mathlib/Analysis/Calculus/TangentCone/Seq.lean,Mathlib/Analysis/Calculus/TaylorIntegral.lean,Mathlib/Analysis/Complex/Hadamard.lean,Mathlib/Analysis/Complex/Harmonic/Liouville.lean,Mathlib/Analysis/Complex/Tietze.lean,Mathlib/Analysis/Complex/UpperHalfPlane/Measure.lean,Mathlib/Analysis/ConstantSpeed.lean,Mathlib/Analysis/Convex/AmpleSet.lean,Mathlib/Analysis/Convex/Birkhoff.lean,Mathlib/Analysis/Convex/Extrema.lean,Mathlib/Analysis/Convex/SimplicialComplex/AffineIndependentUnion.lean,Mathlib/Analysis/Distribution/Support.lean,Mathlib/Analysis/InnerProductSpace/JointEigenspace.lean,Mathlib/Analysis/InnerProductSpace/OfNorm.lean,Mathlib/Analysis/InnerProductSpace/StarOrder.lean,Mathlib/Analysis/LocallyConvex/Montel.lean,Mathlib/Analysis/LocallyConvex/PointwiseConvergence.lean,Mathlib/Analysis/Normed/Affine/ContinuousAffineMap.lean,Mathlib/Analysis/Normed/Affine/MazurUlam.lean,Mathlib/Analysis/Normed/Algebra/MatrixExponential.lean,Mathlib/Analysis/Normed/Algebra/QuaternionExponential.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Completion.lean,Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean,Mathlib/Analysis/Normed/Operator/Perturbation/StrictByFinite.lean,Mathlib/Analysis/ODE/Transform.lean,Mathlib/Analysis/Real/Pi/Irrational.lean,Mathlib/Analysis/SpecialFunctions/ArithmeticGeometricMean.lean,Mathlib/Analysis/SpecialFunctions/BinaryEntropy.lean,Mathlib/Analysis/SpecialFunctions/CompareExp.lean,Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog/Order.lean,Mathlib/Analysis/SpecialFunctions/Log/Monotone.lean,Mathlib/Analysis/SpecialFunctions/Pochhammer.lean,Mathlib/Analysis/SpecialFunctions/Pow/Integral.lean,Mathlib/Analysis/SpecialFunctions/Pow/NthRootLemmas.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/ChebyshevGauss.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/CategoryTheory/Abelian/FreydMitchell.lean,Mathlib/CategoryTheory/Abelian/Injective/Basic.lean |
337 |
8 |
['felixpernegger', 'github-actions', 'leanprover-radar', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
37-70757 1 month ago |
37-70759 37 days ago |
18-39310 18 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 |
35-49527 1 month ago |
35-49528 35 days ago |
42-45438 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 |
34-79152 1 month ago |
34-79153 34 days ago |
45-74192 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 |
34-79027 1 month ago |
34-79028 34 days ago |
72-60742 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 |
34-78900 1 month ago |
34-78901 34 days ago |
24-20659 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 |
34-78899 1 month ago |
34-78900 34 days ago |
34-21943 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 |
33-23429 1 month ago |
33-23431 33 days ago |
13-41844 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 |
33-21544 1 month ago |
33-21544 33 days ago |
25-48077 25 days |
2 |
| 39935 |
FordUniver author:FordUniver |
feat(Combinatorics/SimpleGraph/Finite): LocallyFiniteOrder |
Adds `LocallyFiniteOrder (SimpleGraph V)` for finite `V` and decidability of `G ≤ H` for a fintype `V` with decidable adjacency. Required for finite sums over intervals of simple graphs.
Co-authored-by: Malte Jackisch <45597826+MaltyBlanket@users.noreply.github.com>
---
Came up while writing a Möbius inversion between copy counts and induced copy counts ([WIP](https://github.com/FordUniver/mathlib4/pull/36/changes)) that sums over the closed interval `Finset.Icc G ⊤` of supergraphs. Decidability of the order plus local-finiteness of the lattice felt like a clean standalone piece to land first, before the rest of the Möbius file.
Less sure about what the conventions for declaring type class instances are in mathlib, let me know if this is not of the expected shape or should not be included at all. |
t-combinatorics
merge-conflict
|
13/0 |
Mathlib/Combinatorics/SimpleGraph/Finite.lean |
1 |
16 |
['FordUniver', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-21418 1 month ago |
33-21418 33 days ago |
100-40457 100 days |
0 |
| 40561 |
iosephusferrum author:iosephusferrum |
feat(ModelTheory): quantifier elimination for first-order theories |
This PR introduces `HasQuantifierElimination` for first-order languages, along with some standard criteria to establish it for any language that satisfies them and prerequisite formalization `mathlib4` required on elementary extension pairs (`IsElementaryExtensionPair`) and < κ-generated substructures (`CardinalLTGenerated`). It also states and proves that the first-order theory DLO (dense linear order without endpoints) has quantifier elimination (`dlo_hasQuantifierElimination`), using the newly formalized quantifier elimination criteria.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Salih Erdem Koçak <saliherdemkd@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
---
[](https://gitpod.io/from-referrer/)
Please note that we have utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are directly "translated" from human-language source material (check the diff in `references.bib`) to Lean proofs using mentioned AI tools. However, all design/formalization decisions are made by us. |
new-contributor
LLM-generated
t-logic
merge-conflict
|
976/7 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
11 |
7 |
['erdkocak', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-21287 1 month ago |
33-21288 33 days ago |
107-24919 107 days |
0 |
| 42608 |
Deicyde author:Deicyde |
doc: add wikidata attributes |
This PR adds a batch of 10 `@[wikidata]` attributes.
Claude helped generate the list of crossrefs (by scanning Wikidata + Mathlib). Comments are generated by [crossref-report](https://github.com/jcommelin/mathlib-crossref-report) and Wikilean.
See https://wikilean.jackmccarthy.org/review?pr=42608 for reviewer UI.
---
|
LLM-generated
merge-conflict
|
17/3 |
Mathlib/Analysis/Convex/Segment.lean,Mathlib/Analysis/Convex/SimplicialComplex/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Basic.lean,Mathlib/Combinatorics/SimpleGraph/Subgraph.lean,Mathlib/Data/Matrix/Diagonal.lean,Mathlib/Data/Set/Defs.lean,Mathlib/Order/Defs/PartialOrder.lean,Mathlib/RingTheory/MvPolynomial/Homogeneous.lean,Mathlib/Topology/Constructions.lean |
9 |
19 |
['Deicyde', 'SnirBroshi', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-19766 1 month ago |
33-19767 33 days ago |
48-63579 48 days |
0 |
| 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 |
32-81772 1 month ago |
32-81773 32 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 |
32-81640 1 month ago |
32-81640 32 days ago |
26-50725 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 |
32-81634 1 month ago |
32-81635 32 days ago |
10-35405 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 |
32-81502 1 month ago |
32-81503 32 days ago |
19-11881 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 |
31-1993 1 month ago |
31-1994 31 days ago |
83-9365 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 |
31-1719 1 month ago |
31-1720 31 days ago |
29-34537 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 |
30-46883 1 month ago |
30-46884 30 days ago |
53-17257 53 days |
1 |
| 42578 |
harahu author:harahu |
chore: avoid lazy continuation lines in markdown |
This PR fixes Markdown lazy continuation lines in documentation. The bulk of the changes are:
1. Continuation lines of a list item are indented to the item's content column instead of sitting flush with the marker.
2. A blank line is inserted where a paragraph following a list was being absorbed into the final list item.
This is done because lazy continuation can make it hard to understand the intent of the text when reading the raw source. It is also a source of flawed rendering, as in case 2 above.
Some other minor changes are also included:
- RingTheory/FormalGroup/Basic.lean: the qualifier "when F is a commutative formal group law" moves from AddMonoid to AddCommMonoid, which is where it belongs: instance : AddMonoid (F.Point σ) is unconditional, instance [F.IsComm] : AddCommMonoid (F.Point σ) is not.
- Tactic/Algebra/Basic.lean: typo, experssions → expressions.
---
<!-- 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 |
136/121 |
Mathlib/Algebra/Category/ModuleCat/Presheaf/ColimitFunctor.lean,Mathlib/Algebra/Group/Subgroup/Basic.lean,Mathlib/Algebra/Homology/SpectralSequence/ComplexShape.lean,Mathlib/Algebra/Lie/LieTheorem.lean,Mathlib/Algebra/Lie/Prod.lean,Mathlib/Algebra/LieRinehartAlgebra/Subalgebra.lean,Mathlib/AlgebraicGeometry/EllipticCurve/LFunction.lean,Mathlib/AlgebraicGeometry/Gluing.lean,Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Scheme.lean,Mathlib/AlgebraicTopology/Reedy/Basic.lean,Mathlib/AlgebraicTopology/SimplicialSet/AnodyneExtensions/PushoutProduct.lean,Mathlib/AlgebraicTopology/SimplicialSet/Subdivision.lean,Mathlib/AlgebraicTopology/SimplicialSet/TopAdj.lean,Mathlib/Analysis/Calculus/UniformLimitsDeriv.lean,Mathlib/Analysis/Distribution/ContDiffMapSupportedIn.lean,Mathlib/Analysis/Normed/Field/Approximation.lean,Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Field/Krasner.lean,Mathlib/Analysis/Normed/Module/Bases.lean,Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Extremal.lean,Mathlib/CategoryTheory/Abelian/Preradical/Colon.lean,Mathlib/CategoryTheory/Limits/Shapes/Pullback/ChosenPullback.lean,Mathlib/CategoryTheory/Sites/Point/OfIsCofiltered.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Finite.lean,Mathlib/Data/Bracket.lean,Mathlib/Dynamics/SymbolicDynamics/Basic.lean,Mathlib/GroupTheory/FinitelyPresentedGroup.lean,Mathlib/GroupTheory/Generators.lean,Mathlib/GroupTheory/GroupAction/Blocks.lean,Mathlib/GroupTheory/Perm/Fin.lean,Mathlib/Lean/Meta/RefinedDiscrTree/Basic.lean,Mathlib/LinearAlgebra/InvariantBasisNumber.lean,Mathlib/LinearAlgebra/LinearPMap.lean,Mathlib/LinearAlgebra/Matrix/Rank.lean,Mathlib/LinearAlgebra/SymplecticGroup.lean,Mathlib/Logic/Equiv/Array.lean,Mathlib/Logic/Equiv/Fin/Rotate.lean,Mathlib/NumberTheory/WellApproximable.lean,Mathlib/Probability/Process/Adapted.lean,Mathlib/RingTheory/FormalGroup/Basic.lean,Mathlib/Tactic/Algebra/Basic.lean,Mathlib/Tactic/Polynomial/Basic.lean,Mathlib/Topology/Category/LightProfinite/Injective.lean,Mathlib/Topology/Gluing.lean,Mathlib/Topology/MetricSpace/PiNat.lean,Mathlib/Topology/Sheaves/Presheaf.lean,Mathlib/Topology/Sion.lean |
47 |
4 |
['SnirBroshi', 'github-actions', 'harahu', 'mathlib-merge-conflicts'] |
nobody |
30-46882 1 month ago |
30-46882 30 days ago |
35-37891 35 days |
0 |
| 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 |
30-40079 1 month ago |
30-40080 30 days ago |
12-79205 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 |
29-83981 29 days ago |
267-65458 267 days ago |
85-51732 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 |
26-1263 26 days ago |
26-1264 26 days ago |
93-76299 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 |
26-1261 26 days ago |
26-1262 26 days ago |
55-6344 55 days |
0 |
| 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 |
22-3229 22 days ago |
22-3230 22 days ago |
53-14758 53 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 |
21-81488 21 days ago |
21-81489 21 days ago |
148-50234 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 |
21-81018 21 days ago |
21-81019 21 days ago |
88-37012 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 |
21-78795 21 days ago |
21-78796 21 days ago |
52-81100 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 |
21-78626 21 days ago |
21-78627 21 days ago |
32-16965 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 |
21-77472 21 days ago |
21-77473 21 days ago |
22-62292 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 |
21-77314 21 days ago |
21-77315 21 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 |
20-38558 20 days ago |
105-63817 105 days ago |
39-245 39 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 |
14-68241 14 days ago |
14-68242 14 days ago |
8-1790 8 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 |
13-68456 13 days ago |
13-68457 13 days ago |
33-42130 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 |
13-67754 13 days ago |
13-67755 13 days ago |
10-7088 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 |
13-33393 13 days ago |
22-3360 22 days ago |
68-28278 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 |
11-59661 11 days ago |
11-59662 11 days ago |
35-53536 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 |
11-21046 11 days ago |
11-43834 11 days ago |
30-67121 30 days |
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 |
60/37 |
Mathlib/Tactic/Algebraize.lean,Mathlib/Tactic/ApplyCongr.lean,Mathlib/Tactic/Bound.lean,Mathlib/Tactic/CategoryTheory/CheckCompositions.lean,Mathlib/Tactic/Conv.lean,Mathlib/Tactic/CrossRefAttribute.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/UnusedTacticExtension.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 |
37 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
10-50431 10 days ago |
10-50432 10 days ago |
55-44193 55 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 |
9-33407 9 days ago |
9-33408 9 days ago |
41-65360 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 |
4-52075 4 days ago |
4-52076 4 days ago |
87-9224 87 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 |
4-49048 4 days ago |
4-49050 4 days ago |
26-24901 26 days |
0 |
| 44882 |
bryangingechen author:bryangingechen |
ci: show the dependency changes in the update-dependencies Zulip messages |
This PR fixes `update_dependencies_zulip.yml` so that its Zulip messages list the dependency changes, as #23274 intended. Three things kept that from working:
- "Parse dependency changes" printed `${message}`, which is never set, instead of the script's output, and didn't write to `$GITHUB_OUTPUT` (since #23659). So the list was always empty.
- Under `workflow_run`, `actions/checkout` checks out master's latest commit rather than the commit CI ran on, so the script compared master with its parent and reported "No dependency versions were changed". The checkout now uses `github.event.workflow_run.head_sha`. The bot's commit sits directly on master, so the script's `HEAD~1..HEAD` is exactly the update.
- The list was pasted into the github-script source inside a string literal, which can't hold its line breaks, so fixing the first two alone would have broken both messages. It is now passed in through an environment variable.
It also drops the GitHub App token from this workflow. The token was there to remove the `auto-merge-after-CI` label, and #43913 removed that call. Since then the failure job used it only to look up each PR's URL, which is now built from the repository URL, and the success job didn't use it at all. Both jobs now have only `contents: read`, without `id-token: write`, and the checkout no longer persists git credentials.
Smaller fixes: the success message said "merged via #N", but since #43913 the PR waits for review, so it now says that. `monitor-success` gets the same `github.repository` guard as `monitor-failures`. The `docs/workflows.md` entry no longer mentions label handling.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
Testing:
- Locally, the new "Parse dependency changes" step and both message scripts, run on the bot's commit `dee624cf361` (then the head of #44874): the output lists the 8 updated packages, and neither script calls the API. With only the first fix, both scripts fail with a `SyntaxError`.
- In a private test repository: a copy of the workflow with the Zulip step replaced by an echo, triggered by a stub "continuous integration" workflow on the bot branch. A failing and a passing CI run each produced the expected message, with the PR link and the dependency changes, from a checkout of the bot's commit.
|
CI
LLM-generated
merge-conflict
|
18/42 |
.github/workflows/update_dependencies_zulip.yml,docs/workflows.md |
2 |
3 |
['bryangingechen', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
3-60330 3 days ago |
3-60331 3 days ago |
12-30323 12 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 |
3-41906 3 days ago |
18-6809 18 days ago |
39-60899 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 |
3-39803 3 days ago |
3-39804 3 days ago |
70-48235 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 |
3-26403 3 days ago |
14-9515 14 days ago |
6-19895 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 |
3-22170 3 days ago |
3-22171 3 days ago |
36-68219 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 |
2-84152 2 days ago |
38-55678 38 days ago |
118-53197 118 days |
0 |
| 43082 |
WenrongZou author:WenrongZou |
feat(RingTheory/Henselian): add Hensel lemma for non-monic polynomials |
In a ring `R` that is Henselian at an ideal `I`, a simple root modulo `I` lifts to a root in `R` even when the polynomial is not monic.
And for local ring, we prove two more equivalent description of the theorem [`HenselianLocalRing.TFAE`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/RingTheory/Henselian.html#HenselianLocalRing.TFAE).
---
<!-- 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
|
111/20 |
Mathlib/Algebra/Polynomial/Reverse.lean,Mathlib/RingTheory/Henselian.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-77325 2 days ago |
2-77326 2 days ago |
65-17976 65 days |
0 |
| 43394 |
harahu author:harahu |
feat(Order/WithBot): add `WithBot.map_lt_map_iff` |
Add `WithBot.map_lt_map_iff`, the `<` analogue of `WithBot.map_le_iff`, for use in a follow-up.
Its natural home is the `LT` section. For symmetry, we also generalize `WithBot.map_le_iff`.
Also rename `map_le_iff` to `map_le_map_iff`, since the operation appears on both sides of the relation. The bare `X_le_iff` form is used throughout Mathlib for the one-sided shape `f a ≤ b ↔ ...`.
---
Developed with help from of 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/)
|
t-order
LLM-generated
merge-conflict
|
12/5 |
Mathlib/Order/Hom/WithTopBot.lean,Mathlib/Order/WithBot.lean |
2 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-59461 2 days ago |
2-59462 2 days ago |
55-18623 55 days |
0 |
| 44358 |
TJHeeringa author:TJHeeringa |
chore(LinearAlgebra): generalize IsAdjointPair |
The implemented definition `IsAdjointPair` required sesquilinear maps. This is a stronger requirement than necessary. This PR relaxes the conditions on `IsAdjointPair` to the minimal ones.
---
This is needed to generalize the RKHS from `InnerProductSpace/Reproducing.lean`.
The location of the definition is still `LinearAlgebra/SesquilinearForm/Basic`. That is clearly not a good fit. However, I don't know a better location either. Places like `LinearAlgebra/BilinearForm/Basic` are also dealing with a less general 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]
-->
|
t-algebra
merge-conflict
label:t-algebra$ |
94/45 |
Mathlib/LinearAlgebra/SesquilinearForm/Basic.lean |
1 |
2 |
['github-actions', 'mathlib-merge-conflicts'] |
nobody |
2-57989 2 days ago |
2-57990 2 days ago |
23-6030 23 days |
0 |
| 37794 |
EtienneC30 author:EtienneC30 |
feat: a sum of independent binomial random variables is a binomial random variable |
---
<!-- 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: #37736
- [x] depends on: #37761
- [x] depends on: #40083
- [x] depends on: #41312
- [x] depends on: #42972
- [x] depends on: #42974
- [x] depends on: #43002
- [x] depends on: #43523
- [x] depends on: #44274
[](https://gitpod.io/from-referrer/)
|
t-measure-probability
merge-conflict
|
302/7 |
Mathlib/Probability/Distributions/Bernoulli.lean,Mathlib/Probability/Distributions/Binomial.lean,Mathlib/Probability/Distributions/SetBernoulli.lean |
3 |
17 |
['EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'sgouezel'] |
RemyDegenne assignee:RemyDegenne |
2-37782 2 days ago |
2-37784 2 days ago |
32-9018 32 days |
1 |
| 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 |
1-75704 1 day ago |
1-75705 1 day ago |
0-3743 1 hour |
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 |
1-47120 1 day ago |
1-47121 1 day ago |
9-68267 9 days |
1 |
| 44414 |
kim-em author:kim-em |
ci: report declarations moving into or out of meta in the declarations diff |
This PR makes the post-build declarations diff report declarations whose `meta` marking changed. The build passes `--meta-out meta_decls.txt` to the declaration dumper, uploads the file with the `import-graph` artifact, and `decls-diff.yml` passes both sides' files to the `decls-diff` action.
The `--meta-out` flag and the action inputs come from https://github.com/leanprover-community/mathlib-ci/pull/83 "feat: report declarations moving into or out of meta in the declarations diff". Until that lands and the pinned `mathlib-ci` ref is bumped, the build detects that the dumper lacks the flag and skips the dump, so this PR is safe to merge in either order. Master artifacts built before this change have no `meta_decls.txt`; for PRs whose merge-base predates it, the diff notes that `meta` changes are unavailable.
Motivated by https://leanprover.zulipchat.com/#narrow/channel/180721-mathlib-maintainers/topic/ensuring.20.60import.20Mathlib.60.20doesn.27t.20expose.20Lean.20internals/near/627447584
🤖 Prepared with Claude Code |
CI
merge-conflict
|
18/3 |
.github/workflows/build_template.yml,.github/workflows/decls-diff.yml |
2 |
8 |
['adomani', 'github-actions', 'joneugster', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
1-6128 1 day ago |
15-6560 15 days ago |
14-6370 14 days |
0 |
| 44909 |
RemyDegenne author:RemyDegenne |
feat(MeasureTheory): the Kolmogorov extension theorem |
Co-authored-by: Peter Pfaffelhuber <41927422+pfaffelh@users.noreply.github.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]
-->
It was proved 3 years ago in another repo, and is finally making its way to Mathlib.
The proof of `isCompactSystem_closedCompactCylinders` was written by an LLM (it replaces a longer argument we wrote manually before).
|
brownian
t-measure-probability
merge-conflict
maintainer-merge
|
284/23 |
Mathlib.lean,Mathlib/MeasureTheory/Constructions/ClosedCompactCylinders.lean,Mathlib/MeasureTheory/Constructions/KolmogorovExtension.lean,Mathlib/MeasureTheory/Measure/AddContent/CompactSystem.lean,Mathlib/Topology/Compactness/CompactSystem.lean |
5 |
18 |
['EtienneC30', 'RemyDegenne', 'github-actions', 'mathlib-merge-conflicts'] |
EtienneC30 assignee:EtienneC30 |
0-57765 16 hours ago |
0-57767 16 hours ago |
13-81925 13 days |
0 |
| 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 |
0-57639 16 hours ago |
0-57640 16 hours ago |
8-83968 8 days |
0 |
| 45192 |
tb65536 author:tb65536 |
feat(Analysis/Normed/Field/WithAbs): the degree of an extension of absolute values |
This PR adds the definition of the degree of an extension of absolute values.
This is part of a larger project to formalize the general ramification theory of absolute values.
---
<!-- 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
t-algebra
t-analysis
label:t-algebra$ |
48/5 |
Mathlib/Analysis/Normed/Field/WithAbs.lean,Mathlib/Analysis/Normed/Ring/WithAbs.lean |
2 |
3 |
['github-actions', 'mathlib-merge-conflicts', 'themathqueen'] |
nobody |
0-57637 16 hours ago |
0-57638 16 hours ago |
7-75044 7 days |
0 |
| 42164 |
CoolRmal author:CoolRmal |
feat(MeasureTheory): one-sided continuous functions are measurable |
The following lemmas are proved in this PR:
- `separableSpace_image_of_continuousWithinAt_Ioi`, `IsRightContinuous.separableSpace_range`: the image of a set of a second-countable linear order under a right-continuous function is a
separable space.
- `IsRightContinuous.measurable`: a right continuous function is measurable.
- `IsRightContinuous.stronglyMeasurable`: a right continuous function is strongly measurable.
The corresponding statements for left continuous functions are also included, via `to_dual`.
Note: the statement that a right continuous function is strongly measurable is actually true even in the case that the codomain is not assumed to be strongly measurable, and this can be proved through an explicit construction of an approximating sequence of simple functions. However, this proof is definitely more lengthy, and I believe in practice we only care about strongly measurable functions in the case of integrating banach space valued functions. This is why I decide to assume pseudometrizability so that a simpler proof is available through the use of [stronglyMeasurable_iff_measurable_separable](https://leanprover-community.github.io/mathlib4_docs/Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.html#stronglyMeasurable_iff_measurable_separable).
Importing `Topology/Order/Cadlag.lean` into `BorelSpace/Order.lean` pulled `Analysis.Normed.Group.Continuity` into the import closure of `Lebesgue/Basic.lean`, breaking its `assert_not_exists Norm`. `Cadlag.lean` uses no norms, so its import is replaced by `Topology.Algebra.GroupWithZero` and `Topology.MetricSpace.Bounded`. That import had also been transitively supplying the `push ←` attribute on `Function.comp_def` that `@[to_fun]` needs to eta-expand `g ∘ f`, so the file now declares it itself, as `Order/ScottContinuity.lean` does (see #40183).
---
Created with the help of Claude Code, carefully reviewed and golfed by myself.
- [x] depends on: #45475 (regroups the sections of `BorelSpace/Order.lean`, where `IsRightContinuous.measurable` is added)
|
t-measure-probability
merge-conflict
|
180/89 |
Mathlib/MeasureTheory/Constructions/BorelSpace/Order.lean,Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean,Mathlib/Topology/Order/Cadlag.lean,Mathlib/Topology/Order/LeftRightNhds.lean |
4 |
6 |
['CoolRmal', 'EtienneC30', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
RemyDegenne assignee:RemyDegenne |
0-46305 12 hours ago |
0-46306 12 hours ago |
72-10824 72 days |
1 |
| 43261 |
YaelDillies author:YaelDillies |
feat(Geometry/Convex): cancellative convex spaces |
Define cancellative convex spaces as those space where non-trivial convex combinations are injective in any of their inputs. Show that modules, affine spaces, products of cancellative convex spaces, subspaces of cancellative convex spaces... are cancellative convex spaces.
Cancellative convex spaces are the correct setting for a large number of convexity concepts. Such a convex space embeds into some (canonical) affine space and therefore satisfies the geometrically intuitive properties of convexity. Non-cancellative convex spaces are pathological from the point of view of polytope theory.
[nLab](https://ncatlab.org/nlab/show/convex+space)
Generated by Claude Opus, reviewed and golfed by myself.
From the Polytopes in Berlin workshop, where participants were confused whether they could generalise their results from affine spaces to convex spaces.
Assisted-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/)
|
t-convex-geometry
LLM-generated
merge-conflict
|
208/14 |
Mathlib/Algebra/Order/GroupWithZero/Basic.lean,Mathlib/Data/Finsupp/Basic.lean,Mathlib/Geometry/Convex/ConvexSpace/AffineSpace.lean,Mathlib/Geometry/Convex/ConvexSpace/Defs.lean,Mathlib/Geometry/Convex/ConvexSpace/Module.lean,Mathlib/Geometry/Convex/ConvexSpace/Prod.lean,Mathlib/Geometry/Convex/Set.lean |
7 |
15 |
['YaelDillies', 'b-mehta', 'github-actions', 'martinwintermath', 'mathlib-merge-conflicts'] |
nobody |
0-45930 12 hours ago |
0-45931 12 hours ago |
54-72794 54 days |
2 |
| 43722 |
tb65536 author:tb65536 |
refactor: replace `padicValNat` with `multiplicity` |
This doesn't fully deprecate `padicValNat`, but gets most of the way there. Full deprecation will be in a follow-up PR.
I directly replaced "padicValNat" with "multiplicity" in the declaration names. A few declarations of the form `padicValNat.foo` were manually renamed to `Nat.multiplicity_foo`.
---
<!-- 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-number-theory
merge-conflict
label:t-algebra$ |
439/307 |
Archive/Imo/Imo2025Q3.lean,Mathlib/Data/Nat/Factorization/Basic.lean,Mathlib/Data/Nat/Factorization/Defs.lean,Mathlib/Data/Nat/PadicValNat.lean,Mathlib/NumberTheory/Bernoulli.lean,Mathlib/NumberTheory/Harmonic/Int.lean,Mathlib/NumberTheory/Multiplicity.lean,Mathlib/NumberTheory/Ostrowski.lean,Mathlib/NumberTheory/Padics/MahlerBasis.lean,Mathlib/NumberTheory/Padics/PadicNorm.lean,Mathlib/NumberTheory/Padics/PadicNumbers.lean,Mathlib/NumberTheory/Padics/PadicVal/Basic.lean,Mathlib/NumberTheory/Padics/PadicVal/Defs.lean,Mathlib/NumberTheory/SumTwoSquares.lean,Mathlib/RingTheory/DividedPowers/Padic.lean,Mathlib/RingTheory/Polynomial/Cyclotomic/Eval.lean |
16 |
39 |
['Multramate', 'b-mehta', 'github-actions', 'mathlib-merge-conflicts', 'riccardobrasca', 'tb65536'] |
riccardobrasca assignee:riccardobrasca |
0-24555 6 hours ago |
0-24556 6 hours ago |
47-27893 47 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 |
0-13842 3 hours ago |
0-13843 3 hours ago |
52-47416 52 days |
0 |
| 45389 |
thorimur author:thorimur |
chore: replace numeric projections with named projections throughout mathlib |
This PR replaces numeric projections such as `.2` with the named version of that projection, with the exception of certain types. This was generated using `scripts/runSkimmer.sh` in the output of #45341, plus some manual fixes and an LLM whitespace fix for handling (hundreds of) long lines.
---
<!-- 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 |
3856/3506 |
Mathlib/Algebra/AddConstMap/Basic.lean,Mathlib/Algebra/AddConstMap/Equiv.lean,Mathlib/Algebra/Algebra/Operations.lean,Mathlib/Algebra/Algebra/Tower.lean,Mathlib/Algebra/BigOperators/Group/Finset/Defs.lean,Mathlib/Algebra/BigOperators/ModEq.lean,Mathlib/Algebra/BigOperators/Ring/Finset.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/CommAlgCat/FiniteType.lean,Mathlib/Algebra/Category/Grp/LeftExactFunctor.lean,Mathlib/Algebra/Category/HopfAlgCat/Basic.lean,Mathlib/Algebra/Category/HopfAlgCat/Monoidal.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Generator.lean,Mathlib/Algebra/Category/ModuleCat/Presheaf/Sheafify.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf.lean,Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Basic.lean,Mathlib/Algebra/Category/ModuleCat/Topology/Homology.lean,Mathlib/Algebra/Category/Ring/Constructions.lean,Mathlib/Algebra/Category/Ring/Epi.lean,Mathlib/Algebra/Category/Ring/FilteredColimits.lean,Mathlib/Algebra/Category/Ring/FilteredColimitsLocal.lean,Mathlib/Algebra/Central/Basic.lean,Mathlib/Algebra/Central/TensorProduct.lean,Mathlib/Algebra/CharP/Algebra.lean,Mathlib/Algebra/CharP/CharAndCard.lean,Mathlib/Algebra/CharP/LinearMaps.lean,Mathlib/Algebra/CharP/Quotient.lean,Mathlib/Algebra/Field/Equiv.lean,Mathlib/Algebra/Free.lean,Mathlib/Algebra/GCDMonoid/Basic.lean,Mathlib/Algebra/GCDMonoid/Finset.lean,Mathlib/Algebra/Group/ConjFinite.lean,Mathlib/Algebra/Group/Pi/Units.lean,Mathlib/Algebra/Group/Submonoid/BigOperators.lean,Mathlib/Algebra/Group/Submonoid/Saturation.lean,Mathlib/Algebra/Group/Submonoid/Units.lean,Mathlib/Algebra/Group/UniqueProds/Basic.lean,Mathlib/Algebra/Group/Units/Defs.lean,Mathlib/Algebra/Group/Units/Opposite.lean,Mathlib/Algebra/GroupWithZero/Associated.lean,Mathlib/Algebra/GroupWithZero/NonZeroDivisors.lean,Mathlib/Algebra/GroupWithZero/Range.lean,Mathlib/Algebra/Homology/CochainComplexPlus.lean,Mathlib/Algebra/Homology/DerivedCategory/Plus.lean,Mathlib/Algebra/Homology/Embedding/TruncGEHomology.lean,Mathlib/Algebra/Homology/ExactSequence.lean,Mathlib/Algebra/Homology/Factorizations/CM5a.lean,Mathlib/Algebra/Homology/GrothendieckAbelian.lean,Mathlib/Algebra/Homology/Homotopy.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean,Mathlib/Algebra/Homology/HomotopyCategory/HomComplexCohomology.lean,Mathlib/Algebra/Homology/LocalCohomology.lean,Mathlib/Algebra/Homology/ModelCategory/Lifting.lean,Mathlib/Algebra/Homology/ShortComplex/Abelian.lean,Mathlib/Algebra/Homology/ShortComplex/ExactFunctor.lean,Mathlib/Algebra/Homology/SpectralObject/Page.lean,Mathlib/Algebra/Lie/Weights/Basic.lean,Mathlib/Algebra/Lie/Weights/Chain.lean,Mathlib/Algebra/Lie/Weights/RootSystem.lean,Mathlib/Algebra/Module/FinitePresentation.lean,Mathlib/Algebra/Module/LinearMap/Defs.lean,Mathlib/Algebra/Module/LocalizedModule/Basic.lean,Mathlib/Algebra/Module/Projective.lean,Mathlib/Algebra/Module/Submodule/Invariant.lean,Mathlib/Algebra/Module/Torsion/Free.lean,Mathlib/Algebra/Module/ZLattice/Summable.lean,Mathlib/Algebra/Order/AddGroupWithTop.lean,Mathlib/Algebra/Order/GroupWithZero/Range.lean,Mathlib/Algebra/Order/Monoid/LocallyFiniteOrder.lean,Mathlib/Algebra/Order/Monoid/Unbundled/OrderDual.lean,Mathlib/Algebra/Order/Nonneg/Field.lean,Mathlib/Algebra/Order/UpperLower.lean,Mathlib/Algebra/Polynomial/BigOperators.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Monic.lean,Mathlib/Algebra/QuadraticAlgebra/Defs.lean,Mathlib/Algebra/Ring/NonZeroDivisors.lean,Mathlib/Algebra/Ring/Regular.lean,Mathlib/Algebra/Ring/Subgroup.lean,Mathlib/Algebra/Squarefree/Basic.lean,Mathlib/AlgebraicGeometry/AffineScheme.lean,Mathlib/AlgebraicGeometry/AffineSpace.lean,Mathlib/AlgebraicGeometry/AffineTransitionLimit.lean,Mathlib/AlgebraicGeometry/Artinian.lean,Mathlib/AlgebraicGeometry/Birational/Birational.lean,Mathlib/AlgebraicGeometry/Birational/Composition.lean,Mathlib/AlgebraicGeometry/Birational/RationalMap.lean,Mathlib/AlgebraicGeometry/Cover/Open.lean,Mathlib/AlgebraicGeometry/Cover/QuasiCompact.lean,Mathlib/AlgebraicGeometry/FunctionField.lean,Mathlib/AlgebraicGeometry/GammaSpecAdjunction.lean,Mathlib/AlgebraicGeometry/Group/Smooth.lean,Mathlib/AlgebraicGeometry/IdealSheaf/Basic.lean,Mathlib/AlgebraicGeometry/Limits.lean,Mathlib/AlgebraicGeometry/Modules/Sheaf.lean |
1005 |
5 |
['github-actions', 'mathlib-bors', 'mathlib-merge-conflicts'] |
nobody |
0-12808 3 hours ago |
0-12809 3 hours ago |
1-33213 1 day |
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 |
438-17650 1 year ago |
441-3179 441 days ago |
0-35689 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 |
434-18739 1 year ago |
456-81061 456 days ago |
7-54661 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 |
433-66971 1 year ago |
456-81062 456 days ago |
7-62439 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 |
433-66732 1 year ago |
462-64429 462 days ago |
0-237 3 minutes |
0 |
| 26462 |
PSchwahn author:PSchwahn |
feat(LinearAlgebra/Projection): add results about inverse of `Submodule.prodEquivOfIsCompl` |
Add two theorems `Submodule.prodEquivOfIsCompl_symm_apply` and `Submodule.prodEquivOfIsCompl_symm_add`, which are API for `Submodule.prodEquivOfIsCompl`.
We believe these theorems are useful; for example, we have used their statements in a [classification formalization project](https://github.com/LieLean/LowDimSolvClassification).
Co-authored by:
- [Viviana del Barco](https://github.com/vdelbarc)
- [Gustavo Infanti](https://github.com/GuQOliveira)
- [Exequiel Rivas](https://github.com/erivas)
---
I am not sure whether the `prodEquivOfIsCompl_symm_apply` theorem should be tagged with `@[simp]`; this might lead to confluence issues. Opinions are welcome!
<!-- 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-algebra
new-contributor
label:t-algebra$ |
10/0 |
Mathlib/LinearAlgebra/Projection.lean |
1 |
7 |
['PSchwahn', 'github-actions', 'joelriou', 'kckennylau'] |
joelriou assignee:joelriou |
417-38100 1 year ago |
417-69203 417 days ago |
73-43082 73 days |
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 |
416-73002 1 year ago |
416-73003 416 days ago |
10-61840 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 |
401-72202 1 year ago |
413-76565 413 days ago |
0-1498 24 minutes |
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 |
397-846 1 year ago |
498-10246 498 days ago |
0-47289 13 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 |
375-72547 1 year ago |
375-72547 375 days ago |
8-8414 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 |
372-59511 1 year ago |
372-59579 372 days ago |
0-83 1 minute |
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 |
368-5550 1 year ago |
383-66626 383 days ago |
47-58551 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 |
361-16331 11 months ago |
361-16331 361 days ago |
31-69826 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 |
358-62999 11 months ago |
479-64369 479 days ago |
0-267 4 minutes |
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 |
346-9661 11 months ago |
488-33224 488 days ago |
17-63153 17 days |
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 |
346-9301 11 months ago |
461-53059 461 days ago |
25-5689 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 |
346-9296 11 months ago |
374-84506 374 days ago |
62-9859 62 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 |
346-9259 11 months ago |
472-83268 472 days ago |
0-287 4 minutes |
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 |
346-9104 11 months ago |
456-66667 456 days ago |
0-3448 57 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 |
346-9102 11 months ago |
455-41329 455 days ago |
0-5814 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 |
346-8970 11 months ago |
346-8971 346 days ago |
99-62977 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 |
346-8956 11 months ago |
440-49184 440 days ago |
0-591 9 minutes |
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 |
346-8817 11 months ago |
346-8818 346 days ago |
71-37436 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 |
346-8183 11 months ago |
346-8184 346 days ago |
54-85998 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 |
345-67754 11 months ago |
374-54889 374 days ago |
74-62001 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 |
345-67622 11 months ago |
412-68692 412 days ago |
0-1063 17 minutes |
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 |
345-67534 11 months ago |
436-42037 436 days ago |
0-581 9 minutes |
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 |
337-10101 11 months ago |
337-10101 337 days ago |
0-82278 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 |
329-55240 10 months ago |
338-12383 338 days ago |
39-49182 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 |
329-55116 10 months ago |
338-77542 338 days ago |
16-82714 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 |
326-75951 10 months ago |
326-75951 326 days ago |
18-38983 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 |
320-68057 10 months ago |
320-68057 320 days ago |
21-31799 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 |
316-5059 10 months ago |
316-5099 316 days ago |
3-22290 3 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 |
315-39828 10 months ago |
315-39828 315 days ago |
7-31364 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 |
314-72025 10 months ago |
374-36593 374 days ago |
54-75088 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 |
312-18290 10 months ago |
312-23575 312 days ago |
0-132 2 minutes |
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 |
312-18182 10 months ago |
312-23349 312 days ago |
0-133 2 minutes |
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 |
312-18098 10 months ago |
312-23161 312 days ago |
0-137 2 minutes |
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 |
312-15770 10 months ago |
312-15771 312 days ago |
0-1208 20 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 |
312-15768 10 months ago |
312-15769 312 days ago |
0-1431 23 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 |
312-15767 10 months ago |
312-15768 312 days ago |
0-1805 30 minutes |
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 |
312-15765 10 months ago |
312-15766 312 days ago |
0-2046 34 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 |
312-15762 10 months ago |
312-15765 312 days ago |
0-2257 37 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 |
312-15761 10 months ago |
312-15762 312 days ago |
0-2387 39 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 |
295-62268 9 months ago |
295-62268 295 days ago |
13-42146 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 |
285-83447 9 months ago |
423-28831 423 days ago |
0-396 6 minutes |
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 |
272-46021 8 months ago |
326-46459 326 days ago |
0-2004 33 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 |
271-84852 8 months ago |
390-36449 390 days ago |
0-206 3 minutes |
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 |
271-84845 8 months ago |
390-41074 390 days ago |
0-241 4 minutes |
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 |
271-75327 8 months ago |
347-32130 347 days ago |
0-150 2 minutes |
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 |
269-4069 8 months ago |
298-74332 298 days ago |
0-412 6 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 |
266-82831 8 months ago |
266-82831 266 days ago |
12-25418 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 |
265-32670 8 months ago |
265-32670 265 days ago |
35-16104 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 |
262-67544 8 months ago |
296-4012 296 days ago |
120-67067 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 |
259-78194 8 months ago |
260-39023 260 days ago |
7-49555 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 |
258-2481 8 months ago |
309-56706 309 days ago |
0-2872 47 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 |
255-67320 8 months ago |
255-68518 255 days ago |
1-24662 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 |
255-63077 8 months ago |
255-63283 255 days ago |
39-9588 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 |
255-16695 8 months ago |
305-81368 305 days ago |
4-4467 4 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 |
254-82829 8 months ago |
254-82830 254 days ago |
17-1225 17 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 |
250-13327 8 months ago |
250-13327 250 days ago |
30-23357 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 |
245-71757 8 months ago |
251-59130 251 days ago |
0-103 1 minute |
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 |
245-50061 8 months ago |
245-50061 245 days ago |
38-12430 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 |
243-25072 7 months ago |
487-4805 487 days ago |
13-85893 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 |
238-68734 7 months ago |
288-10861 288 days ago |
10-68503 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 |
238-64441 7 months ago |
261-51635 261 days ago |
0-1418 23 minutes |
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 |
238-55834 7 months ago |
445-35980 445 days ago |
25-83942 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 |
238-37814 7 months ago |
249-52463 249 days ago |
47-76964 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 |
234-15570 7 months ago |
246-47815 246 days ago |
2-47211 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 |
233-38852 7 months ago |
233-38578 233 days ago |
0-364 6 minutes |
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 |
233-3687 7 months ago |
288-12546 288 days ago |
10-65787 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 |
230-64372 7 months ago |
274-52613 274 days ago |
59-63981 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 |
228-70149 7 months ago |
228-68939 228 days ago |
0-2836 47 minutes |
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 |
226-62499 7 months ago |
291-48843 291 days ago |
16-55121 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 |
224-57486 7 months ago |
224-57439 224 days ago |
60-20351 60 days |
0 |
| 36825 |
danlyng author:danlyng |
feat(MeasureTheory/Integral/IntegralEqImproper): add Iic variants of nonneg/nonpos derivative integrability and FTC-2 |
Add the `Iic` counterparts of the existing `Ioi` results for automatic integrability of derivatives on semi-infinite intervals and the corresponding corollaries computing the integral value. Additionally, apply minor fixes to existing docstrings.
New declarations:
- `integrableOn_Iic_deriv_of_nonneg` / `integrableOn_Iic_deriv_of_nonneg'`
- `integrableOn_Iic_deriv_of_nonpos` / `integrableOn_Iic_deriv_of_nonpos'`
- `integral_Iic_of_hasDerivAt_of_nonneg` / `integral_Iic_of_hasDerivAt_of_nonneg'`
- `integral_Iic_of_hasDerivAt_of_nonpos` / `integral_Iic_of_hasDerivAt_of_nonpos'`
These mirror `integrableOn_Ioi_deriv_of_nonneg`, `integrableOn_Ioi_deriv_of_nonpos`, `integral_Ioi_of_hasDerivAt_of_nonneg`, `integral_Ioi_of_hasDerivAt_of_nonpos` and their primed variants. |
t-measure-probability
new-contributor
awaiting-author
|
107/9 |
Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean |
1 |
7 |
['EtienneC30', 'github-actions'] |
EtienneC30 assignee:EtienneC30 |
223-74793 7 months ago |
223-74793 223 days ago |
2-67942 2 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 |
223-72805 7 months ago |
298-51365 298 days ago |
21-3598 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 |
223-33992 7 months ago |
241-85487 241 days ago |
55-73479 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 |
219-68137 7 months ago |
219-68138 219 days ago |
27-18698 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 |
219-56806 7 months ago |
351-75741 351 days ago |
0-1762 29 minutes |
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 |
217-82305 7 months ago |
217-82355 217 days ago |
27-59706 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 |
217-82298 7 months ago |
224-64010 224 days ago |
9-58085 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 |
214-43367 7 months ago |
248-57122 248 days ago |
8-27645 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 |
213-70629 6 months ago |
393-43379 393 days ago |
0-1020 17 minutes |
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 |
207-5538 6 months ago |
207-5538 207 days ago |
0-68801 19 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 |
206-82518 6 months ago |
212-67374 212 days ago |
0-13581 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 |
203-49642 6 months ago |
204-62501 204 days ago |
1-79421 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 |
200-63233 6 months ago |
234-76216 234 days ago |
15-50831 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 |
200-37795 6 months ago |
317-10683 317 days ago |
0-136 2 minutes |
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 |
197-79277 6 months ago |
221-7644 221 days ago |
6-70192 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 |
197-68772 6 months ago |
307-48190 307 days ago |
4-57005 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 |
197-931 6 months ago |
197-931 197 days ago |
0-34567 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 |
197-887 6 months ago |
197-887 197 days ago |
0-34488 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 |
189-61785 6 months ago |
225-51348 225 days ago |
0-25956 7 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 |
187-6663 6 months ago |
187-6773 187 days ago |
38-73648 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 |
186-56190 6 months ago |
186-56191 186 days ago |
19-76858 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 |
186-42579 6 months ago |
unknown |
0-0 0 seconds |
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 |
186-39112 6 months ago |
213-63590 213 days ago |
0-463 7 minutes |
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 |
186-39111 6 months ago |
211-63611 211 days ago |
0-1300 21 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 |
184-63115 6 months ago |
291-76656 291 days ago |
10-38484 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 |
184-47313 6 months ago |
273-75956 273 days ago |
26-1427 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 |
184-46031 6 months ago |
241-47113 241 days ago |
15-3231 15 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 |
184-45906 6 months ago |
224-66419 224 days ago |
17-63465 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 |
181-3286 5 months ago |
291-55257 291 days ago |
22-22665 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 |
179-8059 5 months ago |
179-8059 179 days ago |
17-43852 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 |
177-78155 5 months ago |
178-79087 178 days ago |
0-105 1 minute |
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 |
174-59326 5 months ago |
174-59391 174 days ago |
0-37992 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 |
173-48450 5 months ago |
173-48450 173 days ago |
0-3921 1 hour |
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 |
172-74408 5 months ago |
172-85369 172 days ago |
0-344 5 minutes |
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 |
172-53815 5 months ago |
172-61644 172 days ago |
0-389 6 minutes |
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 |
171-80292 5 months ago |
173-3535 173 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 |
171-80290 5 months ago |
173-3620 173 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 |
165-52923 5 months ago |
165-52924 165 days ago |
44-66371 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 |
165-32773 5 months ago |
225-72840 225 days ago |
9-69432 9 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 |
164-62771 5 months ago |
255-69213 255 days ago |
39-35999 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 |
162-16842 5 months ago |
162-30312 162 days ago |
0-14741 4 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 |
159-57073 5 months ago |
173-49081 173 days ago |
0-7559 2 hours |
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 |
158-49531 5 months ago |
342-35291 342 days ago |
0-34649 9 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 |
156-49892 5 months ago |
157-60800 157 days ago |
0-13098 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 |
154-38518 5 months ago |
219-16524 219 days ago |
74-58112 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 |
154-36860 5 months ago |
225-59656 225 days ago |
7-83579 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 |
154-32788 5 months ago |
173-3527 173 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 |
152-60907 4 months ago |
198-61984 198 days ago |
69-6728 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 |
152-60170 4 months ago |
175-59106 175 days ago |
5-6447 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 |
148-55244 4 months ago |
148-62442 148 days ago |
0-8124 2 hours |
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 |
148-29382 4 months ago |
185-63489 185 days ago |
6-55291 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 |
148-27513 4 months ago |
156-61499 156 days ago |
0-3952 1 hour |
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 |
147-47849 4 months ago |
307-60899 307 days ago |
10-12739 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 |
145-66757 4 months ago |
145-66758 145 days ago |
46-71620 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 |
141-83445 4 months ago |
162-71744 162 days ago |
10-9654 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 |
141-47684 4 months ago |
141-47685 141 days ago |
26-52833 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 |
140-15440 4 months ago |
140-15440 140 days ago |
51-77810 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 |
140-322 4 months ago |
209-58891 209 days ago |
12-40134 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 |
139-48973 4 months ago |
159-48297 159 days ago |
0-289 4 minutes |
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 |
136-54472 4 months ago |
136-54472 136 days ago |
36-60965 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 |
135-76749 4 months ago |
136-47475 136 days ago |
0-7993 2 hours |
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 |
133-68865 4 months ago |
155-62802 155 days ago |
0-123 2 minutes |
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 |
133-52931 4 months ago |
228-23263 228 days ago |
0-3928 1 hour |
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 |
132-84136 4 months ago |
132-83938 132 days ago |
0-4260 1 hour |
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 |
132-63959 4 months ago |
132-63959 132 days ago |
8-26005 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 |
130-41197 4 months ago |
210-70946 210 days ago |
52-59724 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 |
129-17495 4 months ago |
139-14496 139 days ago |
0-424 7 minutes |
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 |
125-81565 4 months ago |
157-78976 157 days ago |
0-86024 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 |
125-69456 4 months ago |
125-69456 125 days ago |
54-39797 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 |
125-54830 4 months ago |
197-82887 197 days ago |
0-69 1 minute |
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 |
124-79764 4 months ago |
183-20251 183 days ago |
22-11204 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 |
124-5671 4 months ago |
124-5695 124 days ago |
5-27115 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 |
122-32449 3 months ago |
128-49102 128 days ago |
0-7022 1 hour |
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 |
122-32324 3 months ago |
203-55102 203 days ago |
13-62238 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 |
121-12177 3 months ago |
121-12177 121 days ago |
12-8119 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 |
120-42329 3 months ago |
361-83201 361 days ago |
41-53612 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 |
120-9673 3 months ago |
120-9673 120 days ago |
80-32218 80 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 |
116-7152 3 months ago |
116-7152 116 days ago |
13-19575 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 |
115-53453 3 months ago |
148-55256 148 days ago |
0-2329 38 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 |
114-38240 3 months ago |
114-77981 114 days ago |
49-34758 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 |
113-70488 3 months ago |
114-66176 114 days ago |
0-3903 1 hour |
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 |
107-31734 3 months ago |
107-32255 107 days ago |
115-15203 115 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 |
106-81611 3 months ago |
108-48422 108 days ago |
0-115 1 minute |
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 |
106-27713 3 months ago |
116-82636 116 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 |
105-65725 3 months ago |
289-56774 289 days ago |
43-77956 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 |
103-81319 3 months ago |
104-1678 104 days ago |
0-501 8 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 |
98-81026 3 months ago |
105-58473 105 days ago |
87-62939 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 |
98-32950 3 months ago |
103-30740 103 days ago |
0-3165 52 minutes |
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 |
96-38283 3 months ago |
325-45894 325 days ago |
2-77182 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 |
96-30069 3 months ago |
100-40527 100 days ago |
2-81269 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 |
94-77521 3 months ago |
120-40256 120 days ago |
53-49476 53 days |
0 |
| 42226 |
espottesmith author:espottesmith |
feat(Combinatorics/Hypergraph): add restriction `x ≠ y` to hypergraph vertex and edge adjacency |
---
<!-- 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 introduces a small change to the definitions of adjacency and edge-adjacency for undirected hypergraphs, based on a conversation with @Jun2M and @b-mehta in [#28613](https://github.com/leanprover-community/mathlib4/pull/28613).
Previously, any two vertices (edges) `x` and `y` could be adjacent, provided that there was an edge in the edge set containing both of them (there was a vertex contained in both of them). Now, we add the restriction that `x` is not equal to `y`.
This should allow `SimpleGraph` to be a clean specialization of `Hypergraph` and to ease the eventual implementation of walks.
This PR has no dependencies, but see also [42164](https://github.com/leanprover-community/mathlib4/pull/42162), @Jun2M's implementation of `HyperGraphLike` and formalization that `Hypergraph`s are `HyperGraphLike`, which includes this restriction on `Adj`.
[](https://gitpod.io/from-referrer/)
|
t-combinatorics
new-contributor
|
4/4 |
Mathlib/Combinatorics/Hypergraph/Basic.lean |
1 |
3 |
['github-actions'] |
nobody |
94-7159 3 months ago |
94-7725 94 days ago |
94-7712 94 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 |
93-65703 3 months ago |
255-72407 255 days ago |
0-3706 1 hour |
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 |
91-83663 2 months ago |
94-34343 94 days ago |
21-27470 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 |
91-75420 2 months ago |
91-75420 91 days ago |
12-7454 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 |
89-69925 2 months ago |
101-63067 101 days ago |
21-79281 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 |
89-14021 2 months ago |
94-34505 94 days ago |
20-75814 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 |
86-13122 2 months ago |
86-13122 86 days ago |
90-31998 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 |
85-38317 2 months ago |
85-38318 85 days ago |
25-30706 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 |
81-82054 2 months ago |
307-53849 307 days ago |
5-82139 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 |
81-52272 2 months ago |
218-57584 218 days ago |
52-18954 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 |
81-22709 2 months ago |
171-1526 171 days ago |
0-76500 21 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 |
81-22706 2 months ago |
179-75183 179 days ago |
0-2006 33 minutes |
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 |
81-20200 2 months ago |
81-20201 81 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 |
80-35544 2 months ago |
133-16584 133 days ago |
68-28225 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 |
79-79014 2 months ago |
98-76891 98 days ago |
2-68372 2 days |
0 |
| 42118 |
edwardfalk author:edwardfalk |
feat(NumberTheory/ModularForms/JacobiTheta): the derivative of jacobiTheta₂ in τ |
Adds `hasDerivAt_jacobiTheta₂_snd`, the companion to the existing `hasDerivAt_jacobiTheta₂_fst`: for `0 < im τ`,
```lean
HasDerivAt (jacobiTheta₂ z) (∑' n : ℤ, π * I * n ^ 2 * jacobiTheta₂_term n z τ) τ
```
The file already provides `differentiableAt_jacobiTheta₂_fst` / `differentiableAt_jacobiTheta₂_snd` and `hasDerivAt_jacobiTheta₂_fst`, so the `τ`-derivative in `HasDerivAt` form was the one missing corner of that square. The proof mirrors `hasDerivAt_jacobiTheta₂_fst`, evaluating the Fréchet derivative in the direction `(0, 1)` rather than `(1, 0)`.
Unlike the `z`-derivative there is no named function for the `τ`-derivative (`jacobiTheta₂'` has no `τ` analogue), so the statement uses an explicit `tsum`. Happy to introduce a definition instead if reviewers prefer.
No new imports, no changes to existing declarations.
I needed this to differentiate the theta functional equation at its fixed point `τ = i`; it seemed generally useful enough to upstream on its own.
|
t-number-theory
new-contributor
awaiting-author
|
23/0 |
Mathlib/NumberTheory/ModularForms/JacobiTheta/TwoVariable.lean |
1 |
7 |
['copilot-pull-request-reviewer', 'github-actions', 'loefflerd'] |
loefflerd assignee:loefflerd |
79-76484 2 months ago |
79-76484 79 days ago |
16-62351 16 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 |
79-71403 2 months ago |
79-71403 79 days ago |
23-60541 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 |
78-84080 2 months ago |
79-2164 79 days ago |
79-2151 79 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 |
78-73430 2 months ago |
79-21562 79 days ago |
5-56025 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 |
77-44823 2 months ago |
252-50411 252 days ago |
16-66871 16 days |
0 |
| 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
|
117/0 |
Mathlib.lean,Mathlib/Combinatorics/Sperner/Basic.lean |
2 |
2 |
['github-actions'] |
nobody |
76-65546 2 months ago |
76-68241 76 days ago |
76-68348 76 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 |
75-1542 2 months ago |
81-5252 81 days ago |
84-23431 84 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 |
74-55270 2 months ago |
77-81217 77 days ago |
0-2929 48 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 |
74-3004 2 months ago |
74-3004 74 days ago |
1-32395 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 |
74-2870 2 months ago |
74-2870 74 days ago |
0-44641 12 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 |
73-71280 2 months ago |
73-71281 73 days ago |
50-71304 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 |
73-41559 2 months ago |
unknown |
0-0 0 seconds |
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 |
72-60002 2 months ago |
72-64803 72 days ago |
178-7372 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 |
72-44882 2 months ago |
72-30874 72 days ago |
0-21621 6 hours |
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 |
71-40996 2 months ago |
176-48497 176 days ago |
0-115 1 minute |
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 |
71-40440 2 months ago |
114-43101 114 days ago |
34-8152 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 |
70-45618 2 months ago |
70-45619 70 days ago |
109-72670 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 |
69-70191 2 months ago |
74-3270 74 days ago |
0-44185 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 |
68-8618 2 months ago |
70-68344 70 days ago |
0-1220 20 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 |
67-57130 2 months ago |
139-5289 139 days ago |
61-47429 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 |
67-56881 2 months ago |
171-50654 171 days ago |
0-1401 23 minutes |
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 |
67-54294 2 months ago |
67-54308 67 days ago |
1-21833 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 |
66-78381 2 months ago |
66-78399 66 days ago |
88-12723 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 |
66-35459 2 months ago |
86-31394 86 days ago |
47-27417 47 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 |
65-85433 2 months ago |
96-1993 96 days ago |
138-76120 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 |
65-83723 2 months ago |
65-84511 65 days ago |
0-677 11 minutes |
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 |
65-79278 2 months ago |
65-83714 65 days ago |
0-268 4 minutes |
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 |
65-77692 2 months ago |
65-83780 65 days ago |
0-609 10 minutes |
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 |
65-53386 2 months ago |
65-53386 65 days ago |
15-49743 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 |
65-27246 2 months ago |
391-52992 391 days ago |
46-26438 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 |
65-20645 2 months ago |
255-32951 255 days ago |
3-30421 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 |
65-14832 2 months ago |
65-83757 65 days ago |
0-103 1 minute |
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 |
63-41619 2 months ago |
unknown |
0-0 0 seconds |
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 |
63-39895 2 months ago |
99-56936 99 days ago |
0-227 3 minutes |
0 |
| 42377 |
norbsvr author:norbsvr |
doc(1000.yaml): add Brauer's theorem on induced characters |
Claims a proof of [Q4958218:](https://www.wikidata.org/wiki/Q4958218) Brauer's theorem on induced characters.
The formalization is in an <a href="https://github.com/norbsvr/BrauerInduction/">external Lean 4 repository</a>. Please see file `README.md` for further information.
---
<!-- 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 |
3/0 |
docs/1000.yaml |
1 |
3 |
['github-actions'] |
nobody |
62-47959 2 months ago |
89-54777 89 days ago |
89-54764 89 days |
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 |
61-23411 2 months ago |
61-23412 61 days ago |
24-48655 24 days |
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 |
60-8220 1 month ago |
74-82078 74 days ago |
80-13200 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 |
60-7381 1 month ago |
60-45841 60 days ago |
76-2863 76 days |
0 |
| 43128 |
dannyhe652 author:dannyhe652 |
feat(SimpleGraph/Coloring): add edge colorings and missing colors |
## Summary
This PR starts the edge-coloring API needed for Vizing's theorem.
It defines edge colorings as vertex colorings of the line graph, introduces edge
colorability and the chromatic index, and adds the basic local color-set API around a
vertex.
Main additions:
- `vizing.edgeColoring`
- `vizing.edgeColorable`
- `vizing.chromaticIndex`
- `vizing.incidentEdges`
- `vizing.incidentColors`
- `vizing.missingColors`
It also proves the basic cardinality estimates relating incident colors to vertex degree,
including that with more available colors than the degree, some color is missing at the
vertex.
This is the first PR in a stacked development toward Vizing's theorem.
## 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>
---
<!-- 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
|
271/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/EdgeColoring.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain.lean,Mathlib/Combinatorics/SimpleGraph/Coloring/KempeChain/Basic.lean |
4 |
6 |
['SnirBroshi', 'dannyhe652', 'github-actions'] |
nobody |
59-76876 1 month ago |
66-978 66 days ago |
66-1061 66 days |
4 |
| 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 |
59-41473 1 month ago |
59-41473 59 days ago |
42-11862 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 |
59-23662 1 month ago |
59-23663 59 days ago |
15-76312 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 |
58-75770 1 month ago |
74-9942 74 days ago |
48-39665 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 |
58-67940 1 month ago |
183-13085 183 days ago |
2-46521 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 |
58-54457 1 month ago |
66-77376 66 days ago |
1-79365 1 day |
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 |
56-59471 1 month ago |
169-45890 169 days ago |
0-355 5 minutes |
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 |
56-57771 1 month ago |
56-57771 56 days ago |
82-38928 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 |
55-84476 1 month ago |
55-84476 55 days ago |
31-64676 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 |
55-80266 1 month ago |
103-69643 103 days ago |
0-13 13 seconds |
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 |
54-67587 1 month ago |
54-67560 54 days ago |
0-420 7 minutes |
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 |
54-23456 1 month ago |
54-23410 54 days ago |
0-140 2 minutes |
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 |
53-6234 1 month ago |
178-58078 178 days ago |
64-31147 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 |
52-73495 1 month ago |
185-12411 185 days ago |
3-33232 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 |
50-82512 1 month ago |
50-82760 50 days ago |
0-79038 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 |
50-71936 1 month ago |
50-74470 50 days ago |
50-74457 50 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 |
50-55093 1 month ago |
50-59550 50 days ago |
77-44099 77 days |
0 |
| 40050 |
ReemMelamed author:ReemMelamed |
feat(Algebra/Group/GreensRelations): add definitions for Green's relations |
This PR introduces the foundational definitions for Green's relations (L, R, H, D, and J) on semigroups.
This is the first in a series of PRs aimed at formalizing Green's relations for semigroups.
[Zulip](https://leanprover.zulipchat.com/#narrow/channel/287929-mathlib4/topic/Formalization.20of.20Green.27s.20Relations.20for.20semigroups/with/598557876)
---
- [x] depends on: #40843
|
t-algebra
new-contributor
label:t-algebra$ |
505/0 |
Mathlib.lean,Mathlib/Algebra/Group/GreensRelations/Basic.lean |
2 |
33 |
['ReemMelamed', 'YaelDillies', 'YanYablonovskiy', 'github-actions', 'mathlib-bors', 'mathlib-dependent-issues'] |
nobody |
49-84493 1 month ago |
49-85259 49 days ago |
69-76396 69 days |
1 |
| 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 |
49-77208 1 month ago |
106-71264 106 days ago |
0-218 3 minutes |
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 |
49-65510 1 month ago |
50-25182 50 days ago |
50-25169 50 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 |
49-60434 1 month ago |
180-35224 180 days ago |
3-62762 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 |
48-64602 1 month ago |
76-74508 76 days ago |
0-636 10 minutes |
3 |
| 42363 |
ghseeli author:ghseeli |
feat(Combinatorics): card_le_card_biUnion_of_card_le_card |
This PR contributes a lemma to combinatorics, `card_le_card_biUnion_of_card_le_card`. this is a set theoretic corollary of a double counting result proved for bipartite graphs (`Finset.sum_card_bipartiteAbove_eq_sum_card_bipartiteBelow`). This result was needed for our Latin Square PR https://github.com/leanprover-community/mathlib4/pull/36698. This result was proved in less general terms in that PR, but is independent of Latin Square considerations and so we have generalized and moved it into 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-combinatorics
new-contributor
|
38/0 |
Mathlib/Combinatorics/Enumerative/DoubleCounting.lean |
1 |
16 |
['cjrl', 'github-actions', 'vlad902', 'wwylele'] |
nobody |
47-44871 1 month ago |
77-34612 77 days ago |
90-26117 90 days |
1 |
| 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 |
47-9912 1 month ago |
47-9937 47 days ago |
103-33044 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 |
47-552 1 month ago |
47-552 47 days ago |
99-651 99 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 |
44-77453 1 month ago |
44-77453 44 days ago |
34-10334 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 |
43-53485 1 month ago |
50-57665 50 days ago |
0-272 4 minutes |
0 |
| 40495 |
gw90 author:gw90 |
feat: weighted graphs with killing term |
Adding basic definitions and API for weighted graphs and weighted graphs with killing term.
---
My goal is to develop the basic theory from the beginning of [this textbook](https://www.math.uni-potsdam.de/fileadmin/user_upload/Prof-GraphTh/Keller/KellerLenzWojciechowski_GraphsAndDiscreteDirichletSpaces_wu_version.pdf). I also have some definitions and lemmas regarding Dirichlet forms and Laplacians to PR later, but I tried to pare down this first PR as much as possible. It currently has only 4 main definitions and sufficient API to demonstrate their correctness.
Note that I did not use [SimpleGraph.edgeLabeling](https://leanprover-community.github.io/mathlib4_docs/find/?pattern=SimpleGraph.EdgeLabeling#doc) for the edgeWeight function because it is important that vertices that are not adjacent have an edge weight of zero. That is, the edgeWeight must be defined for all pairs of vertices and respect the underlying adjacency relation on the graph.
<!-- 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
|
368/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/Weighted/Basic.lean,docs/references.bib |
3 |
4 |
['Multramate', 'YaelDillies', 'github-actions'] |
YaelDillies assignee:YaelDillies |
43-52904 1 month ago |
44-2165 44 days ago |
97-30411 97 days |
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 |
43-52656 1 month ago |
55-74035 55 days ago |
44-34334 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 |
42-63714 1 month ago |
42-63715 42 days ago |
51-84963 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 |
42-60845 1 month ago |
185-67859 185 days ago |
39-18222 39 days |
0 |
| 42615 |
williamjblair author:williamjblair |
feat(Data/Nat/Prime/Basic): a nonzero natural has a prime not dividing it |
Any prime factor of `n + 1` works, so the proof needs nothing beyond `minFac`.
---
[](https://gitpod.io/from-referrer/) |
t-data
new-contributor
LLM-generated
awaiting-author
|
8/0 |
Mathlib/Data/Nat/Prime/Basic.lean |
1 |
3 |
['github-actions', 'joneugster', 'williamjblair'] |
joneugster assignee:joneugster |
41-68080 1 month ago |
41-68080 41 days ago |
39-83082 39 days |
0 |
| 42188 |
arcaputo3 author:arcaputo3 |
feat(Combinatorics/SimpleGraph): the line graph signature identity |
For a finite simple graph `G` with `n` vertices and `m` edges, we prove the classical identity
`s(A(L(G))) = n - m + p - q`
where `s` is the signature of the (real) adjacency matrix of the line graph `L(G)`, and `(p, q)` are the numbers of positive/negative eigenvalues of `Q(G) - 2•1`, with `Q(G) = D(G) + A(G)` the signless Laplacian, all counted with multiplicity.
The proof is the Gram-pairing argument: the `V × E(G)` incidence matrix `B` satisfies `Bᵀ * B = A(L(G)) + 2•1` and `B * Bᵀ = Q(G)`, and the two products have equal nonzero spectra by `Matrix.charpoly_mul_comm'`. Eigenvalue counts are transported along the resulting root-multiset identity.
New declarations:
- `Mathlib/Analysis/Matrix/Inertia.lean`: the inertia indices `Matrix.IsHermitian.posInertia` / `negInertia` / `signature` of a real symmetric matrix, and `Matrix.IsHermitian.charpoly_add_smul_one` / `roots_charpoly_add_smul_one` (the characteristic polynomial of `A + c • 1` splits over the shifted eigenvalues).
- `Mathlib/Combinatorics/SimpleGraph/LineGraphSignature.lean`: `SimpleGraph.signlessLapMatrix`, `SimpleGraph.edgeIncMatrix` (the `V × E(G)`-indexed incidence matrix) together with the two Gram identities above (stated over an arbitrary (non-assoc) semiring), a `DecidableRel` instance for `lineGraph.Adj`, and the main theorem `SimpleGraph.signature_adjMatrix_lineGraph`.
---
**AI disclosure** (per the mathlib policy on AI-assisted contributions): this PR was formalized end-to-end with Claude Code (Anthropic model Claude Fable 5). The choice of statement and the decision to contribute are mine; the Lean proofs were authored by the tool and verified by compilation. `#print axioms SimpleGraph.signature_adjMatrix_lineGraph` reports `[propext, Classical.choice, Quot.sound]`.
Notes for reviewers:
- `signlessLapMatrix` could alternatively live in `Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean`, and the `DecidableRel G.lineGraph.Adj` instance in `LineGraph.lean`; happy to move them.
- The inertia API is deliberately minimal (what the main theorem needs); extensions (e.g. rank/inertia relations, congruence invariance / Sylvester's law) would be natural follow-ups.
- I do not yet have push access to non-master mathlib branches, so this PR comes from a fork; happy to move the branch onto the main repository once access is granted.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
new-contributor
LLM-generated
t-combinatorics
|
326/0 |
Mathlib.lean,Mathlib/Analysis/Matrix/Inertia.lean,Mathlib/Combinatorics/SimpleGraph/LineGraphSignature.lean |
3 |
2 |
['github-actions'] |
nobody |
41-36703 1 month ago |
94-72718 94 days ago |
94-72705 94 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 |
41-36649 1 month ago |
144-52963 144 days ago |
17-22788 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 |
41-36547 1 month ago |
93-69866 93 days ago |
1-35 1 day |
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 |
41-36258 1 month ago |
113-67866 113 days ago |
0-4449 1 hour |
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 |
41-36117 1 month ago |
103-75449 103 days ago |
0-1887 31 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 |
41-36040 1 month ago |
104-1708 104 days ago |
0-500 8 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 |
40-61230 1 month ago |
131-69452 131 days ago |
268-73187 268 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 |
40-51973 1 month ago |
47-49943 47 days ago |
47-50286 47 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 |
40-34014 1 month ago |
97-22052 97 days ago |
121-5374 121 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 |
39-78326 1 month ago |
40-38945 40 days ago |
42-33068 42 days |
0 |
| 41947 |
hawkrobe author:hawkrobe |
feat(Order/Antisymmetrization): comparable minimal elements are equivalent |
a minimal element is antisymmetrically equivalent to every comparable element satisfying the predicate, so two comparable minimal elements are equivalent in a preorder and equal in a partial order (Mathlib has the partial-order form `Minimal.eq_of_ge` but not the preorder form.)
---
[](https://gitpod.io/from-referrer/) |
new-contributor
t-order
|
25/4 |
Mathlib/Logic/Relation.lean,Mathlib/Order/Antisymmetrization.lean,Mathlib/Order/Bounds/Basic.lean |
3 |
3 |
['github-actions', 'hawkrobe'] |
nobody |
39-67589 1 month ago |
103-25237 103 days ago |
103-25224 103 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 |
39-21605 1 month ago |
39-21606 39 days ago |
15-25444 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 |
38-61415 1 month ago |
165-78829 165 days ago |
59-48094 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 |
38-54050 1 month ago |
57-70232 57 days ago |
76-38190 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 |
38-34780 1 month ago |
38-36010 38 days ago |
38-35997 38 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 |
38-33095 1 month ago |
38-34354 38 days ago |
38-34638 38 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 |
37-46040 1 month ago |
37-46051 37 days ago |
52-21325 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 |
37-44115 1 month ago |
38-30071 38 days ago |
78-22020 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 |
36-34011 1 month ago |
71-69623 71 days ago |
71-69610 71 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 |
36-15501 1 month ago |
43-45607 43 days ago |
0-137 2 minutes |
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 |
35-53179 1 month ago |
unknown |
0-0 0 seconds |
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 |
35-53156 1 month ago |
unknown |
0-0 0 seconds |
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 |
35-53108 1 month ago |
unknown |
0-0 0 seconds |
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 |
35-52834 1 month ago |
unknown |
0-0 0 seconds |
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 |
35-52796 1 month ago |
unknown |
0-0 0 seconds |
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 |
35-14685 1 month ago |
35-15606 35 days ago |
35-15593 35 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 |
34-58226 1 month ago |
45-60361 45 days ago |
11-8700 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 |
33-24764 1 month ago |
287-81889 287 days ago |
93-10641 93 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 |
33-23814 1 month ago |
165-80210 165 days ago |
130-57925 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 |
33-23557 1 month ago |
234-42572 234 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 |
33-23556 1 month ago |
102-64260 102 days ago |
17-68470 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 |
33-23418 1 month ago |
228-70389 228 days ago |
7-10039 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 |
33-21547 1 month ago |
105-67242 105 days ago |
56-22749 56 days |
0 |
| 40561 |
iosephusferrum author:iosephusferrum |
feat(ModelTheory): quantifier elimination for first-order theories |
This PR introduces `HasQuantifierElimination` for first-order languages, along with some standard criteria to establish it for any language that satisfies them and prerequisite formalization `mathlib4` required on elementary extension pairs (`IsElementaryExtensionPair`) and < κ-generated substructures (`CardinalLTGenerated`). It also states and proves that the first-order theory DLO (dense linear order without endpoints) has quantifier elimination (`dlo_hasQuantifierElimination`), using the newly formalized quantifier elimination criteria.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Salih Erdem Koçak <saliherdemkd@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
---
[](https://gitpod.io/from-referrer/)
Please note that we have utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are directly "translated" from human-language source material (check the diff in `references.bib`) to Lean proofs using mentioned AI tools. However, all design/formalization decisions are made by us. |
new-contributor
LLM-generated
t-logic
merge-conflict
|
976/7 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
11 |
7 |
['erdkocak', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
33-21287 1 month ago |
33-21288 33 days ago |
107-24919 107 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 |
33-21285 1 month ago |
137-27700 137 days ago |
0-313 5 minutes |
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 |
33-20040 1 month ago |
102-18977 102 days ago |
0-12994 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 |
33-19907 1 month ago |
95-41966 95 days ago |
0-1372 22 minutes |
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 |
33-15095 1 month ago |
79-950 79 days ago |
79-937 79 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 |
32-81912 1 month ago |
75-63306 75 days ago |
0-75 1 minute |
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 |
32-81640 1 month ago |
32-81640 32 days ago |
26-50725 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 |
32-81502 1 month ago |
32-81503 32 days ago |
19-11881 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 |
32-70990 1 month ago |
283-48026 283 days ago |
1-23617 1 day |
0 |
| 42808 |
rshlyakh author:rshlyakh |
feat(Algebra/MonoidAlgebra/Grading): add decomposition lemma |
Adds a `simp` lemma about the decomposition of the `AddMonoidAlgebra R M` grading.
---
<!-- 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$ |
10/0 |
Mathlib/Algebra/MonoidAlgebra/Grading.lean |
1 |
5 |
['github-actions', 'themathqueen', 'wwylele'] |
nobody |
32-65360 1 month ago |
32-65360 32 days ago |
43-62441 43 days |
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 |
32-64858 1 month ago |
151-43618 151 days ago |
65-5110 65 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 |
32-64608 1 month ago |
185-67540 185 days ago |
53-32590 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 |
32-63302 1 month ago |
32-63302 32 days ago |
39-56008 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 |
32-35312 1 month ago |
60-17909 60 days ago |
4-9013 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 |
31-49240 1 month ago |
31-58533 31 days ago |
31-66278 31 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 |
31-27952 1 month ago |
237-60257 237 days ago |
0-96 1 minute |
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 |
31-2478 1 month ago |
141-80874 141 days ago |
7-56895 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 |
30-71352 1 month ago |
32-74253 32 days ago |
45-37055 45 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 |
30-68627 1 month ago |
40-65616 40 days ago |
64-82301 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 |
30-68253 1 month ago |
unknown |
0-0 0 seconds |
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 |
30-68124 1 month ago |
104-203 104 days ago |
2-29441 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 |
30-61926 1 month ago |
339-79133 339 days ago |
6-25774 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 |
30-17252 30 days ago |
30-17355 30 days ago |
123-33219 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 |
29-63915 29 days ago |
29-64297 29 days ago |
42-60248 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 |
28-60745 28 days ago |
28-61496 28 days ago |
28-61483 28 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 |
27-84653 27 days ago |
27-84654 27 days ago |
115-68812 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 |
27-70793 27 days ago |
27-70793 27 days ago |
70-9386 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 |
27-64090 27 days ago |
28-4653 28 days ago |
46-73763 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 |
27-34013 27 days ago |
49-23498 49 days ago |
49-23485 49 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 |
27-11985 27 days ago |
27-12012 27 days ago |
111-16631 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 |
26-59471 26 days ago |
26-59471 26 days ago |
0-1882 31 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 |
26-55524 26 days ago |
269-63209 269 days ago |
14-69133 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 |
25-74217 25 days ago |
32-81917 32 days ago |
45-72411 45 days |
0 |
| 41116 |
erdkocak author:erdkocak |
feat(ModelTheory): prove quantifier elimination for dense linear orders |
- [ ] depends on: #41115
This is the final PR in a sequence splitting #40561.
It applies the extension-pair criterion to prove that dense linear orders have quantifier elimination.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
new-contributor
LLM-generated
blocked-by-other-PR
t-logic
merge-conflict
|
970/2 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Order.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
11 |
7 |
['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
25-56049 25 days ago |
124-77202 124 days ago |
0-10546 2 hours |
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 |
25-55918 25 days ago |
32-55153 32 days ago |
37-21932 37 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 |
25-54561 25 days ago |
36-4765 36 days ago |
44-79889 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 |
25-54560 25 days ago |
82-69893 82 days ago |
4-36317 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 |
25-29680 25 days ago |
27-80962 27 days ago |
85-76824 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 |
25-19512 25 days ago |
28-42886 28 days ago |
28-42873 28 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 |
25-19510 25 days ago |
unknown |
0-0 0 seconds |
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 |
25-18198 25 days ago |
25-18455 25 days ago |
25-18442 25 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 |
23-63718 23 days ago |
29-69860 29 days ago |
29-69847 29 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 |
23-42941 23 days ago |
23-46072 23 days ago |
23-48274 23 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 |
23-42865 23 days ago |
unknown |
0-0 0 seconds |
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 |
22-73814 22 days ago |
31-12427 31 days ago |
60-27944 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 |
22-68626 22 days ago |
38-75377 38 days ago |
40-23617 40 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 |
22-52799 22 days ago |
22-52749 22 days ago |
67-75347 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 |
22-3357 22 days ago |
290-16249 290 days ago |
0-3444 57 minutes |
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 |
21-81153 21 days ago |
155-49718 155 days ago |
0-5451 1 hour |
0 |
| 41111 |
erdkocak author:erdkocak |
feat(ModelTheory): add cardinal-generated substructure API |
This is the first PR in a sequence splitting #40561.
It adds a `CardinalLTGenerated` predicate for substructures, basic closure and map lemmas, and the finitely generated specialization.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
t-logic
new-contributor
LLM-generated
merge-conflict
|
51/0 |
Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/Substructures.lean |
2 |
10 |
['NoahW314', 'erdkocak', 'felixpernegger', 'github-actions', 'mathlib-merge-conflicts'] |
nobody |
21-80891 21 days ago |
30-11357 30 days ago |
94-76378 94 days |
5 |
| 41112 |
erdkocak author:erdkocak |
feat(ModelTheory): add elementary extension pairs |
- [ ] depends on: #41111
- [x] depends on: #41358
The second dependency is a small documentation-only cleanup split out from the original stack, so that the downstream PRs do not carry that unrelated diff.
This is the second PR in a sequence splitting #40561.
It adds elementary extension-pair predicates and the partial-equivalence API used by the quantifier-elimination criterion.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
new-contributor
LLM-generated
blocked-by-other-PR
t-set-theory
merge-conflict
|
218/1 |
Mathlib.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean |
6 |
5 |
['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-80889 21 days ago |
124-77197 124 days ago |
0-10613 2 hours |
4 |
| 41113 |
erdkocak author:erdkocak |
feat(ModelTheory): define quantifier elimination |
- [ ] depends on: #41112
This is the third PR in a sequence splitting #40561.
It defines quantifier-free equivalence over a theory and quantifier elimination, together with basic reduction lemmas.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
new-contributor
LLM-generated
blocked-by-other-PR
t-logic
merge-conflict
|
397/1 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
9 |
5 |
['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-80888 21 days ago |
124-77199 124 days ago |
0-10570 2 hours |
3 |
| 41114 |
erdkocak author:erdkocak |
feat(ModelTheory): add embedding criteria for quantifier elimination |
- [ ] depends on: #41113
This is the fourth PR in a sequence splitting #40561.
It adds embedding and realization criteria for quantifier elimination, including the Marker-style criterion.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
new-contributor
LLM-generated
blocked-by-other-PR
t-set-theory
merge-conflict
|
768/1 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
10 |
5 |
['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-80886 21 days ago |
124-77200 124 days ago |
0-10598 2 hours |
2 |
| 41115 |
erdkocak author:erdkocak |
feat(ModelTheory): derive quantifier elimination from extension pairs |
- [ ] depends on: #41114
This is the fifth PR in a sequence splitting #40561.
It proves quantifier elimination from elementary extension-pair hypotheses, including finitely generated and cardinal-generated variants.
Co-authored-by: Yağız Kaan Aydoğdu <y.kaan.aydogdu@gmail.com>
Co-authored-by: Yusuf Demir <yusufdemir12610@gmail.com>
Advised-by: Ayhan Günaydın <ayhan.gunaydin@bogazici.edu.tr>
Advised-by: Metin Ersin Arıcan <metin.arican@bogazici.edu.tr>
Please note that we utilized agentic AI tools (Claude Opus, ChatGPT Codex) during the development of this PR. Most of the proofs of the major theorems are direct translations from human-language source material (see the diff in `references.bib`) into Lean proofs using the mentioned AI tools. However, all design and formalization decisions were made by us. |
new-contributor
LLM-generated
blocked-by-other-PR
t-logic
merge-conflict
|
953/1 |
Mathlib.lean,Mathlib/ModelTheory/Complexity.lean,Mathlib/ModelTheory/ElementaryExtensionPair.lean,Mathlib/ModelTheory/FinitelyGenerated.lean,Mathlib/ModelTheory/PartialEquiv.lean,Mathlib/ModelTheory/QuantifierElimination.lean,Mathlib/ModelTheory/Semantics.lean,Mathlib/ModelTheory/Substructures.lean,Mathlib/Tactic/Linter/TextBased/UnicodeLinter.lean,docs/references.bib |
10 |
5 |
['felixpernegger', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
21-80885 21 days ago |
124-77201 124 days ago |
0-10557 2 hours |
1 |
| 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 |
21-72412 21 days ago |
21-72412 21 days ago |
79-45232 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 |
21-70982 21 days ago |
21-70982 21 days ago |
73-33230 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 |
21-70711 21 days ago |
21-70711 21 days ago |
30-38386 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 |
21-70507 21 days ago |
21-70507 21 days ago |
16-51970 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 |
21-70442 21 days ago |
21-70442 21 days ago |
16-51474 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 |
21-70417 21 days ago |
21-70417 21 days ago |
16-51178 16 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
|
723/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/ClusterExpansion.lean |
2 |
3 |
['forxhunter', 'github-actions'] |
nobody |
21-64684 21 days ago |
21-65411 21 days ago |
21-65493 21 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 |
21-63502 21 days ago |
21-64197 21 days ago |
33-36771 33 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 |
21-56661 21 days ago |
21-59742 21 days ago |
0-159 2 minutes |
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 |
21-56651 21 days ago |
21-56655 21 days ago |
0-3798 1 hour |
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 |
21-50404 21 days ago |
21-51007 21 days ago |
21-53617 21 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 |
21-50283 21 days ago |
21-50912 21 days ago |
21-53770 21 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 |
21-36283 21 days ago |
42-31408 42 days ago |
101-34538 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 |
21-15236 21 days ago |
21-50758 21 days ago |
21-53746 21 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 |
20-74419 20 days ago |
20-74443 20 days ago |
0-78586 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 |
20-70605 20 days ago |
164-86218 164 days ago |
0-121 2 minutes |
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 |
20-70065 20 days ago |
20-70065 20 days ago |
0-2714 45 minutes |
1 |
| 43904 |
t4v1 author:t4v1 |
feat(MeasureTheory/Constructions/HaarToSphere): polar coordinates for lintegral |
`Measure.measurePreserving_homeomorphUnitSphereProd` represents an additive Haar measure on a nontrivial finite-dimensional normed space `E` as the product of the sphere measure `μ.toSphere` and Lebesgue measure on `(0, ∞)` with density `r ^ (dim E - 1)`. The file exposes it only through the radial corollaries `integrable_fun_norm_addHaar`, `integrableOn_fun_norm_addHaar` and `integral_fun_norm_addHaar`, all for integrands of the form `f ‖x‖`.
This PR adds the general `lintegral` form, for an arbitrary measurable `f : E → ℝ≥0∞`:
* `lintegral_addHaar_eq_lintegral_toSphere_lintegral_Ioi`:
`∫⁻ x, f x ∂μ = ∫⁻ ω, ∫⁻ r in Ioi 0, ENNReal.ofReal (r ^ (dim E - 1)) * f (r • ω) ∂μ.toSphere`;
* `setLIntegral_ball_eq_lintegral_toSphere_lintegral_Ioo`: the same for `∫⁻ y in ball c R, f y ∂μ`, with the radial integral over `Ioo 0 R` and the rays emanating from `c`.
Both are needed for Morrey's inequality (follow-up PR), whose two analytic steps integrate non-radial functions in polar coordinates; they are stated here on their own because they are independent of it.
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.
|
t-measure-probability
new-contributor
LLM-generated
|
47/0 |
Mathlib/MeasureTheory/Constructions/HaarToSphere.lean |
1 |
3 |
['github-actions', 't4v1'] |
RemyDegenne assignee:RemyDegenne |
20-34905 20 days ago |
43-45935 43 days ago |
43-45922 43 days |
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 |
20-19192 20 days ago |
20-22861 20 days ago |
20-22848 20 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 |
19-76077 19 days ago |
19-76645 19 days ago |
19-77026 19 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 |
19-40039 19 days ago |
19-43156 19 days ago |
19-43143 19 days |
0 |
| 41957 |
YijunYuan author:YijunYuan |
feat(NumberTheory/Padics/Complex): add densely normed field and separable space instances |
Equip the field `ℂ_[p]` of `p`-adic complex numbers and its dense subfield
`PadicAlgCl p` (the algebraic closure of `ℚ_[p]`) with two further standard
typeclass instances.
Main additions:
* `DenselyNormedField (PadicAlgCl p)`: the norm takes values dense in the
positive reals. The witness between two given bounds `a < b` is built from an
`n`-th root `z` of `p` (which exists since `PadicAlgCl p` is algebraically
closed): choosing `n` so that `(a / b) ^ n < ‖p‖` gives `a / b < ‖z‖ < 1`, and
some integer power `z ^ m` then has norm strictly between `a` and `b`.
* `SeparableSpace (PadicAlgCl p)`: the elements algebraic over `ℚ` form a
countable dense subset. Density follows from continuity of roots — `α` is a
root of its minimal polynomial `f` over `ℚ_[p]`, and approximating the
coefficients of `f` by a polynomial `g` over the dense subfield `ℚ` yields a
root `β` of `g` (hence algebraic over `ℚ`) arbitrarily close to `α`.
* The corresponding instances `DenselyNormedField ℂ_[p]` and
`SeparableSpace ℂ_[p]` are then inferred, `ℂ_[p]` being the completion of
`PadicAlgCl p`.
Supporting general instance:
* `DenselyNormedField (UniformSpace.Completion A)` for a densely normed field
`A` with `CompletableTopField A`, since the norm on the completion extends the
norm on `A`.
The existing `NontriviallyNormedField` instances on `PadicAlgCl p` and `ℂ_[p]`
are simplified to `inferInstance`, as they now follow from the new
`DenselyNormedField` instances. |
new-contributor
t-number-theory
t-algebra
label:t-algebra$ |
123/19 |
Mathlib/Analysis/Normed/Field/Dense.lean,Mathlib/Analysis/Normed/Module/Completion.lean,Mathlib/NumberTheory/Padics/Complex.lean |
3 |
11 |
['YijunYuan', 'github-actions', 'mathlib-merge-conflicts', 'pechersky', 'riccardobrasca'] |
alreadydone assignee:alreadydone |
19-34914 19 days ago |
30-82847 30 days ago |
95-38274 95 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 |
19-27899 19 days ago |
19-30556 19 days ago |
29-43877 29 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 |
19-13498 19 days ago |
19-14184 19 days ago |
20-27066 20 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 |
19-12499 19 days ago |
21-20799 21 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 |
18-73312 18 days ago |
135-25700 135 days ago |
30-2702 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 |
18-70000 18 days ago |
30-30470 30 days ago |
1-53552 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 |
18-52060 18 days ago |
43-42151 43 days ago |
92-82942 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 |
18-44401 18 days ago |
18-44401 18 days ago |
18-52744 18 days |
0 |
| 40472 |
karlesmarin author:karlesmarin |
feat(Combinatorics/SimpleGraph): oriented incidence matrix |
Defines the oriented incidence matrix `SimpleGraph.orientedIncMatrix` of a simple graph on a linearly ordered vertex type, with each edge oriented from its smaller to its larger endpoint, and proves `orientedIncMatrix_mul_transpose : N * Nᵀ = G.lapMatrix R`.
This covers, for a fixed orientation, the second TODO in `Mathlib/Combinatorics/SimpleGraph/IncMatrix.lean`.
Written with the help of an LLM (Claude).
|
new-contributor
LLM-generated
t-combinatorics
|
157/0 |
Mathlib.lean,Mathlib/Combinatorics/SimpleGraph/OrientedIncMatrix.lean |
2 |
21 |
['SnirBroshi', 'github-actions', 'karlesmarin'] |
b-mehta assignee:b-mehta |
18-34916 18 days ago |
33-55933 33 days ago |
140-83253 140 days |
0 |
| 44812 |
keithadler author:keithadler |
fix(MeasureTheory/Group/Arithmetic): make `Finset.measurable_prod` state the product of functions |
`Finset.measurable_prod` (and `Finset.measurable_sum`) had exactly the same statement and proof as `Finset.measurable_fun_prod`: `Measurable fun a ↦ ∏ i ∈ s, f i a`. Everywhere else in this file the plain name states the point-free form (`List.measurable_prod : Measurable l.prod`, `Finset.aemeasurable_prod : AEMeasurable (∏ i ∈ s, f i) μ`) and `_fun_` states the `fun a ↦ …` form. This makes `Finset.measurable_prod` state `Measurable (∏ i ∈ s, f i)`, proved through `Multiset.measurable_prod` the way `aemeasurable_prod` is, and proves `measurable_fun_prod` from it. The two uses that need the `fun` form, `IsProgressive.finsetProd` and `integral_id_stdGaussian`, now use `measurable_fun_prod` / `measurable_fun_sum`.
The three edited modules build and `lake exe runLinter` passes on them, on current `master`. I did not build the rest of Mathlib, so CI will show whether anything else used the old statement.
Found with [Lean Studio](https://github.com/keithadler/leanstudio)'s Find Similar Proofs. Prepared with AI assistance (Claude); I checked the change and the build.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
t-measure-probability
LLM-generated
new-contributor
|
9/9 |
Mathlib/MeasureTheory/Group/Arithmetic.lean,Mathlib/Probability/Distributions/Gaussian/Multivariate.lean,Mathlib/Probability/Process/Adapted.lean |
3 |
3 |
['github-actions', 'keithadler'] |
nobody |
18-33529 18 days ago |
18-34775 18 days ago |
18-34762 18 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 |
17-69038 17 days ago |
17-69038 17 days ago |
43-84134 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 |
17-57229 17 days ago |
21-558 21 days ago |
69-46588 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 |
17-52557 17 days ago |
17-52614 17 days ago |
34-75499 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 |
17-41748 17 days ago |
17-44646 17 days ago |
0-106 1 minute |
0 |
| 41308 |
sergantche author:sergantche |
feat: add `List.insertIdx_eraseIdx_getElem_perm` |
Adds `List.insertIdx_eraseIdx_getElem_perm`, showing that erasing an element by index and inserting it at any valid position gives a permutation of the original list.
This packages the existing lemmas `List.perm_insertIdx` and `List.getElem_cons_eraseIdx_perm` into a direct API lemma.
AI assistance was used in preparing this PR; I reviewed the statement and proof.
[](https://gitpod.io/from-referrer/) |
t-data
new-contributor
LLM-generated
|
5/0 |
Mathlib/Data/List/Perm/Basic.lean |
1 |
5 |
['github-actions', 'sergantche', 'vlad902'] |
eric-wieser assignee:eric-wieser |
17-34916 17 days ago |
110-44788 110 days ago |
114-48170 114 days |
0 |
| 42820 |
tolgadgrmnc27 author:tolgadgrmnc27 |
feat(Data/Nat/Choose): elementary Chernoff bound for tail sums of binomial coefficients |
Adds an elementary, purely combinatorial Chernoff-type bound on tail sums of
binomial coefficients:
```lean
theorem Nat.sum_Ico_choose_le_div (n m : ℕ) {x : α} (hx : 1 ≤ x) :
∑ j ∈ Ico m (n + 1), (n.choose j : α) ≤ (1 + x) ^ n / x ^ m
```
together with the specialization at `x = 2`:
```lean
theorem Nat.sum_Ico_choose_le_three_pow_div (n m : ℕ) :
∑ j ∈ Ico m (n + 1), (n.choose j : α) ≤ 3 ^ n / 2 ^ m
```
The proof is the classical exponential moment trick done combinatorially: for
`m ≤ j` and `1 ≤ x` we have `x ^ m ≤ x ^ j`, so the tail sum is bounded by
`x ^ (-m) * ∑ j, n.choose j * x ^ j = x ^ (-m) * (1 + x) ^ n` by the binomial
theorem. A helper `Nat.sum_range_choose_mul_pow` states the binomial theorem in
the convenient form `∑ j ≤ n, n.choose j * x ^ j = (1 + x) ^ n`.
### Why this is not already in Mathlib
* `Nat.sum_range_choose` gives the *total* sum `∑ j ≤ n, n.choose j = 2 ^ n`.
* `Mathlib/Data/Nat/Choose/Bounds.lean` bounds a *single* coefficient
(`choose_le_pow`, `choose_le_two_pow`, `choose_le_pow_div`, …).
* `Mathlib/Probability/Moments/SubGaussian.lean` has Chernoff/Hoeffding, but
measure-theoretically: using it for a counting argument requires setting up a
probability space with independent Bernoulli variables and translating back
to cardinalities.
I could not find a statement bounding a *partial* sum of binomial
coefficients. The version here needs no probability space and applies directly
to counting arguments (its original use was bounding the number of `n < 2 ^ k`
whose first `k` binary digits contain at least `m` ones).
### Notes
* Stated over a general `[Semifield α] [LinearOrder α] [IsStrictOrderedRing α]`,
matching the typeclass style of `Mathlib/Data/Nat/Choose/Bounds.lean`.
* `Ico m (n + 1)` rather than a `filter (m ≤ ·)` form, as is idiomatic in
Mathlib; the two are equal by `Finset.filter_le_eq_Ico`-style reasoning.
* Names are of course open to bikeshedding.
---
- [x] depends on: nothing
|
t-data
new-contributor
|
84/0 |
Mathlib.lean,Mathlib/Data/Nat/Choose/Tail.lean |
2 |
3 |
['github-actions'] |
nobody |
17-34005 17 days ago |
75-82289 75 days ago |
75-82276 75 days |
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 |
17-20547 17 days ago |
62-16777 62 days ago |
0-214 3 minutes |
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 |
17-18199 17 days ago |
21-70624 21 days ago |
29-25532 29 days |
0 |
| 39347 |
Sfgangloff author:Sfgangloff |
feat(SymbolicDynamics): refactor of Pattern and shift-invariance of shape languages for subshifts |
## Summary
This PR refactors Pattern.mulShift in Mathlib/Dynamics/SymbolicDynamics/Basic.lean and uses the cleaner definition to prove shift-invariance of the language of a subshift on a finite shape.
## Changes
Pattern.mulShift now returns a Pattern instead of a configuration (more natural).
- Old type: Pattern.mulShift : Pattern A G → G → (G → A)
- New type: Pattern.mulShift : Pattern A G → G → Pattern A G
- The result carries its support (p.support.image (v * ·)) and the
default-outside-support proof, so callers don't have to re-derive them.
The [IsLeftCancelMul G] hypothesis is moved to the lemmas that actually use it.
- The definition Pattern.mulShift itself no longer needs left-cancellation (it only
chooses a preimage noncomputably).
- The hypothesis is now stated on mulShift_config_apply_mul_left_of_mem and
mulOccursInAt_eq_cylinder directly, instead of being a section-level variable.
Renames following the type change.
- mulShift_apply_mul_left_of_mem → mulShift_config_apply_mul_left_of_mem (because we
now write (p.mulShift v).config instead of p.mulShift v).
New @[simp] and @[ext] lemmas for Pattern.
- Pattern.ext: two patterns are equal iff their supports agree and their
configurations agree on the support.
- Pattern.mulShift_support: the support of p.mulShift v is p.support.image (v * ·).
- Pattern.fromConfig_support: the support of fromConfig x U is U.
- Pattern.fromConfig_config_of_mem: on its support, fromConfig x U agrees with x.
New lemma Pattern.fromConfig_mulShift.
For a left inverse g' * g = 1, shifting the pattern fromConfig x U by g equals
fromConfig (mulShift g' x) (U.image (g * ·)).
New theorem MulSubshift.languageOn_image_mulShift.
For a subshift Y and elements g, g' with g * g' = 1 and g' * g = 1:
(fun p => p.mulShift g) '' Y.languageOn U = Y.languageOn (U.image (g * ·))
i.e. the language on the translated shape is exactly the image of the language on U
under the pattern-shift map. This gives a bijection between Y.languageOn U and
Y.languageOn (U.image (g * ·)), with inverse p ↦ p.mulShift g'. Stated for
left-cancellative monoids with an invertible element.
Updated docstrings for Pattern.mulShift and the renamed lemma to reflect the
bundled-Pattern return type and clarify which results need [IsLeftCancelMul G]. |
t-dynamics
new-contributor
|
144/47 |
Mathlib/Dynamics/SymbolicDynamics/Basic.lean |
1 |
13 |
['Sfgangloff', 'github-actions', 'mathlib-merge-conflicts', 'sgouezel'] |
urkud assignee:urkud |
17-11047 17 days ago |
17-11653 17 days ago |
77-49161 77 days |
0 |
| 41069 |
ymonbru author:ymonbru |
feat: adds the definition of the pushforward of a Ksheaf |
For f: X to Y a proper map between T2 spaces and Y being locally comapct, this files adds the pushforward of KSheaves: in particular one gets a functor from Ksheaf A X to Ksheaf A Y.
In order to prove this lemma, we add the fact that the base changes of compact neighbourhoods of K to f^-1(K) is an initial functor.
This require to know that if f is closed then kernImage f (the adjoint of the preimage) is Open. (Note that if f is open then kernImage f is closed, we thus add this lemma even though we do not use it there).
We also add the ddefinition of the pushforward of a bicartesian square in order to define the pushforward.
Maybe the `properPreimage`in l.101 of BasechngeNhds should go elsewhere but find_home told me to let it there.
---
- [ ] depends on: #40953
<!-- 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-topology
|
248/8 |
Mathlib.lean,Mathlib/Order/CompleteLattice/MulticoequalizerDiagram.lean,Mathlib/Topology/Basic.lean,Mathlib/Topology/Sets/BaseChangeNhds.lean,Mathlib/Topology/Sets/Compacts.lean,Mathlib/Topology/Sheaves/KSheaf.lean |
6 |
14 |
['Multramate', 'github-actions', 'mathlib-dependent-issues', 'mathlib-merge-conflicts'] |
nobody |
17-1768 17 days ago |
127-1821 127 days ago |
0-2162 36 minutes |
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 |
16-59529 16 days ago |
17-62693 17 days ago |
17-62680 17 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 |
16-40564 16 days ago |
21-27764 21 days ago |
24-41026 24 days |
0 |
| 42995 |
jacob-greenfield author:jacob-greenfield |
feat: add `List.Pairwise.orderedInsert'`, `List.sortedLE_orderedInsert_lt`, and `List.sortedGE_orderedInsert_gt` |
Introduce a generalized `Pairwise.orderedInsert'` lemma to prove that `Pairwise r l` is maintained after performing an `orderedInsert` using a relation stronger than `r` under certain conditions. Prove `sortedLE_orderedInsert_lt`, showing that `l.orderedInsert (· < ·) a` preserves `SortedLE` for decidable total preorders (analogously for `sortedGE_orderedInsert_gt`). This is useful for inserting an element into a sorted list *behind* any other elements which compare equal.
---
<!-- 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 was hoping to avoid `omit`, but that would require moving all of `Pairwise.orderedInsert'`, `Pairwise.orderedInsert`, `pairwise_insertionSort`, `sublist_insertionSort'`, `pair_sublist_insertionSort'`, and `mergeSort_eq_insertionSort` after `end sort` on line 365 and reintroducing all the section variables. I also considered moving `Pairwise.orderedInsert'` somewhere _before_ `variable {α β : Type*} (r : α → α → Prop) (s : β → β → Prop)` on line 30, but that would place it before `orderedInsert` is defined. "Omit" seemed like the least invasive approach.
[](https://gitpod.io/from-referrer/)
|
t-data
new-contributor
|
27/11 |
Mathlib/Data/List/Sort.lean |
1 |
8 |
['github-actions', 'jacob-greenfield', 'theebayuser'] |
nobody |
16-34009 16 days ago |
71-25276 71 days ago |
71-25263 71 days |
0 |
| 39687 |
TentativeConvert author:TentativeConvert |
feat(Algebra/Group/Submonoid): type class to indicate that supremum in a SubmonoidClass agrees with supremum of submonoids |
Add a type class `SubmonoidClass.IsConcreteSSup` to indicate that the canonical map `.ofClass` from a class `S` of submonoids of `M` to `Submonoid M` preserves suprema.
---
This PR implements the minimal type class assumption needed to make „pushfoward of gradings along maps of indexing sets“ – see draft PR #39356 – work in some `SetLike` generality.
Given `{S M : Type*} [SetLike S M] [Monoid M] [SubmonoidClass S M]`, we have canonical maps
```
S → Submonoid M → Set M
```
The first is `Submonoid.ofClass`, the second and the composition are `coe` maps coming from the `SetLike` structures. Depending on `S`, these maps may or may not satisfy various properties with respect the lattice structures on `Submonoid M` and `Set M`. Mathlib so far includes the type class `[IsConcreteLE S M]`, which asserts that the composition `S → Set M` is order-preserving and order-reflecting. The type class defined here asserts that the first map, `S → Submonoid M`, preserves suprema.
In examples such as `S = Subgroup M`, `S = Submodule R M`, much more is true – in these cases, `S` is a complete sublattice of `Submonoid M`. But there are also examples where only the weaker property defined here holds, e.g. `S = OpenSubgroup M` for a topological group `M`.
[Zulip discussion thead about this PR](https://leanprover.zulipchat.com/#narrow/channel/144837-PR-reviews/topic/type.20class.20to.20indicate.20that.20supremum.20in.20a.20SubmonoidClass.20agr/with/626031731)
Note on `outParam`: I did *not* write `(M : outParam Type*)` in the assumptions of `SubmonoidClass.IsConcreteSSup` in accordance with the [DocString of `Setlike`](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Data/SetLike/Basic.html#SetLike). However, we do have `(B : outParam Type*)` in the definition of `IsConcreteLE`, so perhaps I'm misinterpreting the DocString.
<!-- 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
label:t-algebra$ |
56/0 |
Mathlib.lean,Mathlib/Algebra/Group/Submonoid/SSup.lean |
2 |
11 |
['SnirBroshi', 'TentativeConvert', 'Vierkantor', 'github-actions', 'jjdishere'] |
Vierkantor assignee:Vierkantor |
15-66804 15 days ago |
15-67928 15 days ago |
143-9816 143 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 |
15-39663 15 days ago |
15-51891 15 days ago |
0-82 1 minute |
0 |
| 41920 |
junjihashimoto author:junjihashimoto |
feat(Analysis/CliffordAlgebra): the pseudoscalar of Cl(n,0) and its complex structure |
We study the Clifford algebra of Euclidean `n`-space (the quadratic form `x ↦ ⟪x, x⟫_ℝ` on `EuclideanSpace ℝ (Fin n)`). The pseudoscalar `ω = e₀ ⋯ eₙ₋₁` satisfies
* `ω * ω = (-1) ^ (n.choose 2)` (`pseudoscalar_mul_pseudoscalar'`),
* `γᵢ * ω = (-1) ^ (n - 1) • (ω * γᵢ)` (`γ_mul_pseudoscalar`),
so it is central for odd `n`, and a square root of `-1` iff `n ≡ 2, 3 [MOD 4]`. In that case left multiplication by `ω` is a complex structure: we provide a scoped `Module ℂ` instance (via `Complex.liftAux` and `Module.compHom`; no commutation is needed for a module structure, which covers the non-central case `n ≡ 2 [MOD 4]`), and for `n ≡ 3 [MOD 4]` an `Algebra ℂ` structure as a non-instance def.
The sign computations are done by moving a generator through a product of distinct generators (`γ_mul_prod`, `γ_mul_prod_mem`, `prod_sq`), with no case analysis on `n`.
In a follow-up PR this makes the Clifford–Fourier transform (Ebling–Scheuermann) an instance of the ordinary vector-valued Fourier transform, giving Plancherel's theorem and the inversion formula.
- [ ] depends on: (nothing)
|
t-analysis
new-contributor
|
303/0 |
Mathlib.lean,Mathlib/Analysis/CliffordAlgebra/Euclidean.lean |
2 |
5 |
['eric-wieser', 'github-actions', 'j-loreaux'] |
nobody |
15-34009 15 days ago |
103-82367 103 days ago |
103-82854 103 days |
1 |
| 42225 |
matt-w-horn author:matt-w-horn |
feat(Order): Knaster–Tarski fixed points on an interval |
`lfpIcc f a b` and `gfpIcc f a b`: least and greatest fixed points of `f` on `Set.Icc a b` in a conditionally complete lattice, for `f` monotone on the interval and mapping it into itself. Also interval membership, endpoint-iterate bounds, and monotonicity in `f`.
`OrderHom.lfp` gives this through the complete-lattice instance on the subtype, but wants a `Fact (a ≤ b)` and returns subtype elements. These take `MonotoneOn` and `MapsTo` directly and stay in `α`. Bridge lemmas between the two are a follow-up.
Used on intervals of ℝ in Overload, a sorry-free Lean library on retry and overload dynamics: https://github.com/matt-w-horn/overload/tree/main/Overload
Claude Fable wrote the Lean from a spec I gave it. I reviewed and tested it myself, including adversarial tests and the suites in the library above, and did the same for its dependencies.
Assisted-by: Claude Fable 5 |
t-order
new-contributor
LLM-generated
|
166/0 |
Mathlib.lean,Mathlib/Order/FixedPointsIcc.lean |
2 |
7 |
['github-actions', 'matt-w-horn', 'wwylele'] |
nobody |
15-7341 15 days ago |
89-33868 89 days ago |
89-33855 89 days |
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 |
15-694 15 days ago |
15-694 15 days ago |
31-24859 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 |
14-81447 14 days ago |
14-78839 14 days ago |
0-2713 45 minutes |
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 |
14-76748 14 days ago |
14-78350 14 days ago |
14-78337 14 days |
0 |
| 44827 |
dragonclaw417 author:dragonclaw417 |
feat: add integral representation for p \in (-1,0) |
Some quick notes:
- Formalisation was standard for x > 0 real, only thing is may want to change names.
- For CFC case, I had to insist on working in a C*-algebra rather than the slightly more general setting, because I used C*-algebra specific results.
- Also needed unital rather than non-unital for x^{-1} to make sense.
- Certain places use copy-pasted code from other sections.
---
<!-- 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
new-contributor
awaiting-author
|
98/0 |
Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean |
1 |
23 |
['dragonclaw417', 'dupuisf', 'github-actions', 'j-loreaux'] |
j-loreaux assignee:j-loreaux |
14-71749 14 days ago |
17-73047 17 days ago |
0-113 1 minute |
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 |
14-68241 14 days ago |
14-68242 14 days ago |
8-1790 8 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 |
14-66119 14 days ago |
14-66119 14 days ago |
47-5737 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 |
14-65586 14 days ago |
15-84667 15 days ago |
15-84654 15 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 |
14-47516 14 days ago |
14-48283 14 days ago |
14-48270 14 days |
0 |
| 42046 |
LegaSage author:LegaSage |
feat(Polynomial): add Wronskian linear dependence lemmas |
This extends the polynomial Wronskian API of Baek and Lee from the existing coprime case to arbitrary polynomials over a characteristic-zero field.
It adds:
* an explicit nontrivial scalar relation for any pair with zero Wronskian, including zero-polynomial edge cases;
* scalar-multiple corollaries when either polynomial is nonzero;
* the weighted derivative corollary that solutions of `a * f' - n * a' * f = 0` are scalar multiples of `a ^ n` when `a ≠ 0`.
The proof factors out the polynomial gcd and applies the existing `IsCoprime.wronskian_eq_zero_iff` theorem. This PR makes no novelty claim; it packages standard consequences of the existing Baek–Lee coprime Wronskian API.
-------
The implementation was prepared with assistance from OpenAI Codex and reviewed and submitted by LegaSage.
|
t-ring-theory
new-contributor
large-import
LLM-generated
|
96/1 |
Mathlib/RingTheory/Polynomial/Wronskian.lean |
1 |
2 |
['github-actions'] |
mattrobball assignee:mattrobball |
14-34910 14 days ago |
99-32699 99 days ago |
99-32686 99 days |
0 |
| 42487 |
bocowgill author:bocowgill |
feat(Algebra/BigOperators/Group/Finset/Powerset): add nested powersetCard identities |
This PR adds product and sum identities for nested collections of fixed-cardinality subsets. For `r ≤ k`, each `r`-element subset of a finite set `s` is contained in exactly
`Nat.choose (s.card - r) (k - r)`
of the `k`-element subsets of `s`. Thus, a sum over the `r`-element subsets of every `k`-element subset reduces to this multiplicity, times a single sum over `s.powersetCard r`. The product version is the analogous power identity.
The proof exchanges the order of the two big operators using `Finset.prod_comm'`. It then counts each fiber with `Finset.card_filter_powersetCard_subset`. The additive identities are generated with `to_additive`. The PR also provides the useful elementwise specialization `r = 1`.
**Motivation**: These results provide reusable weighted double-counting tools for finite combinatorics. They are useful in arguments about uniform set systems, incidence relations, and sums or products over fixed-cardinality subsets.
---
### LLM disclosure
For theorem planning and Lean implementation, I used OpenAI Codex substantially. I also used Codex to search Mathlib and open PRs for related results, suggest naming and documentation, iterate on the proofs, audit import dependencies, and validate the commits locally.
I personally reviewed the mathematical statements and Lean code line-by-line, including the naming and API choices. I also confirmed that I can explain each step of the proofs.
For the current revision, I ran a targeted build of `Mathlib.Algebra.BigOperators.Group.Finset.Powerset`, the style and environment linters, and `git diff --check`. I also inspected the generated additive declarations and axiom dependencies, and tested an alternative proof using explicit incidence finsets. The complete GitHub CI suite passes.
This is one of my earliest Mathlib contributions. I welcome corrections and suggestions, and I am prepared to revise the PR and learn from the review. |
t-algebra
new-contributor
LLM-generated
label:t-algebra$ |
27/0 |
Mathlib/Algebra/BigOperators/Group/Finset/Powerset.lean |
1 |
17 |
['bocowgill', 'github-actions', 'pepamontero'] |
eric-wieser assignee:eric-wieser |
14-34908 14 days ago |
47-27146 47 days ago |
85-55490 85 days |
0 |
| 40599 |
ChiCubed author:ChiCubed |
feat(LinearAlgebra): rank-nullity theorems for Submodule map/comap |
We show forms of the rank-nullity theorem involving `Submodule.map` and `Submodule.comap`. Together with `LinearMap.ker_comp` this provides a formula for the rank of the kernel of a composite (and, in finite dimensions at least, for the rank of the range).
---
I didn't explicitly write the aforementioned formula for rank ker (f ∘ g) since it is just `LinearMap.ker_comp` followed by `LinearMap.lift_rank_comap`, but perhaps it should be added for discoverability?
<!-- 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/14 |
Mathlib/Algebra/Module/Submodule/Ker.lean,Mathlib/Algebra/Module/Submodule/Map.lean,Mathlib/Algebra/Module/Submodule/Range.lean,Mathlib/LinearAlgebra/Dimension/RankNullity.lean |
4 |
46 |
['ADedecker', 'ChiCubed', 'Vierkantor', 'github-actions', 'jcommelin', 'themathqueen', 'wwylele'] |
kim-em assignee:kim-em |
14-19280 14 days ago |
14-21028 14 days ago |
127-49347 127 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 |
14-5778 14 days ago |
14-5778 14 days ago |
156-68798 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 |
13-67754 13 days ago |
13-67755 13 days ago |
10-7088 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 |
13-62694 13 days ago |
13-62694 13 days ago |
77-63849 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 |
13-54807 13 days ago |
282-78631 282 days ago |
2-6824 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 |
13-46811 13 days ago |
13-47020 13 days ago |
49-6407 49 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 |
13-1880 13 days ago |
13-52312 13 days ago |
13-52299 13 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 |
12-58653 12 days ago |
12-82365 12 days ago |
0-64639 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 |
12-50784 12 days ago |
12-79446 12 days ago |
0-65623 18 hours |
0 |
| 42113 |
LAC1213 author:LAC1213 |
feat(RingTheory/Noetherian): injective modules over a Noetherian ring… |
… surject onto localizations by powers of an element. [Hartshorne III.3.3]
Disclaimer: I used Claude to help me find the names of useful lemmas and definitions and explain lean errors to 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-ring-theory
new-contributor
LLM-generated
|
114/0 |
Mathlib.lean,Mathlib/Algebra/Module/Torsion/Basic.lean,Mathlib/RingTheory/Noetherian/InjectiveModule.lean |
3 |
42 |
['LAC1213', 'NoahW314', 'github-actions', 'robin-carlier'] |
mattrobball assignee:mattrobball |
12-34910 12 days ago |
95-74475 95 days ago |
96-12790 96 days |
0 |
| 44536 |
vincentqb author:vincentqb |
feat(Probability): conditional variance of a Bernoulli random variable |
This PR proves `Var[X; P | m] =ᵐ[P] P[X | m] * P[1 - X | m]` for a random variable with law `Ber(1, 0, p)`.
It replaces the binomial `proof_wanted`, which is false: for `Bin(2, 1/2)` and the trivial σ-algebra, the variance is `1/2` while the proposed product is `0`.
---
Supersedes #44467. Independent of #42999, which proves the remaining binomial variance statement.
The code, the testing, and this description were prepared with the help of an AI coding assistant (Codex).
|
t-measure-probability
LLM-generated
new-contributor
|
15/10 |
Mathlib/Probability/Distributions/TwoValued.lean,Wanted/Probability/Distributions/Binomial.lean |
2 |
3 |
['github-actions', 'vincentqb'] |
urkud assignee:urkud |
12-34905 12 days ago |
25-18233 25 days ago |
25-18220 25 days |
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 |
12-34012 12 days ago |
33-39229 33 days ago |
46-50026 46 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 |
11-61270 11 days ago |
11-61270 11 days ago |
11-13100 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 |
11-49570 11 days ago |
11-50264 11 days ago |
11-63809 11 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 |
11-43822 11 days ago |
22-44024 22 days ago |
1-7235 1 day |
0 |
| 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
|
37/2 |
Mathlib/Data/List/Infix.lean |
1 |
4 |
['github-actions', 'mathlib-merge-conflicts', 'theebayuser'] |
nobody |
11-34013 11 days ago |
53-55785 53 days ago |
104-23674 104 days |
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 |
11-20485 11 days ago |
35-67191 35 days ago |
76-11890 76 days |
0 |
| 45069 |
korbonits author:korbonits |
feat(Geometry/Manifold): the Riemann curvature of a covariant derivative |
Define the Riemann curvature `R(X, Y) Z = ∇_X ∇_Y Z - ∇_Y ∇_X Z - ∇_[X,Y] Z` of a covariant derivative on the tangent bundle, as an operator on vector fields, in a new file `CovariantDerivative/Curvature.lean` (alongside `Torsion.lean`).
Main results:
- `CovariantDerivative.curvature_swap`: antisymmetry in the first two arguments.
- `curvature_smul_left/snd`, `curvature_add_left/snd`: function-linearity in the first two arguments, with explicit differentiability hypotheses.
- `tensorialAt_curvature_fst/snd`: for a `C¹` covariant derivative and a `C²` field `Z`, the curvature is `TensorialAt` in each of its first two arguments.
- `CovariantDerivative.mdifferentiableAt_apply`: for a `C¹` covariant derivative, `∇_X σ` is differentiable at `x` when `σ` is `C²` and `X` is differentiable at `x`.
Most of the code I'm planning to upstream into mathlib4 is already proved in https://github.com/korbonits/ricci-flow-blueprint
---
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.
|
new-contributor
t-differential-geometry
LLM-generated
|
167/0 |
Mathlib.lean,Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/Curvature.lean |
2 |
3 |
['github-actions', 'korbonits'] |
nobody |
11-19489 11 days ago |
11-21106 11 days ago |
11-21093 11 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 |
11-1011 11 days ago |
11-1028 11 days ago |
11-1677 11 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 |
10-65062 10 days ago |
10-65292 10 days ago |
10-67751 10 days |
0 |
| 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
merge-conflict
label:t-algebra$ |
176/94 |
Mathlib.lean,Mathlib/Algebra/Polynomial/FieldDivision.lean,Mathlib/Algebra/Polynomial/Splits.lean,Mathlib/FieldTheory/ArtinSchreierExtension.lean,Mathlib/FieldTheory/Finite/Basic.lean |
5 |
7 |
['github-actions', 'kedlaya', 'mathlib-dependent-issues', 'mathlib-merge-conflicts', 'plp127'] |
nobody |
10-42389 10 days ago |
15-39902 15 days ago |
0-10 10 seconds |
2 |
| 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 |
10-34916 10 days ago |
10-79870 10 days ago |
93-15342 93 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 |
10-25484 10 days ago |
10-26249 10 days ago |
10-26236 10 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 |
10-3131 10 days ago |
15-62810 15 days ago |
15-66558 15 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 |
9-80961 9 days ago |
10-29260 10 days ago |
10-29247 10 days |
0 |
| 45091 |
Fieldnote-Echo author:Fieldnote-Echo |
refactor(Combinatorics/SimpleGraph): reuse leaf connectivity proof |
While reviewing the graph API, I noticed that the proof of
```
Connected.induce_compl_singleton_of_degree_eq_one
```
can be shortened using
```
Preconnected.induce_of_degree_eq_one (s := {v}ᶜ)
```
The unique neighbor handles nonemptiness. This removes the duplicate proof and moves the lemma from `Acyclic` to `Connectivity.Connected`. No API changes required, and the lemma can be imported without `Acyclic`.
---
Discussed on Zulip: [reusing the leaf-deletion proof](https://leanprover.zulipchat.com/#narrow/channel/252551-graph-theory/topic/reusing.20the.20leaf-deletion.20proof).
AI assistance: Codex helped search the local API, adapt the proof, and run local checks.
|
new-contributor
t-combinatorics
LLM-generated
maintainer-merge
|
8/30 |
Mathlib/Combinatorics/SimpleGraph/Acyclic.lean,Mathlib/Combinatorics/SimpleGraph/Connectivity/Connected.lean |
2 |
9 |
['Fieldnote-Echo', 'Parcly-Taxel', 'SnirBroshi', 'github-actions'] |
nobody |
9-76706 9 days ago |
10-74145 10 days ago |
10-74132 10 days |
0 |
| 44598 |
kirill-kondrashov author:kirill-kondrashov |
feat(LinearAlgebra/ExteriorPower): add API for HodgeStar |
---
<!-- 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/)
This is a follow-up of the https://github.com/leanprover-community/mathlib4/pull/43140 which stated a few TODO points.
This PR implements the first TODO point
* Add API to obviate the need to supply the volume element in the presence of `Module.Oriented`.
GPT 6 Luna Max was used for initial brainstorming (as well as Mathlib API investigation on the existing relevant constructions), mainly overwritten and refactored manually. |
t-algebra
LLM-generated
new-contributor
label:t-algebra$ |
23/1 |
Mathlib/LinearAlgebra/ExteriorPower/HodgeStar.lean |
1 |
7 |
['github-actions', 'kirill-kondrashov', 'themathqueen'] |
nobody |
9-76625 9 days ago |
22-80717 22 days ago |
22-83449 22 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 |
9-48892 9 days ago |
9-48892 9 days ago |
9-49914 9 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 |
9-48417 9 days ago |
9-48417 9 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 |
9-34903 9 days ago |
55-69308 55 days ago |
70-27437 70 days |
0 |
| 43087 |
JX-Mo author:JX-Mo |
feat(RepresentationTheory): add Hecke/Basic.lean |
This file defines `HeckeModule` of a representation `ρ` as `Hom_G(k[G ⧸ H], ρ)` and identifies it with the space of `H`-invariants.
We deliberately choose the intertwining model over the invariant model as the main API, for it has good defeq property when we define the mixed level Hecke action of Hecke operators which is just the composition of intertwining maps. This has significant technical advantage because it avoids proving associativity and compatibility combinarically which is nasty using the invariant model.
It is an `abbrev` for maximally reusing API from `ofMulAction` and `IntertwiningMap`. We remark that the abstract boundary will be cut out at `HeckeAlgera` which will be a `def` instead and we will provide an instance `Module HeckeAlgebra HeckeModule`. Before that, we need to develop representation theoretic lemmas about `HeckeModule` and `HeckeBimodule` first so `HeckeModule` should stay transparent. |
new-contributor
t-algebra
label:t-algebra$ |
84/0 |
Mathlib.lean,Mathlib/RepresentationTheory/Hecke/Basic.lean |
2 |
8 |
['JX-Mo', 'Whysoserioushah', 'github-actions'] |
nobody |
9-23024 9 days ago |
9-23913 9 days ago |
67-73863 67 days |
1 |
| 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 |
9-9113 9 days ago |
9-9113 9 days ago |
122-13599 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 |
8-86028 8 days ago |
8-86028 8 days ago |
112-40965 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 |
8-72442 8 days ago |
8-72442 8 days ago |
119-50096 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 |
8-66928 8 days ago |
8-66928 8 days ago |
8-66915 8 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 |
8-60798 8 days ago |
12-54704 12 days ago |
0-21622 6 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 |
8-39094 8 days ago |
8-39095 8 days ago |
85-57963 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 |
8-18870 8 days ago |
59-1175 59 days ago |
1-7357 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 |
8-9717 8 days ago |
8-9717 8 days ago |
106-13099 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 |
8-9364 8 days ago |
8-10527 8 days ago |
8-10514 8 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 |
7-84859 7 days ago |
7-84874 7 days ago |
21-41449 21 days |
0 |
| 44675 |
tym66666 author:tym66666 |
doc(Data/Finset): add documentation for powerset operations |
---
<!-- 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
increases-technical-debt
awaiting-author
|
272/0 |
Mathlib/Data/Finset/Powerset.lean,Mathlib/Data/Finset/Powersetlean_PR.md |
2 |
7 |
['Multramate', 'SnirBroshi', 'github-actions', 'tym66666'] |
nobody |
7-66773 7 days ago |
21-50585 21 days ago |
0-16086 4 hours |
0 |
| 45075 |
vdelbarc author:vdelbarc |
feat(LinearAlgebra): characterize submodules with rank-one quotients |
Add results on submodules whose quotient has rank one.
Show that a submodule with a rank-one quotient is a coatom, and that it
admits a complementary submodule spanned by a single nonzero element.
Also add a lemma establishing the existence of an element outside a
submodule when its quotient has positive rank.
Add supporting lemmas for expressing an element as the sum of its
projections onto complementary submodules, and for evaluating the
coordinate equivalence associated with a nonzero singleton span.
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]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
41/0 |
Mathlib/LinearAlgebra/Projection.lean,Mathlib/LinearAlgebra/Span/Basic.lean,Mathlib/RingTheory/SimpleModule/Rank.lean |
3 |
16 |
['JX-Mo', 'alreadydone', 'github-actions', 'themathqueen', 'vdelbarc'] |
nobody |
7-66137 7 days ago |
7-72740 7 days ago |
9-61215 9 days |
0 |
| 44890 |
leomayer1 author:leomayer1 |
chore(Algebra/Notation/Pi/Basic): add simp lemma to resolve confluence issue |
#34083, adding `Set.indicator_singleton`, made simp non-confluent: the following example fails on current master:
```
import Mathlib.MeasureTheory.Measure.Haar.OfBasis
example : ({0} : Set ℝ).indicator 1 =ᵐ[MeasureTheory.volume] (0 : ℝ → ℝ) := by
simp [-Set.indicator_singleton, Filter.EventuallyEq, MeasureTheory.ae_iff]
```
Add a simp lemma to resolve 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]
-->
|
t-algebra
new-contributor
label:t-algebra$ |
8/0 |
Mathlib/Algebra/Notation/Pi/Basic.lean |
1 |
2 |
['github-actions'] |
nobody |
7-65384 7 days ago |
7-69051 7 days ago |
16-1514 16 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 |
5 |
['github-actions', 'skwh54', 'tb65536'] |
nobody |
7-63648 7 days ago |
11-26195 11 days ago |
19-24508 19 days |
0 |
| 45199 |
stalex444 author:stalex444 |
feat(LinearAlgebra/Matrix/Reindex): add `Matrix.reindexStarAlgEquiv` |
This code was suggested by @j-loreaux in his review of #41847. It adds Matrix.reindexStarAlgEquiv, a relabeling the rows and columns of a square matrix as a star-algebra equivalence. Its simp lemmas are next to the existing reindexAlgEquiv.
This is the split that a previous reviewer asked for.
---
<!-- 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
LLM-generated
new-contributor
awaiting-author
label:t-algebra$ |
53/0 |
Mathlib/LinearAlgebra/Matrix/Defs.lean,Mathlib/LinearAlgebra/Matrix/Reindex.lean |
2 |
5 |
['github-actions', 'stalex444', 'themathqueen'] |
nobody |
7-56108 7 days ago |
7-56108 7 days ago |
0-65488 18 hours |
1 |
| 40953 |
ymonbru author:ymonbru |
feat: the definition of a KSheaf on a T2 Space |
This files adds the definition of a KSheaf on a T2 space with value in an arbitrary category.
One may expect this notion to come from sheaves on a site of compact subset of a topological space but there is no coresponding Grothendieck topology on compact subsets. In particular, this is because one of the axioms is in the form of a colimit and can't be expressed as a limit condition (hence a sheaf condition).
It also adds API that allow to use the axioms in a convenient way.
---
- [x] depends on: #40737
<!-- 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-topology
|
137/0 |
Mathlib.lean,Mathlib/Topology/Sheaves/KSheaf.lean |
2 |
26 |
['Multramate', 'github-actions', 'joelriou', 'mathlib-dependent-issues', 'ymonbru'] |
ocfnash assignee:ocfnash |
7-53482 7 days ago |
35-47182 35 days ago |
116-84649 116 days |
1 |
| 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 |
7-52284 7 days ago |
8-85869 8 days ago |
241-8285 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 |
7-34039 7 days ago |
17-47224 17 days ago |
0-778 12 minutes |
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 |
7-33875 7 days ago |
60-14703 60 days ago |
0-10 10 seconds |
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 |
7-28744 7 days ago |
7-32423 7 days ago |
33-9061 33 days |
0 |
This page collects anonymous visit counts for usage reporting (no cookies, no IP addresses stored). See the Mathlib Initiative privacy policy.